Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.10.2020, 22:30   #1
arriah
Пользователь
 
Регистрация: 09.08.2015
Сообщений: 62
По умолчанию Телеграмм бот

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

В двух словах, как мне понять в каком меню находится пользователь?

Для примера:

Код:
if ($text) {

   switch ($text) {
        case 'Кнопка1':
             //data1
             тут рисуем подменю из кнопок ["1","2","3"]
             break;

        case 'Кнопка2':
             //data2
             тут рисуем подменю из кнопок ["1","2","3"]
             break;

        case 'Кнопка3':
             //data3
             тут рисуем подменю из кнопок ["1","2","3"]
             break;

   }
}
Вот примерное меню какое надо реализовать.
Как мне узнать что, допустим, пользователь Вначале нажал на Кнопка2, а потом на кнопку 2 из подменю и соответственно обработать эту команду?

То есть обработка кнопок подменю, будет исходя из данных в data1, data2 или data3... Подменю для всех кнопок - одинаковое

Извините за сумбур...
Завидую крокодилам! Они даже ходят лежа!

Последний раз редактировалось arriah; 14.10.2020 в 22:33.
arriah вне форума Ответить с цитированием
Старый 15.10.2020, 14:33   #2
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,158
По умолчанию

никак, просто давай всем подпунктам уникальные идентификаторы
тогда точно будешь знать где и что нажали
и все
ADSoft вне форума Ответить с цитированием
Старый 15.10.2020, 18:36   #3
EternalKnight
Новичок
Джуниор
 
Регистрация: 15.10.2020
Сообщений: 5
По умолчанию

На каком языке вы хотите реализовать Telegram Бота?
EternalKnight вне форума Ответить с цитированием
Старый 16.10.2020, 08:18   #4
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,158
По умолчанию

Цитата:
Сообщение от EternalKnight Посмотреть сообщение
На каком языке вы хотите реализовать Telegram Бота?
судя по тематике раздела и приведенному коду - PHP
ADSoft вне форума Ответить с цитированием
Старый 16.10.2020, 10:33   #5
arriah
Пользователь
 
Регистрация: 09.08.2015
Сообщений: 62
По умолчанию

Цитата:
Сообщение от ADSoft Посмотреть сообщение
никак, просто давай всем подпунктам уникальные идентификаторы
тогда точно будешь знать где и что нажали
и все
Это не логично, к сожалению и будет раздут код.
Подпункты имеют временной интервал 1 час, 2 часа, 3 часа. В приведенном выше примере я указал лишь 3 пункта меню, а их количество неизвестно и формироваться будут динамически, и для каждого будут подпункты. Так что с уникальностью будет сложно, но можно.

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

Других вариантов пока не придумал.
Хотя видел примеры многоуровневых меню, с использованием кнопки "Назад" и возвращением на предыдущий уровень, без БД, но пока еще не понял как это реализовано
Завидую крокодилам! Они даже ходят лежа!
arriah вне форума Ответить с цитированием
Старый 16.10.2020, 10:50   #6
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,158
По умолчанию

Цитата:
Сообщение от arriah Посмотреть сообщение
Это не логично, к сожалению и будет раздут код.
В чем нелогичность? Каким образом он раздуется?

Идентификаторы можно же давать составные, но уникальные, например 1_2 и для многоуровневых
1_2_3_1 итд
получили идентификатор - разобрали на составляющие - и делайте что хотите, и формируйте динамически....
ADSoft вне форума Ответить с цитированием
Старый 16.10.2020, 12:16   #7
arriah
Пользователь
 
Регистрация: 09.08.2015
Сообщений: 62
По умолчанию

Цитата:
Сообщение от ADSoft Посмотреть сообщение
В чем нелогичность? Каким образом он раздуется?

Идентификаторы можно же давать составные, но уникальные, например 1_2 и для многоуровневых
1_2_3_1 итд
получили идентификатор - разобрали на составляющие - и делайте что хотите, и формируйте динамически....
Идентификатор будет отображаться в тексте кнопки - это не эстетично)
Завидую крокодилам! Они даже ходят лежа!
arriah вне форума Ответить с цитированием
Старый 16.10.2020, 16:03   #8
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,158
По умолчанию

Цитата:
Сообщение от arriah Посмотреть сообщение
Идентификатор будет отображаться в тексте кнопки - это не эстетично)
Каким макаром? Все от вас зависит, что и как отображать

...насчет эстетики - видели бы вы какие идентификаторы разные js фреймворки рисуют vue, react, angular и ниче - все по барабану
ADSoft вне форума Ответить с цитированием
Старый 16.10.2020, 22:37   #9
arriah
Пользователь
 
Регистрация: 09.08.2015
Сообщений: 62
По умолчанию

Цитата:
Сообщение от ADSoft Посмотреть сообщение
Каким макаром? Все от вас зависит, что и как отображать

...насчет эстетики - видели бы вы какие идентификаторы разные js фреймворки рисуют vue, react, angular и ниче - все по барабану
Хм. А можно тогда пример как сделать идентификатор?
Насколько я понял, отследить нажатие той или иной кнопки в боте можно только по ее названию, то есть то что написано на кнопке, то и передается в переменную...
Завидую крокодилам! Они даже ходят лежа!
arriah вне форума Ответить с цитированием
Старый 17.10.2020, 08:26   #10
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,158
По умолчанию

Для начала покажите свой код вывода кнопок и код отработки их нажатич
ADSoft вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Python и телеграм бот arriah Python 0 29.09.2020 00:09
Нужен парсер для Телеграмм Dmitriy123RUS Фриланс 0 22.09.2018 19:29
Простой телеграмм бот DKENT PHP 0 06.09.2018 14:37
Нужен простой андройд софт для автоматического вступления в чаты Телеграмм pwn2008 Фриланс 1 24.04.2018 21:08
proxy для телеграмм anonimus2014 Безопасность, Шифрование 0 26.10.2017 22:47