Telegram bot api примеры ботов

Если вы читаете это, вы знаете, что чат-боты являются одной из самых больших технологических тенденций 2016 года.

Революция ботов — это не только искусственный интеллект. Бот может быть инструментом в вашем мессенджере с простым интерфейсом чата, который может использоваться для расширения функциональности сайтов или служб или даже может быть автономным приложением. Боты дешевле в разработке и проще в установке, а еще одна замечательная особенность заключается в том, что мессенджеры можно использовать на любом типе устройств — ноутбуках, смартфонах и планшетах. Вот почему сейчас все без ума от ботов.

И самый большой мессенджер с открытым API бота — Telegram .

Что мы будем делать

В этой статье мы создадим простой секундомер бота Telegram. Я покажу вам, как создать своего бота, подключиться к аналитике, написать некоторый код и, наконец, добавить своего бота в магазин ботов.

Создать бота с BotFather

Первым шагом к созданию бота является регистрация учетной записи вашего бота в Telegram. И для этого есть бот, который называется BotFather . Просто добавьте его в свой список контактов, и вы сможете создавать и настраивать ботов Telegram, просто набрав команду /newbot и следуя инструкциям BotFather.

Telegram Bot API

BotFather работает Telegram

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

Позже вы можете использовать BotFather для добавления описаний или фотографий в профили ваших ботов, регенерировать токены, устанавливать списки команд для использования, удалять учетные записи и так далее. Чтобы получить полный список команд, просто наберите /help в чате, чтобы получить список команд BotFather.

Подключитесь к Botan Analytics

В API Telegram Bots нет встроенной аналитики, но важно знать, сколько у вас пользователей, как они действуют и какие команды они запускают чаще. Конечно, мы можем собирать эту информацию, используя наш собственный движок, но если мы хотим сосредоточиться на функциональности ботов, а не на метриках, нам просто нужно использовать готовое решение.

И есть простой инструмент для подключения вашего бота к аналитике, который называется Botan . Он основан на яндекс AppMetric и полностью бесплатен. Используя Botan, вы можете сегментировать свою аудиторию, получать информацию о профилях пользователей, получать наиболее часто используемые команды и получать красивые графики прямо в своем мессенджере, например:

График Bot Analytics

Для начала вам нужно зарегистрировать своего бота в Botan и получить токен. И снова, вы можете сделать это с ботом, BotanioBot:

How does Telegram Bots work and How you can create a Telegram Bot[2020]

Регистрация бота в Telegram

Просто нажмите кнопку «Добавить бота» на диалоговой клавиатуре, введите ник своего бота, и вы получите токен бота. Теперь Botanio готов отслеживать ваши бот-события, и вы можете получать статистику по пользователям, сеансам, времени хранения и событиям прямо в своем мессенджере.

Создать и зарегистрировать SSL Webhook

В Telegram есть два способа получать сообщения от ваших пользователей: длинные опросы и веб-хуки.

Диаграмма API Telegram

По сути, при длительном опросе вам необходимо запрашивать новые сообщения у API, а при веб-крюках вы устанавливаете обратный вызов, который будет вызывать API Telegram, если новое сообщение поступит от пользователя. Я предпочитаю использовать webhooks, потому что это похоже на общение в реальном времени, поэтому в этой статье мы также будем использовать этот метод. Теперь нам нужно выбрать URL обратного вызова для нашего webhook, который должен быть достигнут по протоколу HTTPS, и нам нужно установить его действительно безопасным, поэтому спрячьте свой скрипт в секретном пути, как сказано в руководстве:

Если вы хотите убедиться, что запрос Webhook исходит от Telegram, мы рекомендуем использовать секретный путь в URL, например, https://www.example.com/ . Поскольку никто не знает маркер вашего бота, вы можете быть уверены, что это мы.

Если ваш сертификат SSL является доверенным, все, что вам нужно сделать, это открыть этот URL в вашем браузере:

https://api.telegram.org:443/bot[token]/setwebhook?url=[webhook]

В противном случае вы должны создать самозаверяющий сертификат. Вот пример команды для Linux для него:

openssl req -newkey rsa:2048 -sha256 -nodes -keyout /path/to/certificate.key -x509 -days 365 -out /path/to/certificate.crt -subj «/C=IT/ST=state/L=location/O=description/CN=yourdomain.com»

И не забудьте открыть порт SSL:

sudo ufw allow 443/tcp

Чтобы проверить сертификат и установить для своего домена webhook доверие, необходимо загрузить сертификат открытого ключа:

Источник: coderlessons.com

[PHP] Создание простого Telegram-бота на простой библиотеке.

Здравствуйте, жители KotOFF.NET!
Как-то меня заинтересовала тема ботов на Телеграм и я удивился, насколько это можно просто сделать даже тому, кто мало разбирается в PHP. Соответственно, я принялся за это дело и готов поделится с вами этой вещью, чтобы вы точно знали, как такое делается.

Создание бота у BotFather.
Исток истоков — это регистрация бота у BotFather.
Ничего страшного нет. Просто следуйте простой инструкции.

1. Начинаем диалог с t.me/botfather.

2. Пишем /newbot, а следом имя боту.

3. Пишем айди боту. Заметьте, он должен обязательно оканчиваться на bot.

Всё. Регистрация окончена!
По желанию можно добавить аватарку боту через /setuserpic, описание через /setdescription или/и краткое «О боте» через /setabouttext. Совершенно сложного тут нет, поддерживается кириллица, кстати, как и у имени бота.

Главное «но» при создании бота на Телеграм.
Читаешь себе документацию, всё тебе ясно, пытаешься сам вебхук установить и видишь, что вебхуки-то проходят лишь с SSL-сертификатами! Что делать-то? Без паники. Тут есть два пути, или даже больше решению этого вопроса.
Можно взять да просто платить за хостинг, а к любому современному хостингу сейчас идёт SSL-сертификат. Но платить не хочется, верно?
Тогда можно подключиться к CloudFlare, если получится, однако я вам дам спойлер: мало где это получится. Так что и этот вариант не наш.
Значит, надо искать бесплатные хостинги с SSL, и таких я знаю два: darkhost.pro и 000webhost.com. Последний вариант я терпеть не могу — медленный, что жуть, хотя SSL есть, и домен тоже бесплатный… Но из-за медленности второго варианта буду использовать первый. И нет, это не реклама — я никак не управляю ни тем, ни тем хостом.

Еще по теме:  Гле в Телеграмме посмотреть загруженные айлы

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

АХТУНГ! Сейчас хост условно бесплатный! Чтобы его далее держать, каждые 90 дней надо писать о просьбе продлить вам хост или платить определённую сумму в месяц!

1. Заходим на darkhost.pro, регистрируем себе аккаунт и подтверждаем его через подтверждение e-mail. Данные можно указывать не свои, но старайтесь вводить их похожими на правду, ладно? Чтобы вопросов никаких не было уже тут.

2. После регистрации и входа в кабинет личный, нажимаем на «Услуги»->«Заказать новую услугу», а на появившейся странице заказываем тариф «Light-MINI».

3. Выбираем «субдомен darkhost.pro» и вводим в свободное поле что угодно на латинице, после чего на следующей странцие просто жмём «Оформить», а далее уж жмём «Завершить заказ».
После этого вам на почту придут данные для входа в панель управления и FTP-сервер.

4. Нажимаем на «Услуги» и выбираем «Продукты/услуги». Там ищем свой сайт, что вы только что создали и нажимаете по нему. На открывшейся странице выбираем «Вход в панель управления» и ждём, пока нас перекинет и авторизирует в ISPmanager-е.

5. Слева есть панель. Там выбираем «SSL-сертификаты». В открывшейся странице нажимаем «Let’s Encrypt» и просто нажимаем далее.

6. Пока ставится сертификат Let’s Encrypt, который работает, кстати, три месяца, настроим PHP. Просто заходим в «WWW-домены», находим свой сайт там, двойным кликом открываем его (или нажимаем на «Изменить») и выбираем версию PHP, промотав ниже. Желательно ставить PHP или 7.0, или выше.
Если сайт ваш выдаёт ошибку после того, как поменяли версию PHP — подождите. Заработает само.

Вот и всё. Мы настроили хостинг для работы с ним.

А теперь как бота написать-то?!
Всё просто. Скачайте архив и просто перекиньте через FTP или на через ISPmanager файлы на ваш хостинг.
telelibon-master.zip
Нам же там надо файлик «tgLib.php» и именно его вкладывать в ваш основной файл бота.
А вот как загружать файлы через ISPmanager:
(1 — перейти в Менеджер файлов; 2 — пройти по этому пути (последняя папка будет вашим доменом); 3 — нажать на закачать (далее надо будет просто выбрать файлы. также можно сделать папку через «Создать», если вам надо))

Разбор самого кода главного файла: bot.php.

reply($chat, «*Привет.* Я — обычный бот Телеграма. Можешь посмотреть команды, нажав на кнопку »рамка со слэшем в центре».»); //reply — это просто отсылка сообщения if (strtolower(mb_substr($text,0,5)) == «/kick») < if ($reply_author)< $bot->kick($chat,$reply_author); //kick тут работает именно так, да. если что, он выдаст ошибку и закончит скрипт. $bot->reply($chat,»[Предатель](tg://user?id=) выгнан, [](tg://user?id=).»); // [](tg://user?id=) есть упоминание того, кто выполнил команду. > else < //получить айди пользователя сложно, так что работаем с ответом на сообщение. $bot->reply($chat, «Ответь на сообщение предателя этой команды и выгони его.»); > > if(strtolower($text) == «/picture») $bot->pictureReply($chat,»Держи *картин очку*, [](tg://user?id=).», «http://pm1.narvii.com/7360/5109a4d976422ebdcdbfa23563d6b37a10a27966r1-736-1104v2_hq.jpg»); //а так отправляются картинки. url можно свой, но и file_id, кстати, не отменяли. если что, отпишитесь, как оно. if(strtolower($text) == «/video») $bot->videoReply($chat,»Держи *видяшку*, [](tg://user?id=).», «http://f0329289.xsph.ru/tg/videoplayback.mp4»); //такой же принцип как и с фото, только видео. if(strtolower($text) == «/gif») $bot->gifReply($chat,»Держи *гифку*, [](tg://user?id=).», «https://media.giphy.com/media/ifAxq0ON2i5fcjeOdR/giphy.gif»); //аналогично. if(strtolower($text) == «/audio») $bot->audioReply($chat,»Держи *песенку*, [](tg://user?id=).», «https://mp3star.ru/mp3/Ly9tb29zaWMubXkubWFpbC5ydS9maWxlLzA0YjQ5NDBiNzg5ZDRmNjVhMzVkM2MwMDE5NjU2ZGUyLm1wMw==/МАЛЬЧУГЕНГ%20-%20Том%20и%20Джерри.mp3»); //аналогично.. кстати, так только mp3 читаются if(strtolower($text) == «/voice») $bot->voiceReply($chat,»Держи *голосовуху*, [](tg://user?id=).», «http://f0329289.xsph.ru/tg/МАЛЬЧУГЕНГ+-+ТУДА-СЮДА.ogg»); //это отсылка аудиосообщений. у меня не сработало, хотя всё верно, НО ЧТОБЫ ЗАРАБОТАЛО НУЖЕН .ogg В КОДЕКЕ OPUS И ТОЛЬКО. if(strtolower($text) == «/videonote») $bot->videoNoteReply($chat, «https://cs564500.vkuservideo.net/8/e03PD46MT80MTU-/videos/a000a322a2.360.mp4»); //это отсылка видеосообщений. так должно работать, но на время написания это пока не поддерживается. однако заработает file_id 😉 if(strtolower(mb_substr($text,0,9)) == «/newtitle») < $bot->setChatTitle($chat,mb_substr($text,10)); //эта команда меняет название чата $bot->reply($chat,»*Имя чата поменялось.* Всё же верно, [](tg://user?id=)?»); > if(strtolower($text) == «/invitelink» or strtolower($text) == «/chatlink») $bot->reply($chat,»*Ссылка на эту беседу:* chatInviteLink($chat)[‘result’]>»); //chatInviteLink даёт ссылку на беседу. зачем [‘result’]? мне лень исправлять там кое-что в библиотеке, но зато вы можете. if(strtolower($text) == «/pin») < if (!$reply_message_id) die($bot->reply($chat,»Ответьте на сообщение, что хотите закрепить, этой командой и оно будет закреплено.»)); //это вам не вк, где боты не могут получить айди сообщений любых в беседах! $bot->pinMessage($chat,$reply_message_id); //прикрепление сообщений. ноу-хао будто $bot->reply($chat,»Сообщение успешно закреплено, [](tg://user?id=).»); > if(strtolower($text) == «/unpin») < $bot->unpinMessage($chat); //ну открепление поняятно, даа $bot->reply($chat,»Всё, что было закреплено, я открепил, [](tg://user?id=).»); > if(strtolower(mb_substr($text,0,8)) == «/tempban») < if ($reply_author)< $tempban = $bot->tempban($chat,$reply_author,mb_substr($text,9)); die($bot->reply($chat,»[Предатель](tg://user?id=) выгнан на toUnix(mb_substr($text,9))> секунд, [](tg://user?id=). Если он выгнан на 31622400 секунд, то он навеки выгнан.»)); //toUnix конвертирует время типа 1m, 3w, 3y в unix-время. секунд нет, они сломались 🙂 кстати, а вы знали, что в телеграме уже есть поддержка времени бана заранее? 😀 и да, это возможно не работает пока что. > else < die($bot->reply($chat, «Ответь на сообщение предателя этой команды и выгони его.»)); //команда по итогу прст должна выглядеть так: /tempban 1m [ответ на сообщение]. и да, я использую die, чтобы сразу завершался скрипт. вы можете это не делать. > > >

А как вообще прикрепить вебхук-то к боту? Ты нам не сказал!
Да, я дико извиняюсь, что это пишу под конец, конечно, поста, но я просто хотел сперва показать, как это всё делается, чтобы вы определились, надо ли вам это.
А так, просто выполните запрос какой-то такой:

Еще по теме:  Как в Телеграмме открыть видео на весь экран

https://api.telegram.org/bot/setWebhook?url=https://

Удачного денька.
Пост подходит к концу. Если что — задавайте вопросы. Отвечу на них по возможности.
P. S. Если ответа нет довольно долго, значит либо не заметил, либо нет времени, но вероятен сценарий банальности ошибки вашей или вопроса.

Архив с библиотекой и исходным кодом:
telelibon-master.zip

  • Нео Метал
  • 02.12.2019
  • 19 166
  • 17
  • 10

Источник: kotoff.net

Пишем бота для Telegram на php

Сегодня telegram является активно развивающейся платформой, а потому актуально будет осветить для широкой аудитории тему создания собственных ботов для этого мессенджера. Хотя-бы поверхностно. Для полноценного освящения этой темы я планирую написать две статьи, первая для php вторая для c#. Почему две?

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

К сожалению, разрабатывать бота вам придется прямиком на сервере, то есть я предполагаю что у читателя уже есть свой домен и собственно уже налажен ftp доступ к этому домену. На дэнвере php боты работать не будут. Ну ладно не буду врать — можно сделать чтобы оно и на дэнвере работало, но давайте не будем писать такие велосипеды в этой статье и подождем до следующей, в которой я как раз опишу данный способ на примере с c#(а нахрена нам php с дэнвером когда есть такой замечательный инструмент). В этой статье мы общаемся с telegram api через webhook, это для особо прошаренных. Читающий статью человек должен уметь пользоваться: ftp, ssh(консоль сервера).

Шаг первый. Домен и https

Начнем пожалуй с домена, на котором будет размещаться наш будущий бот. Я беру свой старый домен — вебача. Как вы видите там нет https и я не покупал для этого домена https сертификат. Но тем не менее сертификат нужен иначе бота там не разместить. К счастью, есть cloudflare, который, в числе прочих преимуществ, дает нам возможность использовать эмулированный https.

Переносим наш домен туда, это делается очень быстро бесплатно и автоматически. Зарегистрируйтесь, нажмите addsite поменяйте ns адреса у домена и все будет установлено. Если этого краткого описания вам не достаточно — можете нагуглить в сети мануал по подключению cloudflare, моя статья этому не посвящена.

И так мы подключили домен. Теперь надо перейти на панель своего сайта:

После чего выбрать вкладку Crypto и пункт SSL установить в flexible.

Что делает этот пункт? Он эмулирует безопасное соединение до вашего сайта.
Проверяем — https://2webach.ru/

Как вы видите — все работает. У вас должно быть абсолютно так-же, без этого, бота вы запустить не сможете! Будет выдаваться ошибка «HTTP Version Not Supported», так что если вы пришли на эту страницу в поисках решения — перечитайте данный пункт внимательно и повторите все то я описал.

Шаг второй. Знакомство с Botfather.

Botfather — это такой бот, через которого регистрируют все остальные боты. Без него нам никак не обойтись, поэтому давайте откроем telegram и перейдем по ссылке — BotFather

Там все крайне просто, вбиваем /help и смотрим на список доступных команд:

собственно сейчас нас интересует команда /newbot, пишем ее и создаем бота указывая его название. В данном случае я назову своего бота — Рев.ком.стих и будет он у нас выдавать стихи о Маяковского и Есенина (когда я его доделаю, однако весь процесс в эту статью я включать не буду).

Нам выдадут токен, на скриншоте он замазан в целях…, ну вы сами понимаете. Этот токен нам и нужен, сохраните его куда-нибудь в текстовый файл, он нам еще пригодится.

Далее можно задать оформление для бота. Например картинку — логотип. Для этого используем команду /setuserpic после чего загружаем картинку. Так-же задаются описание бота и прочие вещи до которых вы допрете и без моего участия.

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

Теперь надо сделать боту доступ к сообщениям пользователей, то есть выключить нахер приватный режим. Если мы планируем добавлять бота в группы или конфы, назовите как хотите, в любом случае приватность нам нахер не нужна. Чтобы ее выключить вбиваем команду /setprivacy после чего выбираем пункт — disabled. Обязательно выполните этот шаг, если вы хотите сделать действительно интерактивного бота.

Теперь самое время заняться backend частью, а именно написанием кода для команд нашего бота, но сначала настроим среду разработки.

Шаг третий. Среда для разработки.

Собственно в качестве библиотеки для обращения к API я буду использовать данный проект — TelegramBotApi у которого нифига нет документации, зато код довольно просто читается. В любом случае в этой статье я постараюсь описать максимально подробно все варианты работы с этой библиотекой, так что документация вам не понадобится вообще.

Но сначала давайте ее установим. Для этого будем использовать composer. Короче говоря будем делать все по «правилам», если этот термин вообще применим к php. Хороший язык, гибкий, не вгоняет в рамки, я знаете ли люблю его за эту вот гибкость.

Но любителям «сапога в жопе» конечно всегда больше подходят ruby или какой-нибудь go в котором даже нормально библиотеку в своей папке не разместить, только в gopath. Однако так уж вышло, что данную библиотеку руками ставить будет геморойнее, чем через composer, я тут непричем, просто экономия времени. Для начала нам понадобится ssh соединение с вашим сервером.

Для таких дел я предпочитаю ZOC terminal т.к. работаю из под windows. Скачать этот продукт можно на торрентах, сами найдете короче. Далее запускаем ваш терминал и заходим на сервер, после чего переходим к директории нашего домена(команда cd).

Я не хочу размешать наш проект в корне директории, потому что там может быть например… форум. А вот в подпапке — запросто. Так что давайте эту самую подпапку и создадим через команду mkdir

Еще по теме:  Облачный пароль от Телеграмм не посмню

В данном случае подпапка называется ‘revcom_bot’.

Теперь в эту папку надо засунуть composer, собственно делается это тремя командами:

php -r «copy(‘https://getcomposer.org/installer’, ‘composer-setup.php’);» php composer-setup.php php -r «unlink(‘composer-setup.php’);»

Просто вставляете их в ssh консоль по очереди и все.

Отлично, если вы справились с этой задачей, то далее нам следует установить компонент telegram-bot/api, для этого просто пишем в консоли:

php composer.phar require telegram-bot/api

После чего проверяем создались ли новые файлы в нашей директории. Вклчаем FTP менеджер, у меня это WinScp (бесплатное приложение, советую вам использовать его вместо глючной файлзиллы), переходим в папку проекта и смотрим что там есть:

Отлично. Вот теперь можно начинать писать код.

Шаг четвертый. Кодинг

Минимальная версия PHP

Для использования кода, который я демонстрирую, у вас должен стоять минимум php-5.6

Собственно создаем в директории файл index.php в котором мы и будем писать код нашего проекта. Внимание: кодировка файла — utf-8 без bom! Вообще описание кода по шагам это не моя сильная сторона, поэтому я просто буду вставлять код с комментариями в статью, а вы читайте и повторяйте.

header(‘Content-Type: text/html; charset=utf-8’); // подрубаем API require_once(«vendor/autoload.php»); // создаем переменную бота $token = «ваш токен, мы его выше сохраняли в текстовый файл»; $bot = new TelegramBotApiClient($token);

После того как переменная бота создана мы можем обращаться к api, но сначала нам надо зарегистрировать webhook.
Что такое webhook? Это такой механизм по которому выполняется связка бота с telegram’ом. Когда пользователь в телеграме вводит команду ее надо как-то передать в на сервер и получить ответ. Webhook как раз это и делает — указывает телеграму куда передавать команду пользователя. Но так как изначально телеграм НЕ ЗНАЕТ где мы разместили нашего бота, то надо ему об этом обязательно сообщить.
Для этого у нас есть команда: $bot->setWebhook

// если бот еще не зарегистрирован — регистрируем if(!file_exists(«registered.trigger»))< /** * файл registered.trigger будет создаваться после регистрации бота. * если этого файла нет значит бот не зарегистрирован */ // URl текущей страницы $page_url = «https://».$_SERVER[«SERVER_NAME»].$_SERVER[«REQUEST_URI»]; $result = $bot->setWebhook($page_url); if($result) < file_put_contents(«registered.trigger»,time()); // создаем файл дабы прекратить повторные регистрации >>

Отлично, можно запустить наш бот и проверить, перейдя к нему из браузера. Если в папке бота создался файл registered.trigger значит телеграм теперь знает о том, где находится наш бот.

Приготовления пройдены, самое время зарегистрировать первые команды для бота. В спецификации телеграма сказано, что каждый бот должен отвечать на две обязательные команды. Первая команда — /start и вторая — /help, создадим их.

// обязательное. Запуск бота $bot->command(‘start’, function ($message) use ($bot) < $answer = ‘Добро пожаловать!’; $bot->sendMessage($message->getChat()->getId(), $answer); >); // помощ $bot->command(‘help’, function ($message) use ($bot) < $answer = ‘Команды: /help — помощ’; $bot->sendMessage($message->getChat()->getId(), $answer); >); // запускаем обработку $bot->run();

Отлично! А теперь давайте разберемся немного с API нашей библиотеки.

Команды задаются блоком:

$bot->command(‘start’, function ($message) use ($bot) < >);

Где $message — объект Message, все его поля можно посмотреть тут — Types/Message.php

Отправка сообщения выполняется командой:

$bot->sendMessage(ид пользователя которому отправляем, текст сообщения);

Отправка картинок

Отправка картинок пользователю выполняется через передачу телеграму ссылки на эту картинку. Телеграм САМ скачивает изображение и отдает пользователю, нам ничего качать не надо! В качестве демонстрации я загружу сейчас на свой блог изображение и отошлю его пользователю на команду /getpic.

// передаем картинку $bot->command(‘getpic’, function ($message) use ($bot) < $pic = «http://aftamat4ik.ru/wp-content/uploads/2017/03/photo_2016-12-13_23-21-07.jpg»; $bot->sendPhoto($message->getChat()->getId(), $pic); >);

Как вы видите — все работает.

Отправка документа

Документы, в отличие от картинок, на сервер телеграма надо оправлять в POST формате, но не пугайтесь, библиотека сделает все за вас.
Для начала файл документа нам надо загрузить в папку с ботом:

После чего добавить такую команду:

// передаем документ $bot->command(‘getdoc’, function ($message) use ($bot) < $document = new CURLFile(‘shtirner.txt’); $bot->sendDocument($message->getChat()->getId(), $document); >);

Получение сообщений из чата

Теперь осталось только добавить чуточку интерактивности, например заставить бота в чате постить что-нибудь с определенным шансом.

Дабы сделать это у API есть очень годная команда .on() ее мы и будем использовать в самой простой из форм.

// говорильник $bot->on(function($Update) use ($bot)< $message = $Update->getMessage(); $mtext = $message->getText(); $cid = $message->getChat()->getId(); if(mb_stripos($mtext,»власть советам») !== false)< $bot->sendMessage($message->getChat()->getId(), «Смерть богатым!»); > >, function($message) use ($name)< return true; // когда тут true — команда проходит >);

Этот метод так-же позволит вам прикрутить к телеграму, например, нейросеть для анализа сообщений или алгоритм Маркова, чтобы развлекать публику генерацией случайного бреда.

Задаем список команд

Теперь команды работают а значит настало время сообщить о том что они у нас есть в Botfather’а. Идем туда и вбиваем /setcommands

И к стати если вы где-то опечатались можете заново вбить /setcommands и переопределить команды.

Смотрим добавились команды на страницу бота или нет:

Думаю этого будет достаточно. Статья получилась полной, я разве что не осветил методы отправки аудио файлов, но думаю вы и сами сможете на них посмотреть без моего в этом участия — тут, я ведь разобрался, хоть и не нашел ни документации нормальной ни освещения данных вопросов в интернете. Зато теперь в этой статье я рассказал вам все что сам знаю о создании ботов к telegram на php.

Однако, как я говорил выше эта статья всего лишь часть всех возможностей. Советую вам прочитать вторую статью уже про C# и работу с telegram api БЕЗ webhook, https и прочих геморроев. Проще говоря хостинг не понадобится.

Надеюсь, дорогой читатель, что я не зря писал эту статью. Ах да.

Скачать исходники

Думаю оставлять вас без исходников к этому проекту будет глупо, чтож, держите.

исходники бота telegram на php

Источник: pozi.pro

Рейтинг
( Пока оценок нет )
Загрузка ...