Синтаксис кнопок, которые url resp может вернуть вместе с текстом

Материал из боты telegram - ebot.one - редактор ботов
Перейти к: навигация, поиск

Синтаксис кнопок, которые url resp может вернуть вместе с текстом

Ниже представлен пример возврата из скрипта кнопок, которые крепятся к тексту:

  1. $name = "Перейти в профиль";
  2. $command_buttons_data = 'Профиль';
  3. $tr = '1';//1 или 0 - Для переноса кнопок
  4. $emoji_encode = '\ud83c\udfac';
  5. $command_virtual_id = '4049';//Скрытая команда в корне дерева команд для хранения виртуальных кнопок - переменную вынести в conf.php
  6. $button_command_id = '1124';//Кнопка в виртуальной скрытой команде - переменную вынести в conf.php
  7. $bot_id - очевидная переменная. Хоть и принимается в $_POST - лучше ее хранить в conf.php (как вариант сравнивать перед отработкой скрипта)

$btn_add = '[command_button|' . $name . '|' . $tr . ' |' . $emoji_encode . ' |command |' . $command_virtual_id . '@@' . $button_command_id . '@@' . $command_buttons_data . '@@' . $bot_id . '@@1]';

Где: 4049 - ID команды в вашем боте (например скрытой) 1124 - ID кнопки этой команды. Необходимо создать в корне команд скрытую команду, которую назвать "Виртуальные кнопки" и в ней создать одну кнопку, на которую будут ссылаться все кнопки из скриптов.

Пример:
But1.jpg

Следует иметь ввиду некоторую особенность - если такая конструкция не отрабатывает - вероятно у вас слишком длинное имя кнопки или название команды. Решение этой проблемы можно найти здесь

P.S.: Для чего вообще понадобились эти ID ? - впоследствии возможно часть функционала будет описано прямо в этой виртуальной кнопке, а из скрипта она будет вызываться. Чтобы потом не переписывать - я сразу описал синтаксис, который ссылается на кнопку в редакторе. Возможно не лучшее решение, но пока что так.

Пример кнопок с вызовом внешнего скрипта и команды можно посмотреть здесь


Дополнительные варианты использования кнопок можно скачать по ссылке: https://yadi.sk/d/-rzBlU2T3MtU4k


Кнопки можно возвращать не только из внешних скриптов или из имеющегося дерева команд, но и из текста. Такие кнопки могут вызывать, например скрытые команды из того же уровня, что и текущая активная команда.

[command|Вернуться в каталог|0 |-]

Так же этот синтаксис можно использовать прямо в описании команды:


Button script 1.jpg

Результат:

Button script 2.jpg

Если необходимо вернуть кнопку-ссылку - то для этого следует использовать следующий синтаксис:


<?php

header("Content-type: text/html; charset=utf-8");

$return_mas = array();

$return_mas['status'] = 1;

$url = 'http://yandex.ru';

$name = 'test';

$telegram_tr = '0';

$emoji_encode = '-';

$_type = 'url';

$command_buttons_data = urlencode(iconv('cp1251', 'utf-8', $url));

$command_button = "[command_button|" . $name . "|" . $telegram_tr . " |" . $emoji_encode . " |" . $_type . " |" . $command_buttons_data . "]";

$return_mas['body'] = "Привет из youtube!! \n " . $command_button;

echo json_encode($return_mas);

?>