mirror of
https://github.com/nonebot/nonebot2.git
synced 2024-11-25 01:25:04 +08:00
43 lines
1.3 KiB
Python
43 lines
1.3 KiB
Python
from none import CommandSession, CommandGroup
|
|
|
|
from . import expressions as expr
|
|
|
|
w = CommandGroup('weather')
|
|
|
|
|
|
@w.command('weather', aliases=('天气', '天气预报'))
|
|
async def weather(session: CommandSession):
|
|
city = session.require_arg('city', prompt_expr=expr.WHICH_CITY)
|
|
await session.send_expr(expr.REPORT, city=city)
|
|
|
|
|
|
@weather.args_parser
|
|
async def _(session: CommandSession):
|
|
if session.current_key:
|
|
session.args[session.current_key] = session.current_arg_text.strip()
|
|
|
|
|
|
# @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
|
|
|
|
|
|
@w.command('suggestion', aliases=('生活指数', '生活建议', '生活提示'))
|
|
async def suggestion(session: CommandSession):
|
|
await session.send('suggestion')
|