php telegram bot localhost

PHP-bot на localhost: node.js в помощь

Совсем не секрет, что у Телеграм API есть не только webHook, как вариант взаимодействия с вашим приложением, но и getUpdates.

В чем между ними разница:

При разработке бота я пользуюсь IDE PHPStorm, настраиваю загрузку на сервер всех изменений при нажатии горячих клавиш. На сервере у меня при этом настроен домен, ssl-сертификат и к боту привязан webHook. Совсем недавно при просмотре одного из вебинаров я увидел, как ведущий запустил бота через getUpdates и в него прилетали «обновления» совсем не хуже, чем через вебхук.

index.js

index.js с настройками proxy

Если есть необходимость в работе через прокси, то можно этот вариант кода, это на случай если у вас заблокирован Телеграм

package.json

Комментарии

Авторизуйтесь через Telegram, чтобы оставить комментарий.
Откройте бот @SiteAuthBot, нажмите кнопку Старт/Start. Следуйте инструкциям бота.

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

c:getUpdates>npm i request
npm WARN deprecated request@2.88.2: request has been deprecated, see https://git
hub.com/request/request/issues/3142
npm WARN deprecated har-validator@5.1.5: this library is no longer supported
Завершить выполнение пакетного файла [Y(да)/N(нет)]? y

c:getUpdates>npm i request
npm WARN deprecated request@2.88.2: request has been deprecated, see https://git
hub.com/request/request/issues/3142
npm WARN deprecated har-validator@5.1.5: this library is no longer supported
npm WARN getupdates@1.0.0 No description
npm WARN getupdates@1.0.0 No repository field.

request@2.88.2
added 47 packages from 58 contributors and audited 55 packages in 139.933s

2 packages are looking for funding
run ‘npm fund’ for details

Источник

H Отладка бота Telegram на localhost в черновиках

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

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

Под катом Вы найдете ссылку на код, написанный на PHP, но описывать я буду только алгоритм действий, не приводя самого кода.

Проект можно найти на GitHub. Файлы проекта необходимо скопировать себе на сервер, а подключается отладчик к коду бота всего одной строчкой:

Этот код должен быть указан до начала любой деятельности самого бота. Лучше всего самой первой строкой веб-хука. В файле index.html необходимо указать локальный путь до веб-хука.

На чём основан принцип отладки

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

Алгоритм работы отладчика

Алгоритм действий для включения отладки

1. Открываем в браузере адрес веб-хука по протоколу http (не https), добавив к нему адресу параметр debug=manage в результате увидим страницу (может меняться со временем в лучшую сторону):

php telegram bot localhost. Смотреть фото php telegram bot localhost. Смотреть картинку php telegram bot localhost. Картинка про php telegram bot localhost. Фото php telegram bot localhost

2. Если не знаем свой ID, то просто пишем что-нибудь боту в Telegram:

php telegram bot localhost. Смотреть фото php telegram bot localhost. Смотреть картинку php telegram bot localhost. Картинка про php telegram bot localhost. Фото php telegram bot localhost

4. Пишем боту в Telegram, отлаживаем код бота не затрагивая при этом «боевой» сервер. Пусть всё прошло без ошибок, тогда видим:

php telegram bot localhost. Смотреть фото php telegram bot localhost. Смотреть картинку php telegram bot localhost. Картинка про php telegram bot localhost. Фото php telegram bot localhost

5. Попробуем в коде бота на рабочей машине вызвать несуществующую функцию create_message_help :

php telegram bot localhost. Смотреть фото php telegram bot localhost. Смотреть картинку php telegram bot localhost. Картинка про php telegram bot localhost. Фото php telegram bot localhost

Если Вам это пригодится, но хотелось бы что-то улучшить- приглашаю присоединиться к проекту на ГитХаб.

Источник

Пишем простого чат-бота для Telegram на PHP

Шукюров Заур, разработчик @KinomanBot и @GaidarForum_bot, написал руководство по созданию простого чат-бота.

24 июня 2015 года разработчики Telegram открыли платформу для создания ботов (программ, которые выполняют определенные действия по заданному алгоритму). За полтора года работы платформы набралось много интересных чат-ботов, решающих множество проблем и позволяющих с пользой провести время в мессенджере.

Шаг 1: регистрация бота у @BotFather

Прежде чем начать писать код, нового бота нужно зарегистрировать у «папы всех ботов» — @BotFather, чтобы получить токен (ключ) для работы с Telegram API. Регистрация проходит в 5 простых этапов:

По итогу регистрации получаем наш токен — 375466075:AAEARK0r2nXjB67JiB35JCXXhKEyT42Px8s.

Будьте осторожны: никогда и никому не показывайте токен, иначе ваш бот может быть скомпрометирован. Если по несчастливой случайности кто-то нехороший все-таки узнал ваш токен, то заменить его можно всё в том же @BotFather, нажав на кнопку «Revoke current token» в разделе «API Token».

Шаг 2: выбираем способ обработки запросов

Исходя из официальной документации, Telegram API основан на простых HTTP-запросах. Существует всего два различных способа обрабатывать запросы, которые пользователи будут посылать боту:

Мы остановимся на втором варианте, но у него есть ограничение: у вас на сайте обязательно должен быть установлен SSL-сертификат, чтобы все запросы проходили через безопасный протокол HTTPS. Самоподписанные и бесплатные сертификаты «Let’s Encrypt», которые поддерживает большинство хостингов, также подходят.

Пример настройки самоподписанного сертификата из официальной документации Telegram.

Шаг 3: пишем код

Писать код бота будем на PHP, но чтобы не изобретать заново колесо, воспользуемся уже готовой и очень удобной библиотекой.

Перво-наперво привязываем через метод SetWebhook бота к нашему файлу-обработчику. Сделать это можно при помощи библиотеки, но есть вариант быстрее и проще – это построить вот такую ссылку:

https://api.telegram.org/bot375466075:AAEARK0r2nXjB67JiB35JCXXhKEyT42Px8s/setWebhook?url=https://yoursitehere.ru/directory/bot.php,

375466075:AAEARK0r2nXjB67JiB35JCXXhKEyT42Px8s — это наш токен,

https://yousitehere.ru/directory/bot.php — ссылка на файл-обработчик на нашем сайте.

Открыв в браузере эту ссылку, должен прийти JSON-ответ со значением «Webhook was set», что будет означать, что вебхук установлен, и теперь все запросы от пользователей будут присылаться по адресу файла-обработчика.

Переходим к самому главному — обработке этих самых запросов и написанию функционала бота. Ниже представлен полный листинг файла-обработчика:

$keyboard = [[«Последние статьи»],[«Картинка»],[«Гифка»]]; //Клавиатура

$reply = «Добро пожаловать в бота!»;

$reply = «Информация с помощью.»;

>elseif ($text == «Картинка») <

>elseif ($text == «Гифка») <

>elseif ($text == «Последние статьи») <

$reply = «По запросу \»».$text.»\» ничего не найдено.»;

Разберем всё по порядку.

1. Сначала мы подключаем скачанную библиотеку, указав путь (лучше полный) до файла автозагрузчика.

include(‘vendor/autoload.php’); //Подключаем библиотеку

2. Создаем экземпляр класса в переменной $telegram и передаем в него наш токен. В переменной $result получаем информацию о сообщении, которое пришлет нам Telegram.

$telegram = new Api(‘375466075:AAEARK0r2nXjB67JiB35JCXXhKEyT42Px8s’); //Устанавливаем токен, полученный у BotFather

3. Затем определяем главные переменные: текстовое сообщение, уникальный идентификатор пользователя и его юзернейм. Если предстоит работа с БД, то не забывайте про фильтрацию (или лучше используйте PDO).

4. Создаем нашу клавиатуру, состоящую из трех кнопок.

$keyboard = [[«Последние статьи»],[«Картинка»],[«Гифка»]]; //Клавиатура

5. Теперь, когда мы обозначили все переменные, можно перейти к обработке полученного сообщения. Для этого можно использовать конструкцию switch-case либо if-else. Так как принципиальной разницы между ними нет, остановимся на втором варианте, как наиболее привычном.

В самом начале проверяем, заполнена ли переменная $text и является ли сообщение пользователя текстовым.

Если нет, то отправляем пользователю с помощью метода sendMessage сообщение с просьбой ввести текстовое сообщение.

6. Рассмотрим вариант, когда пользователь прислал сообщение с командами /start или /help

$reply = «Добро пожаловать в бота!»;

$reply = «Информация с помощью.»;

В этом случае помимо текста из переменной $reply будет подгружаться клавиатура, состоящая из трёх кнопок: «Последние статьи», «Картинка» и «Гифка». Реализуется это с помощью метода replyKeyboardMarkup, параметрами которого являются:

7. После появления клавиатуры пользователь явно захочет попробовать потыкать на расположенные на ней кнопки, и вот что у нас «под капотом» в этом случае

>elseif ($text == «Картинка») <

>elseif ($text == «Гифка») <

>elseif ($text == «Последние статьи») <

8. Для отправки картинки используется метод sendPhoto, для отправки гифки – sendDocument. В обоих случаях Telegram позволяет передавать прямую ссылку на файл, что безусловно очень удобно, но не так быстро, как если бы мы передавали file_id уже отправленной на сервера Telegram картинки или гифки.

9. Для получения последних статей используется простой парсинг RSS ленты Нетологии при помощи встроенной в PHP функции simplexml_load_file.

В параметрах метода sendMessage можно заметить два новых значения:

10. В качестве смайла (стрелка вправо) используются символы \xE2\x9E\xA1. Список всех смайлов в таком виде можно найти на специальном сайте.

php telegram bot localhost. Смотреть фото php telegram bot localhost. Смотреть картинку php telegram bot localhost. Картинка про php telegram bot localhost. Фото php telegram bot localhost

11. После того, как вы протестируете бота и будете уверены в его работоспособности, можно отправлять его на всеобщее обозрение.

Благодаря удобному API, боты Telegram могут стать хорошей платформой для автоматизации рутинных действий, настройки уведомлений, удобному и быстрому получению информации и созданию игр. Бесплатными площадками для продвижения могут послужить каталоги ботов Telegram Bot Store, TeleChappy или 50bots. А анализировать активность пользователей можно с помощью бесплатного инструмента для аналитики ботов от Яндекса — Botan.

От редакции

PHP — один из самых популярных языков программирования. Его легко изучать, с ним легко работать, у него мощное сообщество. 5 мая «Нетология» запускает курс «PHP/SQL: back-end разработка и базы данных», где ведущие программисты расскажут об управляющих конструкциях, циклах, функциях, о строках и массивах. Вы узнаете все про реляционные базы данных и язык запросов SQL, научитесь устанавливать и настраивать веб-сервер nginx и php, управлять базами данных различной сложности. Ждем вас!

Источник

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

Вступление

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

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

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

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

php telegram bot localhost. Смотреть фото php telegram bot localhost. Смотреть картинку php telegram bot localhost. Картинка про php telegram bot localhost. Фото php telegram bot localhost

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

php telegram bot localhost. Смотреть фото php telegram bot localhost. Смотреть картинку php telegram bot localhost. Картинка про php telegram bot localhost. Фото php telegram bot localhost

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

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

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

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

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

php telegram bot localhost. Смотреть фото php telegram bot localhost. Смотреть картинку php telegram bot localhost. Картинка про php telegram bot localhost. Фото php telegram bot localhost

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

php telegram bot localhost. Смотреть фото php telegram bot localhost. Смотреть картинку php telegram bot localhost. Картинка про php telegram bot localhost. Фото php telegram bot localhost

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

php telegram bot localhost. Смотреть фото php telegram bot localhost. Смотреть картинку php telegram bot localhost. Картинка про php telegram bot localhost. Фото php telegram bot localhost

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

php telegram bot localhost. Смотреть фото php telegram bot localhost. Смотреть картинку php telegram bot localhost. Картинка про php telegram bot localhost. Фото php telegram bot localhost

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

php telegram bot localhost. Смотреть фото php telegram bot localhost. Смотреть картинку php telegram bot localhost. Картинка про php telegram bot localhost. Фото php telegram bot localhost

php telegram bot localhost. Смотреть фото php telegram bot localhost. Смотреть картинку php telegram bot localhost. Картинка про php telegram bot localhost. Фото php telegram bot localhost

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

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

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

Но сначала давайте ее установим. Для этого будем использовать composer. Короче говоря будем делать все по «правилам», если этот термин вообще применим к php. Хороший язык, гибкий, не вгоняет в рамки, я знаете ли люблю его за эту вот гибкость. Но любителям «сапога в жопе» конечно всегда больше подходят ruby или какой-нибудь go в котором даже нормально библиотеку в своей папке не разместить, только в gopath. Однако так уж вышло, что данную библиотеку руками ставить будет геморойнее, чем через composer, я тут непричем, просто экономия времени. Для начала нам понадобится ssh соединение с вашим сервером. Для таких дел я предпочитаю ZOC terminal т.к. работаю из под windows. Скачать этот продукт можно на торрентах, сами найдете короче. Далее запускаем ваш терминал и заходим на сервер, после чего переходим к директории нашего домена(команда cd).

php telegram bot localhost. Смотреть фото php telegram bot localhost. Смотреть картинку php telegram bot localhost. Картинка про php telegram bot localhost. Фото php telegram bot localhost

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

php telegram bot localhost. Смотреть фото php telegram bot localhost. Смотреть картинку php telegram bot localhost. Картинка про php telegram bot localhost. Фото php telegram bot localhost

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

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

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

php telegram bot localhost. Смотреть фото php telegram bot localhost. Смотреть картинку php telegram bot localhost. Картинка про php telegram bot localhost. Фото php telegram bot localhost

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

php telegram bot localhost. Смотреть фото php telegram bot localhost. Смотреть картинку php telegram bot localhost. Картинка про php telegram bot localhost. Фото php telegram bot localhost

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

php telegram bot localhost. Смотреть фото php telegram bot localhost. Смотреть картинку php telegram bot localhost. Картинка про php telegram bot localhost. Фото php telegram bot localhost

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

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

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

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

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

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

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

php telegram bot localhost. Смотреть фото php telegram bot localhost. Смотреть картинку php telegram bot localhost. Картинка про php telegram bot localhost. Фото php telegram bot localhost

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

php telegram bot localhost. Смотреть фото php telegram bot localhost. Смотреть картинку php telegram bot localhost. Картинка про php telegram bot localhost. Фото php telegram bot localhost

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

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

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

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

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

php telegram bot localhost. Смотреть фото php telegram bot localhost. Смотреть картинку php telegram bot localhost. Картинка про php telegram bot localhost. Фото php telegram bot localhost

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

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

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

php telegram bot localhost. Смотреть фото php telegram bot localhost. Смотреть картинку php telegram bot localhost. Картинка про php telegram bot localhost. Фото php telegram bot localhost

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

php telegram bot localhost. Смотреть фото php telegram bot localhost. Смотреть картинку php telegram bot localhost. Картинка про php telegram bot localhost. Фото php telegram bot localhost

Точно так-же можно передать войсы:

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

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

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

php telegram bot localhost. Смотреть фото php telegram bot localhost. Смотреть картинку php telegram bot localhost. Картинка про php telegram bot localhost. Фото php telegram bot localhost

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

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

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

php telegram bot localhost. Смотреть фото php telegram bot localhost. Смотреть картинку php telegram bot localhost. Картинка про php telegram bot localhost. Фото php telegram bot localhost

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

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

php telegram bot localhost. Смотреть фото php telegram bot localhost. Смотреть картинку php telegram bot localhost. Картинка про php telegram bot localhost. Фото php telegram bot localhost

Заключение

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

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

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

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

Источник

Php telegram bot localhost

A Telegram Bot based on the official Telegram Bot API

php telegram bot localhost. Смотреть фото php telegram bot localhost. Смотреть картинку php telegram bot localhost. Картинка про php telegram bot localhost. Фото php telegram bot localhost php telegram bot localhost. Смотреть фото php telegram bot localhost. Смотреть картинку php telegram bot localhost. Картинка про php telegram bot localhost. Фото php telegram bot localhost php telegram bot localhost. Смотреть фото php telegram bot localhost. Смотреть картинку php telegram bot localhost. Картинка про php telegram bot localhost. Фото php telegram bot localhost

php telegram bot localhost. Смотреть фото php telegram bot localhost. Смотреть картинку php telegram bot localhost. Картинка про php telegram bot localhost. Фото php telegram bot localhost php telegram bot localhost. Смотреть фото php telegram bot localhost. Смотреть картинку php telegram bot localhost. Картинка про php telegram bot localhost. Фото php telegram bot localhost php telegram bot localhost. Смотреть фото php telegram bot localhost. Смотреть картинку php telegram bot localhost. Картинка про php telegram bot localhost. Фото php telegram bot localhost php telegram bot localhost. Смотреть фото php telegram bot localhost. Смотреть картинку php telegram bot localhost. Картинка про php telegram bot localhost. Фото php telegram bot localhost php telegram bot localhost. Смотреть фото php telegram bot localhost. Смотреть картинку php telegram bot localhost. Картинка про php telegram bot localhost. Фото php telegram bot localhost php telegram bot localhost. Смотреть фото php telegram bot localhost. Смотреть картинку php telegram bot localhost. Картинка про php telegram bot localhost. Фото php telegram bot localhost php telegram bot localhost. Смотреть фото php telegram bot localhost. Смотреть картинку php telegram bot localhost. Картинка про php telegram bot localhost. Фото php telegram bot localhost php telegram bot localhost. Смотреть фото php telegram bot localhost. Смотреть картинку php telegram bot localhost. Картинка про php telegram bot localhost. Фото php telegram bot localhost

This is a pure PHP Telegram Bot, fully extensible via plugins.

Telegram announced official support for a Bot API, allowing integrators of all sorts to bring automated interactions to the mobile platform. This Bot aims to provide a platform where one can simply write a bot and have interactions in a matter of minutes.

This code is available on GitHub. Pull requests are welcome.

Create your first bot

Message @BotFather with the following text: /newbot

php telegram bot localhost. Смотреть фото php telegram bot localhost. Смотреть картинку php telegram bot localhost. Картинка про php telegram bot localhost. Фото php telegram bot localhost

@BotFather replies with:

Type whatever name you want for your bot.

@BotFather replies with:

@BotFather replies with:

Note down the ‘token’ mentioned above.

Optionally set the bot privacy:

php telegram bot localhost. Смотреть фото php telegram bot localhost. Смотреть картинку php telegram bot localhost. Картинка про php telegram bot localhost. Фото php telegram bot localhost

@BotFather replies with:

Type (or select) @telesample_bot (change to the username you set at step 5 above, but start it with @ )

@BotFather replies with:

Type (or select) Disable to let your bot receive all messages sent to a group.

@BotFather replies with:

Require this package with Composer

Create composer.json file

and run composer update

run this command in your command line:

Choose how to retrieve Telegram updates

WebhookgetUpdates
DescriptionTelegram sends the updates directly to your hostYou have to fetch Telegram updates manually
Host with httpsRequiredNot required
MySQLNot required(Not) Required

Using a custom Bot API server

For advanced users only!

As from Telegram Bot API 5.0, users can run their own Bot API server to handle updates. This means, that the PHP Telegram Bot needs to be configured to serve that custom URI. Additionally, you can define the URI where uploaded files to the bot can be downloaded (note the placeholder).

Note: For a more detailed explanation, head over to the example-bot repository and follow the instructions there.

In order to set a Webhook you need a server with HTTPS and composer support. (For a self signed certificate you need to add some extra code)

Create set.php with the following contents:

Now, create hook.php with the following contents:

Self Signed Certificate

Upload the certificate and add the path as a parameter in set.php:

Edit unset.php with your bot credentials and execute it.

For best performance, the MySQL database should be enabled for the getUpdates method!

Create getUpdatesCLI.php with the following contents:

Next, give the file permission to execute:

getUpdates without database

❗ Note that by default, Telegram will send any new update types that may be added in the future. This may cause commands that don’t take this into account to break!

It is suggested that you specifically define which update types your bot can receive and handle correctly.

You can define which update types are sent to your bot by defining them when setting the webhook or passing an array of allowed types when using getUpdates.

Alternatively, Update processing can be allowed or denied by defining a custom update filter.

All types are implemented according to Telegram API 5.3 (June 2021).

Full support for inline query according to Telegram API 5.3 (June 2021).

All methods are implemented according to Telegram API 5.3 (June 2021).

Messages longer than 4096 characters are split up into multiple messages.

If you know the file_id of a previously uploaded file, just use it directly in the data array:

To send a remote photo, use the direct URL instead:

sendAudio, sendDocument, sendAnimation, sendSticker, sendVideo, sendVoice and sendVideoNote all work in the same way, just check the API documentation for the exact usage. See the ImageCommand.php for a full example.

Retrieve the user photo. (see WhoamiCommand.php for a full example)

getFile and downloadFile

Get the file path and download it. (see WhoamiCommand.php for a full example)

Send message to all active chats

To do this you have to enable the MySQL connection. Here’s an example of use (check DB::selectChats() for parameter usage):

You can also broadcast a message to users, from the private chat with your bot. Take a look at the admin commands below.

MySQL storage (Recommended)

If you want to save messages/users/chats for further usage in commands, create a new database ( utf8mb4_unicode_520_ci ), import structure.sql and enable MySQL support BEFORE handle() method:

You can set a custom prefix to all the tables while you are enabling MySQL:

You can also store inline query and chosen inline query data in the database.

External Database connection

It is possible to provide the library with an external MySQL PDO connection. Here’s how to configure it:

All methods implemented can be used to manage channels. With admin commands you can manage your channels directly with your bot private chat.

The bot is able to recognise commands in a chat with multiple bots (/command@mybot).

It can also execute commands that get triggered by events, so-called Service Messages.

Maybe you would like to develop your own commands. There is a guide to help you create your own commands.

Also, be sure to have a look at the example commands to learn more about custom commands and how they work.

You can add your custom commands in different ways:

With this method you can set some command specific parameters, for example:

Enabling this feature, the bot admin can perform some super user commands like:

Take a look at all default admin commands stored in the src/Commands/AdminCommands/ folder.

You can specify one or more admins with this option:

Telegram user id can be retrieved with the /whoami command.

To enable this feature follow these steps:

Upload and Download directory path

To use the Upload and Download functionality, you need to set the paths with:

Take a look at the repo Wiki for further information and tutorials! Feel free to improve!

All project assets can be found in the assets repository.

We’re busy working on a full A-Z example bot, to help get you started with this library and to show you how to use all its features. You can check the progress of the example-bot repository).

Projects with this library

Here’s a list of projects that feats this library, feel free to add yours!

If you like living on the edge, please report any bugs you find on the PHP Telegram Bot issues page.

See CONTRIBUTING for more information.

See SECURITY for more information.

All work on this bot consists of many hours of coding during our free time, to provide you with a Telegram Bot library that is easy to use and extend. If you enjoy using this library and would like to say thank you, donations are a great way to show your support.

Donations are invested back into the project 👍

Thank you for keeping this project alive 🙏

Available as part of the Tidelift Subscription.

The maintainers of PHP Telegram Bot and thousands of other packages are working with Tidelift to deliver commercial support and maintenance for the open source dependencies you use to build your applications. Save time, reduce risk, and improve code health, while paying the maintainers of the exact dependencies you use. Learn more.

Please see the LICENSE included in this repository for a full copy of the MIT license, which this project is licensed under.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *