Updated update handler to log events of handles
This commit is contained in:
parent
33088ee486
commit
8900abeb4a
1 changed files with 40 additions and 13 deletions
|
@ -317,6 +317,7 @@
|
||||||
// Process event handlers
|
// Process event handlers
|
||||||
foreach($this->event_handlers as $event => $handler)
|
foreach($this->event_handlers as $event => $handler)
|
||||||
{
|
{
|
||||||
|
$do_handle = false;
|
||||||
switch($event)
|
switch($event)
|
||||||
{
|
{
|
||||||
case EventType::GenericUpdate:
|
case EventType::GenericUpdate:
|
||||||
|
@ -325,12 +326,16 @@
|
||||||
|
|
||||||
case EventType::Message:
|
case EventType::Message:
|
||||||
if(($update->getMessage() ?? null) !== null)
|
if(($update->getMessage() ?? null) !== null)
|
||||||
$handler->handle($this, $update);
|
{
|
||||||
|
$do_handle = true;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case EventType::EditedMessage:
|
case EventType::EditedMessage:
|
||||||
if(($update->getEditedMessage() ?? null) !== null)
|
if(($update->getEditedMessage() ?? null) !== null)
|
||||||
$handler->handle($this, $update);
|
{
|
||||||
|
$do_handle = true;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case EventType::GenericCommandMessage:
|
case EventType::GenericCommandMessage:
|
||||||
|
@ -339,7 +344,7 @@
|
||||||
$text = $update->getMessage()->getText();
|
$text = $update->getMessage()->getText();
|
||||||
if(str_starts_with($text, '/'))
|
if(str_starts_with($text, '/'))
|
||||||
{
|
{
|
||||||
$handler->handle($this, $update);
|
$do_handle = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@ -347,14 +352,14 @@
|
||||||
case EventType::ChatMemberJoined:
|
case EventType::ChatMemberJoined:
|
||||||
if(($update->getMessage() ?? null) !== null && ($update->getMessage()->getNewChatMembers() ?? null) !== null)
|
if(($update->getMessage() ?? null) !== null && ($update->getMessage()->getNewChatMembers() ?? null) !== null)
|
||||||
{
|
{
|
||||||
$handler->handle($this, $update);
|
$do_handle = true;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case EventType::ChatMemberLeft:
|
case EventType::ChatMemberLeft:
|
||||||
if(($update->getMessage() ?? null) !== null && ($update->getMessage()->getLeftChatMember() ?? null) !== null)
|
if(($update->getMessage() ?? null) !== null && ($update->getMessage()->getLeftChatMember() ?? null) !== null)
|
||||||
{
|
{
|
||||||
$handler->handle($this, $update);
|
$do_handle = true;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -366,7 +371,7 @@
|
||||||
$update->getMyChatMember()->getNewChatMember()->getUntilDate() === null
|
$update->getMyChatMember()->getNewChatMember()->getUntilDate() === null
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
$handler->handle($this, $update);
|
$do_handle = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@ -379,7 +384,7 @@
|
||||||
$update->getMyChatMember()->getNewChatMember()->getUntilDate() !== null
|
$update->getMyChatMember()->getNewChatMember()->getUntilDate() !== null
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
$handler->handle($this, $update);
|
$do_handle = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@ -391,7 +396,7 @@
|
||||||
{
|
{
|
||||||
if($update->getMyChatMember()->getNewChatMember()->getStatus() === ChatMemberStatus::Member)
|
if($update->getMyChatMember()->getNewChatMember()->getStatus() === ChatMemberStatus::Member)
|
||||||
{
|
{
|
||||||
$handler->handle($this, $update);
|
$do_handle = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@ -401,7 +406,7 @@
|
||||||
{
|
{
|
||||||
if($update->getMyChatMember()->getNewChatMember()->getStatus() === ChatMemberStatus::Administrator)
|
if($update->getMyChatMember()->getNewChatMember()->getStatus() === ChatMemberStatus::Administrator)
|
||||||
{
|
{
|
||||||
$handler->handle($this, $update);
|
$do_handle = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@ -411,7 +416,7 @@
|
||||||
{
|
{
|
||||||
if($update->getMyChatMember()->getNewChatMember()->getStatus() === ChatMemberStatus::Restricted)
|
if($update->getMyChatMember()->getNewChatMember()->getStatus() === ChatMemberStatus::Restricted)
|
||||||
{
|
{
|
||||||
$handler->handle($this, $update);
|
$do_handle = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@ -426,17 +431,30 @@
|
||||||
case EventType::ChatPhotoChanged:
|
case EventType::ChatPhotoChanged:
|
||||||
if(($update->getMessage() ?? null) !== null && ($update->getMessage()->getNewChatPhoto() ?? null) !== null)
|
if(($update->getMessage() ?? null) !== null && ($update->getMessage()->getNewChatPhoto() ?? null) !== null)
|
||||||
{
|
{
|
||||||
$handler->handle($this, $update);
|
$do_handle = true;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case EventType::CallbackQuery:
|
case EventType::CallbackQuery:
|
||||||
if(($update->getCallbackQuery() ?? null) !== null)
|
if(($update->getCallbackQuery() ?? null) !== null)
|
||||||
{
|
{
|
||||||
$handler->handle($this, $update);
|
$do_handle = true;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if($do_handle)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
Log::verbose('net.nosial.tgbotlib', sprintf('%s handling event %s', get_class($handler), $event));
|
||||||
|
$handler->handle($this, $update);
|
||||||
|
}
|
||||||
|
catch(Exception $e)
|
||||||
|
{
|
||||||
|
Log::error('net.nosial.tgbotlib', sprintf('Unhandled exception while handling event %s: %s', $event, $e->getMessage()), $e);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Process command handlers
|
// Process command handlers
|
||||||
|
@ -448,7 +466,16 @@
|
||||||
$command = explode(' ', substr($text, 1))[0];
|
$command = explode(' ', substr($text, 1))[0];
|
||||||
if(isset($this->command_handlers[$command]))
|
if(isset($this->command_handlers[$command]))
|
||||||
{
|
{
|
||||||
$this->command_handlers[$command]->handle($this, $update);
|
Log::verbose('net.nosial.tgbotlib', sprintf('%s handling command %s', get_class($this->command_handlers[$command]), $command));
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
$this->command_handlers[$command]->handle($this, $update);
|
||||||
|
}
|
||||||
|
catch(Exception $e)
|
||||||
|
{
|
||||||
|
Log::error('net.nosial.tgbotlib', sprintf('Unhandled exception while executing command %s: %s', $command, $e->getMessage()), $e);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue