Бот Discord отвечает на свои сообщения (python)

#python #discord #bots

Вопрос:

 if message.content.startswith('Привет'):
    print('[command]: Задан вопрос3 ')
    await message.channel.send('Привет '   random.choice(list2)   '!')
if(messageAuthor == "Бот-Бобот#0869"):
    return
 

Я хочу, чтобы бот discord ответил на сообщение «Привет», но в ответе также содержится слово «Привет».
Как предотвратить реакцию бота на самого себя?

Комментарии:

1. Вы можете проверить message.author

2. Не помогло(((

Ответ №1:

Вы можете просто проверить, является ли автором сообщения сам бот. Вы можете сделать это вот так:

 if not message.author.bot:
   do_stuff()
else:
   pass # author is bot, just ignore
 

Попробуйте, если это сработает для вас

 if message.author.bot:
    return
    
# we will reach this point if and only if the author is NOT a bot
if message.content.startswith('Привет'):
    print('[command]: Задан вопрос3 ')
    await message.channel.send('Привет '   random.choice(list2)   '!')
 

Комментарии:

1. Более того, вы можете удалить else блок вообще 😀

2. Не работает. Где именно я должен поместить ваш код? Извините, я всего лишь новичок и могу ошибаться :’)

3. @369, вам, вероятно, нужно изучить основы языка, прежде чем приступать к кодированию ботов.

4. if not message.author.bot and message.content.startswith('Привет'):