🐛 fix: strip after at bot

This commit is contained in:
yanyongyu 2020-09-10 18:31:53 +08:00
parent 6d37417d21
commit bd7aaa94c6
5 changed files with 23 additions and 2 deletions

View File

@ -84,6 +84,9 @@ def _check_at_me(bot: "Bot", event: "Event"):
if first_msg_seg == at_me_seg:
event.to_me = True
del event.message[0]
if event.message[0].type == "text":
event.message[0].data["text"] = event.message[0].data[
"text"].lstrip()
if not event.to_me:
# check the last segment

View File

@ -151,6 +151,8 @@ def on_command(cmd: Union[str, Tuple[str, ...]],
async def _strip_cmd(bot, event, state: dict):
message = event.message
print(message[0].data)
print(state["_prefix"])
event.message = message.__class__(
str(message)[len(state["_prefix"]["raw_command"]):].strip())

View File

@ -20,7 +20,7 @@ nonebot.init()
app = nonebot.get_asgi()
# load builtin plugin
nonebot.load_plugin("nonebot.plugins.base")
nonebot.load_builtin_plugins()
# load local plugins
nonebot.load_plugins("test_plugins")

View File

@ -1,11 +1,12 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
from nonebot.rule import to_me
from nonebot.typing import Event
from nonebot.plugin import on_message
from nonebot.adapters.cqhttp import Bot
test_message = on_message(state={"default": 1})
test_message = on_message(to_me(), state={"default": 1})
@test_message.handle()

View File

@ -0,0 +1,15 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
from nonebot.rule import to_me
from nonebot.typing import Event
from nonebot.plugin import on_startswith
from nonebot.adapters.cqhttp import Bot
from nonebot.permission import GROUP_ADMIN
test_command = on_startswith("hello", to_me(), permission=GROUP_ADMIN)
@test_command.handle()
async def test_handler(bot: Bot, event: Event, state: dict):
await test_command.finish("hello")