aboutsummaryrefslogtreecommitdiff
path: root/main.py
diff options
context:
space:
mode:
Diffstat (limited to 'main.py')
-rw-r--r--main.py76
1 files changed, 58 insertions, 18 deletions
diff --git a/main.py b/main.py
index a603e2f..2b2aa94 100644
--- a/main.py
+++ b/main.py
@@ -11,7 +11,7 @@ from datetime import datetime
from aiogram import Bot, Dispatcher, F
from aiogram.client.default import DefaultBotProperties
from aiogram.types import Update
-from aiogram.methods import AnswerGuestQuery
+from aiogram.methods import AnswerGuestQuery, SendRichMessage
from aiogram.types import InlineQueryResultArticle, InputTextMessageContent
from aiogram import BaseMiddleware
@@ -25,6 +25,8 @@ from aiogram.types import (
InlineQuery,
InlineQueryResultArticle,
InputTextMessageContent,
+ InputRichMessageContent,
+ InputRichMessage,
Message,
)
from callbacks import *
@@ -260,18 +262,38 @@ async def guest_middleware(handler, event, data):
images += [b64_image]
except Exception as e:
print(f"{RED} -- photo - {e}{RESET}")
-
- if event.message:
- if msg:
- await msg.edit_text("💬")
- if not msg and stream == "edit":
- msg = await message.reply("💬")
prompt = f"{prompt}\n{user_text}"
if replied_text:
prompt = f"<ответ на>{replied_text}</ответ> {prompt}"
prompt = prompt[:MAX_PROMPT]
+ if config["markdown"] == "" and message.from_user.id != 777000:
+ last_command_time[user_id][1] = False
+ last_command_time[user_id][2] = []
+ alloh_text = """👆*врат важный вопрос*👆если ты видишь сообщение сверху то нажми "новый стиль",
+а если у тебя тг старый и ты не видишь, то нажми "старый стиль". потому что тг обновил
+фукция маркdown.✅✅✅"""
+ alloh_one_text = """👇*перед моим ответом ответь на очень важный вопрос*👇
+ты хочешь использовать новый стиль выделения текста телеграм 12.8+ (6.9.3+ десктоп) или
+хочешь старый для старых версий телеграм и телеграм х? эту настройку можно будет изменить.✅ """
+ reply_markup_url = InlineKeyboardMarkup(inline_keyboard=[
+ [InlineKeyboardButton(text="новый стиль", url=f"https://t.me/{BOT_USERNAME}?start=new_md")],
+ [InlineKeyboardButton(text="старый стиль", url=f"https://t.me/{BOT_USERNAME}?start=old_md")],
+ ]
+ )
+ reply_markup = InlineKeyboardMarkup(inline_keyboard=[
+ [InlineKeyboardButton(text="новый стиль", callback_data=f"set_markdown%{user_id}%new")],
+ [InlineKeyboardButton(text="старый стиль", callback_data=f"set_markdown%{user_id}%old")],
+ ]
+ )
+ if event.guest_message:
+ await g_answer(data, message, alloh_one_text, reply_markup=reply_markup_url)
+ elif event.message:
+ await message.reply_rich(InputRichMessage(markdown="# ало\n```\nкак дела\n```"))
+ await message.answer(alloh_text, reply_markup=reply_markup)
+ return
+
if event.message:
try:
await bot.send_chat_action(chat_id=message.chat.id, action="typing")
@@ -371,6 +393,8 @@ async def guest_middleware(handler, event, data):
else:
poll_type = "regular"
+
+
try:
result = await answer_poll(
data=data,
@@ -399,32 +423,51 @@ async def guest_middleware(handler, event, data):
return
+
+ kwargs = (
+ {"rich_message": InputRichMessage(markdown=result)}
+ if config["markdown"] == "new"
+ else {"text": result}
+ )
try:
if event.guest_message:
- await g_answer(data, message, result)
+ await g_answer(data, message, result, user_id=user_id)
elif event.message:
if msg:
if stream == "native":
await msg.delete()
- await message.reply(result)
+ if config["markdown"] == "new":
+ await message.reply_rich(**kwargs)
+ else:
+ await message.reply(**kwargs)
else:
- await msg.edit_text(result)
+ await msg.edit_text(**kwargs)
else:
- await message.reply(result)
+ if config["markdown"] == "new":
+ await message.reply_rich(**kwargs)
+ else:
+ await message.reply(**kwargs)
except Exception as e:
+ kwargs["parse_mode"] = None
try:
if event.guest_message:
- await g_answer(data, message, result, parse_mode="None")
+ await g_answer(data, message, result)
elif event.message:
if msg:
if stream == "native":
await msg.delete()
- await message.reply(result, parse_mode="None")
+ if config["markdown"] == "new":
+ await message.reply_rich(**kwargs)
+ else:
+ await message.reply(**kwargs)
else:
- await msg.edit_text(result, parse_mode="None")
+ await msg.edit_text(**kwargs)
else:
- await message.reply(result, parse_mode="None")
+ if config["markdown"] == "new":
+ await message.reply_rich(**kwargs)
+ else:
+ await message.reply(**kwargs)
except Exception as e:
print(f"{RED} -- send guest - {e}{RESET}")
else:
@@ -513,9 +556,6 @@ async def chosen_inline_result_handler(chosen_result: ChosenInlineResult):
print(f"{RED} -- {error['type']} -- {error['message']}")
return
if result:
- if result.startswith("<!block>") or result.endswith("<!block>"):
- result = result.replace("<!block>", "")
- last_block_time[user_id] = current_time
try:
await bot.edit_message_text(
text=result, inline_message_id=inline_message_id