Конструктор ботов: различия между версиями
Sergahell (обсуждение | вклад) |
(→Как смотреть JSON) |
||
(не показаны 2 промежуточные версии 2 участников) | |||
Строка 21: | Строка 21: | ||
Вы можете таким образом безопасно вывести на экран - сообщением бота любую переменную | Вы можете таким образом безопасно вывести на экран - сообщением бота любую переменную | ||
+ | Думаю стоит настроить CMS перед тем как выкладывать в сеть! | ||
− | == | + | == логика регистрации ботов == |
Если у меня в базе бота с таким же юзернеймом и токеном нет, то по токену регистрируем как обычно. | Если у меня в базе бота с таким же юзернеймом и токеном нет, то по токену регистрируем как обычно. |
Текущая версия на 03:35, 31 декабря 2020
Пересылаемые в бот переменные[править]
При каждом вызове любого метода в него передаются заранее предопределенные переменные
$message - оригинальное значение от телеграма $user - массив с параметрами текущего пользователя $argv - параметры, которые передаются из команды $data - служебные параметры в том числе $data.fulltext - полный текст переданного сообщения $group_chat_id - ИД группового чата в котором пришла команда боту $is_admin - 0\1 является ли пользователь создателем бота
Как смотреть JSON[править]
Некоторые переменные будут представлять из себя массивы. Просто так их вывести на экран невозможно. Их легче всего преобразовать в JSON
В каждую команду поступает оригинальное сообщение от телеграма. Имя переменной для сообщения $message. Как вывести?
{$message|json}
Вы можете таким образом безопасно вывести на экран - сообщением бота любую переменную
Думаю стоит настроить CMS перед тем как выкладывать в сеть!
логика регистрации ботов[править]
Если у меня в базе бота с таким же юзернеймом и токеном нет, то по токену регистрируем как обычно.
Если есть в базе такой же юзернейм и бот рабочий - вам откажут, скорее всего вы украли чужой токен. Даже после воровства токена перерегистрировать на себя не получится.
Если все-таки в базе есть юзернейм и он признан не рабочим (заброшенный), то вы имея токен можете получить этого бота на себя вместе с кодом, который в боте есть. Бот все равно заброшен, хозяину уже пофиг. Как правило понятие заброшен - это удаление акка.
Если бот активный, но вы в ботфазере изменили токен, то просто закидываете новый токен. Система найдет ваш старый бот и поменяет в нем токен на новый. Вам нужно будет остановить бота и запустить заново, чтоб инициализировать вебхук
Вывод - вы удалили акк, регаете нового бота с таким же именем, скореей всего телеграм вам даст такую возможность. После этого ждете ночь, ночью проверяется валидность ботов. После того как бот признан неактивным, вы утром спокойно регаете новый свой токен и получаете своего бота назад. Пока что такой порядок.
Ну и так же случались глюки, что даже при живом хозяине, бот все- равно становился не активным. В этом случае надо менять токен у ботфазера и скармливать конструкторору, и так же останавливать и перезапускать бота