2022-08-30 09:54:09 +08:00
from datetime import datetime , timezone
from nonebot . adapters import Event
2023-03-29 12:22:50 +08:00
from nonebot . matcher import Matcher
2022-08-30 09:54:09 +08:00
from nonebot import (
CommandGroup ,
MatcherGroup ,
on ,
on_type ,
on_regex ,
on_notice ,
on_command ,
on_keyword ,
on_message ,
on_request ,
on_endswith ,
on_fullmatch ,
on_metaevent ,
on_startswith ,
on_shell_command ,
)
async def rule ( ) - > bool :
return True
async def permission ( ) - > bool :
return True
async def handler ( ) :
return
expire_time = datetime . now ( timezone . utc )
priority = 100
state = { " test " : " test " }
matcher_on = on (
" test " ,
rule = rule ,
permission = permission ,
handlers = [ handler ] ,
temp = True ,
expire_time = expire_time ,
priority = priority ,
block = True ,
state = state ,
)
2024-04-16 00:33:48 +08:00
def matcher_on_factory ( ) - > type [ Matcher ] :
2023-03-29 12:22:50 +08:00
return on (
" test " ,
rule = rule ,
permission = permission ,
handlers = [ handler ] ,
temp = True ,
expire_time = expire_time ,
priority = priority ,
block = True ,
state = state ,
)
2022-08-30 09:54:09 +08:00
matcher_on_metaevent = on_metaevent (
rule = rule ,
handlers = [ handler ] ,
temp = True ,
expire_time = expire_time ,
priority = priority ,
block = True ,
state = state ,
)
matcher_on_message = on_message (
rule = rule ,
permission = permission ,
handlers = [ handler ] ,
temp = True ,
expire_time = expire_time ,
priority = priority ,
block = True ,
state = state ,
)
matcher_on_notice = on_notice (
rule = rule ,
handlers = [ handler ] ,
temp = True ,
expire_time = expire_time ,
priority = priority ,
block = True ,
state = state ,
)
matcher_on_request = on_request (
rule = rule ,
handlers = [ handler ] ,
temp = True ,
expire_time = expire_time ,
priority = priority ,
block = True ,
state = state ,
)
matcher_on_startswith = on_startswith (
" test " ,
rule = rule ,
permission = permission ,
handlers = [ handler ] ,
temp = True ,
expire_time = expire_time ,
priority = priority ,
block = True ,
state = state ,
)
matcher_on_endswith = on_endswith (
" test " ,
rule = rule ,
permission = permission ,
handlers = [ handler ] ,
temp = True ,
expire_time = expire_time ,
priority = priority ,
block = True ,
state = state ,
)
matcher_on_fullmatch = on_fullmatch (
" test " ,
rule = rule ,
permission = permission ,
handlers = [ handler ] ,
temp = True ,
expire_time = expire_time ,
priority = priority ,
block = True ,
state = state ,
)
matcher_on_keyword = on_keyword (
{ " test " } ,
rule = rule ,
permission = permission ,
handlers = [ handler ] ,
temp = True ,
expire_time = expire_time ,
priority = priority ,
block = True ,
state = state ,
)
matcher_on_command = on_command (
" test " ,
rule = rule ,
permission = permission ,
handlers = [ handler ] ,
temp = True ,
expire_time = expire_time ,
priority = priority ,
block = True ,
state = state ,
)
matcher_on_shell_command = on_shell_command (
" test " ,
rule = rule ,
permission = permission ,
handlers = [ handler ] ,
temp = True ,
expire_time = expire_time ,
priority = priority ,
block = True ,
state = state ,
)
matcher_on_regex = on_regex (
" test " ,
rule = rule ,
permission = permission ,
handlers = [ handler ] ,
temp = True ,
expire_time = expire_time ,
priority = priority ,
block = True ,
state = state ,
)
2024-02-06 12:48:23 +08:00
class TestEvent ( Event ) : . . .
2022-08-30 09:54:09 +08:00
matcher_on_type = on_type (
TestEvent ,
rule = rule ,
permission = permission ,
handlers = [ handler ] ,
temp = True ,
expire_time = expire_time ,
priority = priority ,
block = True ,
state = state ,
)
cmd_group = CommandGroup (
2023-07-01 15:40:30 +08:00
" prefix " ,
2022-08-30 09:54:09 +08:00
rule = rule ,
permission = permission ,
handlers = [ handler ] ,
temp = True ,
expire_time = expire_time ,
priority = priority ,
block = True ,
state = state ,
)
2023-07-01 15:40:30 +08:00
matcher_prefix_cmd = cmd_group . command ( " sub " , aliases = { " help " , ( " help " , " foo " ) } )
matcher_prefix_shell_cmd = cmd_group . shell_command (
" sub " , aliases = { " help " , ( " help " , " foo " ) }
)
cmd_group_prefix_aliases = CommandGroup (
" prefix " ,
prefix_aliases = True ,
rule = rule ,
permission = permission ,
handlers = [ handler ] ,
temp = True ,
expire_time = expire_time ,
priority = priority ,
block = True ,
state = state ,
)
matcher_prefix_aliases_cmd = cmd_group_prefix_aliases . command (
" sub " , aliases = { " help " , ( " help " , " foo " ) }
)
matcher_prefix_aliases_shell_cmd = cmd_group_prefix_aliases . shell_command (
" sub " , aliases = { " help " , ( " help " , " foo " ) }
)
2022-08-30 09:54:09 +08:00
matcher_group = MatcherGroup (
rule = rule ,
permission = permission ,
handlers = [ handler ] ,
temp = True ,
expire_time = expire_time ,
priority = priority ,
block = True ,
state = state ,
)
matcher_group_on = matcher_group . on ( type = " test " )
matcher_group_on_metaevent = matcher_group . on_metaevent ( )
matcher_group_on_message = matcher_group . on_message ( )
matcher_group_on_notice = matcher_group . on_notice ( )
matcher_group_on_request = matcher_group . on_request ( )
matcher_group_on_startswith = matcher_group . on_startswith ( " test " )
matcher_group_on_endswith = matcher_group . on_endswith ( " test " )
matcher_group_on_fullmatch = matcher_group . on_fullmatch ( " test " )
matcher_group_on_keyword = matcher_group . on_keyword ( { " test " } )
matcher_group_on_command = matcher_group . on_command ( " test " )
matcher_group_on_shell_command = matcher_group . on_shell_command ( " test " )
matcher_group_on_regex = matcher_group . on_regex ( " test " )
matcher_group_on_type = matcher_group . on_type ( TestEvent )