Skip to content

Commit 27cc26c

Browse files
committed
Added missing stuff for handling ServerResponse->getResult
1 parent 821d2cf commit 27cc26c

File tree

4 files changed

+49
-7
lines changed

4 files changed

+49
-7
lines changed

src/Entities/MenuButton/Factory.php

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
<?php
2+
3+
namespace Longman\TelegramBot\Entities\MenuButton;
4+
5+
use Longman\TelegramBot\Entities\Entity;
6+
7+
class Factory extends \Longman\TelegramBot\Entities\Factory
8+
{
9+
10+
public static function make(array $data, string $bot_username): Entity
11+
{
12+
$type = [
13+
'commands' => MenuButtonCommands::class,
14+
'web_app' => MenuButtonWebApp::class,
15+
'default' => MenuButtonDefault::class,
16+
];
17+
18+
if (! isset($type[$data['type'] ?? ''])) {
19+
return new MenuButtonNotImplemented($data, $bot_username);
20+
}
21+
22+
$class = $type[$data['type']];
23+
return new $class($data, $bot_username);
24+
}
25+
}

src/Entities/MenuButton/MenuButton.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,11 @@
44

55
use Longman\TelegramBot\Entities\Entity;
66

7+
/**
8+
* @method string getType() Type of the button
9+
*
10+
* @method $this setType($type) Type of the button
11+
*/
712
abstract class MenuButton extends Entity
813
{
914

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
<?php
2+
3+
namespace Longman\TelegramBot\Entities\MenuButton;
4+
5+
class MenuButtonNotImplemented extends MenuButton
6+
{
7+
8+
}

src/Entities/ServerResponse.php

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
use Longman\TelegramBot\Entities\ChatMember\ChatMember;
1313
use Longman\TelegramBot\Entities\ChatMember\Factory as ChatMemberFactory;
1414
use Longman\TelegramBot\Entities\Games\GameHighScore;
15+
use Longman\TelegramBot\Entities\MenuButton\Factory as MenuButtonFactory;
1516
use Longman\TelegramBot\Request;
1617

1718
/**
@@ -111,13 +112,16 @@ public function printError($return = false)
111112
private function createResultObject(array $result, string $bot_username): Entity
112113
{
113114
$result_object_types = [
114-
'getChat' => Chat::class,
115-
'getChatMember' => ChatMemberFactory::class,
116-
'getFile' => File::class,
117-
'getMe' => User::class,
118-
'getStickerSet' => StickerSet::class,
119-
'getUserProfilePhotos' => UserProfilePhotos::class,
120-
'getWebhookInfo' => WebhookInfo::class,
115+
'answerWebAppQuery' => SentWebAppMessage::class,
116+
'getChat' => Chat::class,
117+
'getMyDefaultAdministratorRights' => ChatAdministratorRights::class,
118+
'getChatMember' => ChatMemberFactory::class,
119+
'getChatMenuButton' => MenuButtonFactory::class,
120+
'getFile' => File::class,
121+
'getMe' => User::class,
122+
'getStickerSet' => StickerSet::class,
123+
'getUserProfilePhotos' => UserProfilePhotos::class,
124+
'getWebhookInfo' => WebhookInfo::class,
121125
];
122126

123127
$action = Request::getCurrentAction();

0 commit comments

Comments
 (0)