nonebot2/nonebot/plugins/echo.py
2021-11-22 23:21:26 +08:00

33 lines
815 B
Python

from functools import reduce
from nonebot.rule import to_me
from nonebot.plugin import on_command
from nonebot.permission import SUPERUSER
from nonebot.adapters.cqhttp import (
Message,
MessageEvent,
MessageSegment,
unescape,
)
say = on_command("say", to_me(), permission=SUPERUSER)
@say.handle()
async def say_unescape(event: MessageEvent):
def _unescape(message: Message, segment: MessageSegment):
if segment.is_text():
return message.append(unescape(str(segment)))
return message.append(segment)
message = reduce(_unescape, event.get_message(), Message()) # type: ignore
await say.send(message=message)
echo = on_command("echo", to_me())
@echo.handle()
async def echo_escape(event: MessageEvent):
await echo.send(message=event.get_message())