Боты Telegram
ITFrogsОписание
Приложение «Боты Telegram» позволяет создавать и управлять ботами в Telegram прямо из Webasyst. Оно не имеет видимого интерфейса — функциональность добавляется через плагины, каждый из которых представляет собой отдельного бота.
Регистрация и настройка
Для начала работы необходимо зарегистрировать бота в Telegram через @BotFather и получить его токен. Затем задайте скрытое поселение для приложения в разделе «Сайт», используя сложный URL, чтобы адрес бота не был доступен посторонним.
Интеграция с SDK
Приложение основано на проекте telegram-bot-sdk.com, где доступна документация для разработки на английском языке. Для использования API бота в своём плагине инициализируйте класс:
``php $telegram = new telegramApi(BOT_TOKEN); ``
Возможности
Приложение предоставляет широкий спектр методов для взаимодействия с Telegram API, включая отправку сообщений, файлов, редактирование и удаление сообщений, работу с клавиатурами и callback-запросами.
Отправка сообщений
- sendMessage — отправка текстового сообщения
- sendPhoto — отправка фото
- sendDocument — отправка файла/документа
- sendAudio — отправка аудио
- sendVideo — отправка видео (mp4)
- sendVoice — отправка голосового сообщения
- sendAnimation — отправка GIF или видео без звука
- sendMediaGroup — отправка группы медиафайлов альбомом
- sendContact — отправка контакта с телефоном
- sendPoll — отправка опроса
- sendDice — отправка кубика (случайное значение 1–6)
- forwardMessage — пересылка сообщения
- copyMessage — копирование сообщения без ссылки на оригинал
- setWebhook — установка вебхука
- deleteWebhook — удаление вебхука
- getWebhookInfo — получение статуса текущего вебхука
- getWebhookUpdate — получение входящего обновления от Telegram
- getUpdates — получение обновлений через long polling
- getMe — проверка токена и получение информации о боте
Редактирование и удаление сообщений
- editMessageText — изменение текста отправленного сообщения
- editMessageCaption — изменение подписи к медиасообщению
- editMessageMedia — замена медиафайла в сообщении
- editMessageReplyMarkup — изменение inline-клавиатуры сообщения
- deleteMessage — удаление сообщения
- deleteMessages — удаление нескольких сообщений за раз (до 100)
Клавиатуры и callback
- replyKeyboardMarkup — создание reply-клавиатуры
- replyKeyboardHide — скрытие reply-клавиатуры
- forceReply — принудительный запрос ответа от пользователя
- answerCallbackQuery — ответ на нажатие кнопки inline-клавиатуры
- answerInlineQuery — ответ на inline-запрос (до 50 результатов)
Низкоуровневые методы
- getFile — получение информации о файле по file_id для скачивания
- getUserProfilePhotos — получение списка фотографий профиля пользователя
- setMyCommands — установка списка команд бота
- getMyCommands — получение текущего списка команд
- deleteMyCommands — удаление списка команд
- telegramPost — прямой POST-запрос к Telegram API
- telegramGet — прямой GET-запрос к Telegram API
- getBot — получение BotsManager для управления несколькими ботами
- getGuzzleClientHandler — получение GuzzleHttpClient с кастомными настройками
Настройка и требования
Приложение распространяется бесплатно и доступно на GitHub. Для работы ботов сайт должен быть доступен по протоколу HTTPS. Минимальная версия PHP: 7.4, рекомендуется PHP 8.1 и выше.