feat(telegram): add inline cancel button (#79)

This commit is contained in:
banteg
2026-01-10 03:33:57 +04:00
committed by GitHub
parent 801d04cfdf
commit 5c1635ccb5
8 changed files with 397 additions and 18 deletions
+15
View File
@@ -22,6 +22,7 @@ class _FakeBot:
disable_notification: bool | None = False,
entities: list[dict] | None = None,
parse_mode: str | None = None,
reply_markup: dict | None = None,
*,
replace_message_id: int | None = None,
) -> dict:
@@ -29,6 +30,7 @@ class _FakeBot:
_ = disable_notification
_ = entities
_ = parse_mode
_ = reply_markup
_ = replace_message_id
self.calls.append("send_message")
return {"message_id": 1}
@@ -40,6 +42,7 @@ class _FakeBot:
text: str,
entities: list[dict] | None = None,
parse_mode: str | None = None,
reply_markup: dict | None = None,
*,
wait: bool = True,
) -> dict:
@@ -47,6 +50,7 @@ class _FakeBot:
_ = message_id
_ = entities
_ = parse_mode
_ = reply_markup
_ = wait
self.calls.append("edit_message_text")
self.edit_calls.append(text)
@@ -106,6 +110,15 @@ class _FakeBot:
async def get_me(self) -> dict | None:
return {"id": 1}
async def answer_callback_query(
self,
callback_query_id: str,
text: str | None = None,
show_alert: bool | None = None,
) -> bool:
_ = callback_query_id, text, show_alert
return True
@pytest.mark.anyio
async def test_edits_coalesce_latest() -> None:
@@ -123,6 +136,7 @@ async def test_edits_coalesce_latest() -> None:
text: str,
entities: list[dict] | None = None,
parse_mode: str | None = None,
reply_markup: dict | None = None,
*,
wait: bool = True,
) -> dict:
@@ -136,6 +150,7 @@ async def test_edits_coalesce_latest() -> None:
text=text,
entities=entities,
parse_mode=parse_mode,
reply_markup=reply_markup,
wait=wait,
)