Привожу простой пример инфо-бота с практически неограниченной вложенностью. Вывод на экран текстового и медиа (картинка, видео, аудио, документ) сообщения. Многоуровневое меню включено.
Хотел привести пример как отобразить в Телеграм многоуровневое меню, но получился простой в создании информационный бот с вложенностью, ограниченной только возможной длинной значения в параметре callback_data inline-кнопки (1-64 bytes). Еще интересный момент это — в одном боте можно создать неограниченное количество сценариев, для этого достаточно просто стартовать бота по html-ссылке со специальными параметрами. При обычном старте бота — запускается первый сценарий. Об этом чуть ниже.
Настройки
В настройках бота нужно указать токен бота, id админа бота и заполнить массив с информацией о «шагах».
steps |__ |__ |__ |__ |__ |__ |__ |__ |__
Каждый шаг имеет простой набор параметров:
[ «name» => «», // string «line» => 0, // int «type» => «text|photo|video|audio|document», // string «text» => «», // string «media» => «» // string | null, «steps» => [] // array ]
name* — Название шага, будет отображено на кнопке
line* — уровень ряда в наборе кнопок
type*- тип сообщения (text|photo|video|audio|document)
text — текстовое сообщение, обязательно для type=»text»
media — ссылка или file_id медиа файла, при type=»text» должно быть значение null
steps — это массив вложенных шагов,
Для ускорения отрисовки экранов желательно в параметре media указывать file_id файла, он для каждого бота уникальный, поэтому из моего примера медиа у вас не будут подгружаться — их надо будет заменить.
Чтобы вам получить file_id я добавил небольшой функционал (только если указана настройка bot_admin), нужно просто отправить в бот файл: документ, картинку, видео или аудио файлы.
В ответ бот пришлет строку — она же и будет file_id , просто скопируйте ее и подставьте в параметр media в нужном шаге (массива $steps).
Что из интересного?
Весь контент бота упакован в массив steps он же $content . Важным моментом является конечно же валидность массива.
При старте бота настроен выбор сценария под индексом 0 массива (можно указать любой).
/** 1 параметр это индекс элемента массива 2 параметр это индексы родительских элементов массива steps, разделены тире (-), если null то выводим из верхнего уровня вложенности 3 параметр это id чата пользователя */ $printUpdate(0, null, $chat_id);
Если старт по HTML-ссылке то сценарий будет выбран из параметров ссылки
tg://resolve?domain=iMakeBot // в раскрытом виде $content = [ ‘steps’ => [ [ ‘name’ => ‘Название элемента 0’, // . ‘steps’ => [ [ ‘name’ => ‘Название элемента 0-0’ // . ], [ ‘name’ => ‘Название элемента 0-1’, // . ‘steps’ => [ [ ‘name’ => ‘Название элемента 0-1-0’ // . ], [ ‘name’ => ‘Название элемента 0-1-1’ // . ], [ ‘name’ => ‘Название элемента 0-1-2’ // . ], [ ‘name’ => ‘Название элемента 0-1-3’ // . Вот этот элемент будет отработан для вывода на экран ], ] ] ] ] ] ]
Чтобы получить из массива нужный элемент, пропускаем запрос через рекурсивную (самовызывающуюся) функцию
Отрисовка экрана
Простой роутер для бота
/** * Простой роутер бота */ if (isset($data->message)) < // получим id чата $chat_id = $data->message->from->id; // если это текстовое сообщение if (isset($data->message->text)) < // проверим что это старт бота if ($data->message->text == «/start») < // выводим сообщение $printUpdate(0, null, $chat_id); >// если это старт по ссылке elseif (preg_match(«~/start s_([d]+)_?([d-]*)~», $data->message->text, $matches)) < // выведем сообщение по ссылке $printUpdate($matches[1], $matches[2], $chat_id); >> // другие типы сообщений else < // если это админ бота направляет сообщение if ($chat_id === $bot_admin) < // по умолчанию $file_id = null; // если это картинка if (isset($data->message->photo)) < // file_id последней картикни $file_id = end($data->message->photo)->file_id; > // если это видео-файл elseif (isset($data->message->video)) < // file_id видео-файла $file_id = $data->message->video->file_id; > // если это аудио-файл elseif (isset($data->message->audio)) < // file_id аудио-файла $file_id = $data->message->audio->file_id; > // если это документ elseif (isset($data->message->document)) < // file_id документа $file_id = $data->message->document->file_id; > // проверим необходимость отправки if (!is_null($file_id)) < // отправим file_id $query(«sendMessage», [ «chat_id» =>$chat_id, «text» => $file_id ]); > > > // если это нажатие по кнопке > elseif (isset($data->callback_query)) < // получим id чата $chat_id = $data->callback_query->from->id; // получим callBackQuery_id $cbq_id = $data->callback_query->id; // получим переданное значение в кнопке $c_data = $data->callback_query->data; // спарсим значения $params = explode(«_», $c_data); // если это переход по шагам if ($params[0] == «s») < // выводим сообщение $printUpdate( $params[1], ($params[2] !== «») ? $params[2] : null, $chat_id, $cbq_id, $data->callback_query->message->message_id ); > // если это другие кнопки else < // заглушим просто запрос $notice($cbq_id, «This is notice for bot»); >>
Исходный код бота
Бот настроен под работу с Webhook
Источник: imakebots.ru
КАК СДЕЛАТЬ ВКЛАДКИ В ТЕЛЕГРАММЕ
Создание вкладок в Telegram Messenger позволяет упорядочить чаты и группы и более удобно управлять ими. Для того, чтобы создать вкладку, нужно выполнить следующие действия.
1. Открыть Telegram Messenger и перейти к главному экрану.
2. Коснуться значка «Меню» (три полоски в левом верхнем углу экрана) и выбрать пункт «Создать новую вкладку».
3. Придумать название вкладки и выбрать чаты и/или группы, которые хотите добавить в новую вкладку.
4. Нажать на кнопку «Создать».
Как навести порядок в Телеграм Чатах. Идеальные настройки
КАК СДЕЛАТЬ СЕБЕ МИЛЫЙ ЯЗЫК В ТЕЛЕГРАММЕ??-ТУТОРИАЛ
СЕКРЕТНЫЕ ФИШКИ TELEGRAM 2022 ТЫ О НИХ НЕ ЗНАЛ Удобные Функции, Секреты и Лайфхаки Телеграма
Telegram: как создавать папки и сортировать каналы и личные чаты
Темы (чаты внутри чатов) в Телеграм. Обновление от 05.11.2022
Как разделить чат в телеграмме — Чаты внутри чата — Как превратить телеграм группу в форум.
Как создать папки в #telegram
Создание тем в группах телеграм
ДВА МЕШКА НАРКОТЫ — УГОН МАШИНЫ — УСНУЛ НА МУРАВЕЙНИКЕ
Источник: tgme.pro
Канал в Телеграмм: как создать и настроить
Привет, на связи Игорь Зуевич. Создайте канал в Телеграм, чтобы общаться с большим количеством людей. Ежегодно в свет выходят десятки социальных сетей и мессенджеров, и только единицам удается обрести свою целевую аудиторию. В 2013 году создатель не теряющей своей актуальности сети ВКонтакте, представил обществу новый мессенджер Telegram. Сегодня программа доступна пользователям как на ПК, так и на всех мобильных платформах, и насчитывает около 200 миллионов пользователей. Сегмент русскоговорящих пользователей насчитывает более 10 миллионов активных пользователей и эта цифра растет ежедневно.
Помимо основной возможности общения с близкими людьми, платформа предлагает своим пользователям создать канал в Телеграм. Владелец аккаунта в мессенджере имеет возможность создания чего-то среднего между блогом в классическом его понимании и новостной лентой с возможностью прикрепления любых распространенных форматов медиаданных и ссылок.
Создание нового канала в мессенджере не требует особых знаний и усилий. Сделать его может каждый владелец аккаунта за считанные минуты как на персональном компьютере, так и на мобильном телефоне.
Как создать канал в Телеграм на телефоне?
Используя смартфон на Android или IOS, необходимо запустить приложение и на главном экране получить доступ к меню свайпом влево. Среди первых трех пунктов выбирается “Создать канал”. Далее приложение предложит ознакомиться с основными возможностями, которые доступны сейчас владельцам каналов. Можно ознакомиться с этой информацией, либо приступить непосредственно к созданию, нажав еще раз кнопку “Создать канал”.
Следующий этап предлагает пользователю ввести имя канала, выбрать аватар и ввести описание.
Дальнейший этап создания подразумевает создание уникальной ссылки на канал (не менее 5 символов) и выбор типа канала.
На данный момент пользователям доступны:
- публичные каналы, которые абсолютно любой пользователь может найти в поиске и, соответственно, подписаться на них;
- анонимные каналы, доступные только ограниченному кругу пользователей, которых администратор канала может пригласить лично.
Последним этапом в создании канала в Telegram станет выбор участников из списка контактов мессенджера и смартфона администратора.
Как создать канал в Телеграм на компьютере?
Создание канала на ПК возможно только после скачивания клиента. Существующая веб-версия, увы, ограничена в своем функционале.
После загрузки приложения и авторизации необходимо нажать на три точки в верхнем левом углу экрана и получить доступ к меню приложения. Там аналогично мобильной версии есть пункт “Создать канал”.
После выбора данного пункта меню пользователь получает возможность ввода названия канала и описания. Также желательно установить заглавное фото.
Аналогично мобильной версии администратор может выбрать вид канала и ввести его ссылку.
Последним этапом будет выбор участников из списка каналов.
Основные настройки канала
В мобильной версии и на ПК администратор может получить доступ к основным настройкам канала.
Список настроек дает возможность:
- редактировать основную информацию;
- добавлять новых участников из телефонной книги;
- удалять пользователей или добавлять их в черный список;
- назначать администраторов;
- просматривать историю изменения;
- удалить канал.
Важно обратить внимание, что создатель канала обладает большими возможностями в управлении, чем администраторы, добавляемые им позже вручную.
Рост популярности публичных каналов связан не только с возможностью делиться своим контентом на относительно новой, но крайне популярной площадке. Рекламодатели, размещая свою информацию на большом телеграмм-канале, получают возможность получения максимального охвата из-за того, что каждый подписчик канала обязательно увидит рекламное сообщение.
Как видите, если вы уже знаете о том, что приложение Telegram популярно не только своей простотой, но и возможностью ведения своих каналов, создать которые можно без особого труда, то изучите пошаговую инструкцию, как создать канал в Телеграм. Действовать лучше сообща и вместе с теми людьми, у которых уже есть опыт и результаты. Приходите в наши программы, заодно и заработаете больше!
Обязательно скачайте:
- Контент-План (календарь постов) для публикаций в соцсетях
- Книга-бестселлер по созданию продающих и рекламных текстов
- ЧИТАТЬ в Telegram
Если следующие 5 минут вы можете инвестировать в самообразование, то переходите по ссылке и читайте следующую нашу статью: Особенности создания группы в Телеграме
Оставьте комментарий к этой статье ниже
Поделиться записью
- Поделиться Facebook
- Поделиться Twitter
- Поделиться LinkedIn
- Поделиться Vk
- Поделиться по почте
Источник: igorzuevich.com