[Update] Ultroid v0.6
Co-Authored-By: Amit Sharma <48654350+buddhhu@users.noreply.github.com> Co-Authored-By: MMETMA <79155572+MMETMA@users.noreply.github.com> Co-Authored-By: Aditya <me@xditya.me> Co-Authored-By: marat2509 <93652988+marat2509@users.noreply.github.com> Co-Authored-By: smartman_ru <14003491+smartmanru@users.noreply.github.com> Co-Authored-By: Flasho <75789819+flashokillerify@users.noreply.github.com> Co-Authored-By: ÁÑÑÍHÌLÅTØR SPÄRK <75305464+annihilatorrrr@users.noreply.github.com>
This commit is contained in:
14
Dockerfile
14
Dockerfile
@@ -7,18 +7,12 @@ FROM theteamultroid/ultroid:main
|
||||
|
||||
# set timezone
|
||||
ENV TZ=Asia/Kolkata
|
||||
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
|
||||
|
||||
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone \
|
||||
# cloning the repo and installing requirements.
|
||||
&& git clone https://github.com/TeamUltroid/Ultroid.git /root/TeamUltroid/ \
|
||||
&& pip3 install --no-cache-dir -r root/TeamUltroid/requirements.txt \
|
||||
&& pip3 install av --no-binary av
|
||||
|
||||
# Railway's banned dependency
|
||||
RUN if [ ! $RAILWAY_STATIC_URL ]; then pip3 install --no-cache-dir yt-dlp; fi
|
||||
RUN bash installer.sh
|
||||
|
||||
# changing workdir
|
||||
WORKDIR /root/TeamUltroid/
|
||||
WORKDIR "/root/TeamUltroid"
|
||||
|
||||
# start the bot
|
||||
# start the bot.
|
||||
CMD ["bash", "startup"]
|
||||
|
||||
16
README.md
16
README.md
@@ -7,11 +7,11 @@
|
||||
|
||||
<b>A stable pluggable Telegram userbot + Voice & Video Call music bot, based on Telethon.</b>
|
||||
|
||||
[](#)
|
||||
[](#)
|
||||
[](https://github.com/TeamUltroid/Ultroid/stargazers)
|
||||
[](https://github.com/TeamUltroid/Ultroid/fork)
|
||||
[](https://github.com/TeamUltroid/Ultroid/)
|
||||
[](https://www.python.org/)
|
||||
[](https://www.python.org/)
|
||||
[](https://www.codefactor.io/repository/github/teamultroid/ultroid/overview/main)
|
||||
[](https://github.com/TeamUltroid/Ultroid/graphs/commit-activity)
|
||||
[](https://img.shields.io/docker/pulls/theteamultroid/ultroid?style=flat-square)
|
||||
@@ -23,8 +23,9 @@
|
||||
----
|
||||
|
||||
# Deploy
|
||||
- [Heroku](#Deploy-to-Heroku)
|
||||
- [Local Machine](#Deploy-Locally)
|
||||
- [Heroku](#deploy-to-heroku)
|
||||
- [Okteto](#deploy-to-okteto)
|
||||
- [Local Machine](#deploy-locally)
|
||||
|
||||
# Documentation
|
||||
[](http://ultroid.tech/)
|
||||
@@ -40,10 +41,15 @@ Get the [Necessary Variables](#Necessary-Variables) and then click the button be
|
||||
|
||||
[](https://deploy.ultroid.tech)
|
||||
|
||||
## Deploy to Okteto
|
||||
Get the [Necessary Variables](#Necessary-Variables) and then click the button below!
|
||||
|
||||
[](https://cloud.okteto.com/deploy?repository=https://github.com/TeamUltroid/Ultroid)
|
||||
|
||||
## Deploy Locally
|
||||
- [Traditional Method](#local-deploy---traditional-method)
|
||||
- [Easy Method](#local-deploy---easy-method)
|
||||
- [Ultroid CLI](#Ultroid-CLI)
|
||||
- [Ultroid CLI](#ultroid-cli)
|
||||
|
||||
### Local Deploy - Easy Method
|
||||
- Linux - `wget -O locals.py https://git.io/JY9UM && python3 locals.py`
|
||||
|
||||
@@ -20,7 +20,7 @@ try:
|
||||
from pyUltroid.functions.gDrive import GDriveManager
|
||||
except ImportError:
|
||||
GDriveManager = None
|
||||
from pyUltroid.functions.helper import fast_download, progress, uploader
|
||||
from pyUltroid.functions.helper import fast_download, progress
|
||||
from pyUltroid.functions.tools import (
|
||||
Carbon,
|
||||
async_searcher,
|
||||
@@ -1284,8 +1284,10 @@ async def fdroid_dler(event):
|
||||
)
|
||||
),
|
||||
)
|
||||
tt = time.time()
|
||||
n_file = await uploader(file, file, tt, event, "Uploading...")
|
||||
time.time()
|
||||
n_file = await event.client.fast_uploader(
|
||||
file, show_progress=True, event=event, message="Uploading...", to_delete=True
|
||||
)
|
||||
buttons = Button.switch_inline("Search Back", query="fdroid", same_peer=True)
|
||||
try:
|
||||
msg = await event.edit(
|
||||
@@ -1304,10 +1306,8 @@ async def fdroid_dler(event):
|
||||
)
|
||||
except Exception as er:
|
||||
os.remove(thumb)
|
||||
os.remove(file)
|
||||
LOGS.exception(er)
|
||||
return await event.edit(f"**ERROR**: `{er}`", buttons=buttons)
|
||||
if msg and hasattr(msg, "media"):
|
||||
FD_MEDIA.update({uri: msg.media})
|
||||
os.remove(thumb)
|
||||
os.remove(file)
|
||||
|
||||
@@ -180,7 +180,7 @@ async def repo(e):
|
||||
@in_pattern("go", owner=True)
|
||||
async def gsearch(q_event):
|
||||
try:
|
||||
match = q_event.text.split(" ", maxsplit=1)[1]
|
||||
match = q_event.text.split(maxsplit=1)[1]
|
||||
except IndexError:
|
||||
return await q_event.answer(
|
||||
[], switch_pm="Google Search. Enter a query!", switch_pm_param="start"
|
||||
@@ -273,7 +273,7 @@ async def _(e):
|
||||
|
||||
@in_pattern("xda", owner=True)
|
||||
async def xda_dev(event):
|
||||
QUERY = event.text.split(" ", maxsplit=1)
|
||||
QUERY = event.text.split(maxsplit=1)
|
||||
try:
|
||||
query = QUERY[1]
|
||||
except IndexError:
|
||||
@@ -749,7 +749,7 @@ async def inline_tl(ult):
|
||||
try:
|
||||
match = ult.text.split(maxsplit=1)[1]
|
||||
except IndexError:
|
||||
text = f"**It is Telegram TlObjects Searcher.**\n__(Don't use if you don't know what it is!)__\n\n• Example Usage\n`@{asst.me.username} tl GetUserRequest`"
|
||||
text = f"**Telegram TlObjects Searcher.**\n__(Don't use if you don't know what it is!)__\n\n• Example Usage\n`@{asst.me.username} tl GetFullUserRequest`"
|
||||
return await ult.answer(
|
||||
[
|
||||
await ult.builder.article(
|
||||
|
||||
@@ -10,6 +10,7 @@ import random
|
||||
|
||||
import aiohttp
|
||||
from pyUltroid.dB import DEVLIST
|
||||
from pyUltroid.functions.admins import admin_check
|
||||
|
||||
from . import *
|
||||
|
||||
@@ -24,6 +25,8 @@ async def dheh(e):
|
||||
|
||||
@asst_cmd(pattern="echo( (.*)|$)")
|
||||
async def oqha(e):
|
||||
if not await admin_check(e):
|
||||
return
|
||||
match = e.pattern_match.group(1).strip()
|
||||
if match:
|
||||
text = match
|
||||
|
||||
@@ -9,4 +9,7 @@ services:
|
||||
API_ID: $API_ID # defaults to None
|
||||
API_HASH: $API_HASH # defaults to None
|
||||
MONGO_URI: $MONGO_URI # defaults to None
|
||||
BOT_TOKEN: $BOT_TOKEN # Not mandatory
|
||||
LOG_CHANNEL: $LOG_CHANNEL # Not mandatory
|
||||
DATABASE_URL: $DATABASE_URL # defaults to None
|
||||
OKTETO_TOKEN: $OKTETO_TOKEN
|
||||
|
||||
54
installer.sh
Normal file
54
installer.sh
Normal file
@@ -0,0 +1,54 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
REPO="https://github.com/TeamUltroid/Ultroid.git"
|
||||
DIR="/root/TeamUltroid"
|
||||
|
||||
spinner(){
|
||||
local pid=$!
|
||||
while [ "$(ps a | awk '{print $1}' | grep $pid)" ];
|
||||
do
|
||||
for i in "Ooooo" "oOooo" "ooOoo" "oooOo" "ooooO" "oooOo" "ooOoo" "oOooo" "Ooooo"
|
||||
do
|
||||
echo -ne "\r• $i"
|
||||
sleep 0.2
|
||||
done
|
||||
done
|
||||
}
|
||||
|
||||
clone_repo(){
|
||||
if [ ! $BRANCH ]
|
||||
then export BRANCH="main"
|
||||
fi
|
||||
echo -e "\n\nCloning Ultroid ${BRANCH}... "
|
||||
git clone -b $BRANCH $REPO $DIR
|
||||
}
|
||||
|
||||
install_requirements(){
|
||||
echo -e "\n\nInstalling requirements... "
|
||||
pip3 install -q --no-cache-dir -r $DIR/requirements.txt && pip3 install av -q --no-binary av
|
||||
}
|
||||
|
||||
railways_dep(){
|
||||
if [ ! $RAILWAY_STATIC_URL ]
|
||||
then
|
||||
echo -e "\n\nInstalling YouTube dependency... "
|
||||
pip3 install -q --no-cache-dir yt-dlp
|
||||
fi
|
||||
}
|
||||
|
||||
install_okteto_cli(){
|
||||
if [ $OKTETO_TOKEN ]
|
||||
then
|
||||
echo -e "\n\nInstalling Okteto-CLI... "
|
||||
curl https://get.okteto.com -sSfL | sh
|
||||
fi
|
||||
}
|
||||
|
||||
main(){
|
||||
(clone_repo) & spinner
|
||||
(install_requirements) & spinner
|
||||
(railways_dep) & spinner
|
||||
(install_okteto_cli) & spinner
|
||||
}
|
||||
|
||||
main
|
||||
3
okteto-pipeline.yml
Normal file
3
okteto-pipeline.yml
Normal file
@@ -0,0 +1,3 @@
|
||||
icon: https://raw.githubusercontent.com/TeamUltroid/Ultroid/main/resources/extras/logo_readme.jpg
|
||||
deploy:
|
||||
- okteto stack deploy --build -f docker-compose.yml
|
||||
@@ -5,7 +5,6 @@
|
||||
# PLease read the GNU Affero General Public License in
|
||||
# <https://www.github.com/TeamUltroid/Ultroid/blob/main/LICENSE/>.
|
||||
|
||||
|
||||
import asyncio
|
||||
import os
|
||||
import time
|
||||
|
||||
@@ -19,7 +19,17 @@ from telethon import Button
|
||||
from telethon.tl.types import InputWebDocument, Message
|
||||
from telethon.utils import resolve_bot_file_id
|
||||
|
||||
from . import HNDLR, INLINE_PIC, LOGS, OWNER_NAME, asst, get_string, start_time, udB
|
||||
from . import (
|
||||
HNDLR,
|
||||
INLINE_PIC,
|
||||
LOGS,
|
||||
OWNER_NAME,
|
||||
asst,
|
||||
get_string,
|
||||
split_list,
|
||||
start_time,
|
||||
udB,
|
||||
)
|
||||
from ._help import _main_help_menu
|
||||
|
||||
# ================================================#
|
||||
@@ -270,83 +280,38 @@ async def _(event):
|
||||
await event.answer(pin, cache_time=0, alert=True)
|
||||
|
||||
|
||||
InPlugin = {
|
||||
"Pʟᴀʏ Sᴛᴏʀᴇ Aᴘᴘs": "app telegram",
|
||||
"Mᴏᴅᴅᴇᴅ Aᴘᴘs": "mods minecraft",
|
||||
"Sᴇᴀʀᴄʜ Oɴ Gᴏᴏɢʟᴇ": "go TeamUltroid",
|
||||
"Search on XDA": "xda telegram",
|
||||
"WʜɪSᴘᴇʀ": "wspr @username Hello🎉",
|
||||
"YᴏᴜTᴜʙᴇ Dᴏᴡɴʟᴏᴀᴅᴇʀ": "yt Ed Sheeran Perfect",
|
||||
"Piston Eval": "run javascript console.log('Hello Ultroid')",
|
||||
"OʀᴀɴɢᴇFᴏx🦊": "ofox beryllium",
|
||||
"Tᴡɪᴛᴛᴇʀ Usᴇʀ": "twitter theultroid",
|
||||
"Kᴏᴏ Sᴇᴀʀᴄʜ": "koo @__kumar__amit",
|
||||
"Fᴅʀᴏɪᴅ Sᴇᴀʀᴄʜ": "fdroid telegram",
|
||||
"Sᴀᴀᴠɴ sᴇᴀʀᴄʜ": "saavn",
|
||||
"Tʟ Sᴇᴀʀᴄʜ": "tl",
|
||||
"GɪᴛHᴜʙ ғᴇᴇᴅs": "gh",
|
||||
"OᴍɢUʙᴜɴᴛᴜ": "omgu cutefish",
|
||||
}
|
||||
_InButtons = [Button.switch_inline(_, query=InPlugin[_]) for _ in list(InPlugin.keys())]
|
||||
InButtons = split_list(_InButtons, 2)
|
||||
|
||||
|
||||
@callback(data="inlone", owner=True)
|
||||
async def _(e):
|
||||
button = [
|
||||
[
|
||||
Button.switch_inline(
|
||||
"Pʟᴀʏ Sᴛᴏʀᴇ Aᴘᴘs",
|
||||
query="app telegram",
|
||||
same_peer=True,
|
||||
),
|
||||
Button.switch_inline(
|
||||
"Mᴏᴅᴅᴇᴅ Aᴘᴘs",
|
||||
query="mods minecraft",
|
||||
same_peer=True,
|
||||
),
|
||||
],
|
||||
[
|
||||
Button.switch_inline(
|
||||
"Sᴇᴀʀᴄʜ Oɴ Gᴏᴏɢʟᴇ",
|
||||
query="go TeamUltroid",
|
||||
same_peer=True,
|
||||
),
|
||||
Button.switch_inline(
|
||||
"Search on XDA",
|
||||
query="xda telegram",
|
||||
same_peer=True,
|
||||
),
|
||||
],
|
||||
[
|
||||
Button.switch_inline(
|
||||
"WʜɪSᴘᴇʀ",
|
||||
query="wspr @username Hello🎉",
|
||||
same_peer=True,
|
||||
),
|
||||
Button.switch_inline(
|
||||
"YᴏᴜTᴜʙᴇ Dᴏᴡɴʟᴏᴀᴅᴇʀ",
|
||||
query="yt Ed Sheeran Perfect",
|
||||
same_peer=True,
|
||||
),
|
||||
],
|
||||
[
|
||||
Button.switch_inline(
|
||||
"Piston Eval",
|
||||
query="run javascript console.log('Hello Ultroid')",
|
||||
same_peer=True,
|
||||
),
|
||||
Button.switch_inline(
|
||||
"OʀᴀɴɢᴇFᴏx🦊",
|
||||
query="ofox beryllium",
|
||||
same_peer=True,
|
||||
),
|
||||
],
|
||||
[
|
||||
Button.switch_inline(
|
||||
"Tᴡɪᴛᴛᴇʀ Usᴇʀ", query="twitter theultroid", same_peer=True
|
||||
),
|
||||
Button.switch_inline(
|
||||
"Kᴏᴏ Sᴇᴀʀᴄʜ", query="koo @__kumar__amit", same_peer=True
|
||||
),
|
||||
],
|
||||
[
|
||||
Button.switch_inline(
|
||||
"Fᴅʀᴏɪᴅ Sᴇᴀʀᴄʜ", query="fdroid telegram", same_peer=True
|
||||
),
|
||||
Button.switch_inline("Sᴀᴀᴠɴ sᴇᴀʀᴄʜ", query="saavn", same_peer=True),
|
||||
],
|
||||
[
|
||||
Button.switch_inline("Tʟ Sᴇᴀʀᴄʜ", query="tl", same_peer=True),
|
||||
Button.switch_inline("GɪᴛHᴜʙ ғᴇᴇᴅs", query="gh", same_peer=True),
|
||||
],
|
||||
[Button.switch_inline("OᴍɢUʙᴜɴᴛᴜ", query="omgu cutefish", same_peer=True)],
|
||||
button = InButtons.copy()
|
||||
button.append(
|
||||
[
|
||||
Button.inline(
|
||||
"« Bᴀᴄᴋ",
|
||||
data="open",
|
||||
),
|
||||
],
|
||||
]
|
||||
)
|
||||
await e.edit(buttons=button, link_preview=False)
|
||||
|
||||
|
||||
|
||||
@@ -39,7 +39,8 @@ async def _(e):
|
||||
okk = await e.get_reply_message()
|
||||
if okk.sender.username:
|
||||
put = f"@{okk.sender.username}"
|
||||
put = okk.sender_id
|
||||
else:
|
||||
put = okk.sender_id
|
||||
else:
|
||||
put = e.pattern_match.group(1).strip()
|
||||
if put:
|
||||
@@ -72,7 +73,8 @@ async def _(e):
|
||||
text="You Didn't Type Username or id.",
|
||||
)
|
||||
return await e.answer([sur])
|
||||
except ValueError:
|
||||
except ValueError as er:
|
||||
LOGS.exception(er)
|
||||
sur = e.builder.article(
|
||||
title="User Not Found",
|
||||
description="Make sure username or id is correct.",
|
||||
@@ -141,11 +143,9 @@ async def _(e):
|
||||
same_peer=True,
|
||||
),
|
||||
]
|
||||
sur = e.builder.document(
|
||||
sur = e.builder.article(
|
||||
title=user.first_name,
|
||||
description=desc,
|
||||
file=logi.full_user.profile_photo,
|
||||
include_media=False,
|
||||
text=text,
|
||||
buttons=button,
|
||||
)
|
||||
|
||||
@@ -48,7 +48,7 @@ from pyUltroid.dB import DEVLIST
|
||||
from pyUltroid.functions.admins import ban_time
|
||||
from telethon.errors import BadRequestError
|
||||
from telethon.errors.rpcerrorlist import ChatNotModifiedError, UserIdInvalidError
|
||||
from telethon.tl.functions.channels import GetFullChannelRequest
|
||||
from telethon.tl.functions.channels import EditAdminRequest, GetFullChannelRequest
|
||||
from telethon.tl.functions.messages import GetFullChatRequest, SetHistoryTTLRequest
|
||||
from telethon.tl.types import InputMessagesFilterPinned
|
||||
from telethon.utils import get_display_name
|
||||
@@ -62,7 +62,6 @@ from . import (
|
||||
get_uinfo,
|
||||
inline_mention,
|
||||
types,
|
||||
ultroid_bot,
|
||||
ultroid_cmd,
|
||||
)
|
||||
|
||||
@@ -79,19 +78,31 @@ async def prmte(ult):
|
||||
await ult.get_chat()
|
||||
user, rank = await get_uinfo(ult)
|
||||
rank = rank or "Admin"
|
||||
FullRight = False
|
||||
if not user:
|
||||
return await xx.edit(get_string("pro_1"))
|
||||
if rank.split()[0] == "-f":
|
||||
try:
|
||||
rank = rank.split(maxsplit=1)[1]
|
||||
except IndexError:
|
||||
rank = "Admin"
|
||||
FullRight = True
|
||||
try:
|
||||
await ult.client.edit_admin(
|
||||
ult.chat_id,
|
||||
user.id,
|
||||
invite_users=True,
|
||||
ban_users=True,
|
||||
delete_messages=True,
|
||||
pin_messages=True,
|
||||
manage_call=True,
|
||||
title=rank,
|
||||
)
|
||||
if FullRight:
|
||||
await ult.client(
|
||||
EditAdminRequest(ult.chat_id, user.id, ult.chat.admin_rights, rank)
|
||||
)
|
||||
else:
|
||||
await ult.client.edit_admin(
|
||||
ult.chat_id,
|
||||
user.id,
|
||||
invite_users=True,
|
||||
ban_users=True,
|
||||
delete_messages=True,
|
||||
pin_messages=True,
|
||||
manage_call=True,
|
||||
title=rank,
|
||||
)
|
||||
await eod(
|
||||
xx, get_string("pro_2").format(inline_mention(user), ult.chat.title, rank)
|
||||
)
|
||||
@@ -220,6 +231,7 @@ async def kck(ult):
|
||||
return await xx.edit(get_string("kick_1"))
|
||||
except Exception as e:
|
||||
LOGS.exception(e)
|
||||
return
|
||||
text = get_string("kick_4").format(
|
||||
inline_mention(user), inline_mention(await ult.get_sender()), ult.chat.title
|
||||
)
|
||||
@@ -268,13 +280,7 @@ async def tkicki(e):
|
||||
return await e.eor(str(m))
|
||||
|
||||
|
||||
@ultroid_cmd(
|
||||
pattern="pin$",
|
||||
admins_only=True,
|
||||
manager=True,
|
||||
require="pin_messages",
|
||||
fullsudo=True,
|
||||
)
|
||||
@ultroid_cmd(pattern="pin$", manager=True, require="pin_messages", fullsudo=True)
|
||||
async def pin(msg):
|
||||
if not msg.is_reply:
|
||||
return await eor(msg, get_string("pin_1"))
|
||||
@@ -294,7 +300,6 @@ async def pin(msg):
|
||||
|
||||
@ultroid_cmd(
|
||||
pattern="unpin($| (.*))",
|
||||
admins_only=True,
|
||||
manager=True,
|
||||
require="pin_messages",
|
||||
fullsudo=True,
|
||||
@@ -387,7 +392,7 @@ async def fastpurger(purg):
|
||||
)
|
||||
async def fastpurgerme(purg):
|
||||
num = purg.pattern_match.group(1).strip()
|
||||
if num and not purg.is_reply:
|
||||
if num:
|
||||
try:
|
||||
nnt = int(num)
|
||||
except BaseException:
|
||||
@@ -401,32 +406,27 @@ async def fastpurgerme(purg):
|
||||
mp += 1
|
||||
await eor(purg, f"Purged {mp} Messages!", time=5)
|
||||
return
|
||||
chat = await purg.get_input_chat()
|
||||
msgs = []
|
||||
count = 0
|
||||
if not (purg.reply_to_msg_id or num):
|
||||
elif purg.reply_to_msg_id:
|
||||
pass
|
||||
else:
|
||||
return await eod(
|
||||
purg,
|
||||
"`Reply to a message to purge from or use it like ``purgeme <num>`",
|
||||
time=10,
|
||||
)
|
||||
chat = await purg.get_input_chat()
|
||||
msgs = []
|
||||
async for msg in purg.client.iter_messages(
|
||||
chat,
|
||||
from_user="me",
|
||||
min_id=purg.reply_to_msg_id,
|
||||
):
|
||||
msgs.append(msg)
|
||||
count += 1
|
||||
msgs.append(purg.reply_to_msg_id)
|
||||
if len(msgs) == 100:
|
||||
await ultroid_bot.delete_messages(chat, msgs)
|
||||
msgs = []
|
||||
|
||||
if msgs:
|
||||
await purg.client.delete_messages(chat, msgs)
|
||||
await eod(
|
||||
purg,
|
||||
"__Fast purge complete!__\n**Purged** `" + str(count) + "` **messages.**",
|
||||
"__Fast purge complete!__\n**Purged** `" + str(len(msgs)) + "` **messages.**",
|
||||
)
|
||||
|
||||
|
||||
@@ -516,7 +516,7 @@ async def autodelte(ult):
|
||||
try:
|
||||
await ult.client(SetHistoryTTLRequest(ult.chat_id, period=tt))
|
||||
except ChatNotModifiedError:
|
||||
return await eor(
|
||||
ult, f"Auto Delete Setting is Already same to `{match}`", time=5
|
||||
return await ult.eor(
|
||||
f"Auto Delete Setting is Already same to `{match}`", time=5
|
||||
)
|
||||
await ult.eor(f"Auto Delete Status Changed to `{match}` !")
|
||||
|
||||
140
plugins/beautify.py
Normal file
140
plugins/beautify.py
Normal file
@@ -0,0 +1,140 @@
|
||||
# Ultroid - UserBot
|
||||
# Copyright (C) 2021-2022 TeamUltroid
|
||||
#
|
||||
# This file is a part of < https://github.com/TeamUltroid/Ultroid/ >
|
||||
# PLease read the GNU Affero General Public License in
|
||||
# <https://www.github.com/TeamUltroid/Ultroid/blob/main/LICENSE/>.
|
||||
"""
|
||||
✘ Commands Available -
|
||||
|
||||
• `{i}carbon <text/reply to msg/reply to document>`
|
||||
Carbonise the text with default settings.
|
||||
|
||||
• `{i}rcarbon <text/reply to msg/reply to document>`
|
||||
Carbonise the text, with random bg colours.
|
||||
|
||||
• `{i}ccarbon <color ><text/reply to msg/reply to document>`
|
||||
Carbonise the text, with custom bg colours.
|
||||
|
||||
• `{i}rayso <opt-theme> <text>/<reply to message>`
|
||||
`{i}rayso list` - `Get list of themes.`
|
||||
"""
|
||||
|
||||
import random
|
||||
|
||||
from telethon.utils import get_display_name
|
||||
|
||||
from . import Carbon, eor, get_string, inline_mention, os, ultroid_cmd
|
||||
|
||||
_colorspath = "resources/colorlist.txt"
|
||||
|
||||
if os.path.exists(_colorspath):
|
||||
with open(_colorspath, "r") as f:
|
||||
all_col = f.read().split()
|
||||
else:
|
||||
all_col = []
|
||||
|
||||
|
||||
@ultroid_cmd(
|
||||
pattern="(rc|c)arbon",
|
||||
)
|
||||
async def crbn(event):
|
||||
xxxx = await event.eor(get_string("com_1"))
|
||||
te = event.pattern_match.group(1)
|
||||
col = random.choice(all_col) if te[0] == "r" else "White"
|
||||
if event.reply_to_msg_id:
|
||||
temp = await event.get_reply_message()
|
||||
if temp.media:
|
||||
b = await event.client.download_media(temp)
|
||||
with open(b) as a:
|
||||
code = a.read()
|
||||
os.remove(b)
|
||||
else:
|
||||
code = temp.message
|
||||
else:
|
||||
try:
|
||||
code = event.text.split(" ", maxsplit=1)[1]
|
||||
except IndexError:
|
||||
return await eor(xxxx, get_string("carbon_2"))
|
||||
xx = await Carbon(code=code, file_name="ultroid_carbon", backgroundColor=col)
|
||||
await xxxx.delete()
|
||||
await event.reply(
|
||||
f"Carbonised by {inline_mention(event.sender)}",
|
||||
file=xx,
|
||||
)
|
||||
|
||||
|
||||
@ultroid_cmd(
|
||||
pattern="ccarbon( (.*)|$)",
|
||||
)
|
||||
async def crbn(event):
|
||||
match = event.pattern_match.group(1).strip()
|
||||
if not match:
|
||||
return await event.eor(get_string("carbon_3"))
|
||||
msg = await event.eor(get_string("com_1"))
|
||||
if event.reply_to_msg_id:
|
||||
temp = await event.get_reply_message()
|
||||
if temp.media:
|
||||
b = await event.client.download_media(temp)
|
||||
with open(b) as a:
|
||||
code = a.read()
|
||||
os.remove(b)
|
||||
else:
|
||||
code = temp.message
|
||||
else:
|
||||
try:
|
||||
match = match.split(" ", maxsplit=1)
|
||||
code = match[1]
|
||||
match = match[0]
|
||||
except IndexError:
|
||||
return await eor(msg, get_string("carbon_2"))
|
||||
xx = await Carbon(code=code, backgroundColor=match)
|
||||
await msg.delete()
|
||||
await event.reply(
|
||||
f"Carbonised by {inline_mention(event.sender)}",
|
||||
file=xx,
|
||||
)
|
||||
|
||||
|
||||
RaySoTheme = [
|
||||
"meadow",
|
||||
"breeze",
|
||||
"raindrop",
|
||||
"candy",
|
||||
"crimson",
|
||||
"falcon",
|
||||
"sunset",
|
||||
"midnight",
|
||||
]
|
||||
|
||||
|
||||
@ultroid_cmd(pattern="rayso")
|
||||
async def pass_on(ult):
|
||||
spli = ult.text.split()
|
||||
theme, dark, title, text = None, True, get_display_name(ult.chat), None
|
||||
if len(spli) > 2:
|
||||
if spli[1] in RaySoTheme:
|
||||
theme = spli[1]
|
||||
dark = bool(spli[2].lower().strip() in ["true", "t"])
|
||||
elif len(spli) > 1:
|
||||
if spli[1] in RaySoTheme:
|
||||
theme = spli[1]
|
||||
elif spli[1] == "list":
|
||||
text = "**List of Rayso Themes:**\n"
|
||||
text += "\n".join([f"- `{th_}`" for th_ in RaySoTheme])
|
||||
await ult.eor(text)
|
||||
return
|
||||
else:
|
||||
try:
|
||||
text = ult.text.split(maxsplit=1)[1]
|
||||
except IndexError:
|
||||
pass
|
||||
if not theme:
|
||||
theme = random.choice(RaySoTheme)
|
||||
if ult.is_reply:
|
||||
msg = await ult.get_reply_message()
|
||||
text = msg.text
|
||||
title = get_display_name(msg.sender)
|
||||
await ult.reply(
|
||||
file=await Carbon(text, rayso=True, title=title, theme=theme, darkMode=dark)
|
||||
)
|
||||
@@ -1,233 +0,0 @@
|
||||
# Ultroid - UserBot
|
||||
# Copyright (C) 2021-2022 TeamUltroid
|
||||
#
|
||||
# This file is a part of < https://github.com/TeamUltroid/Ultroid/ >
|
||||
# PLease read the GNU Affero General Public License in
|
||||
# <https://www.github.com/TeamUltroid/Ultroid/blob/main/LICENSE/>.
|
||||
"""
|
||||
✘ Commands Available -
|
||||
|
||||
• `{i}carbon <text/reply to msg/reply to document>`
|
||||
Carbonise the text with default settings.
|
||||
|
||||
• `{i}rcarbon <text/reply to msg/reply to document>`
|
||||
Carbonise the text, with random bg colours.
|
||||
|
||||
• `{i}ccarbon <color ><text/reply to msg/reply to document>`
|
||||
Carbonise the text, with custom bg colours.
|
||||
"""
|
||||
import random
|
||||
|
||||
from . import Carbon, eor, get_string, inline_mention, os, ultroid_cmd
|
||||
|
||||
all_col = [
|
||||
"Black",
|
||||
"Navy",
|
||||
"DarkBlue",
|
||||
"MediumBlue",
|
||||
"Blue",
|
||||
"DarkGreen",
|
||||
"Green",
|
||||
"Teal",
|
||||
"DarkCyan",
|
||||
"DeepSkyBlue",
|
||||
"DarkTurquoise",
|
||||
"MediumSpringGreen",
|
||||
"Lime",
|
||||
"SpringGreen",
|
||||
"Aqua",
|
||||
"Cyan",
|
||||
"MidnightBlue",
|
||||
"DodgerBlue",
|
||||
"LightSeaGreen",
|
||||
"ForestGreen",
|
||||
"SeaGreen",
|
||||
"DarkSlateGray",
|
||||
"DarkSlateGrey",
|
||||
"LimeGreen",
|
||||
"MediumSeaGreen",
|
||||
"Turquoise",
|
||||
"RoyalBlue",
|
||||
"SteelBlue",
|
||||
"DarkSlateBlue",
|
||||
"MediumTurquoise",
|
||||
"Indigo ",
|
||||
"DarkOliveGreen",
|
||||
"CadetBlue",
|
||||
"CornflowerBlue",
|
||||
"RebeccaPurple",
|
||||
"MediumAquaMarine",
|
||||
"DimGray",
|
||||
"DimGrey",
|
||||
"SlateBlue",
|
||||
"OliveDrab",
|
||||
"SlateGray",
|
||||
"SlateGrey",
|
||||
"LightSlateGray",
|
||||
"LightSlateGrey",
|
||||
"MediumSlateBlue",
|
||||
"LawnGreen",
|
||||
"Chartreuse",
|
||||
"Aquamarine",
|
||||
"Maroon",
|
||||
"Purple",
|
||||
"Olive",
|
||||
"Gray",
|
||||
"Grey",
|
||||
"SkyBlue",
|
||||
"LightSkyBlue",
|
||||
"BlueViolet",
|
||||
"DarkRed",
|
||||
"DarkMagenta",
|
||||
"SaddleBrown",
|
||||
"DarkSeaGreen",
|
||||
"LightGreen",
|
||||
"MediumPurple",
|
||||
"DarkViolet",
|
||||
"PaleGreen",
|
||||
"DarkOrchid",
|
||||
"YellowGreen",
|
||||
"Sienna",
|
||||
"Brown",
|
||||
"DarkGray",
|
||||
"DarkGrey",
|
||||
"LightBlue",
|
||||
"GreenYellow",
|
||||
"PaleTurquoise",
|
||||
"LightSteelBlue",
|
||||
"PowderBlue",
|
||||
"FireBrick",
|
||||
"DarkGoldenRod",
|
||||
"MediumOrchid",
|
||||
"RosyBrown",
|
||||
"DarkKhaki",
|
||||
"Silver",
|
||||
"MediumVioletRed",
|
||||
"IndianRed ",
|
||||
"Peru",
|
||||
"Chocolate",
|
||||
"Tan",
|
||||
"LightGray",
|
||||
"LightGrey",
|
||||
"Thistle",
|
||||
"Orchid",
|
||||
"GoldenRod",
|
||||
"PaleVioletRed",
|
||||
"Crimson",
|
||||
"Gainsboro",
|
||||
"Plum",
|
||||
"BurlyWood",
|
||||
"LightCyan",
|
||||
"Lavender",
|
||||
"DarkSalmon",
|
||||
"Violet",
|
||||
"PaleGoldenRod",
|
||||
"LightCoral",
|
||||
"Khaki",
|
||||
"AliceBlue",
|
||||
"HoneyDew",
|
||||
"Azure",
|
||||
"SandyBrown",
|
||||
"Wheat",
|
||||
"Beige",
|
||||
"WhiteSmoke",
|
||||
"MintCream",
|
||||
"GhostWhite",
|
||||
"Salmon",
|
||||
"AntiqueWhite",
|
||||
"Linen",
|
||||
"LightGoldenRodYellow",
|
||||
"OldLace",
|
||||
"Red",
|
||||
"Fuchsia",
|
||||
"Magenta",
|
||||
"DeepPink",
|
||||
"OrangeRed",
|
||||
"Tomato",
|
||||
"HotPink",
|
||||
"Coral",
|
||||
"DarkOrange",
|
||||
"LightSalmon",
|
||||
"Orange",
|
||||
"LightPink",
|
||||
"Pink",
|
||||
"Gold",
|
||||
"PeachPuff",
|
||||
"NavajoWhite",
|
||||
"Moccasin",
|
||||
"Bisque",
|
||||
"MistyRose",
|
||||
"BlanchedAlmond",
|
||||
"PapayaWhip",
|
||||
"LavenderBlush",
|
||||
"SeaShell",
|
||||
"Cornsilk",
|
||||
"LemonChiffon",
|
||||
"FloralWhite",
|
||||
"Snow",
|
||||
"Yellow",
|
||||
"LightYellow",
|
||||
"Ivory",
|
||||
"White",
|
||||
]
|
||||
|
||||
|
||||
@ultroid_cmd(
|
||||
pattern="(rc|c)arbon",
|
||||
)
|
||||
async def crbn(event):
|
||||
xxxx = await event.eor(get_string("com_1"))
|
||||
te = event.text
|
||||
col = random.choice(all_col) if te[1] == "r" else "White"
|
||||
if event.reply_to_msg_id:
|
||||
temp = await event.get_reply_message()
|
||||
if temp.media:
|
||||
b = await event.client.download_media(temp)
|
||||
with open(b) as a:
|
||||
code = a.read()
|
||||
os.remove(b)
|
||||
else:
|
||||
code = temp.message
|
||||
else:
|
||||
try:
|
||||
code = event.text.split(" ", maxsplit=1)[1]
|
||||
except IndexError:
|
||||
return await eor(xxxx, get_string("carbon_2"))
|
||||
xx = await Carbon(code=code, file_name="ultroid_carbon", backgroundColor=col)
|
||||
await xxxx.delete()
|
||||
await event.reply(
|
||||
f"Carbonised by {inline_mention(event.sender)}",
|
||||
file=xx,
|
||||
)
|
||||
|
||||
|
||||
@ultroid_cmd(
|
||||
pattern="ccarbon( (.*)|$)",
|
||||
)
|
||||
async def crbn(event):
|
||||
match = event.pattern_match.group(1).strip()
|
||||
if not match:
|
||||
return await event.eor(get_string("carbon_3"))
|
||||
msg = await event.eor(get_string("com_1"))
|
||||
if event.reply_to_msg_id:
|
||||
temp = await event.get_reply_message()
|
||||
if temp.media:
|
||||
b = await event.client.download_media(temp)
|
||||
with open(b) as a:
|
||||
code = a.read()
|
||||
os.remove(b)
|
||||
else:
|
||||
code = temp.message
|
||||
else:
|
||||
try:
|
||||
match = match.split(" ", maxsplit=1)
|
||||
code = match[1]
|
||||
match = match[0]
|
||||
except IndexError:
|
||||
return await eor(msg, get_string("carbon_2"))
|
||||
xx = await Carbon(code=code, backgroundColor=match)
|
||||
await msg.delete()
|
||||
await event.reply(
|
||||
f"Carbonised by {inline_mention(event.sender)}",
|
||||
file=xx,
|
||||
)
|
||||
@@ -98,7 +98,7 @@ async def _(e):
|
||||
chat = await e.get_chat()
|
||||
if hasattr(chat, "username") and chat.username:
|
||||
return await e.eor(f"Username: @{chat.username}")
|
||||
request, usage, title = None, None, None
|
||||
request, usage, title, link = None, None, None, None
|
||||
if match:
|
||||
split = match.split(maxsplit=1)
|
||||
request = bool(split[0] in ["r", "request"])
|
||||
|
||||
@@ -24,19 +24,15 @@
|
||||
• `{i}help <plugin name>`
|
||||
Shows you a help menu (like this) for every plugin.
|
||||
|
||||
• `{i}pick addons`
|
||||
`{i}pick vcbot`
|
||||
Instantly load 'Addons' or 'VcBot'.
|
||||
|
||||
• `{i}getaddons <raw link to code>`
|
||||
Load Plugins from the given raw link.
|
||||
"""
|
||||
|
||||
import os
|
||||
|
||||
from pyUltroid.startup.loader import Loader, load_addons
|
||||
from pyUltroid.startup.loader import load_addons
|
||||
|
||||
from . import async_searcher, eod, get_string, safeinstall, udB, ultroid_cmd, un_plug
|
||||
from . import async_searcher, eod, get_string, safeinstall, ultroid_cmd, un_plug
|
||||
|
||||
|
||||
@ultroid_cmd(pattern="install", fullsudo=True)
|
||||
@@ -115,27 +111,6 @@ async def load(event):
|
||||
)
|
||||
|
||||
|
||||
@ultroid_cmd(pattern="pick( (.*)|$)", fullsudo=True)
|
||||
async def pickup_call(ult):
|
||||
match_ = ult.pattern_match.group(1).strip()
|
||||
match = match_.lower()
|
||||
proc = await ult.eor(get_string("com_1"))
|
||||
if match == "addons":
|
||||
if udB.get_key("ADDONS"):
|
||||
return await proc.eor("`Addons are Already Enabled!`", time=8)
|
||||
udB.set_key("ADDONS", True)
|
||||
Loader(path="addons", key="Addons").load(func=load_addons)
|
||||
elif match == "vcbot":
|
||||
if udB.get_key("VCBOT"):
|
||||
return await proc.eor("`VcBot is Already Active!`", time=8)
|
||||
Loader(path="vcbot", key="VCBot").load()
|
||||
else:
|
||||
return await proc.eor(
|
||||
"`Found Nothing to pick!\nSpecify what to pick..`", time=8
|
||||
)
|
||||
await proc.eor(f"`Successfully Activated {match_}`", time=8)
|
||||
|
||||
|
||||
@ultroid_cmd(pattern="getaddons( (.*)|$)", fullsudo=True)
|
||||
async def get_the_addons_lol(event):
|
||||
thelink = event.pattern_match.group(1).strip()
|
||||
|
||||
@@ -28,8 +28,10 @@
|
||||
Shows System Info.
|
||||
"""
|
||||
|
||||
import inspect
|
||||
import sys
|
||||
import traceback
|
||||
from datetime import datetime
|
||||
from io import BytesIO, StringIO
|
||||
from os import remove
|
||||
from pprint import pprint
|
||||
@@ -58,6 +60,8 @@ _ignore_eval = []
|
||||
async def _(e):
|
||||
xx = await e.eor(get_string("com_1"))
|
||||
x, y = await bash("neofetch|sed 's/\x1B\\[[0-9;\\?]*[a-zA-Z]//g' >> neo.txt")
|
||||
if y and y.endswith("NOT_FOUND"):
|
||||
return await xx.edit(f"Error: `{y}`")
|
||||
with open("neo.txt", "r") as neo:
|
||||
p = (neo.read()).replace("\n\n", "")
|
||||
haa = await Carbon(code=p, file_name="neofetch", backgroundColor=choice(ATRA_COL))
|
||||
@@ -68,7 +72,7 @@ async def _(e):
|
||||
|
||||
@ultroid_cmd(pattern="bash", fullsudo=True, only_devs=True)
|
||||
async def _(event):
|
||||
carb = None
|
||||
carb, yamlf = None, False
|
||||
try:
|
||||
cmd = event.text.split(" ", maxsplit=1)[1]
|
||||
if cmd.split()[0] in ["-c", "--carbon"]:
|
||||
@@ -82,14 +86,15 @@ async def _(event):
|
||||
"`You cannot use this command now. Contact owner of this bot!`"
|
||||
)
|
||||
reply_to_id = event.reply_to_msg_id or event.id
|
||||
stdout, stderr = await bash(cmd)
|
||||
stdout, stderr = await bash(cmd, run_code=1)
|
||||
OUT = f"**☞ BASH\n\n• COMMAND:**\n`{cmd}` \n\n"
|
||||
err, out = "", ""
|
||||
if stderr:
|
||||
err = f"**• ERROR:** \n`{stderr}`\n\n"
|
||||
if stdout:
|
||||
if (carb or udB.get_key("CARBON_ON_BASH")) and (
|
||||
event.chat.admin_rights
|
||||
event.is_private
|
||||
or event.chat.admin_rights
|
||||
or event.chat.creator
|
||||
or event.chat.default_banned_rights.embed_links
|
||||
):
|
||||
@@ -104,7 +109,24 @@ async def _(event):
|
||||
out = "**• OUTPUT:**"
|
||||
remove(li)
|
||||
else:
|
||||
out = f"**• OUTPUT:**\n`{stdout}`"
|
||||
if all(":" in line for line in stdout.split("\n")):
|
||||
try:
|
||||
from strings.strings import safe_load
|
||||
|
||||
load = safe_load(stdout)
|
||||
stdout = ""
|
||||
for data in list(load.keys()):
|
||||
res = load[data] or ""
|
||||
if res and "http" not in str(res):
|
||||
res = f"`{res}`"
|
||||
stdout += f"**{data}** : {res}\n"
|
||||
yamlf = True
|
||||
except Exception as er:
|
||||
stdout = f"`{stdout}`"
|
||||
LOGS.exception(er)
|
||||
else:
|
||||
stdout = f"`{stdout}`"
|
||||
out = f"**• OUTPUT:**\n{stdout}"
|
||||
if not stderr and not stdout:
|
||||
out = "**• OUTPUT:**\n`Success`"
|
||||
OUT += err + out
|
||||
@@ -124,7 +146,7 @@ async def _(event):
|
||||
|
||||
await xx.delete()
|
||||
else:
|
||||
await xx.edit(OUT, link_preview=True)
|
||||
await xx.edit(OUT, link_preview=not yamlf)
|
||||
|
||||
|
||||
pp = pprint # ignore: pylint
|
||||
@@ -153,21 +175,30 @@ async def _(event):
|
||||
cmd = event.text.split(" ", maxsplit=1)[1]
|
||||
except IndexError:
|
||||
return await event.eor(get_string("devs_2"), time=5)
|
||||
silent = False
|
||||
if cmd.split()[0] in ["-s", "--silent"]:
|
||||
silent, gsource, xx = False, False, None
|
||||
spli = cmd.split()
|
||||
|
||||
async def get_():
|
||||
try:
|
||||
cmd = cmd.split(maxsplit=1)[1]
|
||||
cm = cmd.split(maxsplit=1)[1]
|
||||
except IndexError:
|
||||
return await event.eor("->> Wrong Format <<-")
|
||||
await event.eor("->> Wrong Format <<-")
|
||||
cm = None
|
||||
return cm
|
||||
|
||||
if spli[0] in ["-s", "--silent"]:
|
||||
await event.delete()
|
||||
silent = True
|
||||
elif cmd.split()[0] in ["-n", "-noedit"]:
|
||||
try:
|
||||
cmd = cmd.split(maxsplit=1)[1]
|
||||
except IndexError:
|
||||
return await event.eor("->> Wrong Format <<-")
|
||||
cmd = await get_()
|
||||
elif spli[0] in ["-n", "-noedit"]:
|
||||
cmd = await get_()
|
||||
xx = await event.reply(get_string("com_1"))
|
||||
else:
|
||||
elif spli[0] in ["-gs", "--source"]:
|
||||
gsource = True
|
||||
cmd = await get_()
|
||||
if not cmd:
|
||||
return
|
||||
if not silent and not xx:
|
||||
xx = await event.eor(get_string("com_1"))
|
||||
if black:
|
||||
try:
|
||||
@@ -195,15 +226,23 @@ async def _(event):
|
||||
old_stdout = sys.stdout
|
||||
redirected_output = sys.stdout = StringIO()
|
||||
redirected_error = sys.stderr = StringIO()
|
||||
stdout, stderr, exc = None, None, None
|
||||
stdout, stderr, exc, timeg = None, None, None, None
|
||||
try:
|
||||
start = datetime.now()
|
||||
value = await aexec(cmd, event)
|
||||
timeg = time_formatter((datetime.now() - start).microseconds / 1000)
|
||||
except Exception:
|
||||
value = None
|
||||
exc = traceback.format_exc()
|
||||
stdout = redirected_output.getvalue()
|
||||
stderr = redirected_error.getvalue()
|
||||
sys.stdout = old_stdout
|
||||
sys.stderr = old_stderr
|
||||
if value and gsource:
|
||||
try:
|
||||
exc = inspect.getsource(value)
|
||||
except Exception:
|
||||
exc = traceback.format_exc()
|
||||
evaluation = exc or stderr or stdout or _parse_eval(value) or get_string("instu_4")
|
||||
if silent:
|
||||
if exc:
|
||||
@@ -219,11 +258,13 @@ async def _(event):
|
||||
await event.client.send_message(log_chat, msg, parse_mode="html")
|
||||
return
|
||||
final_output = (
|
||||
"__►__ **EVALPy**\n```{}``` \n\n __►__ **OUTPUT**: \n```{}``` \n".format(
|
||||
"__►__ **EVAL**\n```{}``` \n\n __►__ **OUTPUT**: \n```{}``` \n".format(
|
||||
cmd,
|
||||
evaluation,
|
||||
)
|
||||
)
|
||||
if timeg:
|
||||
final_output += f"Time Taken: `{timeg}`"
|
||||
if len(final_output) > 4096:
|
||||
final_output = evaluation
|
||||
with BytesIO(str.encode(final_output)) as out_file:
|
||||
|
||||
@@ -38,6 +38,7 @@ from . import (
|
||||
downloader,
|
||||
eor,
|
||||
fast_download,
|
||||
get_all_files,
|
||||
get_string,
|
||||
progress,
|
||||
time_formatter,
|
||||
@@ -178,7 +179,7 @@ async def _(event):
|
||||
for result in results:
|
||||
if os.path.isdir(result):
|
||||
c, s = 0, 0
|
||||
for files in sorted(glob.glob(result + "/*")):
|
||||
for files in get_all_files(result):
|
||||
attributes = None
|
||||
if stream:
|
||||
try:
|
||||
@@ -220,6 +221,5 @@ async def _(event):
|
||||
thumb=thumb,
|
||||
attributes=attributes,
|
||||
caption=f"`Uploaded` `{result}` `in {time_formatter(_*1000)}`",
|
||||
reply_to=event.reply_to_msg_id or event,
|
||||
)
|
||||
await msg.try_delete()
|
||||
|
||||
@@ -32,11 +32,8 @@ async def delete_it(delme):
|
||||
msg_src = await delme.get_reply_message()
|
||||
if not msg_src:
|
||||
return
|
||||
try:
|
||||
await msg_src.delete()
|
||||
await delme.delete()
|
||||
except Exception as e:
|
||||
await delme.eor(f"Couldn't delete the message.\n\n**ERROR:**\n`{e}`", time=5)
|
||||
await msg_src.try_delete()
|
||||
await delme.try_delete()
|
||||
|
||||
|
||||
@ultroid_cmd(
|
||||
|
||||
@@ -12,15 +12,17 @@
|
||||
To get list of fonts
|
||||
"""
|
||||
|
||||
import string
|
||||
|
||||
from . import HNDLR, eod, ultroid_cmd
|
||||
|
||||
fonts = ["small caps", "monospace", "double stroke", "script royal"]
|
||||
_default = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
|
||||
_small_caps = "ᴀʙᴄᴅᴇғɢʜɪᴊᴋʟᴍɴᴏᴘϙʀsᴛᴜᴠᴡxʏᴢABCDEFGHIJKLMNOPQRSTUVWXYZ"
|
||||
_monospace = "𝚊𝚋𝚌𝚍𝚎𝚏𝚐𝚑𝚒𝚓𝚔𝚕𝚖𝚗𝚘𝚙𝚚𝚛𝚜𝚝𝚞𝚟𝚠𝚡𝚢𝚣𝙰𝙱𝙲𝙳𝙴𝙵𝙶𝙷𝙸𝙹𝙺𝙻𝙼𝙽𝙾𝙿𝚀𝚁𝚂𝚃𝚄𝚅𝚆𝚇𝚈𝚉"
|
||||
_double_stroke = "𝕒𝕓𝕔𝕕𝕖𝕗𝕘𝕙𝕚𝕛𝕜𝕝𝕞𝕟𝕠𝕡𝕢𝕣𝕤𝕥𝕦𝕧𝕨𝕩𝕪𝕫𝔸𝔹ℂ𝔻𝔼𝔽𝔾ℍ𝕀𝕁𝕂𝕃𝕄ℕ𝕆ℙℚℝ𝕊𝕋𝕌𝕍𝕎𝕏𝕐ℤ"
|
||||
_script_royal = "𝒶𝒷𝒸𝒹𝑒𝒻𝑔𝒽𝒾𝒿𝓀𝓁𝓂𝓃𝑜𝓅𝓆𝓇𝓈𝓉𝓊𝓋𝓌𝓍𝓎𝓏𝒜ℬ𝒞𝒟ℰℱ𝒢ℋℐ𝒥𝒦ℒℳ𝒩𝒪𝒫𝒬ℛ𝒮𝒯𝒰𝒱𝒲𝒳𝒴𝒵"
|
||||
_default = string.ascii_letters
|
||||
Fonts = {
|
||||
"small caps": "ᴀʙᴄᴅᴇғɢʜɪᴊᴋʟᴍɴᴏᴘϙʀsᴛᴜᴠᴡxʏᴢABCDEFGHIJKLMNOPQRSTUVWXYZ",
|
||||
"monospace": "𝚊𝚋𝚌𝚍𝚎𝚏𝚐𝚑𝚒𝚓𝚔𝚕𝚖𝚗𝚘𝚙𝚚𝚛𝚜𝚝𝚞𝚟𝚠𝚡𝚢𝚣𝙰𝙱𝙲𝙳𝙴𝙵𝙶𝙷𝙸𝙹𝙺𝙻𝙼𝙽𝙾𝙿𝚀𝚁𝚂𝚃𝚄𝚅𝚆𝚇𝚈𝚉",
|
||||
"double stroke": "𝕒𝕓𝕔𝕕𝕖𝕗𝕘𝕙𝕚𝕛𝕜𝕝𝕞𝕟𝕠𝕡𝕢𝕣𝕤𝕥𝕦𝕧𝕨𝕩𝕪𝕫𝔸𝔹ℂ𝔻𝔼𝔽𝔾ℍ𝕀𝕁𝕂𝕃𝕄ℕ𝕆ℙℚℝ𝕊𝕋𝕌𝕍𝕎𝕏𝕐ℤ",
|
||||
"script royal": "𝒶𝒷𝒸𝒹𝑒𝒻𝑔𝒽𝒾𝒿𝓀𝓁𝓂𝓃𝑜𝓅𝓆𝓇𝓈𝓉𝓊𝓋𝓌𝓍𝓎𝓏𝒜ℬ𝒞𝒟ℰℱ𝒢ℋℐ𝒥𝒦ℒℳ𝒩𝒪𝒫𝒬ℛ𝒮𝒯𝒰𝒱𝒲𝒳𝒴𝒵",
|
||||
}
|
||||
|
||||
|
||||
@ultroid_cmd(
|
||||
@@ -32,7 +34,7 @@ async def _(e):
|
||||
help = __doc__.format(i=HNDLR)
|
||||
if not input:
|
||||
m = "**Available Fonts**\n\n"
|
||||
for x in fonts:
|
||||
for x in Fonts.keys():
|
||||
m += f"• `{x}`\n"
|
||||
return await e.eor(m, time=5)
|
||||
if not reply:
|
||||
@@ -47,16 +49,9 @@ async def _(e):
|
||||
else:
|
||||
font = input
|
||||
text = reply.message
|
||||
if font not in fonts:
|
||||
if font not in Fonts.keys():
|
||||
return await e.eor(f"`{font} not in font list`.", time=5)
|
||||
if font == "small caps":
|
||||
msg = gen_font(text, _small_caps)
|
||||
elif font == "monospace":
|
||||
msg = gen_font(text, _monospace)
|
||||
elif font == "double stroke":
|
||||
msg = gen_font(text, _double_stroke)
|
||||
elif font == "script royal":
|
||||
msg = gen_font(text, _script_royal)
|
||||
msg = gen_font(text, Fonts[font])
|
||||
await e.eor(msg)
|
||||
|
||||
|
||||
|
||||
@@ -85,32 +85,6 @@ from . import (
|
||||
)
|
||||
|
||||
|
||||
@ultroid_cmd(
|
||||
pattern="sketch$",
|
||||
)
|
||||
async def sketch(e):
|
||||
ureply = await e.get_reply_message()
|
||||
xx = await e.eor("`...`")
|
||||
if not (ureply and (ureply.media)):
|
||||
await xx.edit(get_string("cvt_3"))
|
||||
return
|
||||
ultt = await ureply.download_media()
|
||||
if ultt.endswith(".tgs"):
|
||||
await xx.edit(get_string("sts_9"))
|
||||
file = await con.convert(ultt, convert_to="png", outname="ult")
|
||||
img = cv2.imread(file)
|
||||
gray_image = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
|
||||
inverted_gray_image = 255 - gray_image
|
||||
blurred_img = cv2.GaussianBlur(inverted_gray_image, (21, 21), 0)
|
||||
inverted_blurred_img = 255 - blurred_img
|
||||
pencil_sketch_IMG = cv2.divide(gray_image, inverted_blurred_img, scale=256.0)
|
||||
cv2.imwrite("ultroid.png", pencil_sketch_IMG)
|
||||
await e.reply(file="ultroid.png")
|
||||
await xx.delete()
|
||||
os.remove(file)
|
||||
os.remove("ultroid.png")
|
||||
|
||||
|
||||
@ultroid_cmd(pattern="color$")
|
||||
async def _(event):
|
||||
reply = await event.get_reply_message()
|
||||
@@ -141,20 +115,67 @@ async def _(event):
|
||||
await xx.delete()
|
||||
|
||||
|
||||
@ultroid_cmd(
|
||||
pattern="grey$",
|
||||
)
|
||||
async def ultd(event):
|
||||
@ultroid_cmd(pattern="(grey|blur|negative|danger|mirror|quad|sketch|flip|toon)$")
|
||||
async def ult_tools(event):
|
||||
match = event.pattern_match.group(1)
|
||||
ureply = await event.get_reply_message()
|
||||
if not (ureply and (ureply.media)):
|
||||
await event.eor(get_string("cvt_3"))
|
||||
return
|
||||
ultt = await ureply.download_media()
|
||||
xx = await event.eor(get_string("com_1"))
|
||||
if ultt.endswith(".tgs"):
|
||||
xx = await event.eor(get_string("sts_9"))
|
||||
xx = await xx.edit(get_string("sts_9"))
|
||||
file = await con.convert(ultt, convert_to="png", outname="ult")
|
||||
ult = cv2.imread(file)
|
||||
ultroid = cv2.cvtColor(ult, cv2.COLOR_BGR2GRAY)
|
||||
if match == "grey":
|
||||
ultroid = cv2.cvtColor(ult, cv2.COLOR_BGR2GRAY)
|
||||
elif match == "blur":
|
||||
ultroid = cv2.GaussianBlur(ult, (35, 35), 0)
|
||||
elif match == "negative":
|
||||
ultroid = cv2.bitwise_not(ult)
|
||||
elif match == "danger":
|
||||
dan = cv2.cvtColor(ult, cv2.COLOR_BGR2RGB)
|
||||
ultroid = cv2.cvtColor(dan, cv2.COLOR_HSV2BGR)
|
||||
elif match == "mirror":
|
||||
ish = cv2.flip(ult, 1)
|
||||
ultroid = cv2.hconcat([ult, ish])
|
||||
elif match == "flip":
|
||||
trn = cv2.flip(ult, 1)
|
||||
ish = cv2.rotate(trn, cv2.ROTATE_180)
|
||||
ultroid = cv2.vconcat([ult, ish])
|
||||
elif match == "quad":
|
||||
ult = cv2.imread(file)
|
||||
roid = cv2.flip(ult, 1)
|
||||
mici = cv2.hconcat([ult, roid])
|
||||
fr = cv2.flip(mici, 1)
|
||||
trn = cv2.rotate(fr, cv2.ROTATE_180)
|
||||
ultroid = cv2.vconcat([mici, trn])
|
||||
elif match == "sketch":
|
||||
gray_image = cv2.cvtColor(ult, cv2.COLOR_BGR2GRAY)
|
||||
inverted_gray_image = 255 - gray_image
|
||||
blurred_img = cv2.GaussianBlur(inverted_gray_image, (21, 21), 0)
|
||||
inverted_blurred_img = 255 - blurred_img
|
||||
ultroid = cv2.divide(gray_image, inverted_blurred_img, scale=256.0)
|
||||
elif match == "toon":
|
||||
height, width, _ = ult.shape
|
||||
samples = np.zeros([height * width, 3], dtype=np.float32)
|
||||
count = 0
|
||||
for x in range(height):
|
||||
for y in range(width):
|
||||
samples[count] = ult[x][y]
|
||||
count += 1
|
||||
_, labels, centers = cv2.kmeans(
|
||||
samples,
|
||||
12,
|
||||
None,
|
||||
(cv2.TERM_CRITERIA_EPS + cv2.TERM_CRITERIA_MAX_ITER, 10000, 0.0001),
|
||||
5,
|
||||
cv2.KMEANS_PP_CENTERS,
|
||||
)
|
||||
centers = np.uint8(centers)
|
||||
ish = centers[labels.flatten()]
|
||||
ultroid = ish.reshape(ult.shape)
|
||||
cv2.imwrite("ult.jpg", ultroid)
|
||||
await event.client.send_file(
|
||||
event.chat_id,
|
||||
@@ -163,227 +184,8 @@ async def ultd(event):
|
||||
reply_to=event.reply_to_msg_id,
|
||||
)
|
||||
await xx.delete()
|
||||
os.remove("ult.png")
|
||||
os.remove("ult.jpg")
|
||||
os.remove(ultt)
|
||||
|
||||
|
||||
@ultroid_cmd(
|
||||
pattern="blur$",
|
||||
)
|
||||
async def ultd(event):
|
||||
ureply = await event.get_reply_message()
|
||||
if not (ureply and (ureply.media)):
|
||||
await event.eor(get_string("cvt_3"))
|
||||
return
|
||||
ultt = await ureply.download_media()
|
||||
if ultt.endswith(".tgs"):
|
||||
xx = await event.eor(get_string("sts_9"))
|
||||
file = await con.convert(ultt, convert_to="png", outname="ult")
|
||||
ult = cv2.imread(file)
|
||||
ultroid = cv2.GaussianBlur(ult, (35, 35), 0)
|
||||
cv2.imwrite("ult.jpg", ultroid)
|
||||
await event.client.send_file(
|
||||
event.chat_id,
|
||||
"ult.jpg",
|
||||
force_document=False,
|
||||
reply_to=event.reply_to_msg_id,
|
||||
)
|
||||
await xx.delete()
|
||||
for i in ["ult.png", "ult.jpg", ultt]:
|
||||
if os.path.exists(i):
|
||||
os.remove(i)
|
||||
|
||||
|
||||
@ultroid_cmd(
|
||||
pattern="negative$",
|
||||
)
|
||||
async def ultd(event):
|
||||
ureply = await event.get_reply_message()
|
||||
xx = await event.eor("`...`")
|
||||
if not (ureply and (ureply.media)):
|
||||
await xx.edit(get_string("cvt_3"))
|
||||
return
|
||||
ultt = await ureply.download_media()
|
||||
if ultt.endswith(".tgs"):
|
||||
await xx.edit(get_string("sts_9"))
|
||||
file = await con.convert(ultt, convert_to="png", outname="ult")
|
||||
ult = cv2.imread(file)
|
||||
ultroid = cv2.bitwise_not(ult)
|
||||
cv2.imwrite("ult.jpg", ultroid)
|
||||
await event.client.send_file(
|
||||
event.chat_id,
|
||||
"ult.jpg",
|
||||
force_document=False,
|
||||
reply_to=event.reply_to_msg_id,
|
||||
)
|
||||
await xx.delete()
|
||||
os.remove("ult.png")
|
||||
os.remove("ult.jpg")
|
||||
os.remove(ultt)
|
||||
|
||||
|
||||
@ultroid_cmd(
|
||||
pattern="mirror$",
|
||||
)
|
||||
async def ultd(event):
|
||||
ureply = await event.get_reply_message()
|
||||
xx = await event.eor("`...`")
|
||||
if not (ureply and (ureply.media)):
|
||||
await xx.edit(get_string("cvt_3"))
|
||||
return
|
||||
ultt = await ureply.download_media()
|
||||
file = await con.convert(ultt, convert_to="png", outname="ult")
|
||||
ult = cv2.imread(file)
|
||||
ish = cv2.flip(ult, 1)
|
||||
ultroid = cv2.hconcat([ult, ish])
|
||||
cv2.imwrite("ult.jpg", ultroid)
|
||||
await event.client.send_file(
|
||||
event.chat_id,
|
||||
"ult.jpg",
|
||||
force_document=False,
|
||||
reply_to=event.reply_to_msg_id,
|
||||
)
|
||||
await xx.delete()
|
||||
os.remove("ult.png")
|
||||
os.remove("ult.jpg")
|
||||
os.remove(ultt)
|
||||
|
||||
|
||||
@ultroid_cmd(
|
||||
pattern="flip$",
|
||||
)
|
||||
async def ultd(event):
|
||||
ureply = await event.get_reply_message()
|
||||
xx = await event.eor("`...`")
|
||||
if not (ureply and (ureply.media)):
|
||||
await xx.edit(get_string("cvt_3"))
|
||||
return
|
||||
ultt = await ureply.download_media()
|
||||
if ultt.endswith(".tgs"):
|
||||
await xx.edit(get_string("sts_9"))
|
||||
file = await con.convert(ultt, convert_to="png", outname="ult")
|
||||
ult = cv2.imread(file)
|
||||
trn = cv2.flip(ult, 1)
|
||||
ish = cv2.rotate(trn, cv2.ROTATE_180)
|
||||
ultroid = cv2.vconcat([ult, ish])
|
||||
cv2.imwrite("ult.jpg", ultroid)
|
||||
await event.client.send_file(
|
||||
event.chat_id,
|
||||
"ult.jpg",
|
||||
force_document=False,
|
||||
reply_to=event.reply_to_msg_id,
|
||||
)
|
||||
await xx.delete()
|
||||
os.remove("ult.png")
|
||||
os.remove("ult.jpg")
|
||||
os.remove(ultt)
|
||||
|
||||
|
||||
@ultroid_cmd(
|
||||
pattern="quad$",
|
||||
)
|
||||
async def ultd(event):
|
||||
ureply = await event.get_reply_message()
|
||||
xx = await event.eor("`...`")
|
||||
if not (ureply and (ureply.media)):
|
||||
await xx.edit(get_string("cvt_3"))
|
||||
return
|
||||
ultt = await ureply.download_media()
|
||||
if ultt.endswith(".tgs"):
|
||||
await xx.edit(get_string("sts_9"))
|
||||
file = await con.convert(ultt, convert_to="png", outname="ult")
|
||||
ult = cv2.imread(file)
|
||||
roid = cv2.flip(ult, 1)
|
||||
mici = cv2.hconcat([ult, roid])
|
||||
fr = cv2.flip(mici, 1)
|
||||
trn = cv2.rotate(fr, cv2.ROTATE_180)
|
||||
ultroid = cv2.vconcat([mici, trn])
|
||||
cv2.imwrite("ult.jpg", ultroid)
|
||||
await event.client.send_file(
|
||||
event.chat_id,
|
||||
"ult.jpg",
|
||||
force_document=False,
|
||||
reply_to=event.reply_to_msg_id,
|
||||
)
|
||||
await xx.delete()
|
||||
os.remove("ult.png")
|
||||
os.remove("ult.jpg")
|
||||
os.remove(ultt)
|
||||
|
||||
|
||||
@ultroid_cmd(
|
||||
pattern="toon$",
|
||||
)
|
||||
async def ultd(event):
|
||||
ureply = await event.get_reply_message()
|
||||
xx = await event.eor("`...`")
|
||||
if not (ureply and (ureply.media)):
|
||||
await xx.edit(get_string("cvt_3"))
|
||||
return
|
||||
ultt = await ureply.download_media()
|
||||
if ultt.endswith(".tgs"):
|
||||
await xx.edit(get_string("sts_9"))
|
||||
file = await con.convert(ultt, convert_to="png", outname="ult")
|
||||
ult = cv2.imread(file)
|
||||
height, width, channels = ult.shape
|
||||
samples = np.zeros([height * width, 3], dtype=np.float32)
|
||||
count = 0
|
||||
for x in range(height):
|
||||
for y in range(width):
|
||||
samples[count] = ult[x][y]
|
||||
count += 1
|
||||
compactness, labels, centers = cv2.kmeans(
|
||||
samples,
|
||||
12,
|
||||
None,
|
||||
(cv2.TERM_CRITERIA_EPS + cv2.TERM_CRITERIA_MAX_ITER, 10000, 0.0001),
|
||||
5,
|
||||
cv2.KMEANS_PP_CENTERS,
|
||||
)
|
||||
centers = np.uint8(centers)
|
||||
ish = centers[labels.flatten()]
|
||||
ultroid = ish.reshape(ult.shape)
|
||||
cv2.imwrite("ult.jpg", ultroid)
|
||||
await event.client.send_file(
|
||||
event.chat_id,
|
||||
"ult.jpg",
|
||||
force_document=False,
|
||||
reply_to=event.reply_to_msg_id,
|
||||
)
|
||||
await xx.delete()
|
||||
os.remove("ult.png")
|
||||
os.remove("ult.jpg")
|
||||
os.remove(ultt)
|
||||
|
||||
|
||||
@ultroid_cmd(
|
||||
pattern="danger$",
|
||||
)
|
||||
async def ultd(event):
|
||||
ureply = await event.get_reply_message()
|
||||
xx = await event.eor("`...`")
|
||||
if not (ureply and (ureply.media)):
|
||||
await xx.edit(get_string("cvt_3"))
|
||||
return
|
||||
ultt = await ureply.download_media()
|
||||
if ultt.endswith(".tgs"):
|
||||
await xx.edit(get_string("sts_9"))
|
||||
file = await con.convert(ultt, convert_to="png", outname="ult")
|
||||
ult = cv2.imread(file)
|
||||
dan = cv2.cvtColor(ult, cv2.COLOR_BGR2RGB)
|
||||
ultroid = cv2.cvtColor(dan, cv2.COLOR_HSV2BGR)
|
||||
cv2.imwrite("ult.jpg", ultroid)
|
||||
await event.client.send_file(
|
||||
event.chat_id,
|
||||
"ult.jpg",
|
||||
force_document=False,
|
||||
reply_to=event.reply_to_msg_id,
|
||||
)
|
||||
await xx.delete()
|
||||
os.remove("ult.png")
|
||||
os.remove("ult.jpg")
|
||||
os.remove(ultt)
|
||||
os.remove(file)
|
||||
|
||||
|
||||
@ultroid_cmd(pattern="csample (.*)")
|
||||
|
||||
@@ -1,67 +0,0 @@
|
||||
# Ultroid - UserBot
|
||||
# Copyright (C) 2021-2022 TeamUltroid
|
||||
#
|
||||
# This file is a part of < https://github.com/TeamUltroid/Ultroid/ >
|
||||
# PLease read the GNU Affero General Public License in
|
||||
# <https://www.github.com/TeamUltroid/Ultroid/blob/main/LICENSE/>.
|
||||
"""
|
||||
✘ Commands Available -
|
||||
|
||||
•`{i}megadl <link>`
|
||||
It Downloads and Upload Files from mega.nz links.
|
||||
"""
|
||||
import time
|
||||
from datetime import datetime
|
||||
|
||||
from . import (
|
||||
HNDLR,
|
||||
LOGS,
|
||||
bash,
|
||||
get_all_files,
|
||||
get_string,
|
||||
humanbytes,
|
||||
os,
|
||||
time_formatter,
|
||||
ultroid_cmd,
|
||||
uploader,
|
||||
)
|
||||
|
||||
|
||||
@ultroid_cmd(pattern="megadl( (.*)|$)")
|
||||
async def _(e):
|
||||
link = e.pattern_match.group(1).strip()
|
||||
if os.path.isdir("mega"):
|
||||
await bash("rm -rf mega")
|
||||
os.mkdir("mega")
|
||||
xx = await e.eor(f"{get_string('com_1')}\nTo Check Progress : `{HNDLR}ls mega`")
|
||||
s = datetime.now()
|
||||
x, y = await bash(f"megadl {link} --path mega")
|
||||
ok = get_all_files("mega")
|
||||
tt = time.time()
|
||||
c = 0
|
||||
for kk in ok:
|
||||
try:
|
||||
res = await uploader(kk, kk, tt, xx, get_string("com_6"))
|
||||
await e.client.send_file(
|
||||
e.chat_id,
|
||||
res,
|
||||
caption="`" + kk.split("/")[-1] + "`",
|
||||
force_document=True,
|
||||
thumb="resources/extras/ultroid.jpg",
|
||||
)
|
||||
c += 1
|
||||
except Exception as er:
|
||||
LOGS.info(er)
|
||||
ee = datetime.now()
|
||||
t = time_formatter(((ee - s).seconds) * 1000)
|
||||
size = 0
|
||||
for path, dirs, files in os.walk("mega"):
|
||||
for f in files:
|
||||
fp = os.path.join(path, f)
|
||||
size += os.path.getsize(fp)
|
||||
await xx.delete()
|
||||
await e.client.send_message(
|
||||
e.chat_id,
|
||||
f"Downloaded And Uploaded Total - `{c}` files of `{humanbytes(size)}` in `{t}`",
|
||||
)
|
||||
await bash("rm -rf mega")
|
||||
@@ -94,7 +94,7 @@ async def nsfw_check(e):
|
||||
NWARN.update({e.sender_id: count})
|
||||
return await ultroid_bot.send_message(
|
||||
chat,
|
||||
f"**NSFW Warn {count}/3** To [{e.sender.first_name}](tg://user?id={e.sender_id})\nDon't Send NSFW stuffs Here Or You will Be Get {action}",
|
||||
f"**NSFW Warn {count}/3** To [{e.sender.first_name}](tg://user?id={e.sender_id})\nNSFW prohibited! Repeated violation would lead to {action}",
|
||||
)
|
||||
if "mute" in action:
|
||||
try:
|
||||
@@ -108,7 +108,7 @@ async def nsfw_check(e):
|
||||
except BaseException:
|
||||
await ultroid_bot.send_message(
|
||||
chat,
|
||||
f"NSFW Warn 3/3 to [{e.sender.first_name}](tg://user?id={e.sender_id})\n\nCan't Able to {action}.",
|
||||
f"NSFW Warn 3/3 to [{e.sender.first_name}](tg://user?id={e.sender_id})\n\nUnable to {action}.",
|
||||
)
|
||||
elif "ban" in action:
|
||||
try:
|
||||
@@ -122,7 +122,7 @@ async def nsfw_check(e):
|
||||
except BaseException:
|
||||
await ultroid_bot.send_message(
|
||||
chat,
|
||||
f"NSFW Warn 3/3 to [{e.sender.first_name}](tg://user?id={e.sender_id})\n\nCan't Able to {action}.",
|
||||
f"NSFW Warn 3/3 to [{e.sender.first_name}](tg://user?id={e.sender_id})\n\nUnable to {action}.",
|
||||
)
|
||||
elif "kick" in action:
|
||||
try:
|
||||
@@ -134,14 +134,14 @@ async def nsfw_check(e):
|
||||
except BaseException:
|
||||
await ultroid_bot.send_message(
|
||||
chat,
|
||||
f"NSFW Warn 3/3 to [{e.sender.first_name}](tg://user?id={e.sender_id})\n\nCan't Able to {action}.",
|
||||
f"NSFW Warn 3/3 to [{e.sender.first_name}](tg://user?id={e.sender_id})\n\nUnable to {action}.",
|
||||
)
|
||||
NWARN.pop(e.sender_id)
|
||||
else:
|
||||
NWARN.update({e.sender_id: 1})
|
||||
return await ultroid_bot.send_message(
|
||||
chat,
|
||||
f"**NSFW Warn 1/3** To [{e.sender.first_name}](tg://user?id={e.sender_id})\nDon't Send NSFW stuffs Here Or You will Be Get {action}",
|
||||
f"**NSFW Warn 1/3** To [{e.sender.first_name}](tg://user?id={e.sender_id})\nNSFW prohibited! Repeated violation would lead to {action}",
|
||||
)
|
||||
|
||||
|
||||
|
||||
@@ -375,9 +375,7 @@ if udB.get_key("PMSETTING"):
|
||||
f"**{mention}** [`{user.id}`] was Blocked for spamming.",
|
||||
)
|
||||
|
||||
@ultroid_cmd(
|
||||
pattern="(start|stop|clear)archive$",
|
||||
)
|
||||
@ultroid_cmd(pattern="(start|stop|clear)archive$", fullsudo=True)
|
||||
async def _(e):
|
||||
x = e.pattern_match.group(1).strip()
|
||||
if x == "start":
|
||||
@@ -393,9 +391,7 @@ if udB.get_key("PMSETTING"):
|
||||
except Exception as mm:
|
||||
await e.eor(str(mm), time=5)
|
||||
|
||||
@ultroid_cmd(
|
||||
pattern="(a|approve)(?: |$)",
|
||||
)
|
||||
@ultroid_cmd(pattern="(a|approve)(?: |$)", fullsudo=True)
|
||||
async def approvepm(apprvpm):
|
||||
if apprvpm.reply_to_msg_id:
|
||||
user = (await apprvpm.get_reply_message()).sender
|
||||
@@ -446,9 +442,7 @@ if udB.get_key("PMSETTING"):
|
||||
else:
|
||||
await apprvpm.eor("`User may already be approved.`", time=5)
|
||||
|
||||
@ultroid_cmd(
|
||||
pattern="(da|disapprove)(?: |$)",
|
||||
)
|
||||
@ultroid_cmd(pattern="(da|disapprove)(?: |$)", fullsudo=True)
|
||||
async def disapprovepm(e):
|
||||
if e.reply_to_msg_id:
|
||||
user = (await e.get_reply_message()).sender
|
||||
@@ -520,7 +514,7 @@ async def blockpm(block):
|
||||
)
|
||||
await block.client(BlockRequest(user))
|
||||
aname = await block.client.get_entity(user)
|
||||
await block.eor(f"{inline_mention(aname)} `has been blocked!`")
|
||||
await block.eor(f"{inline_mention(aname)} [`{user}`] `has been blocked!`")
|
||||
try:
|
||||
disapprove_user(user)
|
||||
except AttributeError:
|
||||
@@ -546,11 +540,12 @@ async def blockpm(block):
|
||||
pass
|
||||
|
||||
|
||||
@ultroid_cmd(pattern="unblock( (.*)|$)")
|
||||
@ultroid_cmd(pattern="unblock( (.*)|$)", fullsudo=True)
|
||||
async def unblockpm(event):
|
||||
match = event.pattern_match.group(1).strip()
|
||||
if event.reply_to_msg_id:
|
||||
user = (await event.get_reply_message()).sender_id
|
||||
reply = await event.get_reply_message()
|
||||
if reply:
|
||||
user = reply.sender_id
|
||||
elif match:
|
||||
if match == "all":
|
||||
msg = await event.eor(get_string("com_1"))
|
||||
@@ -576,14 +571,10 @@ async def unblockpm(event):
|
||||
user = await event.client.parse_id(match)
|
||||
except Exception as er:
|
||||
return await event.eor(str(er))
|
||||
elif block.is_private:
|
||||
user = (await event.get_chat()).id
|
||||
elif event.is_private:
|
||||
user = event.chat_id
|
||||
else:
|
||||
return await event.eor(NO_REPLY, time=10)
|
||||
try:
|
||||
user = await event.client.parse_id(match)
|
||||
except Exception as er:
|
||||
return await event.eor(str(er))
|
||||
try:
|
||||
await event.client(UnblockRequest(user))
|
||||
aname = await event.client.get_entity(user)
|
||||
|
||||
@@ -112,6 +112,9 @@ async def remove_profilepic(delpfp):
|
||||
async def gpoto(e):
|
||||
ult = e.pattern_match.group(1).strip()
|
||||
a = await e.eor(get_string("com_1"))
|
||||
just_dl = ult in ["-dl", "--dl"]
|
||||
if just_dl:
|
||||
ult = None
|
||||
if not ult:
|
||||
if e.is_reply:
|
||||
gs = await e.get_reply_message()
|
||||
@@ -121,6 +124,8 @@ async def gpoto(e):
|
||||
okla = await e.client.download_profile_photo(ult)
|
||||
if not okla:
|
||||
return await eor(a, "`Pfp Not Found...`")
|
||||
await a.delete()
|
||||
await e.reply(file=okla)
|
||||
os.remove(okla)
|
||||
if not just_dl:
|
||||
await a.delete()
|
||||
await e.reply(file=okla)
|
||||
return os.remove(okla)
|
||||
await a.edit(f"Downloaded pfp to [ `{okla}` ].")
|
||||
|
||||
@@ -56,7 +56,7 @@ from . import (
|
||||
ultroid_cmd,
|
||||
uploader,
|
||||
)
|
||||
from .carbon import all_col
|
||||
from .beautify import all_col
|
||||
|
||||
File = []
|
||||
|
||||
|
||||
@@ -63,7 +63,7 @@ from telethon.tl.types import (
|
||||
)
|
||||
from telethon.utils import pack_bot_file_id
|
||||
|
||||
from . import HNDLR, async_searcher, bash, con, eor, get_string
|
||||
from . import HNDLR, LOGS, async_searcher, bash, con, eor, get_string
|
||||
from . import humanbytes as hb
|
||||
from . import inline_mention, is_url_ok, mediainfo, ultroid_cmd
|
||||
|
||||
@@ -94,6 +94,7 @@ async def _(event):
|
||||
output_str = f"**TRANSLATED** from {fr} to {lan}\n{tt}"
|
||||
await event.eor(output_str)
|
||||
except Exception as exc:
|
||||
LOGS.exception(exc)
|
||||
await event.eor(str(exc), time=5)
|
||||
|
||||
|
||||
|
||||
@@ -41,6 +41,8 @@ if HOSTED_ON == "heroku":
|
||||
heroku_api, app_name = Var.HEROKU_API, Var.HEROKU_APP_NAME
|
||||
try:
|
||||
if heroku_api and app_name:
|
||||
import heroku3
|
||||
|
||||
Heroku = heroku3.from_key(heroku_api)
|
||||
app = Heroku.app(app_name)
|
||||
HEROKU_API = heroku_api
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
# This file is a part of < https://github.com/TeamUltroid/Ultroid/ >
|
||||
# PLease read the GNU Affero General Public License in
|
||||
# <https://www.github.com/TeamUltroid/Ultroid/blob/main/LICENSE/>.
|
||||
|
||||
"""
|
||||
✘ Commands Available -
|
||||
|
||||
|
||||
@@ -76,11 +76,12 @@ async def zipp(event):
|
||||
await xx.delete()
|
||||
|
||||
|
||||
@ultroid_cmd(pattern="unzip$")
|
||||
@ultroid_cmd(pattern="unzip( (.*)|$)")
|
||||
async def unzipp(event):
|
||||
reply = await event.get_reply_message()
|
||||
file = event.pattern_match.group(1).strip()
|
||||
t = time.time()
|
||||
if not reply:
|
||||
if not ((reply and reply.media) or file):
|
||||
await event.eor(get_string("zip_1"))
|
||||
return
|
||||
xx = await event.eor(get_string("com_1"))
|
||||
@@ -117,7 +118,7 @@ async def unzipp(event):
|
||||
async def azipp(event):
|
||||
reply = await event.get_reply_message()
|
||||
t = time.time()
|
||||
if not reply:
|
||||
if not (reply and reply.media):
|
||||
await event.eor(get_string("zip_1"))
|
||||
return
|
||||
xx = await event.eor(get_string("com_1"))
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# Important Requirements here.
|
||||
|
||||
https://github.com/New-dev0/Telethon/archive/PlayTime.zip
|
||||
py-Ultroid==2022.3.20
|
||||
https://github.com/New-dev0/Telethon/archive/Cartoon.zip
|
||||
py-Ultroid==2022.6.6
|
||||
pytgcalls==3.0.0.dev21
|
||||
|
||||
148
resources/colorlist.txt
Normal file
148
resources/colorlist.txt
Normal file
@@ -0,0 +1,148 @@
|
||||
AliceBlue
|
||||
AntiqueWhite
|
||||
Aqua
|
||||
Aquamarine
|
||||
Azure
|
||||
Beige
|
||||
Bisque
|
||||
Black
|
||||
BlanchedAlmond
|
||||
Blue
|
||||
BlueViolet
|
||||
Brown
|
||||
BurlyWood
|
||||
CadetBlue
|
||||
Chartreuse
|
||||
Chocolate
|
||||
Coral
|
||||
CornflowerBlue
|
||||
Cornsilk
|
||||
Crimson
|
||||
Cyan
|
||||
DarkBlue
|
||||
DarkCyan
|
||||
DarkGoldenRod
|
||||
DarkGray
|
||||
DarkGreen
|
||||
DarkGrey
|
||||
DarkKhaki
|
||||
DarkMagenta
|
||||
DarkOliveGreen
|
||||
DarkOrange
|
||||
DarkOrchid
|
||||
DarkRed
|
||||
DarkSalmon
|
||||
DarkSeaGreen
|
||||
DarkSlateBlue
|
||||
DarkSlateGray
|
||||
DarkSlateGrey
|
||||
DarkTurquoise
|
||||
DarkViolet
|
||||
DeepPink
|
||||
DeepSkyBlue
|
||||
DimGray
|
||||
DimGrey
|
||||
DodgerBlue
|
||||
FireBrick
|
||||
FloralWhite
|
||||
ForestGreen
|
||||
Fuchsia
|
||||
Gainsboro
|
||||
GhostWhite
|
||||
Gold
|
||||
GoldenRod
|
||||
Gray
|
||||
Green
|
||||
GreenYellow
|
||||
Grey
|
||||
HoneyDew
|
||||
HotPink
|
||||
IndianRed
|
||||
Indigo
|
||||
Ivory
|
||||
Khaki
|
||||
Lavender
|
||||
LavenderBlush
|
||||
LawnGreen
|
||||
LemonChiffon
|
||||
LightBlue
|
||||
LightCoral
|
||||
LightCyan
|
||||
LightGoldenRodYellow
|
||||
LightGray
|
||||
LightGreen
|
||||
LightGrey
|
||||
LightPink
|
||||
LightSalmon
|
||||
LightSeaGreen
|
||||
LightSkyBlue
|
||||
LightSlateGray
|
||||
LightSlateGrey
|
||||
LightSteelBlue
|
||||
LightYellow
|
||||
Lime
|
||||
LimeGreen
|
||||
Linen
|
||||
Magenta
|
||||
Maroon
|
||||
MediumAquaMarine
|
||||
MediumBlue
|
||||
MediumOrchid
|
||||
MediumPurple
|
||||
MediumSeaGreen
|
||||
MediumSlateBlue
|
||||
MediumSpringGreen
|
||||
MediumTurquoise
|
||||
MediumVioletRed
|
||||
MidnightBlue
|
||||
MintCream
|
||||
MistyRose
|
||||
Moccasin
|
||||
NavajoWhite
|
||||
Navy
|
||||
OldLace
|
||||
Olive
|
||||
OliveDrab
|
||||
Orange
|
||||
OrangeRed
|
||||
Orchid
|
||||
PaleGoldenRod
|
||||
PaleGreen
|
||||
PaleTurquoise
|
||||
PaleVioletRed
|
||||
PapayaWhip
|
||||
PeachPuff
|
||||
Peru
|
||||
Pink
|
||||
Plum
|
||||
PowderBlue
|
||||
Purple
|
||||
RebeccaPurple
|
||||
Red
|
||||
RosyBrown
|
||||
RoyalBlue
|
||||
SaddleBrown
|
||||
Salmon
|
||||
SandyBrown
|
||||
SeaGreen
|
||||
SeaShell
|
||||
Sienna
|
||||
Silver
|
||||
SkyBlue
|
||||
SlateBlue
|
||||
SlateGray
|
||||
SlateGrey
|
||||
Snow
|
||||
SpringGreen
|
||||
SteelBlue
|
||||
Tan
|
||||
Teal
|
||||
Thistle
|
||||
Tomato
|
||||
Turquoise
|
||||
Violet
|
||||
Wheat
|
||||
White
|
||||
WhiteSmoke
|
||||
Yellow
|
||||
YellowGreen
|
||||
@@ -16,8 +16,8 @@ def clear():
|
||||
system("clear")
|
||||
|
||||
MANDATORY_REQS = [
|
||||
"https://github.com/New-dev0/Telethon/archive/PlayTime.zip",
|
||||
"py-Ultroid==2022.3.20",
|
||||
"https://github.com/New-dev0/Telethon/archive/Cartoon.zip",
|
||||
"py-Ultroid==2022.6.6",
|
||||
"gitpython",
|
||||
"enhancer==0.3.4",
|
||||
"telegraph",
|
||||
@@ -252,4 +252,4 @@ print("\nYou can head over to @UltroidSupport, if you get stuck somewhere, and n
|
||||
sleep(0.5)
|
||||
print("\nMade with ❤️ by @TeamUltroid...")
|
||||
|
||||
system("pip3 uninstall colorama -y")
|
||||
system("pip3 uninstall -q colorama -y")
|
||||
|
||||
@@ -16,6 +16,7 @@ git+https://github.com/buddhhu/img2html.git
|
||||
git+https://github.com/programmingerror/heroku3.py.git
|
||||
gitpython
|
||||
google-api-python-client
|
||||
feedparser
|
||||
html-telegraph-poster
|
||||
htmlwebshot
|
||||
lottie
|
||||
|
||||
@@ -13,7 +13,7 @@ then
|
||||
fi
|
||||
|
||||
printf "*Putting some magical effect...*"
|
||||
pip install colorama
|
||||
pip install -q colorama
|
||||
|
||||
printf "Running up Installation tool.\n"
|
||||
python resources/startup/_termux.py
|
||||
|
||||
@@ -3,28 +3,29 @@
|
||||
|
||||
| Code | Language | Translated | Remaining |
|
||||
|----|-------|-------|---|
|
||||
| en | English [English] | 413 | 0 |
|
||||
| ka | Kannada [ಕನ್ನಡ] | 112 | 301 |
|
||||
| bn | Bengali [বাংলা] | 382 | 31 |
|
||||
| od | Odia [ଓଡିଆ] | 112 | 301 |
|
||||
| ru | Russian [Русский] | 411 | 2 |
|
||||
| pt-br | Portuguese [Português] | 413 | NULL |
|
||||
| my | Malay [Bahasa Melayu] | 112 | 301 |
|
||||
| jp | Japanese [日本] | 413 | NULL |
|
||||
| tr | Turkish [Türk] | 112 | 301 |
|
||||
| si | sinhala [සිංහල] | 112 | 301 |
|
||||
| fa | Persian [Farsi] | 391 | 22 |
|
||||
| hi | Hindi [हिंदी] | 413 | NULL |
|
||||
| az | Azerbaijan [Azərbaycan] | 382 | 31 |
|
||||
| id | Indonesia [Indonesia] | 413 | NULL |
|
||||
| cn | Chinese [简体中文] | 112 | 301 |
|
||||
| ta | தமிழ் [தமிழ்] | 112 | 301 |
|
||||
| mr | Marathi [मराठी] | 131 | 282 |
|
||||
| ar | Arabic [العربية] | 411 | 2 |
|
||||
| it | Italian [italiano] | 111 | 302 |
|
||||
| gu | Gujarati [ગુજરાતી] | 109 | 304 |
|
||||
| ml | Malayalam [മലയാളം] | 112 | 301 |
|
||||
| es | Spanish [Español] | 409 | 4 |
|
||||
| en | English [English] | 418 | 0 |
|
||||
| ar | Arabic [العربية] | 418 | NULL |
|
||||
| si | sinhala [සිංහල] | 112 | 306 |
|
||||
| hi | Hindi [हिंदी] | 413 | 5 |
|
||||
| fr | French [Français] | 110 | 308 |
|
||||
| jp | Japanese [日本] | 413 | 5 |
|
||||
| fa | Persian [Farsi] | 391 | 27 |
|
||||
| id | Indonesia [Indonesia] | 413 | 5 |
|
||||
| pt-br | Portuguese [Português] | 413 | 5 |
|
||||
| gu | Gujarati [ગુજરાતી] | 109 | 309 |
|
||||
| ml | Malayalam [മലയാളം] | 112 | 306 |
|
||||
| ru | Russian [Русский] | 413 | 5 |
|
||||
| ta | தமிழ் [தமிழ்] | 112 | 306 |
|
||||
| my | Malay [Bahasa Melayu] | 112 | 306 |
|
||||
| es | Spanish [Español] | 409 | 9 |
|
||||
| od | Odia [ଓଡିଆ] | 112 | 306 |
|
||||
| tr | Turkish [Türk] | 112 | 306 |
|
||||
| mr | Marathi [मराठी] | 131 | 287 |
|
||||
| cn | Chinese [简体中文] | 112 | 306 |
|
||||
| ka | Kannada [ಕನ್ನಡ] | 112 | 306 |
|
||||
| bn | Bengali [বাংলা] | 382 | 36 |
|
||||
| it | Italian [italiano] | 111 | 307 |
|
||||
| az | Azerbaijan [Azərbaycan] | 382 | 36 |
|
||||
|
||||
|
||||
If Strings are not present, Google Translation will be used to Translate them at time of Usage.
|
||||
|
||||
@@ -1,310 +1,399 @@
|
||||
-,Arabic,Azerbaijan,Bengali,Chinese,Spanish,Persian,Gujarati,Hindi,Indonesia,Italian,Japanese,Kannada,Malayalam,Marathi,Malay,Odia,Portuguese,Russian,sinhala,தமிழ்,Turkish
|
||||
com_3,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
com_4,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
com_5,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
com_6,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
com_7,,❌,❌,❌,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
can_1,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
can_2,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
can_3,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
can_4,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
help_4,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
help_5,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
help_6,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
help_7,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
help_8,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
help_9,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
help_10,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
help_11,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
help_12,,❌,❌,❌,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
help_13,,❌,❌,❌,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
userlogs_1,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
userlogs_2,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
userlogs_3,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
userlogs_4,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
userlogs_5,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
adm_1,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
adm_2,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
adm_3,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
pro_1,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
pro_2,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
de_1,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
de_2,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
ban_1,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
ban_2,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
ban_3,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
ban_4,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
ban_5,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
tban_1,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
tban_2,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
unban_1,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
unban_2,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
unban_3,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
kick_1,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
kick_2,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
kick_3,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
kick_4,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
pin_1,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
pinned_1,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
pinned_2,,❌,❌,❌,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
unpin_1,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
listpin_1,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
purge_1,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
purgeall_1,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
purgeall_2,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
aki_1,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
aki_2,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
aki_3,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
antiflood_1,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
antiflood_2,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
antiflood_3,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
antiflood_4,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
antiflood_5,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
ascii_1,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
ascii_2,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
audiotools_1,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
audiotools_2,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
audiotools_3,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
audiotools_4,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
audiotools_5,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
audiotools_6,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
audiotools_7,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
audiotools_8,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
audiotools_9,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
audiotools_10,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
asstcmd_1,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
asstcmd_2,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
asstcmd_3,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
asstcmd_4,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
asstcmd_5,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
asstcmd_6,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
act_1,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
act_2,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
autopic_4,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
autopic_5,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
inline_6,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
inline_7,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
inline_8,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
inline_9,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
wspr_3,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
wspr_4,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
wspr_5,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
bot_1,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
bot_2,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
bot_3,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
bot_4,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
bot_5,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
log,,,,,,,,,,,,,,❌,,,,,,,
|
||||
ping,,,,,,,,,,,,,,❌,,,,,,,
|
||||
usage,,,,,,,,,,,,,,❌,,,,,,,
|
||||
usage_simple,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
shutdown,,,,,,,,,,,,,,❌,,,,,,,
|
||||
blk_1,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
blk_2,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
blk_3,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
blk_4,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
blk_5,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
blk_6,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
bd_7,,,,❌,❌,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
bd_8,,,,❌,❌,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
bd_9,,,,❌,❌,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
calc_1,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
calc_2,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
cha_1,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
cha_2,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
cha_3,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
cha_4,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
cha_5,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
cha_6,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
cha_7,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
cha_8,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
carbon_3,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
chab_1,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
chab_2,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
chab_3,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
chats_6,,,,,,,,,,❌,,,,,,,,,,,
|
||||
clan_1,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
clan_2,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
clan_3,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
clan_4,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
clan_5,,❌,❌,❌,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
cvt_5,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
cvt_6,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
cvt_7,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
cvt_8,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
eod_1,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
eod_2,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
devs_1,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
devs_2,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
devs_3,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
dm_1,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
dm_2,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
dm_3,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
dm_4,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
dm_5,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
dm_6,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
echo_1,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
fka_1,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
sf_22,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
sf_23,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
flr_1,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
flr_2,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
flr_3,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
flr_4,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
flr_5,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
flr_6,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
fgn_1,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
fsub_1,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
fsub_2,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
fsub_3,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
fsub_4,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
fsub_5,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
fsub_6,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
fsub_7,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
fsub_8,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
ex_1,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
gas_1,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
grt_1,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
grt_2,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
grt_3,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
grt_4,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
grt_5,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
grt_6,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
grt_7,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
glitch_1,,❌,❌,❌,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
mdi_1,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
nightm_1,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
nightm_2,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
nightm_3,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
nightm_4,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
nightm_5,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
schdl_1,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
schdl_2,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
srch_1,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
srch_2,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
srch_3,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
snip_1,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
snip_2,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
snip_3,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
spcltool_1,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
spcltool_2,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
spcltool_3,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
spcltool_4,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
spcltool_5,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
spcltool_6,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
spcltool_7,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
spcltool_8,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
spcltool_9,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
sudo_1,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
sudo_2,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
sudo_3,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
sudo_4,,❌,❌,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
unspl_1,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
upd_5,❌,,,❌,❌,,❌,,,❌,,❌,❌,❌,❌,❌,,❌,❌,❌,❌
|
||||
upd_7,❌,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,❌,❌,❌,❌
|
||||
udl_4,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
udl_5,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
udl_6,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
udl_7,,❌,❌,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
vct_1,,❌,❌,❌,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
vct_2,,❌,❌,❌,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
vct_3,,❌,❌,❌,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
vct_4,,❌,❌,❌,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
vct_5,,❌,❌,❌,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
vct_6,,❌,❌,❌,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
wrd_1,,,,,,,❌,,,,,,,,,,,,,,
|
||||
wrd_2,,,,,,,❌,,,,,,,,,,,,,,
|
||||
wrd_3,,,,,,,❌,,,,,,,,,,,,,,
|
||||
wrd_4,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
wrd_5,,,,❌,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
wrd_6,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
wrd_7,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
wrd_8,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
prof_1,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
prof_2,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
notes_1,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
notes_2,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
notes_3,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
notes_4,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
notes_5,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
sts_1,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
sts_2,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
sts_3,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
sts_4,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
sts_5,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
sts_6,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
sts_7,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
sts_8,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
sts_9,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
sts_10,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
sts_11,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
sts_12,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
sts_13,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
whs_1,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
whs_2,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
whs_3,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
whs_4,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
wbl_1,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
writer_1,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
wbs_1,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
wbs_2,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
wbs_3,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
youtube_1,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
youtube_2,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
youtube_3,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
youtube_4,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
youtube_5,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
youtube_6,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
youtube_7,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
youtube_8,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
zip_1,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
zip_2,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
zip_3,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
fsh_1,,❌,❌,❌,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
fsh_2,,❌,❌,❌,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
fsh_3,,❌,❌,❌,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
fsh_4,,❌,❌,❌,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
instu_1,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
instu_2,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
instu_3,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
instu_4,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
games_1,,❌,❌,❌,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
games_2,,❌,❌,❌,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
games_3,,❌,❌,❌,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
games_4,,❌,❌,❌,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
games_5,,❌,❌,❌,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
games_6,,❌,❌,❌,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
clst_1,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
clst_2,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
clst_3,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
clst_4,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
clst_5,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
pmbot_1,,❌,❌,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
pmbot_2,,❌,❌,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
pmbot_3,,❌,❌,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
pmbot_4,,❌,❌,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
pmbot_5,,❌,❌,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
pmbot_6,,❌,❌,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
pmbot_7,,❌,❌,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
vcbot_1,,,,❌,,,❌,,,❌,,❌,❌,,❌,❌,,,❌,❌,❌
|
||||
vcbot_2,,,,❌,,,❌,,,❌,,❌,❌,,❌,❌,,,❌,❌,❌
|
||||
vcbot_3,,,,❌,,,❌,,,❌,,❌,❌,,❌,❌,,,❌,❌,❌
|
||||
vcbot_4,,,,❌,,,❌,,,❌,,❌,❌,,❌,❌,,,❌,❌,❌
|
||||
vcbot_5,,,,❌,,,❌,,,❌,,❌,❌,,❌,❌,,,❌,❌,❌
|
||||
vcbot_6,,,,❌,,,❌,,,❌,,❌,❌,,❌,❌,,,❌,❌,❌
|
||||
vcbot_7,,,,❌,,,❌,,,❌,,❌,❌,,❌,❌,,,❌,❌,❌
|
||||
vcbot_8,,,,❌,,,❌,,,❌,,❌,❌,,❌,❌,,,❌,❌,❌
|
||||
vcbot_9,,,,❌,,,❌,,,❌,,❌,❌,,❌,❌,,,❌,❌,❌
|
||||
vcbot_10,,,,❌,,,❌,,,❌,,❌,❌,,❌,❌,,,❌,❌,❌
|
||||
vcbot_11,,,,❌,,,❌,,,❌,,❌,❌,,❌,❌,,,❌,❌,❌
|
||||
vcbot_12,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
vcbot_13,,,,❌,,,❌,,,❌,,❌,❌,,❌,❌,,,❌,❌,❌
|
||||
vcbot_14,,,,❌,,,❌,,,❌,,❌,❌,,❌,❌,,,❌,❌,❌
|
||||
vcbot_15,,,,❌,,,❌,,,❌,,❌,❌,,❌,❌,,,❌,❌,❌
|
||||
vcbot_16,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
vcbot_17,,,,❌,,,❌,,,❌,,❌,❌,,❌,❌,,,❌,❌,❌
|
||||
vcbot_18,,,,❌,,,❌,,,❌,,❌,❌,,❌,❌,,,❌,❌,❌
|
||||
vcbot_19,,,,❌,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
vcbot_20,,,,❌,,,❌,,,❌,,❌,❌,,❌,❌,,,❌,❌,❌
|
||||
vcbot_21,,,,❌,,,❌,,,❌,,❌,❌,,❌,❌,,,❌,❌,❌
|
||||
vcbot_22,,,,❌,,,❌,,,❌,,❌,❌,,❌,❌,,,❌,❌,❌
|
||||
-,Arabic,Azerbaijan,Bengali,Chinese,Spanish,Persian,French,Gujarati,Hindi,Indonesia,Italian,Japanese,Kannada,Malayalam,Marathi,Malay,Odia,Portuguese,Russian,sinhala,தமிழ்,Turkish
|
||||
com_3,,,,❌,,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
com_4,,,,❌,,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
com_5,,,,❌,,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
com_6,,,,❌,,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
com_7,,❌,❌,❌,,❌,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
can_1,,,,❌,,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
can_2,,,,❌,,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
can_3,,,,❌,,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
can_4,,,,❌,,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
help_4,,,,❌,,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
help_5,,,,❌,,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
help_6,,,,❌,,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
help_7,,,,❌,,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
help_8,,,,❌,,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
help_9,,,,❌,,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
help_10,,,,❌,,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
help_11,,,,❌,,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
help_12,,❌,❌,❌,,❌,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
help_13,,❌,❌,❌,,❌,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
userlogs_1,,,,❌,,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
userlogs_2,,,,❌,,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
userlogs_3,,,,❌,,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
userlogs_4,,,,❌,,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
userlogs_5,,,,❌,,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
adm_1,,,,❌,,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
adm_2,,,,❌,,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
adm_3,,,,❌,,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
pro_1,,,,❌,,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
pro_2,,,,❌,,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
de_1,,,,❌,,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
de_2,,,,❌,,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
ban_1,,,,❌,,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
ban_2,,,,❌,,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
ban_3,,,,❌,,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
ban_4,,,,❌,,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
ban_5,,,,❌,,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
tban_1,,,,❌,,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
tban_2,,,,❌,,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
unban_1,,,,❌,,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
unban_2,,,,❌,,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
unban_3,,,,❌,,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
kick_1,,,,❌,,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
kick_2,,,,❌,,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
kick_3,,,,❌,,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
kick_4,,,,❌,,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
pin_1,,,,❌,,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
pinned_1,,,,❌,,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
pinned_2,,❌,❌,❌,,❌,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
unpin_1,,,,❌,,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
listpin_1,,,,❌,,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
purge_1,,,,❌,,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
purgeall_1,,,,❌,,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
purgeall_2,,,,❌,,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
aki_1,,,,❌,,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
aki_2,,,,❌,,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
aki_3,,,,❌,,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
antiflood_1,,,,❌,,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
antiflood_2,,,,❌,,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
antiflood_3,,,,❌,,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
antiflood_4,,,,❌,,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
antiflood_5,,,,❌,,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
ascii_1,,,,❌,,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
ascii_2,,,,❌,,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
audiotools_1,,,,❌,,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
audiotools_2,,,,❌,,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
audiotools_3,,,,❌,,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
audiotools_4,,,,❌,,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
audiotools_5,,,,❌,,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
audiotools_6,,,,❌,,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
audiotools_7,,,,❌,,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
audiotools_8,,,,❌,,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
audiotools_9,,,,❌,,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
audiotools_10,,,,❌,,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
asstcmd_1,,,,❌,,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
asstcmd_2,,,,❌,,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
asstcmd_3,,,,❌,,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
asstcmd_4,,,,❌,,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
asstcmd_5,,,,❌,,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
asstcmd_6,,,,❌,,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
act_1,,,,❌,,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
act_2,,,,❌,,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
autopic_4,,,,❌,,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
autopic_5,,,,❌,,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
inline_6,,,,❌,,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
inline_7,,,,❌,,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
inline_8,,,,❌,,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
inline_9,,,,❌,,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
wspr_3,,,,❌,,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
wspr_4,,,,❌,,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
wspr_5,,,,❌,,,,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
afk_1,,,,,,,❌,,,,,,,,,,,,,,,
|
||||
afk_2,,,,,,,❌,,,,,,,,,,,,,,,
|
||||
afk_3,,,,,,,❌,,,,,,,,,,,,,,,
|
||||
afk_4,,,,,,,❌,,,,,,,,,,,,,,,
|
||||
afk_5,,,,,,,❌,,,,,,,,,,,,,,,
|
||||
afk_6,,,,,,,❌,,,,,,,,,,,,,,,
|
||||
bot_1,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
bot_2,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
bot_3,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
bot_4,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
bot_5,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
alive_1,,,,,,,❌,,,,,,,,,,,,,,,
|
||||
log,,,,,,,❌,,,,,,,,❌,,,,,,,
|
||||
ping,,,,,,,❌,,,,,,,,❌,,,,,,,
|
||||
usage,,,,,,,❌,,,,,,,,❌,,,,,,,
|
||||
usage_simple,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
shutdown,,,,,,,❌,,,,,,,,❌,,,,,,,
|
||||
blk_1,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
blk_2,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
blk_3,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
blk_4,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
blk_5,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
blk_6,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
bd_1,,,,,,,❌,,,,,,,,,,,,,,,
|
||||
bd_2,,,,,,,❌,,,,,,,,,,,,,,,
|
||||
bd_3,,,,,,,❌,,,,,,,,,,,,,,,
|
||||
bd_4,,,,,,,❌,,,,,,,,,,,,,,,
|
||||
bd_5,,,,,,,❌,,,,,,,,,,,,,,,
|
||||
bd_6,,,,,,,❌,,,,,,,,,,,,,,,
|
||||
bd_7,,,,❌,❌,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
bd_8,,,,❌,❌,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
bd_9,,,,❌,❌,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
calc_1,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
calc_2,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
cha_1,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
cha_2,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
cha_3,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
cha_4,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
cha_5,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
cha_6,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
cha_7,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
cha_8,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
carbon_1,,,,,,,❌,,,,,,,,,,,,,,,
|
||||
carbon_2,,,,,,,❌,,,,,,,,,,,,,,,
|
||||
carbon_3,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
chab_1,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
chab_2,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
chab_3,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
chats_1,,,,,,,❌,,,,,,,,,,,,,,,
|
||||
chats_2,,,,,,,❌,,,,,,,,,,,,,,,
|
||||
chats_3,,,,,,,❌,,,,,,,,,,,,,,,
|
||||
chats_4,,,,,,,❌,,,,,,,,,,,,,,,
|
||||
chats_5,,,,,,,❌,,,,,,,,,,,,,,,
|
||||
chats_6,,,,,,,❌,,,,❌,,,,,,,,,,,
|
||||
clan_1,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
clan_2,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
clan_3,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
clan_4,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
clan_5,,❌,❌,❌,,❌,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
cvt_1,,,,,,,❌,,,,,,,,,,,,,,,
|
||||
cvt_2,,,,,,,❌,,,,,,,,,,,,,,,
|
||||
cvt_3,,,,,,,❌,,,,,,,,,,,,,,,
|
||||
cvt_4,,,,,,,❌,,,,,,,,,,,,,,,
|
||||
cvt_5,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
cvt_6,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
cvt_7,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
cvt_8,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
eod_1,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
eod_2,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
core_1,,,,,,,❌,,,,,,,,,,,,,,,
|
||||
core_2,,,,,,,❌,,,,,,,,,,,,,,,
|
||||
core_3,,,,,,,❌,,,,,,,,,,,,,,,
|
||||
core_4,,,,,,,❌,,,,,,,,,,,,,,,
|
||||
core_5,,,,,,,❌,,,,,,,,,,,,,,,
|
||||
core_6,,,,,,,❌,,,,,,,,,,,,,,,
|
||||
core_7,,,,,,,❌,,,,,,,,,,,,,,,
|
||||
core_8,,,,,,,❌,,,,,,,,,,,,,,,
|
||||
core_9,,,,,,,❌,,,,,,,,,,,,,,,
|
||||
core_10,,,,,,,❌,,,,,,,,,,,,,,,
|
||||
core_11,,,,,,,❌,,,,,,,,,,,,,,,
|
||||
core_12,,,,,,,❌,,,,,,,,,,,,,,,
|
||||
core_13,,,,,,,❌,,,,,,,,,,,,,,,
|
||||
core_14,,,,,,,❌,,,,,,,,,,,,,,,
|
||||
core_15,,,,,,,❌,,,,,,,,,,,,,,,
|
||||
core_16,,,,,,,❌,,,,,,,,,,,,,,,
|
||||
core_17,,,,,,,❌,,,,,,,,,,,,,,,
|
||||
core_18,,,,,,,❌,,,,,,,,,,,,,,,
|
||||
devs_1,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
devs_2,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
devs_3,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
dm_1,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
dm_2,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
dm_3,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
dm_4,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
dm_5,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
dm_6,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
echo_1,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
fka_1,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
sf_1,,,,,,,❌,,,,,,,,,,,,,,,
|
||||
sf_2,,,,,,,❌,,,,,,,,,,,,,,,
|
||||
sf_3,,,,,,,❌,,,,,,,,,,,,,,,
|
||||
sf_4,,,,,,,❌,,,,,,,,,,,,,,,
|
||||
sf_5,,,,,,,❌,,,,,,,,,,,,,,,
|
||||
sf_6,,,,,,,❌,,,,,,,,,,,,,,,
|
||||
sf_7,,,,,,,❌,,,,,,,,,,,,,,,
|
||||
sf_8,,,,,,,❌,,,,,,,,,,,,,,,
|
||||
sf_9,,,,,,,❌,,,,,,,,,,,,,,,
|
||||
sf_10,,,,,,,❌,,,,,,,,,,,,,,,
|
||||
sf_11,,,,,,,❌,,,,,,,,,,,,,,,
|
||||
sf_12,,,,,,,❌,,,,,,,,,,,,,,,
|
||||
sf_13,,,,,,,❌,,,,,,,,,,,,,,,
|
||||
sf_14,,,,,,,❌,,,,,,,,,,,,,,,
|
||||
sf_15,,,,,,,❌,,,,,,,,,,,,,,,
|
||||
sf_16,,,,,,,❌,,,,,,,,,,,,,,,
|
||||
sf_17,,,,,,,❌,,,,,,,,,,,,,,,
|
||||
sf_18,,,,,,,❌,,,,,,,,,,,,,,,
|
||||
sf_19,,,,,,,❌,,,,,,,,,,,,,,,
|
||||
sf_20,,,,,,,❌,,,,,,,,,,,,,,,
|
||||
sf_21,,,,,,,❌,,,,,,,,,,,,,,,
|
||||
sf_22,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
sf_23,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
flr_1,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
flr_2,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
flr_3,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
flr_4,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
flr_5,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
flr_6,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
fgn_1,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
fsub_1,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
fsub_2,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
fsub_3,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
fsub_4,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
fsub_5,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
fsub_6,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
fsub_7,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
fsub_8,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
ex_1,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
gdrive_1,,,,,,,❌,,,,,,,,,,,,,,,
|
||||
gdrive_2,,,,,,,❌,,,,,,,,,,,,,,,
|
||||
gdrive_3,,,,,,,❌,,,,,,,,,,,,,,,
|
||||
gdrive_4,,,,,,,❌,,,,,,,,,,,,,,,
|
||||
gdrive_5,,,,,,,❌,,,,,,,,,,,,,,,
|
||||
gdrive_6,,,,,,,❌,,,,,,,,,,,,,,,
|
||||
gdrive_7,,,,,,,❌,,,,,,,,,,,,,,,
|
||||
gas_1,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
grt_1,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
grt_2,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
grt_3,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
grt_4,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
grt_5,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
grt_6,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
grt_7,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
glitch_1,,❌,❌,❌,,❌,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
mdi_1,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
nightm_1,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
nightm_2,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
nightm_3,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
nightm_4,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
nightm_5,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
pmperm_1,,,,,,,❌,,,,,,,,,,,,,,,
|
||||
pmperm_2,,,,,,,❌,,,,,,,,,,,,,,,
|
||||
pmperm_3,,,,,,,❌,,,,,,,,,,,,,,,
|
||||
schdl_1,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
schdl_2,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
srch_1,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
srch_2,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
srch_3,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
snip_1,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
snip_2,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
snip_3,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
spcltool_1,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
spcltool_2,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
spcltool_3,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
spcltool_4,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
spcltool_5,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
spcltool_6,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
spcltool_7,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
spcltool_8,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
spcltool_9,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
sudo_1,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
sudo_2,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
sudo_3,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
sudo_4,,❌,❌,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
unspl_1,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
upd_1,,,,,,,❌,,,,,,,,,,,,,,,
|
||||
upd_2,,,,,,,❌,,,,,,,,,,,,,,,
|
||||
upd_3,,,,,,,❌,,,,,,,,,,,,,,,
|
||||
upd_4,,,,,,,❌,,,,,,,,,,,,,,,
|
||||
upd_5,,,,❌,❌,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
upd_6,,,,,,,❌,,,,,,,,,,,,,,,
|
||||
upd_7,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
udl_1,,,,,,,❌,,,,,,,,,,,,,,,
|
||||
udl_2,,,,,,,❌,,,,,,,,,,,,,,,
|
||||
udl_3,,,,,,,❌,,,,,,,,,,,,,,,
|
||||
udl_4,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
udl_5,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
udl_6,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
udl_7,,❌,❌,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
vct_1,,❌,❌,❌,,❌,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
vct_2,,❌,❌,❌,,❌,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
vct_3,,❌,❌,❌,,❌,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
vct_4,,❌,❌,❌,,❌,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
vct_5,,❌,❌,❌,,❌,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
vct_6,,❌,❌,❌,,❌,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
wrd_1,,,,,,,❌,❌,,,,,,,,,,,,,,
|
||||
wrd_2,,,,,,,❌,❌,,,,,,,,,,,,,,
|
||||
wrd_3,,,,,,,❌,❌,,,,,,,,,,,,,,
|
||||
wrd_4,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
wrd_5,,,,❌,,❌,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
wrd_6,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
wrd_7,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
wrd_8,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
prof_1,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
prof_2,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
notes_1,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
notes_2,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
notes_3,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
notes_4,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
notes_5,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
sts_1,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
sts_2,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
sts_3,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
sts_4,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
sts_5,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
sts_6,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
sts_7,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
sts_8,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
sts_9,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
sts_10,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
sts_11,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
sts_12,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
sts_13,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
whs_1,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
whs_2,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
whs_3,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
whs_4,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
wbl_1,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
writer_1,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
wbs_1,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
wbs_2,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
wbs_3,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
youtube_1,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
youtube_2,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
youtube_3,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
youtube_4,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
youtube_5,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
youtube_6,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
youtube_7,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
youtube_8,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
zip_1,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
zip_2,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
zip_3,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
fsh_1,,❌,❌,❌,,❌,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
fsh_2,,❌,❌,❌,,❌,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
fsh_3,,❌,❌,❌,,❌,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
fsh_4,,❌,❌,❌,,❌,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
ast_1,,,,,,,❌,,,,,,,,,,,,,,,
|
||||
ast_2,,,,,,,❌,,,,,,,,,,,,,,,
|
||||
ast_3,,,,,,,❌,,,,,,,,,,,,,,,
|
||||
instu_1,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
instu_2,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
instu_3,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
instu_4,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
games_1,,❌,❌,❌,,❌,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
games_2,,❌,❌,❌,,❌,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
games_3,,❌,❌,❌,,❌,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
games_4,,❌,❌,❌,,❌,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
games_5,,❌,❌,❌,,❌,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
games_6,,❌,❌,❌,,❌,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
clst_1,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
clst_2,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
clst_3,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
clst_4,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
clst_5,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
pmbot_1,,❌,❌,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
pmbot_2,,❌,❌,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
pmbot_3,,❌,❌,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
pmbot_4,,❌,❌,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
pmbot_5,,❌,❌,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
pmbot_6,,❌,❌,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
pmbot_7,,❌,❌,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
rss_1,,❌,❌,❌,❌,❌,❌,❌,❌,❌,❌,❌,❌,❌,❌,❌,❌,❌,❌,❌,❌,❌
|
||||
rss_2,,❌,❌,❌,❌,❌,❌,❌,❌,❌,❌,❌,❌,❌,❌,❌,❌,❌,❌,❌,❌,❌
|
||||
rss_3,,❌,❌,❌,❌,❌,❌,❌,❌,❌,❌,❌,❌,❌,❌,❌,❌,❌,❌,❌,❌,❌
|
||||
rss_4,,❌,❌,❌,❌,❌,❌,❌,❌,❌,❌,❌,❌,❌,❌,❌,❌,❌,❌,❌,❌,❌
|
||||
rss_5,,❌,❌,❌,❌,❌,❌,❌,❌,❌,❌,❌,❌,❌,❌,❌,❌,❌,❌,❌,❌,❌
|
||||
vcbot_1,,,,❌,,,❌,❌,,,❌,,❌,❌,,❌,❌,,,❌,❌,❌
|
||||
vcbot_2,,,,❌,,,❌,❌,,,❌,,❌,❌,,❌,❌,,,❌,❌,❌
|
||||
vcbot_3,,,,❌,,,❌,❌,,,❌,,❌,❌,,❌,❌,,,❌,❌,❌
|
||||
vcbot_4,,,,❌,,,❌,❌,,,❌,,❌,❌,,❌,❌,,,❌,❌,❌
|
||||
vcbot_5,,,,❌,,,❌,❌,,,❌,,❌,❌,,❌,❌,,,❌,❌,❌
|
||||
vcbot_6,,,,❌,,,❌,❌,,,❌,,❌,❌,,❌,❌,,,❌,❌,❌
|
||||
vcbot_7,,,,❌,,,❌,❌,,,❌,,❌,❌,,❌,❌,,,❌,❌,❌
|
||||
vcbot_8,,,,❌,,,❌,❌,,,❌,,❌,❌,,❌,❌,,,❌,❌,❌
|
||||
vcbot_9,,,,❌,,,❌,❌,,,❌,,❌,❌,,❌,❌,,,❌,❌,❌
|
||||
vcbot_10,,,,❌,,,❌,❌,,,❌,,❌,❌,,❌,❌,,,❌,❌,❌
|
||||
vcbot_11,,,,❌,,,❌,❌,,,❌,,❌,❌,,❌,❌,,,❌,❌,❌
|
||||
vcbot_12,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
vcbot_13,,,,❌,,,❌,❌,,,❌,,❌,❌,,❌,❌,,,❌,❌,❌
|
||||
vcbot_14,,,,❌,,,❌,❌,,,❌,,❌,❌,,❌,❌,,,❌,❌,❌
|
||||
vcbot_15,,,,❌,,,❌,❌,,,❌,,❌,❌,,❌,❌,,,❌,❌,❌
|
||||
vcbot_16,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
vcbot_17,,,,❌,,,❌,❌,,,❌,,❌,❌,,❌,❌,,,❌,❌,❌
|
||||
vcbot_18,,,,❌,,,❌,❌,,,❌,,❌,❌,,❌,❌,,,❌,❌,❌
|
||||
vcbot_19,,,,❌,,,❌,❌,,,❌,,❌,❌,❌,❌,❌,,,❌,❌,❌
|
||||
vcbot_20,,,,❌,,,❌,❌,,,❌,,❌,❌,,❌,❌,,,❌,❌,❌
|
||||
vcbot_21,,,,❌,,,❌,❌,,,❌,,❌,❌,,❌,❌,,,❌,❌,❌
|
||||
vcbot_22,,,,❌,,,❌,❌,,,❌,,❌,❌,,❌,❌,,,❌,❌,❌
|
||||
|
@@ -13,32 +13,7 @@ except ImportError:
|
||||
try:
|
||||
from yaml import safe_load
|
||||
except ModuleNotFoundError:
|
||||
|
||||
def _get_value(stri):
|
||||
try:
|
||||
value = eval(stri.strip())
|
||||
except Exception as er:
|
||||
LOGS.debug(er)
|
||||
value = stri.strip()
|
||||
return value
|
||||
|
||||
def safe_load(file, *args, **kwargs):
|
||||
read = file.readlines()
|
||||
out = {}
|
||||
for line in read:
|
||||
if ":" in line: # Ignores Empty & Invalid lines
|
||||
spli = line.split(":", maxsplit=1)
|
||||
key = spli[0].strip()
|
||||
value = _get_value(spli[1])
|
||||
out.update({key: value or []})
|
||||
elif "-" in line:
|
||||
spli = line.split("-", maxsplit=1)
|
||||
where = out[list(out.keys())[-1]]
|
||||
if isinstance(where, list):
|
||||
value = _get_value(spli[1])
|
||||
if value:
|
||||
where.append(value)
|
||||
return out
|
||||
from pyUltroid.functions.tools import safe_load
|
||||
|
||||
language = [udB.get_key("language") or "en"]
|
||||
languages = {}
|
||||
|
||||
@@ -230,6 +230,8 @@ upd_2: "`┇أوبــس .. الــمــحــدث غــيــر قــادر
|
||||
upd_3: "**┇يــتــوفــر تــحــديــث جــديــد لــ [[{}]]({}/tree/{}):\n\n**┇ســجــل الــتــغــيــيــرات \n\n{}"
|
||||
upd_4: "`┇حــجــم ســجــل الــتــغــيــيــرات كــبــيــر جــداً , اعــرض الــمــلــف لــرؤيــتــه `"
|
||||
upd_6: "\n`┇بــوتــك` **بــأخــر تــحــديــث** `بـــ` **[[{}]]({}/tree/{})**\n"
|
||||
upd_5: "اضغط علي الزر بالاسفل للتحديث."
|
||||
upd_7: "`جار التحديث السريع...`"
|
||||
|
||||
# upload download
|
||||
udl_1: "`┇قــم بــالــرد عــلــى الــمــلــف / الــمــيــديــا الــمــراد تــحــمــيــلــهــا ♻️`"
|
||||
@@ -294,7 +296,7 @@ bot_1: "مرحبا، انا علي قيد الحياة."
|
||||
bot_2: "احصائيات"
|
||||
bot_3: "Repo"
|
||||
bot_4: "مجموعة المساعدة"
|
||||
bot_5: "• `جار اعدة التشغيل...`"
|
||||
bot_5: "• `جار إعادة التشغيل...`"
|
||||
usage_simple: "**مساحة الذاكرة**: `{}`\n**المستخدم**: `{}`\n**المتاح**: `{}`\n\n**📊 البيانات المستخدمة 📊**\n**رفع**: `{}`\n**تنزيل**: `{}`\n\n**CPU**: `{}%`\n**RAM**: `{}%`\n**الذاكرة**: `{}%`"
|
||||
blk_1: "`قم بإعطاء كلمة لحظرها..`"
|
||||
blk_2: "تم حظر كلمة : `{}` هنا."
|
||||
@@ -499,6 +501,13 @@ pmbot_5: "من فضلك قم بالرد علي احدهم لالغاء حظره.
|
||||
pmbot_6: "هذ المستخدم لم يتم حظره ابدا!"
|
||||
pmbot_7: "`مبروك! تم الغاء حظرك.`"
|
||||
|
||||
# rss feeds
|
||||
rss_1: "`قم بإعطاء عنوان Rss لإضافته..`"
|
||||
rss_2: "فشل تأكيد عنوان Rss\n__خطأ: {}__"
|
||||
rss_3: "`لم يتم اضافة احداث Rss لهذه المحادثة.`"
|
||||
rss_4: "`تم حذف احداث Rss من هذه المحادثة..`"
|
||||
rss_5: "`تم الاضافة لهذه المحادثة بنجاح.`"
|
||||
|
||||
# vcbot
|
||||
vcbot_1: "`تم مغادرة المحادثة الصوتية.`"
|
||||
vcbot_2: "**حدث خطأ:**\n{}"
|
||||
|
||||
@@ -2,7 +2,6 @@ name: English
|
||||
natively: English
|
||||
|
||||
authors:
|
||||
- karboncopy
|
||||
- xditya
|
||||
- rojserbest
|
||||
- sppidy
|
||||
@@ -55,7 +54,7 @@ pro_2: "{} `is now an admin in {} with title {}.`"
|
||||
de_1: "`Reply to a user to demote him!`"
|
||||
de_2: "{} `is no longer an admin in {}`"
|
||||
ban_1: "`Reply to a user or give username to ban him!`"
|
||||
ban_2: " `LoL, I can't Ban my Developer 😂`"
|
||||
ban_2: " `Sorry, but I can't Ban my Developer 😂`"
|
||||
ban_3: "`I don't have the right to ban a user.`"
|
||||
ban_4: "{} **was banned by** {} **in** `{}`"
|
||||
ban_5: "\n**Reason**: `{}`"
|
||||
@@ -65,7 +64,7 @@ unban_1: "`Reply to a user or give username to unban him!`"
|
||||
unban_2: "`I don't have the right to unban a user.`"
|
||||
unban_3: "{} **was unbanned by** {} **in** `{}`"
|
||||
kick_1: "`I don't have the right to kick a user.`"
|
||||
kick_2: " `Lol, I can't Kick my Developer`😂"
|
||||
kick_2: " `Sorry, but I can't Kick my Developer`😂"
|
||||
kick_3: "`I Cant kick him ever...`"
|
||||
kick_4: "{} **was kicked by** {} **in** `{}`"
|
||||
pin_1: "`Reply to a message to pin it!`"
|
||||
@@ -535,6 +534,13 @@ pmbot_5: "Please reply to someone to Unban him."
|
||||
pmbot_6: "User was never banned!"
|
||||
pmbot_7: "`Congrats! You have been unbanned.`"
|
||||
|
||||
# rss feeds
|
||||
rss_1: "`Provide Rss url to add..`"
|
||||
rss_2: "Failed to verify rss url\n__Error: {}__"
|
||||
rss_3: "`No rss feed has been added to this chat.`"
|
||||
rss_4: "`Removed rss feed from this chat..`"
|
||||
rss_5: "`Successfully added to this chat.`"
|
||||
|
||||
# -------------------------- VcBot ------------------------------- #
|
||||
|
||||
vcbot_1: "`Left the voice chat.`"
|
||||
|
||||
@@ -404,7 +404,9 @@ upd_1: "`Проверка обновлений, пожалуйста подож
|
||||
upd_2: "`Упс.. Компонент обновления не может продолжить из-за ошибки`\n\n**LOGTRACE:**\n"
|
||||
upd_3: "**Новое обновление доступно для [[{}]]({}/tree/{}):\n\nИзменения**\n\n{}"
|
||||
upd_4: "`Список изменений слишком большой, откройте файл для просмотра изменений`"
|
||||
upd_5: "Нажмите на кнопку ниже для обновления"
|
||||
upd_6: "\n`Ваш бот` **актуален** `с` **[[{}]]({}/tree/{})**\n"
|
||||
upd_7: "`Быстрое обновление...`"
|
||||
|
||||
#upload download
|
||||
udl_1: "`Ответьте на сообщение с медиафайлом/документом которые вы хотите загрузить..`"
|
||||
|
||||
Reference in New Issue
Block a user