как сделать чтобы бот в телеграме не отвечал на все сообщения в группе а только при его упоминании

Рейтинг: 0Ответов: 1Опубликовано: 27.02.2023

порстенький бот принемает сообщение отправляет на Openai и выдает ответ если добавить в группу начинает отвечать на все сообщения всех пользователей, как сделать чтобы в группе отвечал только на те сообщения где его упоминали

@bot.message_handler(content_types=["text"])
def handle_text(message):
    response = openai.Completion.create(
        engine="text-davinci-003",
        prompt=f"{message.text}",
        max_tokens=1024,
        n=1,
        stop=None,
        temperature=0.5,
    )
    bot.send_message(message.chat.id, response.choices[0].text)

bot.polling()

Ответы

▲ 1

самый простой способ - условие содержания строки с упоминанием в message.text:

@bot.message_handler(content_types=["text"])
def handle_text(message):
    if f'@{bot.get_me().username}' in message.text:
        bot.send_message(message.chat.id, 'ответ при упоминании')