Added support for Telegram Bot API 9.6

This commit is contained in:
sycho 2026-04-04 03:40:42 +08:00
parent 00c1130938
commit 985fe5dab3
No known key found for this signature in database
GPG key ID: 04B385DB0C97A01E
41 changed files with 696 additions and 71 deletions

View file

@ -17,22 +17,23 @@ class TestSendPoll:
id="QA",
question="Q",
options=[
PollOption(text="A", voter_count=0),
PollOption(text="B", voter_count=0),
PollOption(persistent_id="1", text="A", voter_count=0),
PollOption(persistent_id="2", text="B", voter_count=0),
],
is_closed=False,
is_anonymous=False,
type="quiz",
allows_multiple_answers=False,
allows_revoting=False,
total_voter_count=0,
correct_option_id=0,
correct_option_ids=[0],
),
chat=Chat(id=42, type="private"),
),
)
response: Message = await bot.send_poll(
chat_id=42, question="Q?", options=["A", "B"], correct_option_id=0, type="quiz"
chat_id=42, question="Q?", options=["A", "B"], correct_option_ids=[0], type="quiz"
)
bot.get_request()
assert response == prepare_result.result

View file

@ -11,13 +11,17 @@ class TestStopPoll:
result=Poll(
id="QA",
question="Q",
options=[PollOption(text="A", voter_count=0), PollOption(text="B", voter_count=0)],
options=[
PollOption(persistent_id="1", text="A", voter_count=0),
PollOption(persistent_id="2", text="B", voter_count=0),
],
is_closed=False,
is_anonymous=False,
type="quiz",
allows_multiple_answers=False,
allows_revoting=False,
total_voter_count=0,
correct_option_id=0,
correct_option_ids=[0],
),
)

View file

@ -76,6 +76,7 @@ from aiogram.types import (
InputMediaPhoto,
Invoice,
Location,
ManagedBotCreated,
MessageAutoDeleteTimerChanged,
MessageEntity,
PaidMediaInfo,
@ -85,6 +86,8 @@ from aiogram.types import (
PhotoSize,
Poll,
PollOption,
PollOptionAdded,
PollOptionDeleted,
ProximityAlertTriggered,
ReactionTypeCustomEmoji,
RefundedPayment,
@ -426,15 +429,16 @@ TEST_MESSAGE_POLL = Message(
id="QA",
question="Q",
options=[
PollOption(text="A", voter_count=0),
PollOption(text="B", voter_count=0),
PollOption(persistent_id="1", text="A", voter_count=0),
PollOption(persistent_id="2", text="B", voter_count=0),
],
is_closed=False,
is_anonymous=False,
type="quiz",
allows_multiple_answers=False,
allows_revoting=False,
total_voter_count=0,
correct_option_id=1,
correct_option_ids=[1],
),
chat=Chat(id=42, type="private"),
from_user=User(id=42, is_bot=False, first_name="Test"),
@ -858,6 +862,27 @@ TEST_MESSAGE_SUGGESTED_POST_REFUNDED = Message(
from_user=User(id=42, is_bot=False, first_name="Test"),
suggested_post_refunded=SuggestedPostRefunded(reason="post_deleted"),
)
TEST_MESSAGE_MANAGED_BOT_CREATED = Message(
message_id=42,
date=datetime.datetime.now(),
chat=Chat(id=42, type="private"),
from_user=User(id=42, is_bot=False, first_name="Test"),
managed_bot_created=ManagedBotCreated(bot=User(id=100, is_bot=True, first_name="ManagedBot")),
)
TEST_MESSAGE_POLL_OPTION_ADDED = Message(
message_id=42,
date=datetime.datetime.now(),
chat=Chat(id=42, type="private"),
from_user=User(id=42, is_bot=False, first_name="Test"),
poll_option_added=PollOptionAdded(option_persistent_id="1", option_text="New option"),
)
TEST_MESSAGE_POLL_OPTION_DELETED = Message(
message_id=42,
date=datetime.datetime.now(),
chat=Chat(id=42, type="private"),
from_user=User(id=42, is_bot=False, first_name="Test"),
poll_option_deleted=PollOptionDeleted(option_persistent_id="1", option_text="Old option"),
)
MESSAGES_AND_CONTENT_TYPES = [
[TEST_MESSAGE_TEXT, ContentType.TEXT],
@ -937,6 +962,9 @@ MESSAGES_AND_CONTENT_TYPES = [
[TEST_MESSAGE_SUGGESTED_POST_DECLINED, ContentType.SUGGESTED_POST_DECLINED],
[TEST_MESSAGE_SUGGESTED_POST_PAID, ContentType.SUGGESTED_POST_PAID],
[TEST_MESSAGE_SUGGESTED_POST_REFUNDED, ContentType.SUGGESTED_POST_REFUNDED],
[TEST_MESSAGE_MANAGED_BOT_CREATED, ContentType.MANAGED_BOT_CREATED],
[TEST_MESSAGE_POLL_OPTION_ADDED, ContentType.POLL_OPTION_ADDED],
[TEST_MESSAGE_POLL_OPTION_DELETED, ContentType.POLL_OPTION_DELETED],
[TEST_MESSAGE_UNKNOWN, ContentType.UNKNOWN],
]
@ -1013,6 +1041,9 @@ MESSAGES_AND_COPY_METHODS = [
[TEST_MESSAGE_SUGGESTED_POST_DECLINED, None],
[TEST_MESSAGE_SUGGESTED_POST_PAID, None],
[TEST_MESSAGE_SUGGESTED_POST_REFUNDED, None],
[TEST_MESSAGE_MANAGED_BOT_CREATED, None],
[TEST_MESSAGE_POLL_OPTION_ADDED, None],
[TEST_MESSAGE_POLL_OPTION_DELETED, None],
[TEST_MESSAGE_UNKNOWN, None],
]