aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--main.py40
1 files changed, 37 insertions, 3 deletions
diff --git a/main.py b/main.py
index fbfe211..e760fd5 100644
--- a/main.py
+++ b/main.py
@@ -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",
],
)