Нужно реализовать возможность горячей замены токена бота.
В моей реализации, похоже, что ломается getUpdates, в результате чего перезапуск бота вызывает отправку сообщений из прошлого бота в аккаутн (с которого менялся токен). (Не знаю как правильнее объяснить)
Упрощенный код, (только код смены токена)
const { Telegraf } = require("telegraf"); // telegraf@3.39
const bot = new Telegraf(token);
bot.hears(/\/chtoken \d+:\w+/, async ctx => {
const { newToken } = /\/chtoken (?<newToken>\d+:.+)/.exec(ctx.message.text).groups;
bot.stop();
bot.telegram.token = newToken;
bot.launch();
})
bot.launch();