Разрешить боту Discord Rewrite отвечать другим ботам

#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 к вопросу.