Добрый день! Допустим у меня в базе есть N записей с ключами к телеграм ботам. Само собой вебхуки поставленны на разные URL, но обработчик у них один.
У меня есть метод, в котором создаю соединение, а потом прохожусь по ним в цикле, но из какого бы бота я не посылал сообщение, отвечает только первый. Подскажите, что именно, я делаю не так?
public function hendle()
{
$bots = [];
$bots[] = new Api('здесь первый ключ');
$bots[] = new Api('здесь второй ключ');
$instance = [];
foreach ($bots as $key => $bot)
{
if ($bot->getWebhookUpdates())
{
$request = $bot->getWebhookUpdates();
if(isset($request['message']))
{
$instance['message'] = $request['message'];
$instance['bot'] = $bot;
$instance['me'] = $request->getMe();
}
}
}
$chat_id = $instance['message']['chat']['id'];
return $instance['bot']->sendMessage([
'chat_id' => $chat_id,
'text' => "Hello World",
]);
}
Где я допускаю ошибку и как слушать любое кол-во ботов? Более того, если у меня будет много пользователей, то для каждого из них будет происходить запрос к базе, где храняться api ключи. Что будет выгоднее по нагрузке и скорости работы? Хранить данные с ключами в файле конфигурации или БД?
Спасибо!