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