diff options
| -rw-r--r-- | main.py | 40 |
1 files changed, 37 insertions, 3 deletions
@@ -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 else: replied_text = None + 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 != "": try: photo = replied.photo[-1] @@ -208,9 +220,9 @@ async def guest_middleware(handler, event, data): return return await handler(event, data) + - -@router.message(F.content_type.in_({"text", "photo", "document"})) +@router.message(F.content_type.in_({"text", "photo", "document", "poll"})) async def text_handler(message: Message): 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 @@ -250,6 +262,28 @@ async def text_handler(message: Message): except TelegramForbiddenError: 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.file_size > 4096: await message.reply("слишком много данных не хочу отвечать☝️☝️") @@ -502,7 +536,7 @@ async def main(): "callback_query", "guest_message", "inline_query", - "chosen_inline_result" + "chosen_inline_result", ], ) |