отправка данных telegram боту

291 просмотра
0
0 Комментариев

Есть бот. Помогает в автоматизации дома. Реализован через long polling, фреймворк telepot. Появилось желание добавить возможность помогать учитывать показания счетчиков расхода воды. Я себе представляю это так : захожу в соответствующий пункт меню бот просит показания «холодная вода» я отправил, потом «горячая вода» отправил. Как сделать так чтобы бот ждал от меня эти данные? И понимал, что это именно про воду? Или это как-то по другому реализуется?
Буду признателен за помощь.


Добавить комментарий

1 Ответы

Python Опубликовано 18.12.2018
0

Пишите хэндлер, который будет ловить команду с аргументом, например, /cold 12345
По команде будет ясно, холодная или горячая вода, аргументом будет передаваться цифры-показания (например 5 цифр). Простой пример:

@bot.message_handler(commands=['cold', 'hot'])
def water_message(message):
  args = message.text.split()
  result = re.search(r'\d{5}', str(args[1])) #ищем во втором аргументе совпадение по регулярному выражению
  if result:
    if args[0] == 'cold':
      .........
    else:
      .........

Добавить комментарий
Напишите свой ответ на данный вопрос.
Scroll Up