if message.content.upper().startswith("!HEADPATS"):
time.sleep(1)
with open('tenor.gif', 'rb') as picture:
await client.send_file(channel, picture)
У меня есть бот-дискорд (все написано на питоне). Я пытаюсь заставить бота отправлять .gif на канал по команде "! Headpats". Файл загружен, и код компилируется нормально, но когда команда! Headpats вызывается через discord, компилятор выплевывает это ...
File "main.py", line 106, in on_message
await client.send_file(channel, picture)
NameError: name 'channel' is not defined
@PatrickHaugh stackoverflow.com/a/51468829/3271649 Думаю, вот оно ...
@PatrickHaugh Это все исправило. Спасибо за помощь!






Все, что вы получаете в своем событии on_message, - это полученный Message. Если вы хотите вывести channel, в котором он находится, server, который он записал, author, который его написал, и т. д., Вам придется разрешить эти атрибуты через message. (message.channel, message.server и т. д.).
Если вы используете расширение discord.ext.commands, вам сначала нужно разрешить сообщение как атрибут контекст вызова: ctx.message.channel, например.
Вам нужно разрешить канал через сообщение:
message.channel. Где-то здесь есть дубликат.