我正在尝试获取服务器信息命令的通道,文本通道和语音通道的数量,我已经浏览了互连网并没有找到任何东西
我不会完全显示服务器信息命令,而只是在尝试获取频道,文本频道和语音频道的位置:
@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)
当我说“频道”时,我指的是文字频道和语音频道,
答案 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,以使自己免受网络的侵扰。