app/src/nonebot_plugins/to_liteyuki.py

43 lines
1.4 KiB
Python
Raw Normal View History

# -*- coding: utf-8 -*-
"""
Copyright (C) 2020-2024 LiteyukiStudio. All Rights Reserved
@Time : 2024/8/20 上午5:10
@Author : snowykami
@Email : snowykami@outlook.com
@File : to_liteyuki.py
@Software: PyCharm
"""
from nonebot import Bot, get_bot, on_message
from nonebot.plugin import PluginMetadata
from nonebot.adapters.onebot.v11 import MessageEvent, Bot
from liteyuki.comm.storage import shared_memory
2024-08-20 20:30:50 +08:00
from liteyuki.message.event import MessageEvent as LiteyukiMessageEvent
__plugin_meta__ = PluginMetadata(
name="轻雪物流",
2024-08-20 06:24:00 +08:00
description="把消息事件传递给轻雪框架进行处理",
usage="用户无需使用",
)
@on_message().handle()
async def _(bot: Bot, event: MessageEvent):
2024-08-20 20:30:50 +08:00
liteyuki_event = LiteyukiMessageEvent(
message_type=event.message_type,
message=event.dict()["message"],
raw_message=event.raw_message,
data=event.dict(),
bot_id=bot.self_id,
session_id=str(event.user_id if event.message_type == "private" else event.group_id),
session_type=event.message_type,
receive_channel="event_to_nonebot"
)
shared_memory.publish("event_to_liteyuki", liteyuki_event)
@shared_memory.on_subscriber_receive("event_to_nonebot")
2024-08-20 20:30:50 +08:00
async def _(event: MessageEvent):
bot: Bot = get_bot(event.bot_id)
2024-08-20 20:30:50 +08:00
await bot.send_msg(message_type=event.message_type, user_id=int(event.session_id), group_id=int(event.session_id), message=event.data["message"])