pulpa/laravel-telegram-bot

构建Telegram机器人的框架

0.1.2 2017-04-15 01:16 UTC

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() 方法。

更多文档正在制作中