From fe9711078576be264038e52cb1b36d909d7cd295 Mon Sep 17 00:00:00 2001 From: yym68686 Date: Tue, 30 May 2023 16:52:53 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=20bing=20=E8=87=AA=E5=8A=A8?= =?UTF-8?q?=E8=BD=AC=E4=B9=89\=EF=BC=8C=E4=B8=8D=E9=9C=80=E8=A6=81?= =?UTF-8?q?=E5=86=8D=E6=AC=A1=E8=BD=AC=E4=B9=89=E7=9A=84bug=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- AI.py | 10 +++++----- md2tgmd.py | 34 +++++++++++++++++++++++++++++++++- 2 files changed, 38 insertions(+), 6 deletions(-) diff --git a/AI.py b/AI.py index 7240f08d..61d67090 100644 --- a/AI.py +++ b/AI.py @@ -1,7 +1,7 @@ import re import json import threading -from md2tgmd import escape +from md2tgmd import escape, bingescape from runasync import run_async from config import API, NICK, COOKIES from revChatGPT.V3 import Chatbot as GPT @@ -57,9 +57,9 @@ async def getBing(self, message, update, context): text = result result = f"🤖️ Bing\n\n" + result modifytime = modifytime + 1 - if modifytime % 10 == 0 and lastresult != result: - await context.bot.edit_message_text(chat_id=update.message.chat_id, message_id=messageid, text=escape(result), parse_mode='MarkdownV2') - lastresult = result + if modifytime % 12 == 0 and lastresult != tmpresult: + await context.bot.edit_message_text(chat_id=update.message.chat_id, message_id=messageid, text=bingescape(tmpresult), parse_mode='MarkdownV2') + lastresult = tmpresult result = result[1] numMessages = result["item"]["throttling"]["numUserMessagesInConversation"] @@ -73,7 +73,7 @@ async def getBing(self, message, update, context): learnmoretext = "" result = f"🤖️ Bing {numMessages} / {maxNumMessages} \n\n" + message + "\n\n" + learnmoretext if lastresult != result: - await context.bot.edit_message_text(chat_id=update.message.chat_id, message_id=messageid, text=escape(result), parse_mode='MarkdownV2', disable_web_page_preview=True) + await context.bot.edit_message_text(chat_id=update.message.chat_id, message_id=messageid, text=bingescape(result), parse_mode='MarkdownV2', disable_web_page_preview=True) # # 整段 creative balanced precise # result = await self.Bingbot.ask(prompt=prompt + message, conversation_style=ConversationStyle.creative) diff --git a/md2tgmd.py b/md2tgmd.py index bb580093..475e8691 100644 --- a/md2tgmd.py +++ b/md2tgmd.py @@ -27,7 +27,39 @@ def escape(text): # In all other places characters # _ * [ ] ( ) ~ ` > # + - = | { } . ! # must be escaped with the preceding character '\'. - text = re.sub(r"\\n", r"\\\\n", text) + # text = re.sub(r"\\n", r"\\\\n", text) + text = re.sub(r"\\", r"\\\\", text) + text = re.sub(r"_", '\_', text) + text = re.sub(r"\*{2}(.*?)\*{2}", '@@@\\1@@@', text) + text = re.sub(r"\n\*\s", '\n\n• ', text) + text = re.sub(r"\*", '\*', text) + text = re.sub(r"\@{3}(.*?)\@{3}", '*\\1*', text) + text = re.sub(r"\!?\[(.*?)\]\((.*?)\)", '@@@\\1@@@^^^\\2^^^', text) + text = re.sub(r"\[", '\[', text) + text = re.sub(r"\]", '\]', text) + text = re.sub(r"\(", '\(', text) + text = re.sub(r"\)", '\)', text) + text = re.sub(r"\@{3}(.*?)\@{3}\^{3}(.*?)\^{3}", '[\\1](\\2)', text) + text = re.sub(r"~", '\~', text) + text = re.sub(r">", '\>', text) + text = escapeshape(text) + text = re.sub(r"#", '\#', text) + text = re.sub(r"`(.*?)\+(.*?)`", '`\\1@@@\\2`', text) + text = re.sub(r"\+", '\+', text) + text = re.sub(r"\@{3}", '+', text) + text = re.sub(r"\n(\s*)-\s", '\n\n\\1• ', text) + text = re.sub(r"`(.*?)-(.*?)`", '`\\1@@@\\2`', text) + text = re.sub(r"\-", '\-', text) + text = re.sub(r"\@{3}", '-', text) + text = re.sub(r"=", '\=', text) + text = re.sub(r"\|", '\|', text) + text = re.sub(r"{", '\{', text) + text = re.sub(r"}", '\}', text) + text = re.sub(r"\.", '\.', text) + text = re.sub(r"!", '\!', text) + return text + +def bingescape(text): text = re.sub(r"_", '\_', text) text = re.sub(r"\*{2}(.*?)\*{2}", '@@@\\1@@@', text) text = re.sub(r"\n\*\s", '\n\n• ', text)