$data * * @return BotInfo */ public function createBotInfo(array $data): BotInfo { $data['commands'] = isset($data['commands']) && is_array($data['commands']) ? array_map([BotCommand::class, 'fromArray'], $data['commands']) : null; return BotInfo::fromArray($data); } /** * Information about webhook subscription. * * @param array $data * * @return Subscription */ public function createSubscription(array $data): Subscription { return Subscription::fromArray($data); } /** * List of all active webhook subscriptions. * * @param array $data * * @return Subscription[] */ public function createSubscriptions(array $data): array { return isset($data['subscriptions']) && is_array($data['subscriptions']) ? array_map([$this, 'createSubscription'], $data['subscriptions']) : []; } }