Пример #1
0
 def decorator(func):
     if not disable_edited:
         bot.add_event_handler(func, events.MessageEdited(**args))
     bot.add_event_handler(func, events.NewMessage(**args))
     try:
         LOAD_PLUG[file_test].append(func)
     except Exception as e:
         LOAD_PLUG.update({file_test: [func]})
     return func
Пример #2
0
 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
Пример #3
0
    def decorator(func):
        async def wrapper(event):
            chat = event.chat
            if admins_only:
                if event.is_private:
                    return await edit_delete(
                        event,
                        "**Perintah ini hanya bisa digunakan di grup.**", 10)
                if not (chat.admin_rights or chat.creator):
                    return await edit_delete(
                        event, f"**Maaf anda bukan admin di {chat.title}**",
                        10)
            if group_only and not event.is_group:
                return await edit_delete(
                    event, "**Perintah ini hanya bisa digunakan di grup.**",
                    10)
            if private_only and not event.is_private:
                return await edit_delete(
                    event,
                    "**Perintah ini hanya bisa digunakan di private chat.**",
                    10)
            try:
                await func(event)
            # Credits: @mrismanaziz
            # FROM Man-Userbot <https://github.com/mrismanaziz/Man-Userbot>
            # t.me/SharingUserbot & t.me/Lunatic0de
            except MessageNotModifiedError as er:
                LOGS.error(er)
            except MessageIdInvalidError as er:
                LOGS.error(er)
            except BotInlineDisabledError:
                await edit_delete(
                    event, "**Silahkan aktifkan mode Inline untuk bot**", 10)
            except ChatSendStickersForbiddenError:
                await edit_delete(
                    event, "**Tidak dapat mengirim stiker di obrolan ini**",
                    10)
            except BotResponseTimeoutError:
                await edit_delete(
                    event, "**The bot didnt answer to your query in time**")
            except ChatSendMediaForbiddenError:
                await edit_delete(
                    event, "**Tidak dapat mengirim media dalam obrolan ini**",
                    10)
            except AlreadyInConversationError:
                await edit_delete(
                    event,
                    "**Percakapan sudah terjadi dengan obrolan yang diberikan. coba lagi setelah beberapa waktu.**",
                )
            except ChatSendInlineForbiddenError:
                await edit_delete(
                    event,
                    "**Tidak dapat mengirim pesan inline dalam obrolan ini.**",
                    10,
                )
            except FloodWaitError as e:
                LOGS.error(
                    f"Telah Terjadi flood wait error tunggu {e.seconds} detik dan coba lagi"
                )
                await event.delete()
                await asyncio.sleep(e.seconds + 5)
            except events.StopPropagation:
                raise events.StopPropagation
            except KeyboardInterrupt:
                pass
            except BaseException as e:
                LOGS.exception(e)

        if bot:
            if not disable_edited:
                bot.add_event_handler(
                    wrapper,
                    events.MessageEdited(**args,
                                         outgoing=True,
                                         pattern=man_reg),
                )
            bot.add_event_handler(
                wrapper,
                events.NewMessage(**args, outgoing=True, pattern=man_reg))
        if bot:
            if allow_sudo:
                if not disable_edited:
                    bot.add_event_handler(
                        wrapper,
                        events.MessageEdited(**args,
                                             from_users=list(SUDO_USERS),
                                             pattern=sudo_reg),
                    )
                bot.add_event_handler(
                    wrapper,
                    events.NewMessage(**args,
                                      from_users=list(SUDO_USERS),
                                      pattern=sudo_reg),
                )
        if MAN2:
            if not disable_edited:
                MAN2.add_event_handler(
                    wrapper,
                    events.MessageEdited(**args,
                                         outgoing=True,
                                         pattern=man_reg),
                )
            MAN2.add_event_handler(
                wrapper,
                events.NewMessage(**args, outgoing=True, pattern=man_reg))
        if MAN3:
            if not disable_edited:
                MAN3.add_event_handler(
                    wrapper,
                    events.MessageEdited(**args,
                                         outgoing=True,
                                         pattern=man_reg),
                )
            MAN3.add_event_handler(
                wrapper,
                events.NewMessage(**args, outgoing=True, pattern=man_reg))
        if MAN4:
            if not disable_edited:
                MAN4.add_event_handler(
                    wrapper,
                    events.MessageEdited(**args,
                                         outgoing=True,
                                         pattern=man_reg),
                )
            MAN4.add_event_handler(
                wrapper,
                events.NewMessage(**args, outgoing=True, pattern=man_reg))
        if MAN5:
            if not disable_edited:
                MAN5.add_event_handler(
                    wrapper,
                    events.MessageEdited(**args,
                                         outgoing=True,
                                         pattern=man_reg),
                )
            MAN5.add_event_handler(
                wrapper,
                events.NewMessage(**args, outgoing=True, pattern=man_reg))
        try:
            LOAD_PLUG[file_test].append(wrapper)
        except Exception:
            LOAD_PLUG.update({file_test: [wrapper]})
        return wrapper