Skip to content

Commit

Permalink
feat: 跨平台部分适配
Browse files Browse the repository at this point in the history
  • Loading branch information
LambdaYH committed Feb 3, 2024
1 parent 27eab7d commit 54ce179
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 6 deletions.
12 changes: 8 additions & 4 deletions migang/core/core_plugins/feedback/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,19 @@
from datetime import datetime

from nonebot.log import logger
from nonebot.adapters import Bot
from nonebot.params import CommandArg
from nonebot import require, on_command
from nonebot.adapters import Bot, Event
from nonebot_plugin_userinfo import UserInfo, EventUserInfo
from nonebot.plugin import PluginMetadata, inherit_supported_adapters
from nonebot_plugin_alconna import At, Text, Image, Target, UniMessage

from migang.core.cross_platform.message import serialize_message
from migang.core.cross_platform.adapters import supported_adapters
from migang.core.cross_platform import SUPERUSER, Session, UniCmdArg

require("nonebot_plugin_chatrecorder")
from nonebot_plugin_chatrecorder import serialize_message, deserialize_message
from nonebot_plugin_chatrecorder import deserialize_message

from migang.core.models import Feedback

Expand Down Expand Up @@ -43,6 +44,7 @@
@feedback.handle()
async def _(
bot: Bot,
event: Event,
session: Session,
arg: UniMessage = UniCmdArg(),
user_info: UserInfo = EventUserInfo(),
Expand All @@ -67,7 +69,7 @@ async def _(
feedback_id = await Feedback.add_feedback(
user_id=user_id,
group_id=group_id,
content=serialize_message(bot, await arg.export()),
content=serialize_message(bot=bot, event=event, msg=arg),
)
await (
UniMessage.text(
Expand All @@ -77,7 +79,9 @@ async def _(
).send(target=Target(id=white, private=True), bot=bot)
else:
feedback_id = await Feedback.add_feedback(
user_id=user_id, group_id=None, content=serialize_message(bot, arg)
user_id=user_id,
group_id=None,
content=serialize_message(bot=bot, event=event, msg=arg),
)
await (
UniMessage.text(
Expand Down
15 changes: 13 additions & 2 deletions migang/core/cross_platform/message.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
from typing import Any, Annotated

import ujson
from nonebot.params import Depends
from nonebot.typing import T_State
from nonebot.adapters import Bot, Event
from nonebot_plugin_alconna import UniMessage
from nonebot.params import Depends, CommandArg
from nonebot.adapters import Bot, Event, Message
from nonebot.consts import PREFIX_KEY, CMD_ARG_KEY


Expand All @@ -18,4 +19,14 @@ def UniCmdArg() -> Any:
return Depends(_uni_cmd_arg)


async def serialize_message(bot: Bot, event: Event, msg: Message | UniMessage) -> str:
if isinstance(msg, Message):
msg = await UniMessage.generate(message=msg, bot=bot, event=event)
return


def deserialize_message(msg: str) -> UniMessage:
return ujson.load(msg)


__all__ = ["UniCmdArg"]

0 comments on commit 54ce179

Please sign in to comment.