#python-3.x #discord.py #discord.py-rewrite
#python-3.x #discord.py
Вопрос:
Я хочу, чтобы мой бот отправлял сообщение, если я не в голосовом канале, когда я набираю команду.
Вот мой текущий код:
@client.command()
async def play(ctx):
channel = ctx.author.voice.channel
if channel:
await channel.connect()
await ctx.send('Joining voicechat.')
elif channel is None:
await ctx.send('You have to be in a voice channel first.')
Он присоединяется и отправляет сообщение, когда я нахожусь в голосовом канале, но когда меня нет, он возвращает эту ошибку в терминале:
Command raised an exception: AttributeError: 'NoneType' object has no attribute 'channel'
Ответ №1:
Member.voice
будет None, вам нужно проверить это
Ниже приведен пересмотренный код:
@client.command()
async def play(ctx):
channel = ctx.author.voice
if channel:
await channel.channel.connect()
await ctx.send('Joining voicechat.')
else:
await ctx.send('You have to be in a voice channel first.')