nonebot2/none_demo/plugins/weather/__init__.py

43 lines
1.3 KiB
Python
Raw Normal View History

2018-07-01 11:01:24 +08:00
from none import CommandSession, CommandGroup
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-06-25 21:14:27 +08:00
city = session.require_arg('city', prompt_expr=expr.WHICH_CITY)
await session.send_expr(expr.REPORT, city=city)
@weather.args_parser
2018-06-27 22:05:12 +08:00
async def _(session: CommandSession):
2018-06-25 21:14:27 +08:00
if session.current_key:
2018-06-26 08:49:08 +08:00
session.args[session.current_key] = session.current_arg_text.strip()
2018-06-25 21:14:27 +08:00
2018-07-01 11:01:24 +08:00
# @on_natural_language(keywords={'天气', '雨', '雪', '晴', '阴', '多云', '冰雹'},
# only_to_me=False)
# async def weather_nlp(session: NaturalLanguageSession):
# return NLPResult(89.5, ('weather', 'weather'), {'city': '南京'})
#
#
# @weather_nlp.condition
# async def _(session: NaturalLanguageSession):
# keywords = {'天气', '雨', '雪', '晴', '阴', '多云', '冰雹'}
# for kw in keywords:
# if kw in session.text:
# keyword_hit = True
# break
# else:
# keyword_hit = False
# if session.ctx['to_me'] and keyword_hit:
# return True
# return False
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')