/
BorisPlus
/
Telegram-Bot-Discussion-Examples
Обзор
Документация
Войти
/
BorisPlus
/
Telegram-Bot-Discussion-Examples
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
examples/confirm_inline_bot/internal/buttons/delete_button.py
57 строк
2 KB
b
2025_10_13_initial
13 окт 2025, 00:05
13 окт 2025, 00:05
0fc4405
Код
Авторство
О чём код?
from telegram import Message, Update from telegram.ext import CallbackContext from telegram_bot_discussion import Contextual from telegram_bot_discussion.button import Button from telegram_bot_discussion.functions import get_chat_id, get_message from ..bot import ConfirmInlineBot from ..dialogues.dialogue_delete_message import DialogueDeleteMessage from .delete_button_params import DeleteButtonParams class DeleteButton(Button): class Meta(Button.Meta): action: str = "delete" title: str = "Delete message" params: DeleteButtonParams def __init__( self, chat_id: int, message_id: int, ): self.params = DeleteButtonParams( action=self.action(), message_id=message_id, ) super().__init__(chat_id) @classmethod async def on_click( cls, update: Update, context: CallbackContext, ): message = get_message(update) if not isinstance(message, Message): return discussion: ConfirmInlineBot = Contextual[ConfirmInlineBot](context)() params = DeleteButtonParams.fetch( callback_query=update.callback_query, coder=discussion.get_buttons_handler().coder, ) await discussion.get_replicas_handler().start_dialogue( update, context, get_chat_id(update), DialogueDeleteMessage( menu_message=message, source_message_id=params.message_id, coder=discussion.get_buttons_handler().coder, ), )