From 95fd4eec976c88a0b632a948b4723f1ced2e45fe Mon Sep 17 00:00:00 2001 From: eyezis Date: Sun, 3 Jun 2018 14:16:00 +0200 Subject: [PATCH] remove unused plugins --- stdplugins/aesthetics.py | 26 ---------- stdplugins/all.py | 15 ------ stdplugins/re.py | 100 --------------------------------------- 3 files changed, 141 deletions(-) delete mode 100644 stdplugins/aesthetics.py delete mode 100644 stdplugins/all.py delete mode 100644 stdplugins/re.py diff --git a/stdplugins/aesthetics.py b/stdplugins/aesthetics.py deleted file mode 100644 index 462fc32..0000000 --- a/stdplugins/aesthetics.py +++ /dev/null @@ -1,26 +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/. - -from telethon import events - -PRINTABLE_ASCII = range(0x21, 0x7f) - - -def aesthetify(string): - for c in string: - c = ord(c) - if c in PRINTABLE_ASCII: - c += 0xFF00 - 0x20 - elif c == ord(" "): - c = 0x3000 - yield chr(c) - - -@borg.on(events.NewMessage(pattern=r'.ae\s+(.+)', outgoing=True)) -@borg.on(events.MessageEdited(pattern=r'.ae\s+(.+)', outgoing=True)) -async def _(event): - text = event.pattern_match.group(1) - text = "".join(aesthetify(text)) - await event.edit(text=text, parse_mode=None, link_preview=False) - raise events.StopPropagation diff --git a/stdplugins/all.py b/stdplugins/all.py deleted file mode 100644 index 65f9528..0000000 --- a/stdplugins/all.py +++ /dev/null @@ -1,15 +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/. - -from telethon import events - -@borg.on(events.NewMessage(pattern=r"\.all", outgoing=True)) -async def _(event): - if event.forward: - return - await event.delete() - mentions = "@all" - async for x in borg.iter_participants(await event.input_chat, 100): - mentions += f"[\u2063](tg://user?id={x.id})" - await event.respond(mentions) diff --git a/stdplugins/re.py b/stdplugins/re.py deleted file mode 100644 index df3e908..0000000 --- a/stdplugins/re.py +++ /dev/null @@ -1,100 +0,0 @@ -from collections import defaultdict, deque -import re - -import regex -from telethon import events, utils -from telethon.tl import types, functions - -HEADER = "[[regex]]\n" -KNOWN_RE_BOTS = re.compile( - r'(regex|moku|BananaButler_|rgx|l4mR)bot', - flags=re.IGNORECASE -) - -# Heavily based on -# https://github.com/SijmenSchoon/regexbot/blob/master/regexbot.py - -last_msgs = defaultdict(lambda: deque(maxlen=10)) - - -def doit(chat_id, match, original): - fr = match.group(1) - to = match.group(2) - to = to.replace('\\/', '/') - try: - fl = match.group(3) - if fl is None: - fl = '' - fl = fl[1:] - except IndexError: - fl = '' - - # Build Python regex flags - count = 1 - flags = 0 - for f in fl: - if f == 'i': - flags |= regex.IGNORECASE - elif f == 'g': - count = 0 - else: - return None, f"Unknown flag: {f}" - - def actually_doit(original): - try: - s = original.message - if s.startswith(HEADER): - s = s[len(HEADER):] - s, i = regex.subn(fr, to, s, count=count, flags=flags) - if i > 0: - return original, s - except Exception as e: - return None, f"u dun goofed m8: {str(e)}" - return None, None - - if original is not None: - return actually_doit(original) - # Try matching the last few messages - for original in last_msgs[chat_id]: - m, s = actually_doit(original) - if s is not None: - return m, s - return None, None - - -async def group_has_regex(group): - if isinstance(group, types.InputPeerChannel): - full = await borg(functions.channels.GetFullChannelRequest(group)) - elif isinstance(group, types.InputPeerChat): - full = await borg(functions.messages.GetFullChatRequest(group.chat_id)) - else: - return False - - return any(KNOWN_RE_BOTS.match(x.username or '') for x in full.users) - - -@borg.on(events.NewMessage) -async def on_message(event): - last_msgs[event.chat_id].appendleft(event.message) - - -@borg.on(events.NewMessage( - pattern=re.compile(r"^s/((?:\\/|[^/])+)/((?:\\/|[^/])*)(/.*)?"))) -async def on_regex(event): - if event.forward: - return - if not event.is_private and await group_has_regex(await event.input_chat): - return - - chat_id = utils.get_peer_id(await event.input_chat) - - m, s = doit(chat_id, event.pattern_match, await event.reply_message) - - if m is not None: - s = f"{HEADER}{s}" - out = await borg.send_message(await event.input_chat, s, reply_to=m.id) - last_msgs[chat_id].appendleft(out) - elif s is not None: - await event.reply(s) - - raise events.StopPropagation