Кнопки снизу: различия между версиями
Sergahell (обсуждение | вклад) м (Защитил страницу Кнопки снизу ([Редактирование=Разрешено только администраторам] (бессрочно) [Переименование=Разрешено только админис…) |
Sergahell (обсуждение | вклад) |
||
Строка 37: | Строка 37: | ||
Итог: да, визуально они есть, но в отличии от инлайна они доставят вам больше геморроя. Потому сам телеграм очень быстро сделал инлайн кнопки. Но вот люди, которые писали библиотеки попросту забили на обновления. А текущие многие горе-программисты ботов не умеют писать свои библиотеки и используют готовые библиотеки для динозавров. | Итог: да, визуально они есть, но в отличии от инлайна они доставят вам больше геморроя. Потому сам телеграм очень быстро сделал инлайн кнопки. Но вот люди, которые писали библиотеки попросту забили на обновления. А текущие многие горе-программисты ботов не умеют писать свои библиотеки и используют готовые библиотеки для динозавров. | ||
+ | |||
+ | |||
+ | Единственное для чего нужны кнопки снизу строки ввода, так это запросить локацию или телефон | ||
+ | Смотрим пример, тут все понятно | ||
+ | <pre> | ||
+ | {if count($argv)>1} | ||
+ | {$argv|json} | ||
+ | {/if} | ||
+ | {key l=10 t='Телефон' c='#'} | ||
+ | {key l=10 t='Локацию' c='!'} | ||
+ | {tg_sendMessage text='Отправьте телефон или локацию' line_keys=1} | ||
+ | </pre> |
Текущая версия на 09:15, 29 мая 2019
{key l=10 t='🔙 Главное меню' c='/about'} {tg_sendMessage text='Привет' line_keys=1} {key_clear} <b>Добро пожаловать </b> {key l=10 t='📌 О конструкторе' c='/about'} {key l=10 t='🗄 Все функции' c='/functions'}
вот такой пример!!!
в tg_sendMessage появился параметр line_keys
если он равен 1, то ваши набранные с помощью keys кнопки будут под строкой ввода.
Если он равен -1, то будет послана команда, вернее сообщение с командой, очистить кнопки
Ну и побочный эффект - вы для установки кнопок должны передать второе сообщение. Вот потому в старых ботах слишком много сообщений, и некоторые просили сделать отправку, как бы через определенное время: 2-3 сек.
И второй побочный эффект. Я и раньше говорил, что эти кнопки ущербные, и сейчас не отказываюсь от этих слов. Они ущербные и для использования в динозавро-ботах только. Обработать их нормально на уровне ядра конструктора не получится. А потому чтоб обработать ту же самую кнопку "В главное меню" вам надо завести экшн, который будет проверять наличие сообщение со строки ввода и что-то вызывать.
например так
{if isset($argv[1])} {if ($data.fulltext == 'Главное меню')} {import c='/start'} {/if} {/if}
и вызывать такой метод из каждого своего экшена
{import c='/my_old_keys'}
Итог: да, визуально они есть, но в отличии от инлайна они доставят вам больше геморроя. Потому сам телеграм очень быстро сделал инлайн кнопки. Но вот люди, которые писали библиотеки попросту забили на обновления. А текущие многие горе-программисты ботов не умеют писать свои библиотеки и используют готовые библиотеки для динозавров.
Единственное для чего нужны кнопки снизу строки ввода, так это запросить локацию или телефон
Смотрим пример, тут все понятно
{if count($argv)>1} {$argv|json} {/if} {key l=10 t='Телефон' c='#'} {key l=10 t='Локацию' c='!'} {tg_sendMessage text='Отправьте телефон или локацию' line_keys=1}