From dd49e13fbf1f99b984677c7ebf56d01c415781b1 Mon Sep 17 00:00:00 2001 From: Dan Elkouby Date: Sun, 2 Aug 2020 14:45:25 +0000 Subject: [PATCH] Merge "plugins" plugin into _core --- stdplugins/plugins.py | 17 ----------------- uniborg/_core.py | 13 +++++++++++++ 2 files changed, 13 insertions(+), 17 deletions(-) delete mode 100644 stdplugins/plugins.py diff --git a/stdplugins/plugins.py b/stdplugins/plugins.py deleted file mode 100644 index 225c690..0000000 --- a/stdplugins/plugins.py +++ /dev/null @@ -1,17 +0,0 @@ -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this -# file, You can obtain one at http://mozilla.org/MPL/2.0/. -""" -Show all loaded .plugins -""" -from telethon import events - - -@borg.on(events.NewMessage(pattern=r"\.plugins", outgoing=True)) -async def _(event): - result = f'{len(borg._plugins)} plugins loaded:' - for name, mod in sorted(borg._plugins.items(), key=lambda t: t[0]): - desc = (mod.__doc__ or '__no description__').replace('\n', ' ').strip() - result += f'\n**{name}**: {desc}' - - await event.edit(result) diff --git a/uniborg/_core.py b/uniborg/_core.py index 77f68b0..c205257 100644 --- a/uniborg/_core.py +++ b/uniborg/_core.py @@ -48,3 +48,16 @@ async def remove(event): if not borg.me.bot: await asyncio.sleep(DELETE_TIMEOUT) await borg.delete_messages(msg.to_id, msg) + + +@borg.on(borg.admin_cmd(r"plugins")) +async def list_plugins(event): + result = f'{len(borg._plugins)} plugins loaded:' + for name, mod in sorted(borg._plugins.items(), key=lambda t: t[0]): + desc = (mod.__doc__ or '__no description__').replace('\n', ' ').strip() + result += f'\n**{name}**: {desc}' + + if not borg.me.bot: + await event.edit(result) + else: + await event.respond(result)