Дискорд бот просто повторяет одно и то же сообщение снова и снова - PullRequest
1 голос
/ 23 апреля 2020

Я новичок в 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.")

Ответы [ 2 ]

0 голосов
/ 23 апреля 2020

Вероятно, из-за трех разных определений одной и той же функции. Кроме того, я рекомендую вам использовать встроенные команды , в долгосрочной перспективе это будет намного проще.

0 голосов
/ 23 апреля 2020

В on_message вам нужно проверить, было ли сообщение отправлено ботом, иначе он будет продолжать отвечать на собственное сообщение.

...