@chernykhy

Почему не работает код бота telebot?

import telebot
from telebot import types

bot = telebot.TeleBot("")


@bot.message_handler(commands=["start"])
def start(message):

    keyboard = types.ReplyKeyboardMarkup(resize_keyboard=True, row_width=2)
    item1 = types.KeyboardButton(text="Основные документы гражданина Российской Федерации"),
    item2 = types.KeyboardButton(text="Семья в России"),
    item3 = types.KeyboardButton(text="Живу в России"),
    item4 = types.KeyboardButton(text="Быть здоровым"),
    item5 = types.KeyboardButton(text="Дом в России"),
    item6 = types.KeyboardButton(text="Работаю в России"),
    item7 = types.KeyboardButton(text="Дети и образование"),
    item8 = types.KeyboardButton(text="Служу России"),
    item9 = types.KeyboardButton(text="Вожу в России"),
    item10 = types.KeyboardButton(text="Молодость в России"),
    item11 = types.KeyboardButton(text="Поддержка агропромышленного комплекса"),
    item12 = types.KeyboardButton(text="Порядок обращения в правоохранительные органы"),
    item13 = types.KeyboardButton(text="Полезные контакты")

    keyboard.add(item1, item2, item3, item4, item5, item6, item7, item8, item9, item10, item11, item12, item13)

    bot.reply_to(message.chat.id,f"Привет, {message.from_user.first_name}! Я бот, который поможет тебе. Что ты хочешь узнать?\n"
        "Здесь можно найти информацию по темам:\n"
        "- Основные документы гражданина Российской Федерации\n"
        "- Семья в России (пособия и выплаты для семей)\n"
        "- Живу в России (пособия, субсидии, пенсии и льготы)\n"
        "- Быть здоровым в России (все о медицинских услугах)\n"
        "- Дом в России (ЖКХ, земля и недвижимость)\n"
        "- Работаю в России (пособие по безработице, оформление банковских карт)\n"
        "- Дети и образование (детский садик, школы и вузы)\n"
        "- Служу России (все о долге Родине, военной службе и военном образовании)\n"
        "- Вожу в России (регистрации автомобиля, парковка для инвалидов)\n"
        "- Молодость в России (добровольчество, гранты, конкурсы и программы)\n"
        "- Поддержка агропромышленного комплекса\n"
        "- Порядок обращения в правоохранительные органы\n"
        "- Полезные контакты",reply_markup=keyboard)


@bot.message_handler(func=lambda message: True)
def handle_message(message):
    if message.text == "Основные документы гражданина Российской Федерации":
        markup = types.ReplyKeyboardMarkup(resize_keyboard=True, row_width=3)
        item1 = types.KeyboardButton(text="Паспорт РФ"),
        item2 = types.KeyboardButton(text="Регистрация"),
        item3 = types.KeyboardButton(text="Загранпаспорт"),
        item4 = types.KeyboardButton(text="ИНН"),
        item5 = types.KeyboardButton(text="Полис ОМС"),
        item6 = types.KeyboardButton(text="СНИЛС"),
        item7 = types.KeyboardButton(text="Водительское удостоверение"),
        back_button = types.KeyboardButton(text="Назад")
        markup.add(item1, item2, item3, item4, item5, item6, item7, back_button)
        bot.reply_to(message.chat.id,"Выберите интересующий вас тип документа:",reply_markup=markup,)

    elif message.text == "Паспорт РФ":
        markup = types.ReplyKeyboardMarkup(resize_keyboard=True, row_width=3)
        item1 = types.KeyboardButton(text="Кто может получить"),
        item2 = types.KeyboardButton(text="Порядок получения"),
        back_button = types.KeyboardButton(text="Назад")
        markup.add(item1, item2, back_button)
        bot.reply_to(message.chat.id,"Паспорт гражданина РФ - это основной документ, удостоверяющий личность гражданина России на ее территории, паспорт должны иметь все граждане РФ достигшие 14 лет",reply_markup=markup,)


bot.polling(none_stop=True)


только учусь писать ботов, нужно интерактивое меню, но пока пыталась сделать продолжение ветки от кнопки"Основные документы гражданина Российской Федерации" теперь не работает весь код, но не знаю получится ли вообще 13 кнопок уместить в клавиатуру, изначально хотела инлайн кнопки, но они тоже не работали как надо
  • Вопрос задан
  • 79 просмотров
Решения вопроса 1
Mike_Ro
@Mike_Ro Куратор тега Python
Python, JS, WordPress, SEO, Bots, Adversting
item2 = types.KeyboardButton(text="Семья в России"),

Уберите запятые в конце строк, чтобы не было проблем с кортежами.

bot.reply_to это откуда? По идее, должно быть bot.send_message, исправил код, допишите все нужные кнопки и попробуйте, должно заработать:
@bot.message_handler(commands=["start"])
def start(message):
    keyboard = types.ReplyKeyboardMarkup(resize_keyboard=True, row_width=2)
    item1 = types.KeyboardButton(text="Основные документы гражданина Российской Федерации")
    # прочее...

    keyboard.add(item1, item2)
    # прочее...

    bot.send_message(
        message.chat.id,
        f"Привет",
        f"{message.from_user.first_name}! Я бот, который поможет тебе. Что ты хочешь узнать..?",
        reply_markup=keyboard)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы