понедельник, 24 марта 2025 г.

Телеграм-бот поможет организовать путешествие

 Как бы ни ругали современные, интеллектуальные технологии, но они, всё же, облегчают нашу жизнь. Экономят время и помогают найти приемлемые и лучшие решения.



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

Наш телеграм-бот может помочь вам. Попробуйте.

Если вы ищете пакетный тур: телеграм-бот получает информацию о турах (с отправлением в ближайшие недели), отбирает туры с лучшими ценами, выбирает отели с самым высоким рейтингом по трём категориям и предлагает несколько лучших вариантов. Вы можете выбрать туры по нескольким самым популярным направлениям (Турция, Египет, Дубай, Сочи).

Если вы ищете билеты на самолёт: ткелеграм-бот покажет, что уже искали и нашли другие туристы за последние пару суток. Лучшие цены по популярным направлениям.


Есть ещё полезная информация для туристов. Мы будем совершенствовать алгоритмы обработки информации.

Чтобы найти тур в Телеграм (чтобы роБот нашёл тур для вас): У вас должно быть установлено приложение Телеграм (у всех, наверное, уже установлено). Открыть @visitplus_bot бот "Для туристов и путешественников".(ссылка - https://t.me/visitplus_bot/start). Нажать кнопку "СТАРТ". Нажать кнопку "Туры". Выбрать страну или курорт (нажать кнопку "В Турцию", "В Сочи", "В Египет", "В Дубай"). Просмотреть предложенные роБотом варианты и выбрать подходящие для вас. Перейти по ссылке на сайт продавца для уточнения деталей и дальнейшего бронирования.



Попробуйте - https://t.me/visitplus_bot/start

среда, 5 марта 2025 г.

Создание телеграм-бота - как получить значения из двух кликов по двум клавиатурам

 Телеграм-ботов сейчас не пишет, наверное, только тот, кому это совсем не интересно. Я решил попробовать написать своего бота. Я, конечно, не программист, но какие-то знания о PHP ещё остались.


Как создать телеграм-бота написано достаточно. В интернет много инструкций и примеров кодов. Про это повторяться не буду. Напишу только о том, какая проблема возникла и как её решили.

(Программисты раскритикуют, наверное, такое решение и будут больно "пинать", но эта заметка для любителей.)

Вот в чём была проблема. Бот для поиска авиабилетов. Сначала пользователю показывается клавиатура с выбором аэропорта отправления, затем клавиатура с выбором аэропорта назначения, а затем клики этих двух клавиатур обрабатываются программой и выдаются варианты перелётов.

Первая клавиатура - Reply Keyboard.
Примерно такого вида:
"keyboard" => [ "text" => "Москва", ["text" => "Петербург",],
и так далее.

При клике по кнопке передаётся атрибут "text" с названием города отправления.

Переданное значение легко уловить и использовать дальше в программе.


Вторая клавиатура - Inline Keyboard.
Примерно такого вида
"inline_keyboard" => ["text"=>"Казань", "callback_data"=>' KZN'], ["text"=>"Калининград", "callback_data"=>'KGD']
и так далее.

Клик по кнопке этой клавиатуры тоже несложно выловить. (Вы найдёте много примеров с кодом в интернет.

Проблема в том, что после клика по второй клавиатуре не сохранялось значение клика по первой. В интернет примеров кода с решением этой задачи не нашёл, но нашёл намёк на путь решения.

Вот, что в итоге получилось.

После клика по первой кнопке значение атрибута "text" используется при создании второй клавиатуры и добавляется в атрибут callback_data.

В итоге получается вторая клавиатура такого примерно вида:
"inline_keyboard" => ["text"=>"Казань", "callback_data"=>$text . ' : KZN'], ["text"=>"Калининград", "callback_data"=>$text . ' : KGD']
и так далее.

После клика по первой кнопке она становится такой:

"inline_keyboard" => ["text"=>"Казань", "callback_data"=> ' Москва : KZN'], ["text"=>"Калининград", "callback_data"=>' Москва : KGD']
и так далее.

После клика по второй клавиатуре мы получаем значение "callback_data" (из callback_query) а дальше разделить значение Москва : KZN по двоеточию и использовать разделённые значения (переменные) это уже как вам будет нужно.

Программисты уже готовы критиковать? Не нужно, для меня важно, что это работает. (Не стреляйте в пианиста! Он играет как может.)

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

Нужно купить квартиру в Петербурге, бы

  Хороший день сегодня. Прямо петь хочется, прямо с утра. Купить бы квартиру, в Петербурге, или в Москве! Найти где-нибудь на улице нескольк...