Форум программистов, компьютерный форум, киберфорум
Python: API, боты
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 03.12.2022
Сообщений: 2
Telegram Bot

Меню телеграмм бота не отправляет в ответ сообщение

03.12.2022, 12:40. Показов 723. Ответов 2

Студворк — интернет-сервис помощи студентам
Коллеги, добрый день! Проблема следующая.
В моём телеграммботе такая конструкция:
1-е меню
2-е меню
После выбора второго меню раскрывается еще ветка на 3-е меню.
И вот ветка третьего меню мне не отправляет нужный текст.
Помогите пожалуйста.
Спасибо!
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
import telebot
bot = telebot.TeleBot("")
from telebot import types
@bot.message_handler(commands=['start'])
def get_text_messages(message):
    markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
    item1 = types.KeyboardButton('Балашиха')
    item2 = types.KeyboardButton('Воскресенск')
    item3 = types.KeyboardButton('Дмитров')
    item4 = types.KeyboardButton('Домодедово')
    item5 = types.KeyboardButton('Кашира')
    item6 = types.KeyboardButton('Коломна')
    item7 = types.KeyboardButton('Красногорск')
    item8 = types.KeyboardButton('Люберцы')
    item9 = types.KeyboardButton('Мытищи')
    item10 = types.KeyboardButton('Наро - Фоминск')
    item11 = types.KeyboardButton('Одинцово')
    item12 = types.KeyboardButton('Орехово-З')
    item13 = types.KeyboardButton('Подольск')
    item14 = types.KeyboardButton('Пушкинский')
    item15 = types.KeyboardButton('Химки')
    
 
    markup.add(item1, item2, item3, item4, item5 , item6, item7, item8, item9, item10, item11, item12, item13, item14, item15)
    bot.send_message(message.chat.id, 'Выберете Ваш почтамт' .format(message.from_user), reply_markup=markup)
 
@bot.message_handler(content_types=['text'])
def bot_message(message):
    if message.text == 'Балашиха':
        keyboard = types.InlineKeyboardMarkup()
        key_balashiha = types.InlineKeyboardButton(text='Балашиха', callback_data='balashiha')
        keyboard.add(key_balashiha)
        key_voskresensk = types.InlineKeyboardButton(text='Реутов', callback_data='reutov')
        keyboard.add(key_voskresensk)
        key_voskresensk = types.InlineKeyboardButton(text='Ногинск', callback_data='noginsk')
        keyboard.add(key_voskresensk)
        key_voskresensk = types.InlineKeyboardButton(text='Электросталь', callback_data='voskresensk')
        keyboard.add(key_voskresensk)
        bot.send_message(message.from_user.id, text='Выберете Ваш район', reply_markup=keyboard)
 
@bot.callback_query_handler(func=lambda call: True)
def callback_worker(call_1):
    if call_1.data == "balashiha":
        balashiha = types.InlineKeyboardMarkup()
        key_poctabal = types.InlineKeyboardButton(text='Комиссия Почты', callback_data='poctabal')
        balashiha.add(key_poctabal)
        key_konkur_bal = types.InlineKeyboardButton(text='Комиссия кокурентов', callback_data='konkur_bal')
        balashiha.add(key_konkur_bal)
        bot.send_message(call_1.from_user.id, text='Выберете поставщика', reply_markup=balashiha)
        #bot.send_message(call.from_user.id, text='Комиссия Почты:\nМОЕ: - 1,68% мин 30р.\nАО Мосэнергосбыт - 2,44% мин 25 руб (внешняя)\nАО Мособлгаз - 2,5 % мин 25 руб (внешняя)\nГИБДД - 2,54% (внешняя), мин 25 руб.\nРостелеком - ГОПС 2,5 % мин. 10 руб. (внешняя), СОПС 4,1 % (внутренняя)\nСотовая связь - 6,4% (внешняя ) мин 10 руб. Прием в ФСГ и на МПКТ\nКОНКУРЕНТЫ:\nМенада (оплата только наличными в кассе. 13 офисов):\nМОЕ - 2,5 %, min 30 р.\nСвет - 1,7%\nГаз - 2%\nРостелеком - 2,0% min 15 р.\nСотовая связь - 1,9%\nПАО Сбербанк (Оплату принимают и наличными в кассе, в банкоматах и терминалах. 29 офисов)\nКомиссия при оплате наличными в кассе:\nМОЕ-3% не менее 50р.\nСвет - 3% не менее 50р.\nГаз - 3% не менее 50р.\nГИБДД - 3% не менее 50р.\nРостелеком - 2,5% не менее 10р\nСотовая связь - не принимают\nКомиссия при оплате в терминале, банкомате картой и на кассе:\n Все КА - 2,5% мин.50 р (картой на кассе) 1,2% (картой в банкомате)\nКассы БРЦ - принимают только наличными платежи МОЕ - 0,85 % с клиента, мин.5 руб.')        
 
 
@bot.callback_query_handler(func=lambda call: True)
def callback_worker_1(call_2):
    if call_2.data == "poctabal":
        bot.send_message(call_2.from_user.id, text='Комиссия Почты:\nМОЕ: - 1,68% мин 30р.\nАО Мосэнергосбыт - 2,44% мин 25 руб (внешняя)\nАО Мособлгаз - 2,5 % мин 25 руб (внешняя)\nГИБДД - 2,54% (внешняя), мин 25 руб.\nРостелеком - ГОПС 2,5 % мин. 10 руб. (внешняя), СОПС 4,1 % (внутренняя)\nСотовая связь - 6,4% (внешняя ) мин 10 руб. Прием в ФСГ и на МПКТ\nКОНКУРЕНТЫ:\nМенада (оплата только наличными в кассе. 13 офисов):\nМОЕ - 2,5 %, min 30 р.\nСвет - 1,7%\nГаз - 2%\nРостелеком - 2,0% min 15 р.\nСотовая связь - 1,9%\nПАО Сбербанк (Оплату принимают и наличными в кассе, в банкоматах и терминалах. 29 офисов)\nКомиссия при оплате наличными в кассе:\nМОЕ-3% не менее 50р.\nСвет - 3% не менее 50р.\nГаз - 3% не менее 50р.\nГИБДД - 3% не менее 50р.\nРостелеком - 2,5% не менее 10р\nСотовая связь - не принимают\nКомиссия при оплате в терминале, банкомате картой и на кассе:\n Все КА - 2,5% мин.50 р (картой на кассе) 1,2% (картой в банкомате)\nКассы БРЦ - принимают только наличными платежи МОЕ - 0,85 % с клиента, мин.5 руб.') 
 
        
bot.polling(none_stop=True, interval=0)
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
03.12.2022, 12:40
Ответы с готовыми решениями:

Ответ от бота в телеграмм.
Подскажите идею, вот я пишу бота который отправляет заказ, в группу исполнителей. Далее какой то исполнитель отправляет сообщение что берет...

Не могу получить ответ от телеграмм бота
from telegram.ext import Updater, CommandHandler, MessageHandler, Filters updater = Updater(token='*********') dispatcher =...

Как сохранить ответ от пользователя Телеграмм бота
Здравствуйте, создал команду в @BotFather, при вызове этой команды в телеграмм боте, бот отвечает "Пожалуйста пришлите доступный...

2
Модератор
Эксперт Python
 Аватар для Fudthhh
2695 / 1601 / 513
Регистрация: 21.02.2017
Сообщений: 4,210
Записей в блоге: 1
05.12.2022, 08:25
Лучший ответ Сообщение было отмечено levin_alex как решение

Решение

levin_alex, у тебя первый обработчик регистрируется для обработки всех callback функций (func=lambda call: True), либо настрой логику, либо обрабатывай все там.
0
0 / 0 / 0
Регистрация: 03.12.2022
Сообщений: 2
05.12.2022, 09:37  [ТС]
Спасибо огромное!
Разобрался.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
05.12.2022, 09:37
Помогаю со студенческими работами здесь

Сообщении из телеграмм бота прямо в личное сообщение
Об этом понятии не имею. Очень хотел бы реализовать такую систему в боте: Пользователь отправляет российский номер +7**********, после...

Вывести данные из ВК бота в телеграмм бота
Добрый день, не могу вывести данные, а точнее посты с группы, из бота вк в телеграмм бота. Как лучше это сделать? Функции находятся в...

Бот отправляет несколько раз ответ на сообщение
Создаю бота для телеграмма в консольном приложении на С#.Столкнулся с проблемой,что раз в 10-30 запросов он отвечает дважды на одно и то же...

Как создать бота без префикса и который удаляет сообщение человека и отправляет своё?
Напишите пожалуйста код простейшего бота без префикса. Пишешь в чат "Привет" без префикса, бот удаляет это сообщение и отправляет в чат...

Ответ бота на сообщение которое переслали с командой
Есть бот, он в чате отвечает на команду Обнять(отправляет картинку). Как сделать так, чтобы когда человек пересылает сообщение в чат с...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
Программный отбор элементов справочника 1С по перечислениям
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит предопределенное значение перечислений. Процедура. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru