#python #discord #discord.py-rewrite
#python #Discord #discord.py
Вопрос:
У меня есть бот Discord и настройка webhook для канала Discord, чтобы отправлять команду каждый час в точку. Однако, похоже, что Discord Rewrite по умолчанию игнорирует команды, отправленные от других ботов. Как мне отключить это?
Нужно ли мне что-то изменять в функции для каждой команды или в on_message
функции?
Текущий on_message
:
@bot.event
async def on_message(message):
await bot.process_commands(message)
Комментарии:
1. Вместо того, чтобы редактировать ваш исходный вопрос, я бы рекомендовал опубликовать ваше решение в качестве ответа. Это общепринятый способ сделать это в stackoverflow. 🙂
2. Я не рекомендую отвечать другим ботам, если вы это сделали, вы не сможете применить своего бота в top.gg .
3. По умолчанию ваш бот будет отвечать на сообщения других ботов. Я не уверен насчет команд, но он отвечает на сообщения Редактировать: Чего именно вы хотите? Другие боты будут отвечать вашему боту? или вашему боту отвечать другим ботам?
Ответ №1:
Попробуйте добавить проверку для этого:
on_message:
if message.author.bot == True:
#Do something
команда:
if ctx.author.bot == True:
#Do something
Комментарии:
1. вы должны использовать
is
вместо==
. в этом случае== True
можно опустить, поскольку значениеUser.bot
всегда равно True или False
Ответ №2:
Решение заключается в:
@bot.event
async def on_message(message):
ctx = await bot.get_context(message)
await bot.invoke(ctx)
согласно правке OP @ Cynthia Valdez к вопросу.