azils3/bash
0
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 