mirror of
https://github.com/nonebot/nonebot2.git
synced 2024-11-28 08:12:14 +08:00
commit
a45d88ef29
@ -69,7 +69,7 @@ async def handle2(bot: Bot, event: Event, state: T_State):
|
|||||||
```python
|
```python
|
||||||
@matcher.got("key1")
|
@matcher.got("key1")
|
||||||
@matcher.got("key2")
|
@matcher.got("key2")
|
||||||
async def handle(bot: Bot, event: Event, state: State):
|
async def handle(bot: Bot, event: Event, state: T_State):
|
||||||
pass
|
pass
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -169,12 +169,12 @@ matcher = on_command("test")
|
|||||||
|
|
||||||
# 修改默认参数处理
|
# 修改默认参数处理
|
||||||
@matcher.args_parser
|
@matcher.args_parser
|
||||||
async def parse(bot: Bot, event: Event, state: State):
|
async def parse(bot: Bot, event: Event, state: T_State):
|
||||||
print(state["_current_key"], ":", str(event.get_message()))
|
print(state["_current_key"], ":", str(event.get_message()))
|
||||||
state[state["_current_key"]] = str(event.get_message())
|
state[state["_current_key"]] = str(event.get_message())
|
||||||
|
|
||||||
@matcher.handle()
|
@matcher.handle()
|
||||||
async def first_receive(bot: Bot, event: Event, state: State):
|
async def first_receive(bot: Bot, event: Event, state: T_State):
|
||||||
# 获取用户原始命令,如:/test
|
# 获取用户原始命令,如:/test
|
||||||
print(state["_prefix"]["raw_command"])
|
print(state["_prefix"]["raw_command"])
|
||||||
# 处理用户输入参数,如:/test arg1 arg2
|
# 处理用户输入参数,如:/test arg1 arg2
|
||||||
@ -186,7 +186,7 @@ async def first_receive(bot: Bot, event: Event, state: State):
|
|||||||
|
|
||||||
|
|
||||||
@matcher.got("arg1", prompt="参数?")
|
@matcher.got("arg1", prompt="参数?")
|
||||||
async def arg_handle(bot: Bot, event: Event, state: State):
|
async def arg_handle(bot: Bot, event: Event, state: T_State):
|
||||||
# 在这里对参数进行验证
|
# 在这里对参数进行验证
|
||||||
if state["arg1"] not in ["allow", "list"]:
|
if state["arg1"] not in ["allow", "list"]:
|
||||||
await matcher.reject("参数不正确!请重新输入")
|
await matcher.reject("参数不正确!请重新输入")
|
||||||
|
@ -21,7 +21,7 @@ async def handle_first_receive(bot: Bot, event: Event, state: T_State):
|
|||||||
|
|
||||||
|
|
||||||
@weather.got("city", prompt="你想查询哪个城市的天气呢?")
|
@weather.got("city", prompt="你想查询哪个城市的天气呢?")
|
||||||
async def handle_city(bot: Bot, event: Event, state: State):
|
async def handle_city(bot: Bot, event: Event, state: T_State):
|
||||||
city = state["city"]
|
city = state["city"]
|
||||||
if city not in ["上海", "北京"]:
|
if city not in ["上海", "北京"]:
|
||||||
await weather.reject("你想查询的城市暂不支持,请重新输入!")
|
await weather.reject("你想查询的城市暂不支持,请重新输入!")
|
||||||
@ -115,16 +115,17 @@ rule 的出现使得 nonebot 对事件的响应可以非常自由,nonebot 内
|
|||||||
|
|
||||||
```python
|
```python
|
||||||
from nonebot.rule import Rule
|
from nonebot.rule import Rule
|
||||||
|
from nonebot.typing import T_State
|
||||||
|
|
||||||
async def async_checker(bot: Bot, event: Event, state: State) -> bool:
|
async def async_checker(bot: Bot, event: Event, state: T_State) -> bool:
|
||||||
return True
|
return True
|
||||||
|
|
||||||
def sync_checker(bot: Bot, event: Event, state: State) -> bool:
|
def sync_checker(bot: Bot, event: Event, state: T_State) -> bool:
|
||||||
return True
|
return True
|
||||||
|
|
||||||
def check(arg1, args2):
|
def check(arg1, args2):
|
||||||
|
|
||||||
async def _checker(bot: Bot, event: Event, state: State) -> bool:
|
async def _checker(bot: Bot, event: Event, state: T_State) -> bool:
|
||||||
return bool(arg1 + arg2)
|
return bool(arg1 + arg2)
|
||||||
|
|
||||||
return Rule(_check)
|
return Rule(_check)
|
||||||
|
Loading…
Reference in New Issue
Block a user