green-tmz/laravel-telegram-bot 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

green-tmz/laravel-telegram-bot

最新稳定版本:1.1.1

Composer 安装命令:

composer require green-tmz/laravel-telegram-bot

包简介

Telegram Bot Package for Laravel

README 文档

README

Документация

Latest Version Software License

Laravel-telegram-bot

Laravel-telegram-bot пакет для Laravel 12.x

Требования

  • PHP >= 8.2
  • Laravel 12.x

Установка

Установить через composer, выполнив команду в консоле:

composer require green-tmz/laravel-telegram-bot

Публикация конфигов:

php artisan vendor:publish --provider="Green\TelegramBot\Providers\TelegramServiceProvider"

Откройте ваш .env измените строку APP_URL на APP_URL=https://<ваш_домен> и добавьте в конец файла

TELEGRAM_BOT_TOKEN=<API_TOKEN_ВАШЕГО_БОТА>
TELEGRAM_WEBHOOK_URL=/telegram/webhook

Регистрация веб-хуков:

php artisan telegram:set-webhook

Публикация команд:

Для публикации команд Telegram выполните:

php artisan telegram:publish-commands

В config/telegram.php для команд поменять namespace на \App\Console\Commands\TelegramBot\<класс_обработки_команды>.

Пример:

'commands' => [
    'start' => \App\Console\Commands\TelegramBot\StartCommand::class,
    'set-webhook' => \Green\TelegramBot\Console\Commands\SetupTelegramWebhook::class,
],

Базовое использование

Для работы с ботом добавьте фасад Telegram:

use Green\TelegramBot\Facades\Telegram;

Отправка сообщения:

public function handle(array $update): void
{
    $chatId = $update['message']['chat']['id'];
    $name = $update['message']['from']['first_name'];

    Telegram::sendMessage($chatId, "Привет, $name! Добро пожаловать!");
}

Использование клавиатуры:

  • reply keyboard
use Green\TelegramBot\Facades\Telegram;
use Green\TelegramBot\Services\Keyboard;

public function handle(array $update): void
{
    $chatId = $update['message']['chat']['id'];
    $name = $update['message']['from']['first_name'];

    $keyboard = Keyboard::make()
        ->setResizeKeyboard(true)
        ->setOneTimeKeyboard(true)
        ->setSelective(false)
        ->row([
            Keyboard::button('Обычная кнопка 1'),
            Keyboard::button('Обычная кнопка 2'),
        ])
        ->row([
            Keyboard::button('Отправить мой контакт')->requestContact(),
        ])
        ->row([
            Keyboard::button('Отправить мою локацию')->requestLocation(),
        ])
        ->row([
            Keyboard::button('Специальная кнопка')
                ->callbackData('action=special_action&user_id=123'),
        ]);

    Telegram::sendMessage($chatId, "Привет, $name! Добро пожаловать!", [
        'reply_markup' => $keyboard->toJson()
    ]);
}

Лицензия

Лицензия MIT. Пожалуйста прочитайте Файл лицензии для получения дополнительной информации.

统计信息

  • 总下载量: 7
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2025-06-19