@mrozhentsev

Как отредактировать сообщение с помощью aiogram?

Второй день бьюсь с непонятной мне проблемой. Мне надо отредактировать сообщение в телеграм.
Вот этот кусок
dp = Bot(config.TOKEN_ADMIN, parse_mode=ParseMode.HTML)
bot = Dispatcher(dp)

async def edit_order2(msg_id):
    await dp.edit_message_text(chat_id=467257161,
                               message_id=int(msg_id),
                               text=f"Eeeeee")

Выдает ошибку aiogram.utils.exceptions.MessageCantBeEdited: Message can't be edited
Что значит не может быть изменено????
Я понимаю если бы сообщению было больше 48 часов, но оно существует 30 секунд всего.
Причем точно такой же кусок у меня исправно работает в другом боте.

В интернетах ответа нет, в документации про это ничего не говорится. Помогите решить)
  • Вопрос задан
  • 22875 просмотров
Пригласить эксперта
Ответы на вопрос 2
AndreyFenicu
@AndreyFenicu
Редактировать можно всегда сообщения, надо чтобы правильно подходили айди чата и сообщения, в аиограме для этого есть специальные методы, которые упрощают жизнь, но можно и по старинке.
В телеграме никогда не было ограничений на редактирования только сообщения с кнопками.
Ниже пример с редактированием сообщения через 3 минуты

from datetime import datetime, timedelta

import config as cfg
from aiogram import Bot, executor, types
from aiogram.dispatcher import Dispatcher
from apscheduler.schedulers.asyncio import AsyncIOScheduler

bot = Bot(token=cfg.token, validate_token=True, parse_mode="HTML")
dp = Dispatcher(bot)
scheduler = AsyncIOScheduler()
scheduler.start()


@dp.message_handler(content_types=types.ContentTypes.TEXT)
async def send_msg(message: types.Message):
    msg = await message.answer("Тик")
    date = datetime.now() + timedelta(minutes=3)
    scheduler.add_job(edit_msg, "date", run_date=date, kwargs={"message": msg})


async def edit_msg(message: types.Message):
    await message.edit_text("Так")


if __name__ == "__main__":
    executor.start_polling(dp, skip_updates=True)

Please note, that it is currently only possible to edit messages without reply_markup or with inline keyboards.

Нельзя редактировать только сообщения с обычной клавиатурой (возможно временно)
Ответ написан
Комментировать
@mrozhentsev Автор вопроса
Нашел ответ. Редактировать можно только сообщения с кнопками. Почему так, кто-нибудь знает?
Ответ написан
Ваш ответ на вопрос

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

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