def decorator(func): if allow_edited_updates: bot.add_event_handler(func, events.MessageEdited(**args)) bot.add_event_handler(func, events.NewMessage(**args)) try: LOAD_PLUG[file_test].append(func) except: LOAD_PLUG.update({file_test: [func]}) return func
def __init__(self, func=None, **args): self.Var = Var bot.add_event_handler(func, events.NewMessage(**args))
def decorator(func): async def wrapper(check): if not PRIVATE_GROUP_ID: send_to = check.chat_id else: send_to = PRIVATE_GROUP_ID if not trigger_on_fwd and check.fwd_from: return if groups_only and not check.is_group: await check.respond("`I don't think this is a group.`") return try: await func(check) # Thanks to @kandnub for this HACK. # Raise StopPropagation to Raise StopPropagation # This needed for AFK to working properly except events.StopPropagation: raise events.StopPropagation # This is a gay exception and must be passed out. So that it doesnt spam chats except KeyboardInterrupt: pass except BaseException: # Check if we have to disable it. # If not silence the log spam on the console, # with a dumb except. if not disable_errors: date = strftime("%Y-%m-%d %H:%M:%S", gmtime()) text = "**USERBOT ERROR REPORT**\n" link = "[PaperplaneExtended Support Chat](https://t.me/PaperplaneExtendedSupport)" text += "If you want to, you can report it" text += f"- just forward this message to {link}.\n" text += "Nothing is logged except the fact of error and date\n" ftext = "========== DISCLAIMER ==========" ftext += "\nThis file uploaded ONLY here," ftext += "\nwe logged only fact of error and date," ftext += "\nwe respect your privacy," ftext += "\nyou may not report this error if you've" ftext += "\nany confidential data here, no one will see your data\n" ftext += "================================\n\n" ftext += "--------BEGIN USERBOT TRACEBACK LOG--------\n" ftext += "\nDate: " + date ftext += "\nChat ID: " + str(check.chat_id) ftext += "\nSender ID: " + str(check.sender_id) ftext += "\n\nEvent Trigger:\n" ftext += str(check.text) ftext += "\n\nTraceback info:\n" ftext += str(format_exc()) ftext += "\n\nError text:\n" ftext += str(sys.exc_info()[1]) ftext += "\n\n--------END USERBOT TRACEBACK LOG--------" command = 'git log --pretty=format:"%an: %s" -10' ftext += "\n\n\nLast 10 commits:\n" process = await asyncsubshell(command, stdout=asyncsub.PIPE, stderr=asyncsub.PIPE) stdout, stderr = await process.communicate() result = str(stdout.decode().strip()) + str( stderr.decode().strip()) ftext += result file = open("error.log", "w+") file.write(ftext) file.close() if LOGSPAMMER: await check.client.respond( "`Sorry, my FreakyUserbot has crashed.\ \nThe error logs are stored in the FreakyUserbot's log chat.`" ) await check.client.send_file(send_to, "error.log", caption=text) remove("error.log") else: pass if not disable_edited: bot.add_event_handler(wrapper, events.MessageEdited(**args)) bot.add_event_handler(wrapper, events.NewMessage(**args)) return wrapper