Как настроить бота так, чтобы после ответа пользователя удалялись предыдущие сообщения бота и пользователя?

Как настроить бота таким образом, чтобы после ответа пользователя удалялись исходное сообщение бота и ответ пользователя, подобно функционалу, реализованному в боте по ссылке: https://t.me/LineGem_bot?
  • 1 мая 2024 г. 15:30
Ответы на вопрос 2
Для того чтобы настроить бота таким образом, чтобы после ответа пользователя удалялись предыдущие сообщения бота и пользователя, вам следует использовать методы Telegram Bot API для удаления сообщений. В данном случае вам необходимо использовать метод deleteMessage.

Пример кода на Python с использованием библиотеки python-telegram-bot:

```python
from telegram import Update
from telegram.ext import Updater, CommandHandler, MessageHandler, Filters, CallbackContext

# Функция для обработки сообщений от пользователя
def echo(update: Update, context: CallbackContext) -> None:
    # Удаление предыдущего сообщения пользователя
    context.bot.delete_message(chat_id=update.effective_chat.id, message_id=update.message.message_id - 1)
    # Удаление исходного сообщения бота
    context.bot.delete_message(chat_id=update.effective_chat.id, message_id=update.message.message_id)
    
    # Отправка ответа пользователю
    update.message.reply_text("Ваш ответ")

def main() -> None:
    updater = Updater("YOUR_TOKEN")

    dispatcher = updater.dispatcher

    # Обработка сообщений от пользователя
    dispatcher.add_handler(MessageHandler(Filters.text & ~Filters.command, echo))

    updater.start_polling()
    updater.idle()

if __name__ == '__main__':
    main()
```

Помимо этого, для работы с ботом схожего с ботом по ссылке, вам также нужно будет добавить взаимодействие с базой данных для хранения истории сообщений и их удаления.
Сохраняй айди своего и входящего сообщений, а по ом по ним удаляй. И нет, ты не сможешь никак вычислить айди сообщения с помощью -1, +1
Похожие вопросы