nonebot2/demo/plugins/weather/__init__.py
2019-01-21 10:39:06 +08:00

44 lines
1.2 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 nonebot import (
CommandSession, CommandGroup,
on_natural_language, NLPSession, NLPResult
)
from nonebot.helpers import render_expression as __
from . import expressions as e
__plugin_name__ = '天气'
__plugin_usage__ = r"""
天气功能使用帮助
天气 [城市名称]
""".strip()
w = CommandGroup('weather')
@w.command('weather', aliases=('天气', '天气预报'))
async def weather(session: CommandSession):
city = session.get('city', prompt=__(e.WHICH_CITY))
await session.send(__(e.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')