38 lines
1.2 KiB
Python
38 lines
1.2 KiB
Python
from nonebot import on_notice, require
|
|||
|
|
from nonebot.adapters.onebot.v11 import (
|
||
|
|
Bot,
|
||
|
|
GroupDecreaseNoticeEvent,
|
||
|
|
GroupIncreaseNoticeEvent,
|
||
|
|
)
|
||
|
|
from nonebot.rule import is_type
|
||
|
|
|
||
|
|
require("nonebot_plugin_alconna")
|
||
|
|
from nonebot_plugin_alconna import UniMessage
|
||
|
|
|
||
|
|
group_decrease_notice = on_notice(rule=is_type(GroupDecreaseNoticeEvent))
|
||
|
|
|
||
|
|
|
||
|
|
@group_decrease_notice.handle()
|
||
|
|
async def group_decrease_handle(bot: Bot, ev: GroupDecreaseNoticeEvent):
|
||
|
|
sub_type = ev.sub_type
|
||
|
|
uid = ev.user_id
|
||
|
|
operator_id = ev.operator_id
|
||
|
|
data = await bot.get_stranger_info(user_id=uid)
|
||
|
|
name = data["nickname"]
|
||
|
|
if sub_type == "kick":
|
||
|
|
await UniMessage.at(user_id=operator_id).text(
|
||
|
|
f"认为{name}({uid})不适合本群"
|
||
|
|
).send()
|
||
|
|
elif sub_type == "leave":
|
||
|
|
await UniMessage.text(f"{name}({uid})离开了我们,相信会有再见的一天!").send()
|
||
|
|
|
||
|
|
|
||
|
|
group_increase_notice = on_notice(rule=is_type(GroupIncreaseNoticeEvent))
|
||
|
|
|
||
|
|
|
||
|
|
@group_increase_notice.handle()
|
||
|
|
async def group_increase_handle(bot: Bot, ev: GroupIncreaseNoticeEvent):
|
||
|
|
if ev.user_id == ev.self_id:
|
||
|
|
return # 忽略自己
|
||
|
|
await UniMessage.text("欢迎入群~,请认真阅读群规").send(at_sender=True)
|