mirror of
https://github.com/langbot-app/LangBot.git
synced 2026-06-19 03:54:19 +00:00
fix: Format the code in a standardized way (#1222)
This commit is contained in:
@@ -27,7 +27,6 @@ xml_template = """
|
|||||||
</xml>
|
</xml>
|
||||||
"""
|
"""
|
||||||
|
|
||||||
user_msg_queue = {}
|
|
||||||
|
|
||||||
class OAClient():
|
class OAClient():
|
||||||
|
|
||||||
@@ -45,6 +44,7 @@ class OAClient():
|
|||||||
}
|
}
|
||||||
self.access_token_expiry_time = None
|
self.access_token_expiry_time = None
|
||||||
self.msg_id_map = {}
|
self.msg_id_map = {}
|
||||||
|
self.generated_content = {}
|
||||||
|
|
||||||
async def handle_callback_request(self):
|
async def handle_callback_request(self):
|
||||||
|
|
||||||
@@ -87,12 +87,10 @@ class OAClient():
|
|||||||
from_user = root.find("FromUserName").text # 发送者
|
from_user = root.find("FromUserName").text # 发送者
|
||||||
to_user = root.find("ToUserName").text # 机器人
|
to_user = root.find("ToUserName").text # 机器人
|
||||||
|
|
||||||
from pkg.platform.sources import officialaccount
|
|
||||||
|
|
||||||
timeout = 4.80
|
timeout = 4.80
|
||||||
interval = 0.1
|
interval = 0.1
|
||||||
while True:
|
while True:
|
||||||
content = officialaccount.generated_content.pop(message_data["MsgId"], None)
|
content = self.generated_content.pop(message_data["MsgId"], None)
|
||||||
if content:
|
if content:
|
||||||
response_xml = xml_template.format(
|
response_xml = xml_template.format(
|
||||||
to_user=from_user,
|
to_user=from_user,
|
||||||
@@ -172,6 +170,9 @@ class OAClient():
|
|||||||
for handler in self._message_handlers[msg_type]:
|
for handler in self._message_handlers[msg_type]:
|
||||||
await handler(event)
|
await handler(event)
|
||||||
|
|
||||||
|
async def set_message(self,msg_id:int,content:str):
|
||||||
|
self.generated_content[msg_id] = content
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class OAClientForLongerResponse():
|
class OAClientForLongerResponse():
|
||||||
@@ -190,6 +191,8 @@ class OAClientForLongerResponse():
|
|||||||
}
|
}
|
||||||
self.access_token_expiry_time = None
|
self.access_token_expiry_time = None
|
||||||
self.loading_message = LoadingMessage
|
self.loading_message = LoadingMessage
|
||||||
|
self.msg_queue = {}
|
||||||
|
self.user_msg_queue = {}
|
||||||
|
|
||||||
async def handle_callback_request(self):
|
async def handle_callback_request(self):
|
||||||
try:
|
try:
|
||||||
@@ -223,16 +226,14 @@ class OAClientForLongerResponse():
|
|||||||
to_user = root.find("ToUserName").text
|
to_user = root.find("ToUserName").text
|
||||||
|
|
||||||
|
|
||||||
from pkg.platform.sources import officialaccount as oa
|
if self.msg_queue.get(from_user) and self.msg_queue[from_user][0]["content"]:
|
||||||
|
|
||||||
|
queue_top = self.msg_queue[from_user].pop(0)
|
||||||
if oa.msg_queue.get(from_user) and oa.msg_queue[from_user][0]["content"]:
|
|
||||||
queue_top = oa.msg_queue[from_user].pop(0)
|
|
||||||
queue_content = queue_top["content"]
|
queue_content = queue_top["content"]
|
||||||
|
|
||||||
# 弹出用户消息
|
# 弹出用户消息
|
||||||
if user_msg_queue.get(from_user) and user_msg_queue[from_user]:
|
if self.user_msg_queue.get(from_user) and self.user_msg_queue[from_user]:
|
||||||
user_msg_queue[from_user].pop(0)
|
self.user_msg_queue[from_user].pop(0)
|
||||||
|
|
||||||
response_xml = xml_template.format(
|
response_xml = xml_template.format(
|
||||||
to_user=from_user,
|
to_user=from_user,
|
||||||
@@ -250,7 +251,7 @@ class OAClientForLongerResponse():
|
|||||||
content=self.loading_message
|
content=self.loading_message
|
||||||
)
|
)
|
||||||
|
|
||||||
if user_msg_queue.get(from_user) and user_msg_queue[from_user][0]["content"]:
|
if self.user_msg_queue.get(from_user) and self.user_msg_queue[from_user][0]["content"]:
|
||||||
return response_xml
|
return response_xml
|
||||||
else:
|
else:
|
||||||
message_data = await self.get_message(xml_msg)
|
message_data = await self.get_message(xml_msg)
|
||||||
@@ -258,7 +259,7 @@ class OAClientForLongerResponse():
|
|||||||
if message_data:
|
if message_data:
|
||||||
event = OAEvent.from_payload(message_data)
|
event = OAEvent.from_payload(message_data)
|
||||||
if event:
|
if event:
|
||||||
user_msg_queue.setdefault(from_user,[]).append(
|
self.user_msg_queue.setdefault(from_user,[]).append(
|
||||||
{
|
{
|
||||||
"content":event.message,
|
"content":event.message,
|
||||||
}
|
}
|
||||||
@@ -318,6 +319,18 @@ class OAClientForLongerResponse():
|
|||||||
for handler in self._message_handlers[msg_type]:
|
for handler in self._message_handlers[msg_type]:
|
||||||
await handler(event)
|
await handler(event)
|
||||||
|
|
||||||
|
async def set_message(self,from_user:int,message_id:int,content:str):
|
||||||
|
if from_user not in self.msg_queue:
|
||||||
|
self.msg_queue[from_user] = []
|
||||||
|
|
||||||
|
self.msg_queue[from_user].append(
|
||||||
|
{
|
||||||
|
"msg_id":message_id,
|
||||||
|
"content":content,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -22,10 +22,6 @@ from ..types import entities as platform_entities
|
|||||||
from ...command.errors import ParamNotEnoughError
|
from ...command.errors import ParamNotEnoughError
|
||||||
|
|
||||||
|
|
||||||
# 生成的ai回答
|
|
||||||
generated_content = {}
|
|
||||||
msg_queue = {}
|
|
||||||
|
|
||||||
class OAMessageConverter(adapter.MessageConverter):
|
class OAMessageConverter(adapter.MessageConverter):
|
||||||
@staticmethod
|
@staticmethod
|
||||||
async def yiri2target(message_chain: platform_message.MessageChain):
|
async def yiri2target(message_chain: platform_message.MessageChain):
|
||||||
@@ -69,7 +65,7 @@ class OAEventConverter(adapter.EventConverter):
|
|||||||
|
|
||||||
class OfficialAccountAdapter(adapter.MessagePlatformAdapter):
|
class OfficialAccountAdapter(adapter.MessagePlatformAdapter):
|
||||||
|
|
||||||
bot : OAClient
|
bot : OAClient | OAClientForLongerResponse
|
||||||
ap : app.Application
|
ap : app.Application
|
||||||
bot_account_id: str
|
bot_account_id: str
|
||||||
message_converter: OAMessageConverter = OAMessageConverter()
|
message_converter: OAMessageConverter = OAMessageConverter()
|
||||||
@@ -114,26 +110,15 @@ class OfficialAccountAdapter(adapter.MessagePlatformAdapter):
|
|||||||
|
|
||||||
|
|
||||||
async def reply_message(self, message_source: platform_events.FriendMessage, message: platform_message.MessageChain, quote_origin: bool = False):
|
async def reply_message(self, message_source: platform_events.FriendMessage, message: platform_message.MessageChain, quote_origin: bool = False):
|
||||||
global generated_content
|
|
||||||
|
|
||||||
content = await OAMessageConverter.yiri2target(
|
content = await OAMessageConverter.yiri2target(
|
||||||
message
|
message
|
||||||
)
|
)
|
||||||
|
if type(self.bot) == OAClient:
|
||||||
generated_content[message_source.message_chain.message_id] = content
|
await self.bot.set_message(message_source.message_chain.message_id,content)
|
||||||
|
if type(self.bot) == OAClientForLongerResponse:
|
||||||
from_user = message_source.sender.id
|
from_user = message_source.sender.id
|
||||||
|
await self.bot.set_message(from_user,message_source.message_chain.message_id,content)
|
||||||
|
|
||||||
if from_user not in msg_queue:
|
|
||||||
msg_queue[from_user] = []
|
|
||||||
|
|
||||||
msg_queue[from_user].append(
|
|
||||||
{
|
|
||||||
"msg_id":message_source.message_chain.message_id,
|
|
||||||
"content":content,
|
|
||||||
}
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
async def send_message(
|
async def send_message(
|
||||||
|
|||||||
Reference in New Issue
Block a user