Implemented method sendChatAction

This commit is contained in:
netkas 2024-10-31 00:22:07 -04:00
parent 97346e217c
commit ead1347f34
4 changed files with 179 additions and 3 deletions

View file

@ -14,6 +14,7 @@
use TgBotLib\Methods\Logout;
use TgBotLib\Methods\SendAnimation;
use TgBotLib\Methods\SendAudio;
use TgBotLib\Methods\SendChatAction;
use TgBotLib\Methods\SendContact;
use TgBotLib\Methods\SendDice;
use TgBotLib\Methods\SendDocument;
@ -52,6 +53,7 @@
case SEND_CONTACT = 'sendContact';
case SEND_POLL = 'sendPoll';
case SEND_DICE = 'sendDice';
case SEND_CHAT_ACTION = 'sendChatAction';
/**
* Executes a command on the provided bot with the given parameters.
@ -87,6 +89,7 @@
self::SEND_CONTACT => SendContact::execute($bot, $parameters),
self::SEND_POLL => SendPoll::execute($bot, $parameters),
self::SEND_DICE => SendDice::execute($bot, $parameters),
self::SEND_CHAT_ACTION => SendChatAction::execute($bot, $parameters)
};
}
}

View file

@ -8,9 +8,8 @@
case UPLOAD_PHOTO = 'upload_photo';
case RECORD_VIDEO = 'record_video';
case UPLOAD_VIDEO = 'upload_video';
case RECORD_AUDIO = 'record_audio';
case UPLOAD_AUDIO = 'upload_audio';
case UPLOAD_DOCUMENT = 'upload_document';
case RECORD_VOICE = 'record_voice';
case CHOOSE_STICKER = 'choose_sticker';
case FIND_LOCATION = 'find_location';
case RECORD_VIDEO_NOTE = 'record_video_note';
case UPLOAD_VIDEO_NOTE = 'upload_video_note';

View file

@ -0,0 +1,47 @@
<?php
namespace TgBotLib\Methods;
use TgBotLib\Abstracts\Method;
use TgBotLib\Bot;
use TgBotLib\Enums\Methods;
use TgBotLib\Enums\Types\ChatActionType;
use TgBotLib\Objects\Message;
class SendChatAction extends Method
{
/**
* @inheritDoc
*/
public static function execute(Bot $bot, array $parameters = []): mixed
{
if($parameters['action'] instanceof ChatActionType)
{
$parameters['action'] = $parameters['action']->value;
}
return (bool)self::executeCurl(self::buildPost($bot, Methods::SEND_CHAT_ACTION->value, $parameters));
}
/**
* @inheritDoc
*/
public static function getRequiredParameters(): ?array
{
return [
'chat_id',
'action'
];
}
/**
* @inheritDoc
*/
public static function getOptionalParameters(): ?array
{
return [
'business_connection_id',
'message_thread_id'
];
}
}