Team Ai
Apppublic

azils3/bash

sourceHugging Faceupdated 2y agoView on Hugging Face
0likes
greetings.py202 linesDownload Raw Back to plugins
1# Ultroid - UserBot2# Copyright (C) 2021-2025 TeamUltroid3#4# This file is a part of < https://github.com/TeamUltroid/Ultroid/ >5# PLease read the GNU Affero General Public License in6# <https://www.github.com/TeamUltroid/Ultroid/blob/main/LICENSE/>.7"""8✘ Commands Available -9 10---- Welcomes ----11• `{i}setwelcome <message/reply to message>`12    Set welcome message in the current chat.13 14• `{i}clearwelcome`15    Delete the welcome in the current chat.16 17• `{i}getwelcome`18    Get the welcome message in the current chat.19 20---- GoodByes ----21• `{i}setgoodbye <message/reply to message>`22    Set goodbye message in the current chat.23 24• `{i}cleargoodbye`25    Delete the goodbye in the current chat.26 27• `{i}getgoodbye`28    Get the goodbye message in the current chat.29 30• `{i}thankmembers on/off`31    Send a thank you sticker on hitting a members count of 100*x in your groups.32"""33import os34 35from . import upload_file as uf36from telethon.utils import pack_bot_file_id37 38from pyUltroid.dB.greetings_db import (39    add_goodbye,40    add_thanks,41    add_welcome,42    delete_goodbye,43    delete_welcome,44    get_goodbye,45    get_welcome,46    must_thank,47    remove_thanks,48)49from pyUltroid.fns.tools import create_tl_btn, format_btn, get_msg_button50 51from . import HNDLR, eor, get_string, mediainfo, ultroid_cmd52from ._inline import something53 54Note = "\n\nNote: `{mention}`, `{group}`, `{count}`, `{name}`, `{fullname}`, `{username}`, `{userid}` can be used as formatting parameters.\n\n"55 56 57@ultroid_cmd(pattern="setwelcome", groups_only=True)58async def setwel(event):59    x = await event.eor(get_string("com_1"))60    r = await event.get_reply_message()61    btn = format_btn(r.buttons) if (r and r.buttons) else None62    try:63        text = event.text.split(maxsplit=1)[1]64    except IndexError:65        text = r.text if r else None66    if r and r.media:67        wut = mediainfo(r.media)68        if wut.startswith(("pic", "gif")):69            dl = await r.download_media()70            m = uf(dl)71            os.remove(dl)72        elif wut == "video":73            if r.media.document.size > 8 * 1000 * 1000:74                return await eor(x, get_string("com_4"), time=5)75            dl = await r.download_media()76            m = uf(dl)77            os.remove(dl)78        elif wut == "web":79            m = None80        else:81            m = pack_bot_file_id(r.media)82        if r.text:83            txt = r.text84            if not btn:85                txt, btn = get_msg_button(r.text)86            add_welcome(event.chat_id, txt, m, btn)87        else:88            add_welcome(event.chat_id, None, m, btn)89        await eor(x, get_string("grt_1"))90    elif text:91        if not btn:92            txt, btn = get_msg_button(text)93        add_welcome(event.chat_id, txt, None, btn)94        await eor(x, get_string("grt_1"))95    else:96        await eor(x, get_string("grt_3"), time=5)97 98 99@ultroid_cmd(pattern="clearwelcome$", groups_only=True)100async def clearwel(event):101    if not get_welcome(event.chat_id):102        return await event.eor(get_string("grt_4"), time=5)103    delete_welcome(event.chat_id)104    await event.eor(get_string("grt_5"), time=5)105 106 107@ultroid_cmd(pattern="getwelcome$", groups_only=True)108async def listwel(event):109    wel = get_welcome(event.chat_id)110    if not wel:111        return await event.eor(get_string("grt_4"), time=5)112    msgg, med = wel["welcome"], wel["media"]113    if wel.get("button"):114        btn = create_tl_btn(wel["button"])115        return await something(event, msgg, med, btn)116    await event.reply(f"**Welcome Note in this chat**\n\n`{msgg}`", file=med)117    await event.delete()118 119 120@ultroid_cmd(pattern="setgoodbye", groups_only=True)121async def setgb(event):122    x = await event.eor(get_string("com_1"))123    r = await event.get_reply_message()124    btn = format_btn(r.buttons) if (r and r.buttons) else None125    try:126        text = event.text.split(maxsplit=1)[1]127    except IndexError:128        text = r.text if r else None129    if r and r.media:130        wut = mediainfo(r.media)131        if wut.startswith(("pic", "gif")):132            dl = await r.download_media()133            m = uf(dl)134            os.remove(dl)135        elif wut == "video":136            if r.media.document.size > 8 * 1000 * 1000:137                return await eor(x, get_string("com_4"), time=5)138            dl = await r.download_media()139            m = uf(dl)140            os.remove(dl)141        elif wut == "web":142            m = None143        else:144            m = pack_bot_file_id(r.media)145        if r.text:146            txt = r.text147            if not btn:148                txt, btn = get_msg_button(r.text)149            add_goodbye(event.chat_id, txt, m, btn)150        else:151            add_goodbye(event.chat_id, None, m, btn)152        await eor(x, "`Goodbye note saved`")153    elif text:154        if not btn:155            txt, btn = get_msg_button(text)156        add_goodbye(event.chat_id, txt, None, btn)157        await eor(x, "`Goodbye note saved`")158    else:159        await eor(x, get_string("grt_7"), time=5)160 161 162@ultroid_cmd(pattern="cleargoodbye$", groups_only=True)163async def clearwgb(event):164    if not get_goodbye(event.chat_id):165        return await event.eor(get_string("grt_6"), time=5)166    delete_goodbye(event.chat_id)167    await event.eor("`Goodbye Note Deleted`", time=5)168 169 170@ultroid_cmd(pattern="getgoodbye$", groups_only=True)171async def listgd(event):172    wel = get_goodbye(event.chat_id)173    if not wel:174        return await event.eor(get_string("grt_6"), time=5)175    msgg = wel["goodbye"]176    med = wel["media"]177    if wel.get("button"):178        btn = create_tl_btn(wel["button"])179        return await something(event, msgg, med, btn)180    await event.reply(f"**Goodbye Note in this chat**\n\n`{msgg}`", file=med)181    await event.delete()182 183 184@ultroid_cmd(pattern="thankmembers (on|off)", groups_only=True)185async def thank_set(event):186    type_ = event.pattern_match.group(1).strip()187    if not type_ or type_ == "":188        await eor(189            event,190            f"**Current Chat Settings:**\n**Thanking Members:** `{must_thank(event.chat_id)}`\n\nUse `{HNDLR}thankmembers on` or `{HNDLR}thankmembers off` to toggle current settings!",191        )192        return193    chat = event.chat_id194    if type_.lower() == "on":195        add_thanks(chat)196    elif type_.lower() == "off":197        remove_thanks(chat)198    await eor(199        event,200        f"**Done! Thank you members has been turned** `{type_.lower()}` **for this chat**!",201    )202