-
Notifications
You must be signed in to change notification settings - Fork 1
/
managesudo.py
90 lines (80 loc) · 3 KB
/
managesudo.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
import os
import heroku3
from telethon.tl.functions.users import GetFullUserRequest
from . import *
Heroku = heroku3.from_key(Config.HEROKU_API_KEY)
heroku_api = "https://api.heroku.com"
sudousers = os.environ.get("SUDO_USERS", None)
@bot.on(d3vil_cmd(pattern="sudo"))
async def sudo(event):
sudo = "True" if Config.SUDO_USERS else "False"
users = os.environ.get("SUDO_USERS", None)
if sudo == "True":
await eod(event, f"⚡ **Sudo :** `Enabled`\n\n📝 **Sudo users :** `{users}`", 10)
else:
await eod(event, f"⚡ **Sudo :** `Disabled`", 7)
@bot.on(d3vil_cmd(pattern="addsudo(?: |$)"))
async def add(event):
ok = await eor(event, "**🚀 Adding Sudo User...**")
bot = "SUDO_USERS"
if Config.HEROKU_APP_NAME is not None:
app = Heroku.app(Config.HEROKU_APP_NAME)
else:
await eod(ok, "**Please Set-Up** `HEROKU_APP_NAME` **to add sudo users!!**")
return
heroku_Config = app.config()
if event is None:
return
try:
target = await get_user(event)
except Exception:
await eod(ok, f"Reply to a user to add them in sudo.")
if sudousers:
newsudo = f"{sudousers} {target}"
else:
newsudo = f"{target}"
await ok.edit(f"✅** Added** `{target}` **in Sudo User.**\n\n __Restarting Heroku to Apply Changes. Wait for a minute.__")
heroku_Config[bot] = newsudo
@bot.on(d3vil_cmd(pattern="rmsudo(?: |$)"))
async def _(event):
ok = await eor(event, "**🚫 Removing Sudo User...**")
bot = "SUDO_USERS"
if Config.HEROKU_APP_NAME is not None:
app = Heroku.app(Config.HEROKU_APP_NAME)
else:
await eod(ok, "**Please Set-Up** HEROKU_APP_NAME to remove sudo users!!")
return
heroku_Config = app.config()
if event is None:
return
try:
target = await get_user(event)
gett = str(target)
except Exception:
await eod(ok, f"Reply to a user to remove them from sudo.")
if gett in sudousers:
newsudo = sudousers.replace(gett, "")
await ok.edit(f"❌** Removed** `{target}` from Sudo User.\n\n Restarting Heroku to Apply Changes. Wait for a minute.")
heroku_Config[bot] = newsudo
else:
await ok.edit("**😑This user is not in your Sudo Users List.**")
async def get_user(event):
if event.reply_to_msg_id:
previous_message = await event.get_reply_message()
if previous_message.forward:
replied_user = await event.client(
GetFullUserRequest(previous_message.forward.sender_id)
)
else:
replied_user = await event.client(
GetFullUserRequest(previous_message.sender_id)
)
target = replied_user.user.id
return target
CmdHelp("manage sudo").add_command(
"sudo", None, "Check If Your Bot Has Sudo Enabled!!"
).add_command(
"addsudo", "<reply to user>", "Adds replied user to sudo list."
).add_command(
"rmsudo", "<reply to user>", "Removes the replied user from your sudo list if already added."
).add()