Php 如何捕捉电报机器人中的任何错误?
我想知道如何捕捉电报机器人API中任何可能的错误。 因为当一个错误发生时,电报会坚持它,不会回答另一个请求。 如果我的代码、使用的web服务或阻止bot或。。。 如何避免在使用PHP的telegram bot API中坚持一个请求? 我想我需要的是类似于下面的代码,但对于任何类型的错误都更通用:Php 如何捕捉电报机器人中的任何错误?,php,laravel,try-catch,telegram-bot,Php,Laravel,Try Catch,Telegram Bot,我想知道如何捕捉电报机器人API中任何可能的错误。 因为当一个错误发生时,电报会坚持它,不会回答另一个请求。 如果我的代码、使用的web服务或阻止bot或。。。 如何避免在使用PHP的telegram bot API中坚持一个请求? 我想我需要的是类似于下面的代码,但对于任何类型的错误都更通用: try { $telegram->sendMessage([ 'chat_id' => '<PERSONS_ID>',
try {
$telegram->sendMessage([
'chat_id' => '<PERSONS_ID>',
'text' => 'Here is some text',
]);
} catch (TelegramResponseException $e) {
$errorData = $e->getResponseData();
if ($errorData['ok'] === false) {
$telegram->sendMessage([
'chat_id' => '<ADMINISTRATOR ID>',
'text' => 'There was an error for a user. ' . $errorData['error_code'] . ' ' . $errorData['description'],
]);
}
}
试试看{
$telegram->sendMessage([
'聊天室id'=>'',
'文本'=>'这里有一些文本',
]);
}捕获(电报响应例外$e){
$errorData=$e->getResponseData();
如果($errorData['ok']==false){
$telegram->sendMessage([
'聊天室id'=>'',
“text'=>“用户出现错误。”。$errorData['error\u code']”.。$errorData['description'],
]);
}
}
最后,我巧妙地解决了这个问题。我创建了另一个机器人来处理错误。
所以我有一个机器人X和一个错误处理机器人Y。
这里是我从电报接收webhooks的POST方法:
public function postWebhook(Request $request)
{ .....
try
{ ....
bot X token
everything the bot want to do...
}
catch (\Exception $e)
{
bot Y send me the probable problem in my code....
}
catch (Throwable $e)
{
bot Y send me the probable problem in telegram such
as blocking ,..
}
现在,我可以防止陷入错误,而bot工作得很好。如果我的web服务的某个部分出现问题或我的代码有错误,甚至我都会收到通知。你至少能给我们看一个吗?@ohgod你为什么要阅读我的问题,甚至电报机器人API?您链接了用于开发电报客户端应用程序的电报核心API。