aglipanci / telegrambot
此包最新版本(dev-main)没有可用的许可信息。
dev-main
2021-09-17 21:13 UTC
Requires
- longman/telegram-bot: ^0.74.0
This package is auto-updated.
Last update: 2024-09-18 03:39:45 UTC
README
本包是 Laravel 对官方 Telegram Bot API 的简单包装。
安装
composer require aglipanci/telegrambot
配置
环境变量
为了使 Telegram Bot 正常工作,您需要将以下值添加到您的 .env 文件中
TELEGRAMBOT_API_KEY=api-key-here TELEGRAMBOT_USERNAME=bot-username-here TELEGRAMBOT_WEBHOOK_URL=webhook-url-here
配置
要发布包配置文件,执行以下 artisan 命令
php artisan vendor:publish --provider="AgliPanci\TelegramBot\TelegramBotServiceProvider"
来自 Longman\TelegramBot\Telegram
的主要 Telegram 类将作为 facade 通过 AgliPanci\TelegramBot\Facades\Telegram
提供,并且所有原始方法都可以从任何地方静态调用。例如
use \AgliPanci\TelegramBot\Facades\Telegram; use Longman\TelegramBot\Entities\Update; use Longman\TelegramBot\Telegram as TelegramBot Telegram::setUpdateFilter(function (Update $update, TelegramBot $telegram, &$reason = 'Update denied by update_filter') { $user_id = $update->getMessage()->getFrom()->getId(); if ($user_id === 428) { return true; } $reason = "Invalid user with ID {$user_id}"; return false; });
Webhook 路由
在您的 web.php 或 api.php 中添加以下行
Route::telegrambot('telegram');
如果您使用包路由和控制器,您不需要设置 TELEGRAMBOT_WEBHOOK_URL
。
设置 Webhook
在将 API 凭据和 Webhook URL 添加到 .env 文件后,您需要执行以下命令来设置 Webhook URL
php artisan telegram:set:webhook
现在您已经准备好处理 Telegram Bot 的请求了。
命令
默认值
命令的默认路径是您的 App 目录中的 Bot/Commands。这可以在 telegrambot.php
中通过更改 commands_dir 键来修改。
'commands_dir' => app_path('Bot/Commands')
生成命令
您可以使用 artisan 命令生成您命令的类
php artisan telegram:make:command SomethingCommand
这将生成指定命令目录上的命令结构(默认为 App/Bot/Commands
)。生成命令后,系统将准备好处理用户发送的 /something
。
有关 官方 Telegram Bot API 的更多详细信息,请阅读他们的官方文档。