Задать вопрос
APTEMOH
@APTEMOH
Пишу чат ботов, телеграм ботов, ботов во вконтакте

Логика, алгоритм бота Телеграм. Как?

Всем привет!

Возникла необходимость сделать в боте выключение и выключение.
При ВЫКЛ. видит все только Админ, остальным какой то текст, мол позже приходите.

Реализовал так:

while (true) {
            if ($bot->isAdmin($chat_id) == true) {
                break;
            }else{
                # ВКЛ- и ВЫКЛючение БОТа
                if ($bot->getSettings()['on_off'] == 'off') {
                    $reply = "Какой то текст...";
                    $reply_markup = $telegram->replyKeyboardHide(['hide_keyboard' => true,]);
                    $telegram->sendMessage([ 'chat_id' => $chat_id, 'text' => $reply, 'reply_markup' => $reply_markup, ]);
                    return;
                }
                break;
            }
        }


Если админ, то выходим с цикла break;
Если не админ, смотрим ВКЛ или ВЫКЛючен бот. Если ВКЛ. то выходим.

Проблема в том, что это все тормозит бота. Написано на PHP, либа telegram-bot-sdk irazasyed
Такой цикл в начале где текст получаем и ниже где $result['callback_query'] итого два.
+ такой же цикл на другую опцию.
В общем заметно уменьшилась скорость отклика.

Подскажите возможно можно сделать иначе как-то!?

Сейчас сделано на switch case.

switch ($text) {
            case '/start':
                ...
  • Вопрос задан
  • 971 просмотр
Подписаться 2 Простой 11 комментариев
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы