added polls

This commit is contained in:
huker667 committed 2026-05-24 17:44:26 +03:00
1 parent 7d1ea4dc9a
commit ff615e434e
1 file changed
+37 -3
+37 -3
View File
@@ -135,7 +135,19 @@ async def guest_middleware(handler, event, data):
replied_text = message.reply_to_message.text or message.reply_to_message.caption or None replied_text = message.reply_to_message.text or message.reply_to_message.caption or None
else: else:
replied_text = None replied_text = None
prompt = "" prompt = ""
if replied and replied.poll:
poll = replied.poll
if poll.allows_multiple_answers:
prompt += "<множественный "
else:
prompt += "<одиночный "
prompt += f"опрос в ответе: {poll.question}>\n"
for option in poll.options:
prompt += f"- {option.text}\n"
prompt += "</опрос в ответе>"
if replied and replied.photo and IMAGE_MODEL != "": if replied and replied.photo and IMAGE_MODEL != "":
try: try:
photo = replied.photo[-1] photo = replied.photo[-1]
@@ -208,9 +220,9 @@ async def guest_middleware(handler, event, data):
return return
return await handler(event, data) return await handler(event, data)
@router.message(F.content_type.in_({"text", "photo", "document", "poll"}))
@router.message(F.content_type.in_({"text", "photo", "document"}))
async def text_handler(message: Message): async def text_handler(message: Message):
chat_type = message.sender_chat.type if message.sender_chat else "" chat_type = message.sender_chat.type if message.sender_chat else ""
user_id = message.sender_chat.id if message.sender_chat else message.from_user.id user_id = message.sender_chat.id if message.sender_chat else message.from_user.id
@@ -250,6 +262,28 @@ async def text_handler(message: Message):
except TelegramForbiddenError: except TelegramForbiddenError:
return return
if replied and replied.poll:
poll = replied.poll
if poll.allows_multiple_answers:
prompt += "<множественный "
else:
prompt += "<одиночный "
prompt += f"опрос в ответе: {poll.question}>\n"
for option in poll.options:
prompt += f"- {option.text}\n"
prompt += "</опрос в ответе>"
if message.poll:
poll = message.poll
if poll.allows_multiple_answers:
prompt += "<множественный "
else:
prompt += "<одиночный "
prompt += f"опрос: {poll.question}>\n"
for option in poll.options:
prompt += f"- {option.text}\n"
prompt += "</опрос>"
if message.document: if message.document:
if message.document.file_size > 4096: if message.document.file_size > 4096:
await message.reply("слишком много данных не хочу отвечать☝️☝️") await message.reply("слишком много данных не хочу отвечать☝️☝️")
@@ -502,7 +536,7 @@ async def main():
"callback_query", "callback_query",
"guest_message", "guest_message",
"inline_query", "inline_query",
"chosen_inline_result" "chosen_inline_result",
], ],
) )