Discord.py-尝试获取频道,文本频道和语音频道的数量

时间:2019-06-22 15:13:46

标签: python python-3.x discord.py-rewrite

我正在尝试获取服务器信息命令的通道,文本通道和语音通道的数量,我已经浏览了互连网并没有找到任何东西

我不会完全显示服务器信息命令,而只是在尝试获取频道,文本频道和语音频道的位置:

@client.command()
async def sinfo(ctx):
 guild=ctx.message.guild

 embed=discord.Embed(colour=discord.Colour.orange())

 embed.add_field(name="Server Channels: ", value=guild.channels, inline=False)
 embed.add_field(name="Server Text Channels: ", value=guild.text_channels, inline=False)
 embed.add_field(name="Server Voice Channels: ", value=guild.voice_channels, inline=False)

 await ctx.send(embed=embed)

当我说“频道”时,我指的是文字频道和语音频道,

1 个答案:

答案 0 :(得分:1)

所有这3个人返回一个列表,因此您只需要在其上使用len即可获取该号码。

请注意,guild.channels将同时返回文本和语音渠道,包括类别。。

所以您的解决方案看起来像

total_text_channels = len(guild.text_channels)
total_voice_channels = len(guild.voice_channels)
total_channels = total_text_channels  + total_voice_channels 
embed.add_field(name="Server Channels: ", value=total_channels )
embed.add_field(name="Server Text Channels: ", value=total_text_channels )
embed.add_field(name="Server Voice Channels: ", value=total_voice_channels )

如果您希望我删除inline=False,以使其更短,则添加它。

下一次还要查找official API reference,以使自己免受网络的侵扰。