Телеграм бот, ответ пользователю если его сообщение содержит слово?
Пробую сделать телеграм бота, нужно чтобы бот отправлял стикер пользователю, если его сообщение содержит слово, а не соответствует полностью, как это реализовать?
Использую pyTelegramBotAPI.
Пример, пользователь отправляет сообщение, и если хоть в каком-то месте сообщения есть слово "Дима" в чат отправляется стикер. В данный момент отправляет стикер, если сообщение пользователя состоит только из "дима". Помогите пожалуйста разобраться. Не могу найти ответ хоть убей.
import telebot
import config
from telebot import types
Использовал, вашу подсказу, но у меня немного другое условие, мне надо отправлять, если сообщение содержит несколько слов. По вашему методу, он отправляет 3 сообщения, так как я ищу в сообщении 3 слова, как можно сделать, так чтобы бот отправлял только одно сообщение, даже если сообщение содержит 1, 2 или 3 искомых слова? Вот код:
@bot.message_handler(content_types=['text'])
def message_test(message):
words = ['накладная', 'не', 'пришла']
for word in words:
if word in message.text:
bot.send_message(message.chat.id, 'Вот И Н С Т Р У К Ц И Я, почитай!')
else:
bot.send_message(message.chat.id, 'Зову людей, пару минут.')
def is_list_in_message(ls, message):
trues_list = []
for word in ls:
if word in message.lower():
trues_list.append(True)
else:
trues_list.append(False)
return all(trues_list)
@bot.message_handler(content_types=['text'])
def message_test(message):
words = ['накладная', 'не', 'пришла']
if is_list_in_message(words, message.text):
bot.send_message(message.chat.id, 'Вот И Н С Т Р У К Ц И Я, почитай!')
else:
bot.send_message(message.chat.id, 'Зову людей, пару минут.')