async def _(event): if event.fwd_from: return input_str = event.pattern_match.group(1) try: sql.set_flood(event.chat_id, input_str) sql.__load_flood_settings() await event.edit("Antiflood updated to {} in the current chat".format(input_str)) except Exception as e: # pylint:disable=C0103,W0703 await event.edit(str(e))
import asyncio from telethon import events from telethon.tl.functions.channels import EditBannedRequest from telethon.tl.types import ChatBannedRights import sql_helpers.antiflood_sql as sql CHAT_FLOOD = sql.__load_flood_settings() # warn mode for anti flood ANTI_FLOOD_WARN_MODE = ChatBannedRights(until_date=None, view_messages=None, send_messages=True) @borg.on(slitu.admin_cmd(incoming=True)) async def _(event): # logger.info(CHAT_FLOOD) if not CHAT_FLOOD: return admin_c = await slitu.is_admin(event.client, event.chat_id, event.message.from_id) if admin_c: return if str(event.chat_id) not in CHAT_FLOOD: return should_ban = sql.update_flood(event.chat_id, event.message.from_id) if not should_ban: return try: await event.client( EditBannedRequest(event.chat_id, event.message.from_id, ANTI_FLOOD_WARN_MODE))