From 2cce59fb5806633db002d4145070035414e9c42d Mon Sep 17 00:00:00 2001 From: huker667 Date: Tue, 14 Jul 2026 08:23:17 +0300 Subject: add new markdown --- main.py | 76 +++++++++++++++++++++++++++++++++++++++++++++++++---------------- 1 file changed, 58 insertions(+), 18 deletions(-) (limited to 'main.py') 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("") or result.endswith(""): - result = result.replace("", "") - last_block_time[user_id] = current_time try: await bot.edit_message_text( text=result, inline_message_id=inline_message_id -- cgit v1.3.1