irazasyed/telegram-bot-sdk 根据命令获取更新对象
irazasyed/telegram-bot-sdk get update object on commands
我在 Laravel 中使用 irazasyed/telegram-bot-sdk 作为 Telegram 机器人。我只是想访问我的 StartCommand class 上的更新对象,并用他的名字向用户发送欢迎消息。 StartCommand class 如下所示:
<?php
namespace App\TelegramCommands;
use Telegram\Bot\Commands\Command;
class StartCommand extends Command
{
protected $name = "start";
protected $description = "Lets you get started";
public function handle()
{
$this->replyWithMessage(['text' => 'Welcome ']);
}
}
路线(在api.php内)是:
Route::post('/'.env('TELEGRAM_BOT_TOKEN').'/webhook', function (Request $request) {
$update = Telegram::commandsHandler(true);
return 'ok';
});
我只是想在他发送 /start 命令时访问用户数据并重播一条消息,例如“欢迎 [他的名字]”。提前谢谢你。
我刚得到答案。主要是在 StartCommand 的 handle 方法中加入如下内容 class:
$update= $this->getUpdate();
因此最终文件将如下所示:
<?php
namespace App\TelegramCommands;
use Telegram\Bot\Commands\Command;
class StartCommand extends Command
{
protected $name = "start";
protected $description = "Lets you get started";
public function handle()
{
$update= $this->getUpdate();
$name = $update['message']['from']['first_name'];
$this->replyWithMessage(['text' => 'Welcome '.$name]);
}
}
一个很好的教程是here
我在 Laravel 中使用 irazasyed/telegram-bot-sdk 作为 Telegram 机器人。我只是想访问我的 StartCommand class 上的更新对象,并用他的名字向用户发送欢迎消息。 StartCommand class 如下所示:
<?php
namespace App\TelegramCommands;
use Telegram\Bot\Commands\Command;
class StartCommand extends Command
{
protected $name = "start";
protected $description = "Lets you get started";
public function handle()
{
$this->replyWithMessage(['text' => 'Welcome ']);
}
}
路线(在api.php内)是:
Route::post('/'.env('TELEGRAM_BOT_TOKEN').'/webhook', function (Request $request) {
$update = Telegram::commandsHandler(true);
return 'ok';
});
我只是想在他发送 /start 命令时访问用户数据并重播一条消息,例如“欢迎 [他的名字]”。提前谢谢你。
我刚得到答案。主要是在 StartCommand 的 handle 方法中加入如下内容 class:
$update= $this->getUpdate();
因此最终文件将如下所示:
<?php
namespace App\TelegramCommands;
use Telegram\Bot\Commands\Command;
class StartCommand extends Command
{
protected $name = "start";
protected $description = "Lets you get started";
public function handle()
{
$update= $this->getUpdate();
$name = $update['message']['from']['first_name'];
$this->replyWithMessage(['text' => 'Welcome '.$name]);
}
}
一个很好的教程是here