У меня правильно настроен cog (что я знаю, потому что у меня есть отдельный cog, который обрабатывает все команды, так что on_message не портит их), но on_message просто ничего не делает.
Я пытался включить его в другой Cog, но я все равно не получаю сообщение об ошибке, просто не работает. Я также пытался использовать различные формы @ bot.event, но все они просто вызывают ошибки. Наконец, я знаю, что Cog работает, потому что on_ready в основном .py предупреждает меня, что он успешно загрузился.
Это код в Cog, который должен читать все сообщения (минус весь материал импорта):
class autoresponse(commands.Cog):
def __init__(self, bot):
self.bot = bot
async def on_message(self, message):
print(message.content)
def setup(bot):
bot.add_cog(autoresponse(bot))
и это код, который загружает его
@bot.event
async def on_ready():
print('bot is up')
await bot.change_presence(status=discord.Status.online, activity=discord.Game("bl help"))
for cog in [f.replace('.py', "") for f in listdir("cogs") if isfile(join("cogs", f))]:
try:
if not "__init__" in cog:
bot.load_extension("cogs." + cog)
print("Loaded cog")
except Exception as e:
print("Cog {} not loaded!".format(cog))
traceback.print_exc()
Надеюсь, бот должен просто распечатать все сообщения на консоли, потому что тогда я буду знать, как он работает, и смогу двигаться дальше с другими вещами, которые я хочу, чтобы он делал.