@liya_ais

Как избавиться от дублирования сообщения у тг бота?

Добрый вечер!
Столкнулись с проблемой дублирования сообщения. Кто-нибудь знает, как сделать так, чтобы бот после ввода города не выдавал предыдущее сообщение, а сразу переходил к функции?

Скрин не прикрепляется, к сожалению. Это выглядит таким образом:
после старта бот приветствует, дальше запускается функция get_capital:
Бот: Введите столицу:
Юзер: Прага
Бот: Введите столицу: (как избавиться от этого ввода)
Бот: *Тут уже срабатывает функция get_weather*

@bot.message_handler(content_types=['text'])
def get_capital(message):
    global capital
    bot.send_message(message.chat.id, text=(em.emojize(':globe_with_meridians: Введите столицу:')))
    capital = message.text.lower()
    if capital in config.capitals:
            global page_soup
            page_url = 'https://sinoptik.ua/погода-{0}'.format(capital)
            page_soup = p.get_page_soup(page_url)
            bot.register_next_step_handler(message, get_weather(message))
  • Вопрос задан
  • 151 просмотр
Пригласить эксперта
Ответы на вопрос 1
SoreMix
@SoreMix Куратор тега Python
yellow
Вы не привязываете никуда хэндлер и вообще неправильно работаете с register_next_step_handler
https://github.com/eternnoir/pyTelegramBotAPI/blob...

@bot.message_handler(content_types=['text'])
def get_capital(message):
    global capital
    capital_msg = bot.send_message(message.chat.id, text=(em.emojize(':globe_with_meridians: Введите столицу:')))
    capital = message.text.lower()
    if capital in config.capitals:
            global page_soup
            page_url = 'https://sinoptik.ua/погода-{0}'.format(capital)
            page_soup = p.get_page_soup(page_url)
            bot.register_next_step_handler(capital_msg, get_weather)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы