@tenzor0

Не могу разобраться с циклами в telebot?

У меня возникла проблема, при нажатии более одной кнопки мой бот не реагирует, для этого приходится постоянно писать /help, как это пофиксить?

import telebot
import webbrowser
from telebot import types
import requests


bot = telebot.TeleBot('5790351351:AAGfdk0lQojIiy7Ml0StDQXnzDh4qvnIdpU')
@bot.message_handler(commands=["start",])
def main(message):
    bot.send_message(message.chat.id, f'Привет, {message.from_user.first_name}, я вижу, что ты решил посетить Яровое с целью отдыха, наш бот "Проводник" тебе в этом поможет')
    bot.send_message(message.chat.id, f'Пиши /help, чтобы заработали кнопки')


@bot.message_handler(commands=["help"])
def test(message):
    markup = types.ReplyKeyboardMarkup()
    btn1 = types.KeyboardButton("Карта️")
    markup.row(btn1)
    btn2 = types.KeyboardButton("О разработчике✍️")
    btn3 = types.KeyboardButton("Кафе")
    markup.row(btn2,btn3)
    btn5 = types.KeyboardButton("Место жительства")
    btn6 = types.KeyboardButton("Работа")
    markup.row(btn5,btn6)
    btn7 = types.KeyboardButton("Отдых")
    btn8 = types.KeyboardButton("Концерты")
    markup.row(btn7, btn8)
    bot.send_message(message.chat.id, "Для следующей кнопки напиши еще раз /help✅", reply_markup=markup)
    bot.register_next_step_handler(message, on_click)

def on_click(message):
    if message.text == "О разработчике✍️":

        bot.send_message(message.chat.id, f'Меня зовут Никита, я маленький разработчик телеграм ботов‍, я решил написать бота для того, чтобы облегчить жизнь туристам в летний период. Мой тг: @Feermano, готов к сотрудничеству ')
        bot.send_message(message.chat.id, f'Для работы следующей кнопки напиши еще раз /help✅')

    elif message.text == "Кафе":

        bot.send_message(message.chat.id, f'Я вижу, что ты голоден <b>тебе стоит сходить</b>, в эти места',parse_mode="html")

        markup = types.InlineKeyboardMarkup()
        markup.add(types.InlineKeyboardButton("Подробнее", url="https://moreyarovoe.ru/food-place"))

        chin = open("./chin.png", "rb")
        bot.send_photo(message.chat.id, chin, reply_markup=markup)

        loft = open("./loft.png", "rb")
        bot.send_photo(message.chat.id, loft, reply_markup=markup)

        edba = open("./edba.png", "rb")
        bot.send_photo(message.chat.id, edba, reply_markup=markup)

        shater42 = open("./shater42.png", "rb")
        bot.send_photo(message.chat.id, shater42, reply_markup=markup)

        buffalo_bill = open("./buffalo Bill.png", "rb")
        bot.send_photo(message.chat.id, buffalo_bill, reply_markup=markup)

        karaoke = open("./karaoke.png", "rb")
        bot.send_photo(message.chat.id, karaoke, reply_markup=markup)

        limonchella = open("./limonchella.png", "rb")
        bot.send_photo(message.chat.id, limonchella, reply_markup=markup)

        mojito = open("./mojito.png", "rb")
        bot.send_photo(message.chat.id, mojito, reply_markup=markup)

        faq_bar = open("./faq_bar.png", "rb")
        bot.send_photo(message.chat.id, faq_bar, reply_markup=markup)

        dacha = open("./dacha.png", "rb")
        bot.send_photo(message.chat.id, dacha, reply_markup=markup)

        uno_momento = open("./uno_momento.png", "rb")
        bot.send_photo(message.chat.id, uno_momento, reply_markup=markup)

        maliby = open("./maliby.png", "rb")
        bot.send_photo(message.chat.id, maliby, reply_markup=markup)


    elif message.text == "Концерты":
        bot.send_message(message.chat.id,
                         f'Самоу время <b>сходить на концерт</b>, вот парочку музыкантов. Это ,конечно, не весь список, но он будет пополняться',
                         parse_mode="html")

        markup = types.InlineKeyboardMarkup()
        markup.add(types.InlineKeyboardButton("Подробнее", url="https://moreyarovoe.ru/afisha"))

        marry = open("./marry.png", "rb")
        bot.send_photo(message.chat.id, marry, reply_markup=markup)

        aya_project = open("./aya_project.png", "rb")
        bot.send_photo(message.chat.id, aya_project, reply_markup=markup)

        zapravka = open("./zapravka.png", "rb")
        bot.send_photo(message.chat.id, zapravka, reply_markup=markup)

        molodost = open("./molodost.png", "rb")
        bot.send_photo(message.chat.id, molodost, reply_markup=markup)

        burito = open("./burito.png", "rb")
        bot.send_photo(message.chat.id, burito, reply_markup=markup)

        sevak = open("./sevak.png", "rb")
        bot.send_photo(message.chat.id, sevak, reply_markup=markup)

        souz = open("./souz.png", "rb")
        bot.send_photo(message.chat.id, souz, reply_markup=markup)

        rock_ostrova = open("./rock_ostrova.png", "rb")
        bot.send_photo(message.chat.id, rock_ostrova, reply_markup=markup)

        karamberry = open("./karamberry.png", "rb")
        bot.send_photo(message.chat.id, karamberry, reply_markup=markup)

        kommisar = open("./kommisar.png", "rb")
        bot.send_photo(message.chat.id, kommisar, reply_markup=markup)

        kalibri_mavik = open("./kalibri.png", "rb")
        bot.send_photo(message.chat.id, kalibri_mavik, reply_markup=markup)

        buzova = open("./olga_buzova.png", "rb")
        bot.send_photo(message.chat.id, buzova, reply_markup=markup)

        bot.send_message(message.chat.id, "Мы тебя ждем!‍♂️", reply_markup=markup)

    elif message.text == "Место жительства":

        bot.send_message(message.chat.id, f'Совсем забыл, <b>а где тебе жить?</b> ', parse_mode="html")

        markup = types.InlineKeyboardMarkup()
        markup.add(types.InlineKeyboardButton("Вот тут ты и поживешь", url="https://moreyarovoe.ru/apartment"))

        gostnicha_yut = open("./gostnicha_yut.png", "rb")
        bot.send_photo(message.chat.id, gostnicha_yut, reply_markup=markup)

        doma_on_ozero = open("./doma_on_ozero.png", "rb")
        bot.send_photo(message.chat.id, doma_on_ozero, reply_markup=markup)

        prichal_55 = open("./prichal_55.png", "rb")
        bot.send_photo(message.chat.id, prichal_55, reply_markup=markup)

        bereg = open("./bereg.png", "rb")
        bot.send_photo(message.chat.id, bereg, reply_markup=markup)

        prichal_gost = open("./prichal_gost.png", "rb")
        bot.send_photo(message.chat.id, prichal_gost, reply_markup=markup)

    elif message.text == "Работа":

        markup = types.InlineKeyboardMarkup()
        markup.add(types.InlineKeyboardButton("Узнать подробнее", url="https://moreyarovoe.ru/vacancies"))

        work = open("./work.png", "rb")
        bot.send_photo(message.chat.id, work, reply_markup=markup)

    elif message.text == "Отдых":

        bot.send_message(message.chat.id, f'А в эти места ты можешь сходить, <b>с семьей?</b>', parse_mode="html")

        markup = types.InlineKeyboardMarkup()
        markup.add(types.InlineKeyboardButton("Подробнее",url="https://moreyarovoe.ru/relaxation"))

        aqua = open("./aqua.png", "rb")
        bot.send_photo(message.chat.id, aqua, reply_markup=markup)

        chill1 = open("./prichal_42.png", "rb")
        bot.send_photo(message.chat.id, chill1, reply_markup=markup)

        chill2 = open("./maliby.png", "rb")
        bot.send_photo(message.chat.id, chill2, reply_markup=markup)

        chill3 = open("./prichal_55.png", "rb")
        bot.send_photo(message.chat.id, chill3, reply_markup=markup)

        chill4 = open("./banya.png", "rb")
        bot.send_photo(message.chat.id, chill4, reply_markup=markup)

        chill5 = open("./kedr.png", "rb")
        bot.send_photo(message.chat.id, chill5, reply_markup=markup)

        chill6 = open("./banya_na_vode.png", "rb")
        bot.send_photo(message.chat.id, chill6, reply_markup=markup)

        chill7 = open("./limonadya.png", "rb")
        bot.send_photo(message.chat.id, chill7, reply_markup=markup)

        chill8 = open("./dom_gnom.png", "rb")
        bot.send_photo(message.chat.id, chill8, reply_markup=markup)

        chill9 = open("./arbat.png", "rb")
        bot.send_photo(message.chat.id, chill9, reply_markup=markup)

        chill10 = open("./garry.png", "rb")
        bot.send_photo(message.chat.id, chill10, reply_markup=markup)



    elif message.text == "Карта️":

        markup = types.InlineKeyboardMarkup()
        markup.add(types.InlineKeyboardButton("Открыть карту", url="https://moreyarovoe.ru/about/map"))

        work = open("./mapppp.png", "rb")
        bot.send_photo(message.chat.id, work, reply_markup=markup)


bot.polling(none_stop = True)
  • Вопрос задан
  • 111 просмотров
Пригласить эксперта
Ответы на вопрос 1
@hardux
#telegrambot
вместо bot.register_next_step_handler, используй:
@bot.callback_query_handler(func=lambda call: True)
def handle_callback_query(call):
if message.text == '':
...
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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