首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Laravel处理电报网钩

Laravel处理电报网钩
EN

Stack Overflow用户
提问于 2021-09-04 21:57:02
回答 1查看 722关注 0票数 1

我对Laravel相当陌生,最近我尝试创建一个电报机器人,它可以管理传入的消息并相应地回复。最初,我计划询问一个用户的名字,并在下次机器人回复时使用他的名字。

因此,我如何管理我的机器人的网络钩子,我已经设法建立。

代码语言:javascript
复制
Route::any('/setWebhook', function () {
    $response = Telegram::setWebhook([
        'url' => 'https://57f7-2806-104e-c-5c3b-3dc7-3284-7383-e130.ngrok.io/NdqvlJstHyIUhmNyTZhCYTnoYxdGzoPcLCzDiMiH/webhook'
    ]);
    dd($response);
});

我如何管理机器人的传入更新?我目前正在使用irazasyed。

EN

回答 1

Stack Overflow用户

发布于 2021-12-28 20:14:22

  1. 您需要使用DB,这需要模型和迁移
  2. 电报Bot将向您的web钩子发送帖子请求。
  3. 您应该添加->middleware('api'),因为您将接收数据
  4. 使用file_get_contents('php://input')获取更新,或使用库。

对我来说,我使用SimpleBotAPI库

SimpleBotAPI中的简单代码:

代码语言:javascript
复制
// Handle updates here
class BotHandler extends UpdatesHandler
{
    public function MessageHandler($message) : bool
    {
        // Do whatever:
        $this->Bot->SendMessage(['chat_id' => $message->chat->id, 'text' => 'new Message!']);
        return true;
    }
}

Route::post('/bot_webhook', function () {
    $Bot = new TelegramBot(env('BOT_TOKEN'), new BotHandler());
    $Bot->OnWebhookUpdate();
})->middleware('api');
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69059198

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档