我是python和编码的新手。我创建了这个机器人MIDA,每当我向机器人发送消息以使其响应时,它都会以不同的命令输出进行回复,然后一遍又一遍地发送该消息。
代码:
@client.event
async def on_member_join(member):
for channel in member.server.channels:
if str(channel) == "conversing":
await client.send_message(f"""Welcome Consul {member.mention}""")
@client.event
async def on_message(message):
id = client.get_guild(enter id here)
channels = ("bot-requests")
if str(message.channel) in channels:
if message.content.find("MIDA hello there"):
await message.channel.send("GENERAL KENOBI!")
@client.event
async def on_message(message):
id = client.get_guild(enter id here)
channels = ("bot-requests")
if message.content.find("MIDA users"):
await message.channel.send(f"""# number of members {id.member_count}""")
@client.event
async def on_message(message):
id = client.get_guild(enter id here)
channels = ("bot-requests")
if message.content.find("MIDA Skyrim sucks"):
await message.channel.send("The voice of Todd Howard echos in the past: You're on thin ice kiddo.")
答案 0 :(得分:0)
在on_message中,您需要检查消息是否是由漫游器发送的,否则它将继续响应其自身的消息。
答案 1 :(得分:0)
可能是由于同一函数的三个不同定义。另外,我建议您使用built-in commands,从长远来看,它将变得更加容易。