Выбор слов из сообщения разногласий не работает - PullRequest
0 голосов
/ 10 февраля 2019

Довольно плохо знаком с кодированием.Хочу сделать дискорд бот с питоном.У меня есть этот код.Все кажется нормальным, но когда ключевое слово набрано, бот просто спамит ответ.Что я сделал не так?

https://imgur.com/a/iJFDwVp

@client.event
async def on_message(message):
    channel = message.channel
    if 'donate' in message.content:
        await client.send_message(channel, 'To donate click this link http://www.test.com')

1 Ответ

0 голосов
/ 10 февраля 2019

Ваше соответствие / выбор слов работает нормально.

У вас есть только логическая ошибка: бот также будет прослушивать сообщения , отправленные им самим .Поскольку сообщение, отправляемое ботом, также содержит слово donate (от To до click), ваш бот рекурсивно ответит сам на себя.Чтобы исправить это, добавьте следующие строки в начало вашей on_message функции:

if message.author == client.user:
    return

Это отфильтрует сообщения, отправленные ботом.

...