Skip to content

Commit

Permalink
🔀 Merge pull request #133
Browse files Browse the repository at this point in the history
Pre Release 2.0.0a8.post1
  • Loading branch information
yanyongyu authored Jan 1, 2021
2 parents a966f82 + 38ab392 commit f036057
Show file tree
Hide file tree
Showing 44 changed files with 24 additions and 20 deletions.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -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
```

Expand Down Expand Up @@ -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
Expand All @@ -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("参数不正确!请重新输入")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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("你想查询的城市暂不支持,请重新输入!")
Expand Down Expand Up @@ -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)
Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
2 changes: 1 addition & 1 deletion docs/.vuepress/versions.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
[
"2.0.0a8",
"2.0.0a8.post1",
"2.0.0a7"
]
8 changes: 4 additions & 4 deletions docs/guide/creating-a-handler.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
```

Expand Down Expand Up @@ -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
Expand All @@ -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("参数不正确!请重新输入")
Expand Down
9 changes: 5 additions & 4 deletions docs/guide/creating-a-matcher.md
Original file line number Diff line number Diff line change
Expand Up @@ -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("你想查询的城市暂不支持,请重新输入!")
Expand Down Expand Up @@ -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)
Expand Down
3 changes: 2 additions & 1 deletion nonebot/adapters/cqhttp/event.py
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand Down Expand Up @@ -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:
Expand Down
3 changes: 2 additions & 1 deletion nonebot/adapters/cqhttp/exception.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,8 @@ def __init__(self, **kwargs):
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__()
Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
@@ -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 <[email protected]>"]
license = "MIT"
Expand Down

0 comments on commit f036057

Please sign in to comment.