Skip to content

D13410N3/php-telegram-bot

Repository files navigation

Простой (пока что) и легкий (пока что) бот для Telegram на PHP

Требования: PHP5 (с включенным "стандартным" модулем MySQL), MySQL, библиотеки для работы с cURL, XML, домен с SSL-сертификатом (требование Telegram).

Основные функции (синтаксис можно посмотреть в api.php, примеры - в scripts): sendMessage(); editMessage(); sendImage(); sendFile(); forwardMessage(); leaveChat(); recognizeVoice(); // опционально, работает на Yandex.SpeechKit

В скриптах можно использовать переменные: $_MESS (array), $_CHAT (array), $_USER (array), $_TEXT. Их описание есть в process.php

В папке scripts есть много всяких скриптов, показывающих как все работает

В силу ряда изменений (например, отказ от устаревшей библиотеки MySQL) часть функций не работает на PHP7. Если есть желание переписать на MySQLi или PDO - буду рад

Процесс установки:

  1. Создайте бота через @botfather, получите API-токен
  2. Создайте базу данных, импортируйте туда предложенный SQL-дамп
  3. В файле settings.php укажите следующие настройки: API-токен, данные для подключения к БД, полный адрес вебхука (включая протокол), логин админа
  4. Создайте папку data (mkdir data) и в ней файл debug.log (touch debug.log). Выдайте возможность пользователю, от имени которого работает сервер, записывать в этот файл (хороший вариант: chown www-data:www-data data/debug.log. Плохой вариант: chmod 0666 data/debug.log. В этот файл записывается последний запрос к вебхуку.
  5. Запустите файл process.php из консоли (php process.php) ИЛИ откройте в браузере по адресу: https://bot.ru/address/process.php?webhook=1 Таким образом вы сообщите серверам Telegram, куда будут приходить все сообщения
  6. Выставьте в боте приватность на видимость всех сообщений, а не только начинающихся с / через @botfather (если требуется)

Напишите боту /start и попробуйте выполнить команду /testbot

При возникновении вопросов пишите в телеграмм - @D13410N3

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published