45 lines
1.2 KiB
Python
45 lines
1.2 KiB
Python
import nonebot
|
|
|
|
from nonebot.adapters.onebot.v11.bot import Bot
|
|
from nonebot.adapters.onebot.v11.event import GroupMessageEvent
|
|
from nonebot_plugin_alconna import UniMsg, UniMessage
|
|
from pydantic import BaseModel
|
|
|
|
|
|
class NoLuowenConfig(BaseModel):
|
|
plugin_noluowen_qqid: int = -1
|
|
plugin_noluowen_enable_group: list[int] = []
|
|
|
|
config = nonebot.get_plugin_config(NoLuowenConfig)
|
|
|
|
|
|
async def is_luowen_mentioned(evt: GroupMessageEvent, msg: UniMsg) -> bool:
|
|
if config.plugin_noluowen_qqid <= 0:
|
|
return False
|
|
if evt.user_id == config.plugin_noluowen_qqid:
|
|
return False
|
|
if evt.group_id not in config.plugin_noluowen_enable_group:
|
|
return False
|
|
txt = msg.extract_plain_text()
|
|
if "洛温" not in txt:
|
|
return False
|
|
if "罗文" in txt:
|
|
return False
|
|
if "阿特金森" in txt:
|
|
return False
|
|
return True
|
|
|
|
evt_luowen_mentioned = nonebot.on_message(rule=is_luowen_mentioned)
|
|
|
|
|
|
@evt_luowen_mentioned.handle()
|
|
async def _(evt: GroupMessageEvent, bot: Bot):
|
|
msg = (
|
|
UniMessage()
|
|
.reply(str(evt.message_id))
|
|
.at(str(config.plugin_noluowen_qqid))
|
|
.text(" 好像有人念错了你的 ID")
|
|
)
|
|
await evt_luowen_mentioned.send(await msg.export(bot=bot))
|
|
|