nonebot2/none_demo/plugins/weather/__init__.py

36 lines
1.0 KiB
Python
Raw Normal View History

2018-07-01 17:51:01 +08:00
from none import (
CommandSession, CommandGroup,
on_natural_language, NLPSession, NLPResult
)
2018-06-26 08:49:08 +08:00
from . import expressions as expr
2018-06-25 21:14:27 +08:00
2018-06-25 22:49:15 +08:00
w = CommandGroup('weather')
2018-06-25 21:14:27 +08:00
2018-06-25 22:49:15 +08:00
@w.command('weather', aliases=('天气', '天气预报'))
2018-06-27 22:05:12 +08:00
async def weather(session: CommandSession):
2018-07-01 17:51:01 +08:00
city = session.get('city', prompt_expr=expr.WHICH_CITY)
2018-06-25 21:14:27 +08:00
await session.send_expr(expr.REPORT, city=city)
@weather.args_parser
2018-06-27 22:05:12 +08:00
async def _(session: CommandSession):
2018-07-01 17:51:01 +08:00
striped_arg = session.current_arg_text.strip()
2018-06-25 21:14:27 +08:00
if session.current_key:
2018-07-01 17:51:01 +08:00
session.args[session.current_key] = striped_arg
elif striped_arg:
session.args['city'] = striped_arg
@on_natural_language({'天气', '', '', '', ''}, only_to_me=False)
async def _(session: NLPSession):
if not ('?' in session.msg_text or '' in session.msg_text):
return None
return NLPResult(90.0, ('weather', 'weather'), {})
2018-07-01 11:01:24 +08:00
2018-06-25 22:49:15 +08:00
@w.command('suggestion', aliases=('生活指数', '生活建议', '生活提示'))
2018-06-27 22:05:12 +08:00
async def suggestion(session: CommandSession):
2018-06-25 21:14:27 +08:00
await session.send('suggestion')