nonebot2/none_demo/plugins/weather/__init__.py
Richard Chien 6ec3ac66f7 Add NLP
2018-07-01 17:51:01 +08:00

36 lines
1.0 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

from none import (
CommandSession, CommandGroup,
on_natural_language, NLPSession, NLPResult
)
from . import expressions as expr
w = CommandGroup('weather')
@w.command('weather', aliases=('天气', '天气预报'))
async def weather(session: CommandSession):
city = session.get('city', prompt_expr=expr.WHICH_CITY)
await session.send_expr(expr.REPORT, city=city)
@weather.args_parser
async def _(session: CommandSession):
striped_arg = session.current_arg_text.strip()
if session.current_key:
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'), {})
@w.command('suggestion', aliases=('生活指数', '生活建议', '生活提示'))
async def suggestion(session: CommandSession):
await session.send('suggestion')