skapunker
@skapunker
Умный

Почему не работает функция editMessageText?

Всем привет! Помогите пожалста найти ошибку.
Итак у нас есть функция бана. Она работает, но почему то не хочет работать editMessageText.
Ошибка такая TelegramError: ETELEGRAM: 400 Bad Request: there is no text in the message to edit.

module.exports = async function(bot, message, query) {
    let ban = await Ban.findOne({
        where: {
            chat_id: query.data.split("_")[1]
        }
    });
    if(ban) {
        console.log(`Пользователь уже в бане`);
        return;
    }
    else {
        if (query.data.startsWith("ban")) {
            let ban = await Ban.create({
                chat_id: query.data.split("_")[1],
                unban: 3e15
            });
 
            if (ban) {
                console.log(`Пользователь undefined забанен вручную`);
                await bot.sendMessage(ban.chat_id, "Вы заблокированы в боте.");
                await bot.editMessageText("Пользователь заблокирован", {
                    chat_id: message.chat.id,
                    message_id: message.message_id
                });
            }
        }
    }


Однако!!! Есть похожая функция разбана. Там все работает.

module.exports = async function(bot, message, query) {
    if (query.data.startsWith("unban")) {
        let ban = await Ban.findOne({
            where: {
                chat_id: query.data.split("_")[1]
            }
        });
 
        if (ban) {
            console.log(`Пользователь undefined разблокирован`);
            await ban.destroy();
            await bot.sendMessage(ban.chat_id, "Вы разблокированы в боте!");
            await bot.editMessageText("Пользователь разблокирован", {
                chat_id: message.chat.id,
                message_id: message.message_id
            });
        }
    }
}
  • Вопрос задан
  • 165 просмотров
Пригласить эксперта
Ответы на вопрос 1
У тебя проверка if ban return, а потом else и в нём опять if ban, когда у пользователя БАН скрипт заходит в первый if делает console.log(`Пользователь уже в бане`); и return; дальше функция работать не будет

J2bz3WDCgJjvg2
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы