pulpa / laravel-telegram-bot
构建Telegram机器人的框架
0.1.2
2017-04-15 01:16 UTC
Requires
- guzzlehttp/guzzle: ~6.0
- illuminate/support: ~5.4
Requires (Dev)
- mockery/mockery: 0.9.*
- orchestra/testbench: ~3.0
- phpunit/phpunit: ~5.7
This package is not auto-updated.
Last update: 2024-09-20 19:35:13 UTC
README
这是一个正在进行中的项目,欢迎关注此仓库以保持最新动态。
要求
- Laravel
5.4+
安装
使用composer安装此包
composer require pulpa/laravel-telegram-bot
将此服务提供者添加到您的 config/app.php
文件中
Pulpa\Telegram\Bot\Providers\ServiceProvider::class
运行 vendor:publish
artisan 命令,在 config/bot.php
中创建配置文件,并在 app\Http\Controllers\BotController.php
中创建控制器
php artisan vendor:publish --provider="Pulpa\Telegram\Bot\Providers\ServiceProvider"
打开 config/bot.php
并设置您的机器人的名称和令牌。
完成配置后,您的机器人的webhook URL将在以下位置提供
yourdomain.com/<BotToken>
其中 <BotToken>
显然是机器人的令牌!在您的网页浏览器中打开此URL,您应该会看到一个友好的消息。
用法
您的 BotController
类中的 catchAll()
方法将接收来自Telegram的所有更新,它将接收一个类型为 Pulpa\Telegram\Bot\Update
的参数,它只是原始来自Telegram的更新对象的简单包装。
use Pulpa\Telegram\Bot\Update; use Pulpa\Telegram\Bot\Http\Controllers\Controller; class BotController extends Controller { public function catchAll(Update $update) { // Log the text message \Log::info($update->message->text); } }
在您的 BotController
中定义方法来处理传入的机器人命令,例如,当webhook接收到名为 my_bot_command
的命令时,将调用 myBotCommand
方法。
use App\Chat; use Pulpa\Telegram\Bot\Update; use Pulpa\Telegram\Bot\Http\Controllers\Controller; class BotController extends Controller { public function catchAll(Update $update) { // ... } public function start(Update $update) { // Register a new chat when command "start" is received. Chat::register($update->message->chat->id); } }
如果没有为命令定义方法,则将调用 catchAll()
方法。
更多文档正在制作中