mirror of
https://github.com/TriM-Organization/LiteyukiBot-TriM.git
synced 2024-11-25 16:45:03 +08:00
93 lines
2.6 KiB
Python
93 lines
2.6 KiB
Python
import time
|
|
|
|
from nonebot import require
|
|
from nonebot.message import event_postprocessor
|
|
|
|
from liteyuki.utils.base.data import Database, LiteModel
|
|
from liteyuki.utils.base.ly_typing import v11, v12, satori
|
|
|
|
from liteyuki.utils.base.ly_typing import T_Bot, T_MessageEvent
|
|
|
|
from .common import MessageEventModel, msg_db
|
|
from liteyuki.utils import event as event_utils
|
|
|
|
require("nonebot_plugin_alconna")
|
|
|
|
|
|
async def general_event_monitor(bot: T_Bot, event: T_MessageEvent):
|
|
print("POST PROCESS")
|
|
# if isinstance(bot, satori.Bot):
|
|
# print("POST PROCESS SATORI EVENT")
|
|
# return await satori_event_monitor(bot, event)
|
|
# elif isinstance(bot, v11.Bot):
|
|
# print("POST PROCESS V11 EVENT")
|
|
# return await onebot_v11_event_monitor(bot, event)
|
|
|
|
|
|
@event_postprocessor
|
|
async def onebot_v11_event_monitor(bot: v11.Bot, event: v11.MessageEvent):
|
|
if event.message_type == "group":
|
|
event: v11.GroupMessageEvent
|
|
group_id = str(event.group_id)
|
|
else:
|
|
group_id = ""
|
|
mem = MessageEventModel(
|
|
time=int(time.time()),
|
|
bot_id=bot.self_id,
|
|
adapter="onebot.v11",
|
|
group_id=group_id,
|
|
user_id=str(event.user_id),
|
|
|
|
message_id=str(event.message_id),
|
|
|
|
message=[ms.__dict__ for ms in event.message],
|
|
message_text=event.raw_message,
|
|
message_type=event.message_type,
|
|
)
|
|
msg_db.save(mem)
|
|
|
|
|
|
@event_postprocessor
|
|
async def onebot_v12_event_monitor(bot: v12.Bot, event: v12.MessageEvent):
|
|
if event.message_type == "group":
|
|
event: v12.GroupMessageEvent
|
|
group_id = str(event.group_id)
|
|
else:
|
|
group_id = ""
|
|
mem = MessageEventModel(
|
|
time=int(time.time()),
|
|
bot_id=bot.self_id,
|
|
adapter="onebot.v12",
|
|
group_id=group_id,
|
|
user_id=str(event.user_id),
|
|
|
|
message_id=[ms.__dict__ for ms in event.message],
|
|
|
|
message=event.message,
|
|
message_text=event.raw_message,
|
|
message_type=event.message_type,
|
|
)
|
|
msg_db.save(mem)
|
|
|
|
|
|
@event_postprocessor
|
|
async def satori_event_monitor(bot: satori.Bot, event: satori.MessageEvent):
|
|
if event.guild is not None:
|
|
event: satori.MessageEvent
|
|
group_id = str(event.guild.id)
|
|
else:
|
|
group_id = ""
|
|
|
|
mem = MessageEventModel(
|
|
time=int(time.time()),
|
|
bot_id=bot.self_id,
|
|
adapter="satori",
|
|
group_id=group_id,
|
|
user_id=str(event.user.id),
|
|
message_id=[ms.__str__() for ms in event.message],
|
|
message=event.message,
|
|
message_text=event.message.content,
|
|
message_type=event_utils.get_message_type(event),
|
|
)
|
|
msg_db.save(mem)
|