Discord.py - Попытка получить количество каналов, текстовых каналов и голосовых каналов - PullRequest
0 голосов
/ 22 июня 2019

Я пытаюсь получить количество каналов, текстовых каналов и голосовых каналов для команды информации о сервере, я просмотрел веб-сайты и ничего не нашел

Я не собираюсьполностью показать команду info сервера, где я пытаюсь получить количество каналов, текстовых каналов и голосовых каналов:

@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 Ответ

1 голос
/ 22 июня 2019

Все 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, если хотите, я удалил его, чтобы сделать его короче.

Также в следующий раз посмотрите официальный справочник по API 1018 *, чтобы уберечь себя от паутины.

...