Ejemplo n.º 1
0
            res = "{} afk".format(fst_name)
            update.effective_message.reply_text(res)
        else:
            res = "{} sedang afk.\nAlasan : <code>{}</code>".format(
                html.escape(fst_name), html.escape(user.reason)
            )
            update.effective_message.reply_text(res, parse_mode="html")


__help__ = """
 • `/afk <reason>`*:* tandai diri Anda sebagai AFK (jauhkan tangan dari keyboard).
 • `brb <reason>`*:* sama dengan perintah afk - tetapi bukan perintah.
Saat ditandai sebagai AFK, setiap sebutan akan dibalas dengan pesan yang mengatakan Anda tidak tersedia!
"""

AFK_HANDLER = DisableAbleCommandHandler("afk", afk)
AFK_REGEX_HANDLER = DisableAbleMessageHandler(
    Filters.regex(r"^(?i)brb(.*)$"), afk, friendly="afk"
)
NO_AFK_HANDLER = MessageHandler(Filters.all & Filters.group, no_longer_afk)
AFK_REPLY_HANDLER = MessageHandler(Filters.all & Filters.group, reply_afk)

dispatcher.add_handler(AFK_HANDLER, AFK_GROUP)
dispatcher.add_handler(AFK_REGEX_HANDLER, AFK_GROUP)
dispatcher.add_handler(NO_AFK_HANDLER, AFK_GROUP)
dispatcher.add_handler(AFK_REPLY_HANDLER, AFK_REPLY_GROUP)

__mod_name__ = "AFK"
__command_list__ = ["afk"]
__handlers__ = [
    (AFK_HANDLER, AFK_GROUP),
Ejemplo n.º 2
0
__help__ = """
Terkadang, Anda mungkin mempercayai pengguna untuk tidak mengirim konten yang tidak diinginkan.
Mungkin tidak cukup untuk menjadikannya admin, tetapi Anda mungkin baik-baik saja dengan kunci, daftar hitam, dan antiflood yang tidak berlaku untuk mereka.

Itulah gunanya persetujuan - setujui pengguna yang dapat dipercaya untuk mengizinkan mereka mengirim

*Perintah admin:*
- `/approval`*:* Periksa status persetujuan pengguna dalam obrolan ini.
- `/approve`*:* Setujui pengguna.  Kunci, daftar hitam, dan antiflood tidak akan berlaku lagi.
- `/unapprove`*:* Tidak menyetujui pengguna.  Mereka sekarang akan terkena kunci, daftar hitam, dan antiflood lagi.
- `/approved`*:* Buat daftar semua pengguna yang disetujui.
- `/unapproveall`*:* Batalkan persetujuan * SEMUA * pengguna dalam obrolan.  Ini tidak dapat dibatalkan.
"""

APPROVE = DisableAbleCommandHandler("approve", approve)
DISAPPROVE = DisableAbleCommandHandler("unapprove", disapprove)
APPROVED = DisableAbleCommandHandler("approved", approved)
APPROVAL = DisableAbleCommandHandler("approval", approval)
UNAPPROVEALL = DisableAbleCommandHandler("unapproveall", unapproveall)
UNAPPROVEALL_BTN = CallbackQueryHandler(unapproveall_btn,
                                        pattern=r"unapproveall_.*")

dispatcher.add_handler(APPROVE)
dispatcher.add_handler(DISAPPROVE)
dispatcher.add_handler(APPROVED)
dispatcher.add_handler(APPROVAL)
dispatcher.add_handler(UNAPPROVEALL)
dispatcher.add_handler(UNAPPROVEALL_BTN)

__mod_name__ = "Approvals"
Ejemplo n.º 3
0
*Catatan*: Filter juga mendukung markdown format seperti: {first}, {last} etc.. dan buttons.
Cek `/markdownhelp` untuk mengetahui lebih lanjut!

"""

__mod_name__ = "Filters"

FILTER_HANDLER = CommandHandler("filter", filters)
STOP_HANDLER = CommandHandler("stop", stop_filter)
RMALLFILTER_HANDLER = CommandHandler("removeallfilters",
                                     rmall_filters,
                                     filters=Filters.group)
RMALLFILTER_CALLBACK = CallbackQueryHandler(rmall_callback,
                                            pattern=r"filters_.*")
LIST_HANDLER = DisableAbleCommandHandler("filters",
                                         list_handlers,
                                         admin_ok=True)
CUST_FILTER_HANDLER = MessageHandler(
    CustomFilters.has_text & ~Filters.update.edited_message, reply_filter)

dispatcher.add_handler(FILTER_HANDLER)
dispatcher.add_handler(STOP_HANDLER)
dispatcher.add_handler(LIST_HANDLER)
dispatcher.add_handler(CUST_FILTER_HANDLER, HANDLER_GROUP)
dispatcher.add_handler(RMALLFILTER_HANDLER)
dispatcher.add_handler(RMALLFILTER_CALLBACK)

__handlers__ = [
    FILTER_HANDLER,
    STOP_HANDLER,
    LIST_HANDLER,
Ejemplo n.º 4
0
Stiker daftar hitam digunakan untuk menghentikan stiker tertentu.  Setiap kali stiker dikirim, pesan tersebut akan segera dihapus.
*NOTE:* Stiker daftar hitam tidak mempengaruhi admin grup
 • `/blsticker`*:* Lihat stiker daftar hitam saat ini
*Only admin:*
 • `/addblsticker <sticker link>`*:* Tambahkan pemicu stiker ke daftar hitam.  Dapat ditambahkan melalui stiker balasan
 • `/unblsticker <sticker link>`*:* Hapus pemicu dari daftar hitam.  Logika baris baru yang sama berlaku di sini, jadi Anda bisa menghapus beberapa pemicu sekaligus
 • `/rmblsticker <sticker link>`*:* Sama seperti di atas
 • `/blstickermode <ban/tban/mute/tmute>`*:* menyiapkan tindakan default tentang apa yang harus dilakukan jika pengguna menggunakan stiker daftar hitam
Note:
 • `<sticker link>` dapat `https://t.me/addstickers/<sticker>` atau hanya `<sticker>` atau balas pesan stiker
"""

__mod_name__ = "Stickers Blacklist"

BLACKLIST_STICKER_HANDLER = DisableAbleCommandHandler("blsticker",
                                                      blackliststicker,
                                                      admin_ok=True)
ADDBLACKLIST_STICKER_HANDLER = DisableAbleCommandHandler(
    "addblsticker", add_blackliststicker)
UNBLACKLIST_STICKER_HANDLER = CommandHandler(["unblsticker", "rmblsticker"],
                                             unblackliststicker)
BLACKLISTMODE_HANDLER = CommandHandler("blstickermode", blacklist_mode)
BLACKLIST_STICKER_DEL_HANDLER = MessageHandler(Filters.sticker & Filters.group,
                                               del_blackliststicker)

dispatcher.add_handler(BLACKLIST_STICKER_HANDLER)
dispatcher.add_handler(ADDBLACKLIST_STICKER_HANDLER)
dispatcher.add_handler(UNBLACKLIST_STICKER_HANDLER)
dispatcher.add_handler(BLACKLISTMODE_HANDLER)
dispatcher.add_handler(BLACKLIST_STICKER_DEL_HANDLER)
Ejemplo n.º 5
0
*Admins only:*
 • `/ban <userhandle>`*:* melarang pengguna.  (melalui pegangan, atau balasan)
 • `/sban <userhandle>`*:* Cekal pengguna secara diam-diam.  Menghapus perintah, membalas pesan dan tidak membalas.  (melalui pegangan, atau balasan)
 • `/tban <userhandle> x(m/h/d)`*:* melarang pengguna untuk waktu `x`.  (melalui pegangan, atau balasan).  `m` =` menit`, `h` =` jam`, `d` =` hari`.
 • `/unban <userhandle>`*:* batalkan larangan pengguna.  (melalui pegangan, atau balasan)
 • `/punch <userhandle>`*:* Meninju pengguna keluar dari grup, (melalui pegangan, atau balasan)
"""

BAN_HANDLER = CommandHandler(["ban", "sban"], ban)
TEMPBAN_HANDLER = CommandHandler(["tban"], temp_ban)
PUNCH_HANDLER = CommandHandler("punch", punch)
UNBAN_HANDLER = CommandHandler("unban", unban)
ROAR_HANDLER = CommandHandler("roar", selfunban)
PUNCHME_HANDLER = DisableAbleCommandHandler("punchme",
                                            punchme,
                                            filters=Filters.group)

dispatcher.add_handler(BAN_HANDLER)
dispatcher.add_handler(TEMPBAN_HANDLER)
dispatcher.add_handler(PUNCH_HANDLER)
dispatcher.add_handler(UNBAN_HANDLER)
dispatcher.add_handler(ROAR_HANDLER)
dispatcher.add_handler(PUNCHME_HANDLER)

__mod_name__ = "Bans"
__handlers__ = [
    BAN_HANDLER,
    TEMPBAN_HANDLER,
    PUNCH_HANDLER,
    UNBAN_HANDLER,
Ejemplo n.º 6
0

__help__ = """
 • `/admins`*:* daftar admin dalam obrolan

*Admins only:*
 • `/pin`*:* diam-diam pin pesan yang dibalas - tambahkan `'loud'` atau `'notify'` untuk memberikan pemberitahuan kepada member
 • `/unpin`*:* melepas pesan yang saat ini disematkan
 • `/invitelink`*:* mendapat tautan undangan
 • `/promote`*:* mempromosikan member menjadi admin
 • `/demote`*:* menurunkan pangkat admin
 • `/title <judul di sini>`*:* menetapkan judul khusus untuk admin yang dipromosikan bot
 • `/admincache`*:* menyegarkan daftar admin
"""

ADMINLIST_HANDLER = DisableAbleCommandHandler("admins", adminlist)

PIN_HANDLER = CommandHandler("pin", pin, filters=Filters.group)
UNPIN_HANDLER = CommandHandler("unpin", unpin, filters=Filters.group)

INVITE_HANDLER = DisableAbleCommandHandler("invitelink", invite)

PROMOTE_HANDLER = DisableAbleCommandHandler("promote", promote)
DEMOTE_HANDLER = DisableAbleCommandHandler("demote", demote)

SET_TITLE_HANDLER = CommandHandler("title", set_title)
ADMIN_REFRESH_HANDLER = CommandHandler("admincache",
                                       refresh_admin,
                                       filters=Filters.group)

dispatcher.add_handler(ADMINLIST_HANDLER)
Ejemplo n.º 7
0
__help__ = """

Daftar hitam digunakan untuk menghentikan pemicu tertentu diucapkan dalam kelompok.  Setiap kali pemicu disebutkan, pesan akan segera dihapus.  Kombo yang bagus terkadang memasangkan ini dengan filter peringatan!

*CATATAN*: Daftar hitam tidak memengaruhi admin grup.

 • `/blacklist`*:* Lihat kata-kata dalam daftar hitam saat ini.

Admin saja:
 • `/addblacklist <triggers>`*:* Tambahkan pemicu ke daftar hitam.  Setiap baris dianggap sebagai satu pemicu, jadi menggunakan baris yang berbeda akan memungkinkan Anda menambahkan beberapa pemicu.
 • `/unblacklist <triggers>`*:* Hapus pemicu dari daftar hitam.  Logika baris baru yang sama berlaku di sini, jadi Anda bisa menghapus beberapa pemicu sekaligus.
 • `/blacklistmode <off/del/warn/ban/kick/mute/tban/tmute>`*:* Tindakan yang harus dilakukan ketika seseorang mengirimkan kata-kata yang masuk daftar hitam.

"""
BLACKLIST_HANDLER = DisableAbleCommandHandler(
    "blacklist", blacklist, pass_args=True, admin_ok=True
)
ADD_BLACKLIST_HANDLER = CommandHandler("addblacklist", add_blacklist)
UNBLACKLIST_HANDLER = CommandHandler("unblacklist", unblacklist)
BLACKLISTMODE_HANDLER = CommandHandler("blacklistmode", blacklist_mode, pass_args=True)
BLACKLIST_DEL_HANDLER = MessageHandler(
    (Filters.text | Filters.command | Filters.sticker | Filters.photo) & Filters.group,
    del_blacklist,
    allow_edit=True,
)

dispatcher.add_handler(BLACKLIST_HANDLER)
dispatcher.add_handler(ADD_BLACKLIST_HANDLER)
dispatcher.add_handler(UNBLACKLIST_HANDLER)
dispatcher.add_handler(BLACKLISTMODE_HANDLER)
dispatcher.add_handler(BLACKLIST_DEL_HANDLER, group=BLACKLIST_GROUP)
Ejemplo n.º 8
0
Dapatkan informasi tentang anime, manga, atau karakter dari [AniList](anilist.co).

*Perintah yang tersedia:*

 • `/anime <anime>`*:* mengembalikan informasi tentang anime.
 • `/character <character>`*:* mengembalikan informasi tentang karakter tersebut.
 • `/manga <manga>`*:* mengembalikan informasi tentang manga.
 • `/user <user>`*:* mengembalikan informasi tentang pengguna MyAnimeList.
 • `/upcoming`*:* mengembalikan daftar anime baru di musim yang akan datang.
 • `/kaizoku <anime>`*:* cari anime di animekaizoku.com
 • `/kayo <anime>`*:* cari anime di animekayo.com
 • `/airing <anime>`*:* mengembalikan info penayangan anime.

 """

ANIME_HANDLER = DisableAbleCommandHandler("anime", anime)
AIRING_HANDLER = DisableAbleCommandHandler("airing", airing)
CHARACTER_HANDLER = DisableAbleCommandHandler("character", character)
MANGA_HANDLER = DisableAbleCommandHandler("manga", manga)
USER_HANDLER = DisableAbleCommandHandler("user", user)
UPCOMING_HANDLER = DisableAbleCommandHandler("upcoming", upcoming)
KAIZOKU_SEARCH_HANDLER = DisableAbleCommandHandler("kaizoku", kaizoku)
KAYO_SEARCH_HANDLER = DisableAbleCommandHandler("kayo", kayo)

dispatcher.add_handler(ANIME_HANDLER)
dispatcher.add_handler(CHARACTER_HANDLER)
dispatcher.add_handler(MANGA_HANDLER)
dispatcher.add_handler(AIRING_HANDLER)
dispatcher.add_handler(USER_HANDLER)
dispatcher.add_handler(KAIZOKU_SEARCH_HANDLER)
dispatcher.add_handler(KAYO_SEARCH_HANDLER)