Add "switch" builtin command

This commit is contained in:
Richard Chien 2018-12-22 20:21:31 +08:00
parent 0751f05d6c
commit 6491f274fb
2 changed files with 27 additions and 11 deletions

View File

@ -26,6 +26,7 @@ async def handle_message(bot: NoneBot, ctx: Context_T) -> None:
if coros: if coros:
await asyncio.wait(coros) await asyncio.wait(coros)
if 'to_me' not in ctx:
if ctx['message_type'] != 'private': if ctx['message_type'] != 'private':
# group or discuss # group or discuss
ctx['to_me'] = False ctx['to_me'] = False

View File

@ -1,5 +1,8 @@
import asyncio
from none import on_command, CommandSession, permission as perm from none import on_command, CommandSession, permission as perm
from none.message import unescape from none.command import kill_current_session
from none.message import unescape, Message, handle_message
@on_command('echo') @on_command('echo')
@ -11,3 +14,15 @@ async def echo(session: CommandSession):
async def _(session: CommandSession): async def _(session: CommandSession):
await session.send( await session.send(
unescape(session.get_optional('message') or session.current_arg)) unescape(session.get_optional('message') or session.current_arg))
@on_command('switch', privileged=True)
async def _(session: CommandSession):
kill_current_session(session.bot, session.ctx)
msg = Message(session.current_arg)
await session.send(msg)
ctx = session.ctx.copy()
ctx['message'] = msg
asyncio.ensure_future(handle_message(session.bot, ctx))