🔀 Merge pull request #133

Pre Release 2.0.0a8.post1
This commit is contained in:
Ju4tCode 2021-01-01 09:55:13 -06:00 committed by GitHub
commit f036057b2b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
44 changed files with 24 additions and 20 deletions

View File

@ -69,7 +69,7 @@ async def handle2(bot: Bot, event: Event, state: T_State):
```python
@matcher.got("key1")
@matcher.got("key2")
async def handle(bot: Bot, event: Event, state: State):
async def handle(bot: Bot, event: Event, state: T_State):
pass
```
@ -169,12 +169,12 @@ matcher = on_command("test")
# 修改默认参数处理
@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()))
state[state["_current_key"]] = str(event.get_message())
@matcher.handle()
async def first_receive(bot: Bot, event: Event, state: State):
async def first_receive(bot: Bot, event: Event, state: T_State):
# 获取用户原始命令,如:/test
print(state["_prefix"]["raw_command"])
# 处理用户输入参数,如:/test arg1 arg2
@ -186,7 +186,7 @@ async def first_receive(bot: Bot, event: Event, state: State):
@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"]:
await matcher.reject("参数不正确!请重新输入")

View File

@ -21,7 +21,7 @@ async def handle_first_receive(bot: Bot, event: Event, state: T_State):
@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"]
if city not in ["上海", "北京"]:
await weather.reject("你想查询的城市暂不支持,请重新输入!")
@ -115,16 +115,17 @@ rule 的出现使得 nonebot 对事件的响应可以非常自由nonebot 内
```python
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
def sync_checker(bot: Bot, event: Event, state: State) -> bool:
def sync_checker(bot: Bot, event: Event, state: T_State) -> bool:
return True
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 Rule(_check)

View File

@ -1,4 +1,4 @@
[
"2.0.0a8",
"2.0.0a8.post1",
"2.0.0a7"
]

View File

@ -69,7 +69,7 @@ async def handle2(bot: Bot, event: Event, state: T_State):
```python
@matcher.got("key1")
@matcher.got("key2")
async def handle(bot: Bot, event: Event, state: State):
async def handle(bot: Bot, event: Event, state: T_State):
pass
```
@ -169,12 +169,12 @@ matcher = on_command("test")
# 修改默认参数处理
@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()))
state[state["_current_key"]] = str(event.get_message())
@matcher.handle()
async def first_receive(bot: Bot, event: Event, state: State):
async def first_receive(bot: Bot, event: Event, state: T_State):
# 获取用户原始命令,如:/test
print(state["_prefix"]["raw_command"])
# 处理用户输入参数,如:/test arg1 arg2
@ -186,7 +186,7 @@ async def first_receive(bot: Bot, event: Event, state: State):
@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"]:
await matcher.reject("参数不正确!请重新输入")

View File

@ -21,7 +21,7 @@ async def handle_first_receive(bot: Bot, event: Event, state: T_State):
@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"]
if city not in ["上海", "北京"]:
await weather.reject("你想查询的城市暂不支持,请重新输入!")
@ -115,16 +115,17 @@ rule 的出现使得 nonebot 对事件的响应可以非常自由nonebot 内
```python
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
def sync_checker(bot: Bot, event: Event, state: State) -> bool:
def sync_checker(bot: Bot, event: Event, state: T_State) -> bool:
return True
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 Rule(_check)

View File

@ -184,7 +184,7 @@ class GroupMessageEvent(MessageEvent):
__event__ = "message.group"
message_type: Literal["group"]
group_id: int
anonymous: Anonymous
anonymous: Optional[Anonymous] = None
@overrides(Event)
def get_event_description(self) -> str:
@ -319,6 +319,7 @@ class PokeNotifyEvent(NotifyEvent):
__event__ = "notice.notify.poke"
sub_type: Literal["poke"]
target_id: int
group_id: Optional[int] = None
@overrides(Event)
def is_tome(self) -> bool:

View File

@ -28,7 +28,8 @@ class ActionFailed(BaseActionFailed, CQHTTPAdapterException):
self.info = kwargs
def __repr__(self):
return f"<ActionFailed " + ", ".join(f"{k=}" for k in self.info) + ">"
return f"<ActionFailed " + ", ".join(
f"{k}={v}" for k, v in self.info.items()) + ">"
def __str__(self):
return self.__repr__()

View File

@ -1,6 +1,6 @@
[tool.poetry]
name = "nonebot2"
version = "2.0.0-alpha.8"
version = "2.0.0-alpha.8.post1"
description = "An asynchronous python bot framework."
authors = ["yanyongyu <yanyongyu_1@126.com>"]
license = "MIT"