Add support for handling channel post events

This commit is contained in:
netkas 2024-11-03 17:18:39 -05:00
parent 041c2dc84c
commit 2a08cc51de
3 changed files with 36 additions and 0 deletions

View file

@ -161,6 +161,11 @@
return UpdateEventType::EDITED_CHANNEL_POST;
}
if($update->getChannelPost() !== null)
{
return UpdateEventType::CHANNEL_POST;
}
return UpdateEventType::UPDATE_EVENT;
}
}

View file

@ -6,6 +6,7 @@
use TgBotLib\Events\BusinessConnectionEvent;
use TgBotLib\Events\BusinessMessageEvent;
use TgBotLib\Events\CallbackQueryEvent;
use TgBotLib\Events\ChannelPostEvent;
use TgBotLib\Events\ChatBoostEvent;
use TgBotLib\Events\ChatJoinRequestEvent;
use TgBotLib\Events\ChatMemberUpdatedEvent;
@ -47,4 +48,5 @@
case BUSINESS_MESSAGE = BusinessMessageEvent::class;
case BUSINESS_CONNECTION = BusinessConnectionEvent::class;
case EDITED_CHANNEL_POST = EditedChannelPostEvent::class;
case CHANNEL_POST = ChannelPostEvent::class;
}

View file

@ -0,0 +1,29 @@
<?php
namespace TgBotLib\Events;
use TgBotLib\Abstracts\UpdateEvent;
use TgBotLib\Bot;
use TgBotLib\Enums\UpdateEventType;
use TgBotLib\Objects\Message;
abstract class ChannelPostEvent extends UpdateEvent
{
/**
* @inheritDoc
*/
public static function getEventType(): UpdateEventType
{
return UpdateEventType::CHANNEL_POST;
}
/**
* Retrieves the current channel post.
*
* @return Message The channel post message.
*/
protected function getChannelPost(): Message
{
return $this->update->getChannelPost();
}
}