Как добавить поиск слова из текста для отображения ответа в Telegram боте на Python
Всем доброго времени суток. В Python практически не разбираюсь, но хочу. В общем, такой вопрос.
Есть документ с текстом. В нем записаны определенные слова (допустим, "Елка, снеговик, дедушка, снегурочка", а также варианты опечаток на эти слова (пример, "Едка, Клка, Елаа" и т.п.). В зависимости от набранного слова, есть варианты ответа (если пользователь пишет, допустим, "Елка", бот должен ответить(наверное ответ лучше в виде инлайн кнопок будет): "Возможно вы хотите узнать следующее: 1. Стоимость елки, 2. Размеры, 3. Доставка." Название вариантов(1, 2 и 3) сейчас не суть важно, при выборе одного из них, нужно просто отобразить заранее заготовленный текст. Проблема в количестве слов, которые надо проверить. По сути, всего слова можно разделить на 5-8 групп(можно даже сказать, на 5-8 условий). Т.е. если пользователь написал слово из одной группы, то выводится нужный ответ(при чем, для слов этой группы ответ всегда один, не меняется).
Если есть по этому вопросу какая-то документация не на английском(будучи начинающим, очень сложно понимать объяснения на англе), или соображения как это сделать, буду очень благодарен.
P.S., нашел код тут на сайте, но, как и писал выше, не пойму как в подобный код впихнуть большой объем слов на проверку. Может создать 8 отдельных файлов(каждый со своим набором слов, которые в других файлах не повторяются) и сделать 8 условий (if) на соответствие слов из этих файлов? Опять же, не пойму как подобное сделать.
@bot.message_handler(content_types=['text'])
def handle_text(message):
# Если пользователь отправил "привет, как тебя зовут?" отвечаем "робот я"
if message.text == "привет, как тебя зовут?":
bot.send_message(message.from_user.id, 'робот я'
# Если пользователь отправил "и чо?" отвечаем "да ничо"
elif message.text == "и чо?":
bot.send_message(message.from_user.id, 'да ничо'
#Если пользователь отправил слово/фразу, на которое(ую) нет ответа
else:
bot.send_message(message.from_user.id, "Извините, я Вас не понимаю")
Ответы (2 шт):
Ничего в голову не пришло, помимо этого:
if message.text in ['Елка','елка','едка','йолка']:
bot.send_message(message.from_user.id,'''
Что именно вас интересует о Ёлках?..и т.д.
''')
а если у меня скажем слов 100-200(склонения и однокоренные слова и варианты их опечаток тоже) в условии(которое триггерит сообщение "Что именно вас интересует о Елках"), эффективно их будет помещать так все? в принципе можно и так, но простите за возможно глупый вопрос, можно ли в таком случае все эти слова(100-200 вариантов слов на тему елку для триггера вопроса) вставить в кавычки разом? – Magius
Что бы не прописывать в основном коде, напиши эти слова в другом коде, и импортируй его в основной.