djammix/ebot

Laravel package for Telegram Bot API integration

Maintainers

Details

github.com/DJamMix/EBot

Source

Issues

Installs: 2

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 0

Forks: 0

Open Issues: 0

pkg:composer/djammix/ebot

v0.0.5 2025-08-09 22:32 UTC

This package is auto-updated.

Last update: 2025-10-09 23:13:18 UTC


README

Laravel PHP Telegram

EBot - это элегантный Laravel-пакет для работы с Telegram Bot API, который делает интеграцию Telegram ботов простой и приятной.

🌟 Особенности

  • Интуитивный API - Простые и понятные методы для всех операций
  • Полная поддержка Telegram API:
    • ✉️ Отправка и редактирование сообщений
    • 🌐 Работа с вебхуками
    • 🎛️ Управление inline-кнопками
    • 🔄 Обработка callback-запросов
  • Гибкость - Поддержка нескольких ботов в одном приложении
  • Laravel-интеграция - Сервис-провайдер и фасад из коробки
  • Современный код - PHP 8+ с строгой типизацией

🚀 Быстрый старт

Установка

  1. Установите пакет через Composer:
composer require djammix/ebot
  1. Опубликуйте конфигурационный файл:
php artisan vendor:publish --provider="DJammix\EBot\EBotServiceProvider" --tag="config"
  1. Добавьте в ваш .env:
TELEGRAM_MAIN_BOT_TOKEN=your_bot_token_here
TELEGRAM_LOG_CHANNEL=telegram  # Опционально: канал для логов

🧩 Основные возможности

📨 Отправка сообщений

use DJammix\EBot\Facades\EBot;

// Простое текстовое сообщение
EBot::sendMessage(chatId: 123456, text: 'Hello World!');

// Сообщение с Markdown-форматированием
EBot::sendMessage(
    chatId: '@channel_username',
    text: '*Приветствие* от _EBot_!',
    parseMode: 'MarkdownV2'
);

🌐 Управление вебхуками

// Установка вебхука
EBot::setWebhook(
    url: 'https://yourdomain.com/telegram/webhook',
    secretToken: 'your_secret_key'
);

// Получение информации о вебхуке
$webhookInfo = EBot::getWebhookInfo();

🛠 Расширенные функции

// Редактирование сообщения
EBot::editMessageText(
    chatId: 123456,
    messageId: 42,
    text: 'Обновленный текст'
);

// Работа с клавиатурами
EBot::sendMessage(
    chatId: 123456,
    text: 'Выберите действие:',
    replyMarkup: [
        'inline_keyboard' => [
            [['text' => 'Кнопка 1', 'callback_data' => 'action1']],
            [['text' => 'Кнопка 2', 'callback_data' => 'action2']]
        ]
    ]
);