我在discord.py中制作机器人时遇到了一个问题,我设法获得了命令和on_message
彼此协同工作,虽然有些困难,但是现在所有命令都可以工作,但是如果我触发了on_message
函数之一,它在没有明确原因的情况下循环了输出。我不确定如何解决此问题,也无法确定它。
import discord
from discord.ext import commands
import random
import os
import time
import typing
bot = commands.Bot(command_prefix = '!')
@bot.command()
async def test(ctx):
await ctx.send('test')
with open("words.txt") as file:
words = [word.strip().lower() for word in file.readlines()]
@bot.event
async def on_message(message):
message_content = message.content.strip().lower()
for word in words:
if word in message_content:
await message.channel.send(f"<CUSTOMSERVEREMOJI>")
bot.run('TOKEN')
答案 0 :(得分:0)
on_message(message)
函数应包含2个项目,以使其正常工作。
if message.author == bot.user:
return
on_message
处理命令)-类似await bot.process_commands(message)
答案 1 :(得分:0)
也可能是您已经多次运行了bot。您可以通过运行git push
终止这些运行,并通过运行ps -ef | grep {filename}
终止具有第二列编号的进程。