Конструктор ботов

Материал из wiki-MyMakerBot
Версия от 21:08, 28 декабря 2020; 185.139.136.238 (обсуждение) (Как смотреть JSON)

Пересылаемые в бот переменные

При каждом вызове любого метода в него передаются заранее предопределенные переменные

$message - оригинальное значение от телеграма $user - массив с параметрами текущего пользователя $argv - параметры, которые передаются из команды $data - служебные параметры в том числе $data.fulltext - полный текст переданного сообщения $group_chat_id - ИД группового чата в котором пришла команда боту $is_admin - 0\1 является ли пользователь создателем бота

Как смотреть JSON

Некоторые переменные будут представлять из себя массивы. Просто так их вывести на экран невозможно. Их легче всего преобразовать в JSON

В каждую команду поступает оригинальное сообщение от телеграма. Имя переменной для сообщения $message. Как вывести?

 {$message|json}


Вы можете таким образом безопасно вывести на экран - сообщением бота любую переменную

логика регистрации ботов

Если у меня в базе бота с таким же юзернеймом и токеном нет, то по токену регистрируем как обычно.

Если есть в базе такой же юзернейм и бот рабочий - вам откажут, скорее всего вы украли чужой токен. Даже после воровства токена перерегистрировать на себя не получится.

Если все-таки в базе есть юзернейм и он признан не рабочим (заброшенный), то вы имея токен можете получить этого бота на себя вместе с кодом, который в боте есть. Бот все равно заброшен, хозяину уже пофиг. Как правило понятие заброшен - это удаление акка.

Если бот активный, но вы в ботфазере изменили токен, то просто закидываете новый токен. Система найдет ваш старый бот и поменяет в нем токен на новый. Вам нужно будет остановить бота и запустить заново, чтоб инициализировать вебхук

Вывод - вы удалили акк, регаете нового бота с таким же именем, скореей всего телеграм вам даст такую возможность. После этого ждете ночь, ночью проверяется валидность ботов. После того как бот признан неактивным, вы утром спокойно регаете новый свой токен и получаете своего бота назад. Пока что такой порядок.

Ну и так же случались глюки, что даже при живом хозяине, бот все- равно становился не активным. В этом случае надо менять токен у ботфазера и скармливать конструкторору, и так же останавливать и перезапускать бота