Updated BotCommandScope
This commit is contained in:
parent
6c67e97a4b
commit
79278e7748
8 changed files with 66 additions and 362 deletions
|
@ -4,100 +4,60 @@
|
||||||
|
|
||||||
namespace TgBotLib\Objects;
|
namespace TgBotLib\Objects;
|
||||||
|
|
||||||
|
use InvalidArgumentException;
|
||||||
|
use TgBotLib\Enums\Types\BotCommandScopeType;
|
||||||
use TgBotLib\Interfaces\ObjectTypeInterface;
|
use TgBotLib\Interfaces\ObjectTypeInterface;
|
||||||
|
use TgBotLib\Objects\BotCommandScope\BotCommandScopeAllChatAdministrators;
|
||||||
|
use TgBotLib\Objects\BotCommandScope\BotCommandScopeAllGroupChats;
|
||||||
|
use TgBotLib\Objects\BotCommandScope\BotCommandScopeAllPrivateChats;
|
||||||
use TgBotLib\Objects\BotCommandScope\BotCommandScopeChat;
|
use TgBotLib\Objects\BotCommandScope\BotCommandScopeChat;
|
||||||
use TgBotLib\Objects\BotCommandScope\BotCommandScopeChatAdministrators;
|
use TgBotLib\Objects\BotCommandScope\BotCommandScopeChatAdministrators;
|
||||||
use TgBotLib\Objects\BotCommandScope\BotCommandScopeChatMember;
|
use TgBotLib\Objects\BotCommandScope\BotCommandScopeChatMember;
|
||||||
|
use TgBotLib\Objects\BotCommandScope\BotCommandScopeDefault;
|
||||||
|
|
||||||
class BotCommandScope implements ObjectTypeInterface
|
abstract class BotCommandScope implements ObjectTypeInterface
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* @var string
|
* @var BotCommandScopeType
|
||||||
*/
|
*/
|
||||||
private $type;
|
protected $type;
|
||||||
|
|
||||||
/**
|
|
||||||
* @var string|int|null
|
|
||||||
*/
|
|
||||||
private $chat_id;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @var int|null
|
|
||||||
*/
|
|
||||||
private $user_id;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Scope type, one of “default”, “all_private_chats”, “all_group_chats”, “all_chat_administrators”, “chat”,
|
* Scope type, one of “default”, “all_private_chats”, “all_group_chats”, “all_chat_administrators”, “chat”,
|
||||||
* “chat_administrators”, “chat_member”
|
* “chat_administrators”, “chat_member”
|
||||||
*
|
*
|
||||||
* @return string
|
* @return BotCommandScopeType
|
||||||
*/
|
*/
|
||||||
public function getType(): string
|
public function getType(): BotCommandScopeType
|
||||||
{
|
{
|
||||||
return $this->type;
|
return $this->type;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Unique identifier for the target chat or username of the target supergroup (in the format @supergroupusername)
|
* @inheritDoc
|
||||||
*
|
|
||||||
* @return int|string|null
|
|
||||||
*/
|
*/
|
||||||
public function getChatId(): int|string|null
|
public abstract function toArray(): array;
|
||||||
{
|
|
||||||
return $this->chat_id;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Unique identifier of the target user
|
* @inheritDoc
|
||||||
*
|
|
||||||
* @return int|null
|
|
||||||
*/
|
|
||||||
public function getUserId(): ?int
|
|
||||||
{
|
|
||||||
return $this->user_id;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns an array representation of the object
|
|
||||||
*
|
|
||||||
* @return array
|
|
||||||
*/
|
|
||||||
public function toArray(): array
|
|
||||||
{
|
|
||||||
return [
|
|
||||||
'type' => $this->type,
|
|
||||||
'chat_id' => $this->chat_id,
|
|
||||||
'user_id' => $this->user_id,
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Constructs object from an array representation
|
|
||||||
*
|
|
||||||
* @param array $data
|
|
||||||
* @return ObjectTypeInterface
|
|
||||||
*/
|
*/
|
||||||
public static function fromArray(array $data): ObjectTypeInterface
|
public static function fromArray(array $data): ObjectTypeInterface
|
||||||
{
|
{
|
||||||
if(isset($data['type']))
|
if(!isset($data['type']))
|
||||||
{
|
{
|
||||||
switch($data['type'])
|
throw new InvalidArgumentException('BotCommandScope expected type');
|
||||||
{
|
|
||||||
case 'chat':
|
|
||||||
return BotCommandScopeChat::fromArray($data);
|
|
||||||
case 'chat_administrators':
|
|
||||||
return BotCommandScopeChatAdministrators::fromArray($data);
|
|
||||||
case 'chat_member':
|
|
||||||
return BotCommandScopeChatMember::fromArray($data);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$object = new self();
|
return match(BotCommandScopeType::tryFrom($data['type']))
|
||||||
|
{
|
||||||
$object->type = $data['type'] ?? null;
|
BotCommandScopeType::DEFAULT => BotCommandScopeDefault::fromArray($data),
|
||||||
$object->chat_id = $data['chat_id'] ?? null;
|
BotCommandScopeType::ALL_PRIVATE_CHATS => BotCommandScopeAllPrivateChats::fromArray($data),
|
||||||
$object->user_id = $data['user_id'] ?? null;
|
BotCommandScopeType::ALL_CHAT_GROUPS => BotCommandScopeAllGroupChats::fromArray($data),
|
||||||
|
BotCommandScopeType::ALL_CHAT_ADMINISTRATORS => BotCommandScopeChatAdministrators::fromArray($data),
|
||||||
return $object;
|
BotCommandScopeType::CHAT => BotCommandScopeChat::fromArray($data),
|
||||||
|
BotCommandScopeType::CHAT_ADMINISTRATORS => BotCommandScopeAllChatAdministrators::fromArray($data),
|
||||||
|
BotCommandScopeType::CHAT_MEMBER => BotCommandScopeChatMember::fromArray($data),
|
||||||
|
default => throw new InvalidArgumentException('Unexpected match value')
|
||||||
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -8,28 +8,13 @@
|
||||||
use TgBotLib\Interfaces\ObjectTypeInterface;
|
use TgBotLib\Interfaces\ObjectTypeInterface;
|
||||||
use TgBotLib\Objects\BotCommandScope;
|
use TgBotLib\Objects\BotCommandScope;
|
||||||
|
|
||||||
class BotCommandScopeAllChatAdministrators implements ObjectTypeInterface
|
class BotCommandScopeAllChatAdministrators extends BotCommandScope implements ObjectTypeInterface
|
||||||
{
|
{
|
||||||
/**
|
|
||||||
* @var string
|
|
||||||
*/
|
|
||||||
private $type;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var int|string
|
* @var int|string
|
||||||
*/
|
*/
|
||||||
private $chat_id;
|
private $chat_id;
|
||||||
|
|
||||||
/**
|
|
||||||
* Scope type, must be all_chat_administrators
|
|
||||||
*
|
|
||||||
* @return string
|
|
||||||
*/
|
|
||||||
public function getType(): string
|
|
||||||
{
|
|
||||||
return $this->type;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Unique identifier for the target chat or username of the target supergroup (in the format @supergroupusername)
|
* Unique identifier for the target chat or username of the target supergroup (in the format @supergroupusername)
|
||||||
*
|
*
|
||||||
|
@ -48,7 +33,7 @@
|
||||||
public function toArray(): array
|
public function toArray(): array
|
||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
'type' => $this->type,
|
'type' => $this->type->value,
|
||||||
'chat_id' => $this->chat_id
|
'chat_id' => $this->chat_id
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
@ -59,29 +44,12 @@
|
||||||
* @param array $data
|
* @param array $data
|
||||||
* @return BotCommandScopeAllChatAdministrators
|
* @return BotCommandScopeAllChatAdministrators
|
||||||
*/
|
*/
|
||||||
public static function fromArray(array $data): self
|
public static function fromArray(array $data): BotCommandScopeAllChatAdministrators
|
||||||
{
|
{
|
||||||
$object = new self();
|
$object = new self();
|
||||||
|
$object->type = BotCommandScopeType::ALL_CHAT_ADMINISTRATORS;
|
||||||
$object->type = $data['type'] ?? BotCommandScopeType::ALL_CHAT_ADMINISTRATORS;
|
|
||||||
$object->chat_id = $data['chat_id'] ?? null;
|
$object->chat_id = $data['chat_id'] ?? null;
|
||||||
|
|
||||||
return $object;
|
return $object;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Constructs object from BotCommandScope
|
|
||||||
*
|
|
||||||
* @param BotCommandScope $botCommandScope
|
|
||||||
* @return static
|
|
||||||
*/
|
|
||||||
public static function fromBotCommandScope(BotCommandScope $botCommandScope): self
|
|
||||||
{
|
|
||||||
$object = new self();
|
|
||||||
|
|
||||||
$object->type = $botCommandScope->getType();
|
|
||||||
$object->chat_id = $botCommandScope->getChatId();
|
|
||||||
|
|
||||||
return $object;
|
|
||||||
}
|
|
||||||
}
|
}
|
|
@ -8,61 +8,25 @@
|
||||||
use TgBotLib\Interfaces\ObjectTypeInterface;
|
use TgBotLib\Interfaces\ObjectTypeInterface;
|
||||||
use TgBotLib\Objects\BotCommandScope;
|
use TgBotLib\Objects\BotCommandScope;
|
||||||
|
|
||||||
class BotCommandScopeAllGroupChats implements ObjectTypeInterface
|
class BotCommandScopeAllGroupChats extends BotCommandScope implements ObjectTypeInterface
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* @var string
|
* @inheritDoc
|
||||||
*/
|
|
||||||
private $type;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Scope type, must be all_group_chats
|
|
||||||
*
|
|
||||||
* @return string
|
|
||||||
*/
|
|
||||||
public function getType(): string
|
|
||||||
{
|
|
||||||
return $this->type;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns an array representation of the object
|
|
||||||
*
|
|
||||||
* @return array
|
|
||||||
*/
|
*/
|
||||||
public function toArray(): array
|
public function toArray(): array
|
||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
'type' => $this->type
|
'type' => $this->type->value
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructs object from an array representation
|
* @inheritDoc
|
||||||
*
|
|
||||||
* @param array $data
|
|
||||||
* @return BotCommandScopeAllGroupChats
|
|
||||||
*/
|
*/
|
||||||
public static function fromArray(array $data): self
|
public static function fromArray(array $data): self
|
||||||
{
|
{
|
||||||
$object = new self();
|
$object = new self();
|
||||||
|
$object->type = BotCommandScopeType::ALL_CHAT_GROUPS;
|
||||||
$object->type = $data['type'] ?? BotCommandScopeType::ALL_CHAT_GROUPS;
|
|
||||||
|
|
||||||
return $object;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Constructs object from BotCommandScope
|
|
||||||
*
|
|
||||||
* @param BotCommandScope $botCommandScope
|
|
||||||
* @return BotCommandScopeAllGroupChats
|
|
||||||
*/
|
|
||||||
public static function fromBotCommandScope(BotCommandScope $botCommandScope): BotCommandScopeAllGroupChats
|
|
||||||
{
|
|
||||||
$object = new self();
|
|
||||||
|
|
||||||
$object->type = $botCommandScope->getType();
|
|
||||||
|
|
||||||
return $object;
|
return $object;
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,61 +8,25 @@
|
||||||
use TgBotLib\Interfaces\ObjectTypeInterface;
|
use TgBotLib\Interfaces\ObjectTypeInterface;
|
||||||
use TgBotLib\Objects\BotCommandScope;
|
use TgBotLib\Objects\BotCommandScope;
|
||||||
|
|
||||||
class BotCommandScopeAllPrivateChats implements ObjectTypeInterface
|
class BotCommandScopeAllPrivateChats extends BotCommandScope implements ObjectTypeInterface
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* @var string
|
* @inheritDoc
|
||||||
*/
|
|
||||||
private $type;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Scope type, must be all_private_chats
|
|
||||||
*
|
|
||||||
* @return string
|
|
||||||
*/
|
|
||||||
public function getType(): string
|
|
||||||
{
|
|
||||||
return $this->type;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns an array representation of the object
|
|
||||||
*
|
|
||||||
* @return array
|
|
||||||
*/
|
*/
|
||||||
public function toArray(): array
|
public function toArray(): array
|
||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
'type' => $this->type
|
'type' => $this->type->value
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructs object from an array representation
|
* @inheritDoc
|
||||||
*
|
|
||||||
* @param array $data
|
|
||||||
* @return BotCommandScopeAllPrivateChats
|
|
||||||
*/
|
*/
|
||||||
public static function fromArray(array $data): self
|
public static function fromArray(array $data): BotCommandScopeAllPrivateChats
|
||||||
{
|
{
|
||||||
$object = new self();
|
$object = new self();
|
||||||
|
$object->type = BotCommandScopeType::ALL_PRIVATE_CHATS;
|
||||||
$object->type = $data['type'] ?? BotCommandScopeType::ALL_PRIVATE_CHATS;
|
|
||||||
|
|
||||||
return $object;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Constructs object from BotCommandScope
|
|
||||||
*
|
|
||||||
* @param BotCommandScope $botCommandScope
|
|
||||||
* @return BotCommandScopeAllPrivateChats
|
|
||||||
*/
|
|
||||||
public static function fromBotCommandScope(BotCommandScope $botCommandScope): BotCommandScopeAllPrivateChats
|
|
||||||
{
|
|
||||||
$object = new self();
|
|
||||||
|
|
||||||
$object->type = $botCommandScope->getType();
|
|
||||||
|
|
||||||
return $object;
|
return $object;
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,27 +8,12 @@
|
||||||
use TgBotLib\Interfaces\ObjectTypeInterface;
|
use TgBotLib\Interfaces\ObjectTypeInterface;
|
||||||
use TgBotLib\Objects\BotCommandScope;
|
use TgBotLib\Objects\BotCommandScope;
|
||||||
|
|
||||||
class BotCommandScopeChat implements ObjectTypeInterface
|
class BotCommandScopeChat extends BotCommandScope implements ObjectTypeInterface
|
||||||
{
|
{
|
||||||
/**
|
|
||||||
* @var string
|
|
||||||
*/
|
|
||||||
private $type;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var int|string
|
* @var int|string
|
||||||
*/
|
*/
|
||||||
private $chat_id;
|
private int|string $chat_id;
|
||||||
|
|
||||||
/**
|
|
||||||
* Scope type, must be chat
|
|
||||||
*
|
|
||||||
* @return string
|
|
||||||
*/
|
|
||||||
public function getType(): string
|
|
||||||
{
|
|
||||||
return $this->type;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Unique identifier for the target chat or username of the target supergroup (in the format @supergroupusername)
|
* Unique identifier for the target chat or username of the target supergroup (in the format @supergroupusername)
|
||||||
|
@ -41,48 +26,25 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns an array representation of the object
|
* @inheritDoc
|
||||||
*
|
|
||||||
* @return array
|
|
||||||
*/
|
*/
|
||||||
public function toArray(): array
|
public function toArray(): array
|
||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
'type' => $this->type,
|
'type' => $this->type->value,
|
||||||
'chat_id' => $this->chat_id
|
'chat_id' => $this->chat_id
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructs object from an array representation
|
* @inheritDoc
|
||||||
*
|
|
||||||
* @param array $data
|
|
||||||
* @return BotCommandScopeChat
|
|
||||||
*/
|
*/
|
||||||
public static function fromArray(array $data): self
|
public static function fromArray(array $data): self
|
||||||
{
|
{
|
||||||
$object = new self();
|
$object = new self();
|
||||||
|
$object->type = BotCommandScopeType::CHAT;
|
||||||
$object->type = $data['type'] ?? BotCommandScopeType::CHAT;
|
|
||||||
$object->chat_id = $data['chat_id'] ?? null;
|
$object->chat_id = $data['chat_id'] ?? null;
|
||||||
|
|
||||||
return $object;
|
return $object;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Constructs object from BotCommandScope
|
|
||||||
*
|
|
||||||
* @param BotCommandScope $botCommandScope
|
|
||||||
* @return static
|
|
||||||
*/
|
|
||||||
public static function fromBotCommandScope(BotCommandScope $botCommandScope): self
|
|
||||||
{
|
|
||||||
$object = new self();
|
|
||||||
|
|
||||||
$object->type = $botCommandScope->getType();
|
|
||||||
$object->chat_id = $botCommandScope->getChatId();
|
|
||||||
|
|
||||||
return $object;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
|
@ -8,61 +8,26 @@
|
||||||
use TgBotLib\Interfaces\ObjectTypeInterface;
|
use TgBotLib\Interfaces\ObjectTypeInterface;
|
||||||
use TgBotLib\Objects\BotCommandScope;
|
use TgBotLib\Objects\BotCommandScope;
|
||||||
|
|
||||||
class BotCommandScopeChatAdministrators implements ObjectTypeInterface
|
class BotCommandScopeChatAdministrators extends BotCommandScope implements ObjectTypeInterface
|
||||||
{
|
{
|
||||||
/**
|
|
||||||
* @var string
|
|
||||||
*/
|
|
||||||
private $type;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Scope type, must be chat_administrators
|
* @inheritDoc
|
||||||
*
|
|
||||||
* @return string
|
|
||||||
*/
|
|
||||||
public function getType(): string
|
|
||||||
{
|
|
||||||
return $this->type;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns an array representation of the object
|
|
||||||
*
|
|
||||||
* @return array
|
|
||||||
*/
|
*/
|
||||||
public function toArray(): array
|
public function toArray(): array
|
||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
'type' => $this->type
|
'type' => $this->type->value
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructs object from an array representation
|
* @inheritDoc
|
||||||
*
|
|
||||||
* @param array $data
|
|
||||||
* @return BotCommandScopeChatAdministrators
|
|
||||||
*/
|
*/
|
||||||
public static function fromArray(array $data): self
|
public static function fromArray(array $data): self
|
||||||
{
|
{
|
||||||
$object = new self();
|
$object = new self();
|
||||||
|
$object->type = BotCommandScopeType::CHAT_ADMINISTRATORS;
|
||||||
$object->type = $data['type'] ?? BotCommandScopeType::CHAT_ADMINISTRATORS;
|
|
||||||
|
|
||||||
return $object;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Constructs object from BotCommandScope
|
|
||||||
*
|
|
||||||
* @param BotCommandScope $botCommandScope
|
|
||||||
* @return BotCommandScopeChatAdministrators
|
|
||||||
*/
|
|
||||||
public static function fromBotCommandScope(BotCommandScope $botCommandScope): BotCommandScopeChatAdministrators
|
|
||||||
{
|
|
||||||
$object = new self();
|
|
||||||
|
|
||||||
$object->type = $botCommandScope->getType();
|
|
||||||
|
|
||||||
return $object;
|
return $object;
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,32 +8,10 @@
|
||||||
use TgBotLib\Interfaces\ObjectTypeInterface;
|
use TgBotLib\Interfaces\ObjectTypeInterface;
|
||||||
use TgBotLib\Objects\BotCommandScope;
|
use TgBotLib\Objects\BotCommandScope;
|
||||||
|
|
||||||
class BotCommandScopeChatMember implements ObjectTypeInterface
|
class BotCommandScopeChatMember extends BotCommandScope implements ObjectTypeInterface
|
||||||
{
|
{
|
||||||
/**
|
private string|int $chat_id;
|
||||||
* @var string
|
private int $user_id;
|
||||||
*/
|
|
||||||
private $type;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @var string|int
|
|
||||||
*/
|
|
||||||
private $chat_id;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @var int
|
|
||||||
*/
|
|
||||||
private $user_id;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Scope type, must be chat_member
|
|
||||||
*
|
|
||||||
* @return string
|
|
||||||
*/
|
|
||||||
public function getType(): string
|
|
||||||
{
|
|
||||||
return $this->type;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Unique identifier for the target chat or username of the target supergroup (in the format @supergroupusername)
|
* Unique identifier for the target chat or username of the target supergroup (in the format @supergroupusername)
|
||||||
|
@ -56,48 +34,27 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns an array representation of the object
|
* @inheritDoc
|
||||||
*
|
|
||||||
* @return array
|
|
||||||
*/
|
*/
|
||||||
public function toArray(): array
|
public function toArray(): array
|
||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
'type' => $this->type,
|
'type' => $this->type->value,
|
||||||
'chat_id' => $this->chat_id,
|
'chat_id' => $this->chat_id,
|
||||||
'user_id' => $this->user_id
|
'user_id' => $this->user_id
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructs object from an array representation
|
* @inheritDoc
|
||||||
*
|
|
||||||
* @param array $data
|
|
||||||
* @return BotCommandScopeChatMember
|
|
||||||
*/
|
*/
|
||||||
public static function fromArray(array $data): self
|
public static function fromArray(array $data): self
|
||||||
{
|
{
|
||||||
$object = new self();
|
$object = new self();
|
||||||
|
$object->type = BotCommandScopeType::CHAT_MEMBER;
|
||||||
$object->type = $data['type'] ?? BotCommandScopeType::CHAT_MEMBER;
|
|
||||||
$object->chat_id = $data['chat_id'] ?? null;
|
$object->chat_id = $data['chat_id'] ?? null;
|
||||||
$object->user_id = $data['user_id'] ?? null;
|
$object->user_id = $data['user_id'] ?? null;
|
||||||
|
|
||||||
return $object;
|
return $object;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Constructs object from BotCommandScope
|
|
||||||
*
|
|
||||||
* @param BotCommandScope $botCommandScope
|
|
||||||
* @return static
|
|
||||||
*/
|
|
||||||
public static function fromBotCommandScope(BotCommandScope $botCommandScope): self
|
|
||||||
{
|
|
||||||
$object = new self();
|
|
||||||
$object->type = $botCommandScope->getType();
|
|
||||||
$object->chat_id = $botCommandScope->getChatId();
|
|
||||||
$object->user_id = $botCommandScope->getUserId();
|
|
||||||
return $object;
|
|
||||||
}
|
|
||||||
}
|
}
|
|
@ -8,61 +8,25 @@
|
||||||
use TgBotLib\Interfaces\ObjectTypeInterface;
|
use TgBotLib\Interfaces\ObjectTypeInterface;
|
||||||
use TgBotLib\Objects\BotCommandScope;
|
use TgBotLib\Objects\BotCommandScope;
|
||||||
|
|
||||||
class BotCommandScopeDefault implements ObjectTypeInterface
|
class BotCommandScopeDefault extends BotCommandScope implements ObjectTypeInterface
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* @var string
|
* @inheritDoc
|
||||||
*/
|
|
||||||
private $type;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Scope type, must be default
|
|
||||||
*
|
|
||||||
* @return string
|
|
||||||
*/
|
|
||||||
public function getType(): string
|
|
||||||
{
|
|
||||||
return $this->type;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns an array representation of the object
|
|
||||||
*
|
|
||||||
* @return string[]
|
|
||||||
*/
|
*/
|
||||||
public function toArray(): array
|
public function toArray(): array
|
||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
'type' => $this->type
|
'type' => $this->type->value
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructs object from an array representation
|
* @inheritDoc
|
||||||
*
|
|
||||||
* @param array $data
|
|
||||||
* @return BotCommandScopeDefault
|
|
||||||
*/
|
*/
|
||||||
public static function fromArray(array $data): self
|
public static function fromArray(array $data): BotCommandScopeDefault
|
||||||
{
|
{
|
||||||
$object = new self();
|
$object = new self();
|
||||||
|
$object->type = BotCommandScopeType::DEFAULT;
|
||||||
$object->type = $data['type'] ?? BotCommandScopeType::DEFAULT;
|
|
||||||
|
|
||||||
return $object;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Constructs object from BotCommandScope
|
|
||||||
*
|
|
||||||
* @param BotCommandScope $botCommandScope
|
|
||||||
* @return BotCommandScopeDefault
|
|
||||||
*/
|
|
||||||
public static function fromBotCommandScope(BotCommandScope $botCommandScope): BotCommandScopeDefault
|
|
||||||
{
|
|
||||||
$object = new self();
|
|
||||||
|
|
||||||
$object->type = $botCommandScope->getType();
|
|
||||||
|
|
||||||
return $object;
|
return $object;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue