mirror of
https://github.com/Nick80835/microbot
synced 2025-09-03 16:05:49 +00:00
add support for hiding commands from help
This commit is contained in:
@@ -22,6 +22,7 @@ class Loader():
|
|||||||
self.settings = settings
|
self.settings = settings
|
||||||
self.command_handler = CommandHandler(client, logger, settings)
|
self.command_handler = CommandHandler(client, logger, settings)
|
||||||
self.help_dict = {}
|
self.help_dict = {}
|
||||||
|
self.help_hidden_dict = {}
|
||||||
self.aioclient = ClientSession()
|
self.aioclient = ClientSession()
|
||||||
self.thread_pool = ThreadPoolExecutor()
|
self.thread_pool = ThreadPoolExecutor()
|
||||||
|
|
||||||
@@ -37,6 +38,7 @@ class Loader():
|
|||||||
self.command_handler.inline_article_commands = []
|
self.command_handler.inline_article_commands = []
|
||||||
self.command_handler.callback_queries = []
|
self.command_handler.callback_queries = []
|
||||||
self.help_dict = {}
|
self.help_dict = {}
|
||||||
|
self.help_hidden_dict = {}
|
||||||
|
|
||||||
errors = ""
|
errors = ""
|
||||||
|
|
||||||
@@ -55,10 +57,16 @@ class Loader():
|
|||||||
pattern = args.get("pattern", pattern)
|
pattern = args.get("pattern", pattern)
|
||||||
|
|
||||||
def decorator(func):
|
def decorator(func):
|
||||||
if func.__module__.split(".")[-1] in self.help_dict:
|
if args.get("hide_help", False):
|
||||||
self.help_dict[func.__module__.split(".")[-1]] += [pattern]
|
if func.__module__.split(".")[-1] in self.help_hidden_dict:
|
||||||
|
self.help_hidden_dict[func.__module__.split(".")[-1]] += [pattern]
|
||||||
|
else:
|
||||||
|
self.help_hidden_dict[func.__module__.split(".")[-1]] = [pattern]
|
||||||
else:
|
else:
|
||||||
self.help_dict[func.__module__.split(".")[-1]] = [pattern]
|
if func.__module__.split(".")[-1] in self.help_dict:
|
||||||
|
self.help_dict[func.__module__.split(".")[-1]] += [pattern]
|
||||||
|
else:
|
||||||
|
self.help_dict[func.__module__.split(".")[-1]] = [pattern]
|
||||||
|
|
||||||
self.command_handler.incoming_commands.append({
|
self.command_handler.incoming_commands.append({
|
||||||
"pattern": pattern,
|
"pattern": pattern,
|
||||||
@@ -85,10 +93,16 @@ class Loader():
|
|||||||
|
|
||||||
def decorator(func):
|
def decorator(func):
|
||||||
for pattern in pattern_list:
|
for pattern in pattern_list:
|
||||||
if func.__module__.split(".")[-1] in self.help_dict:
|
if args.get("hide_help", False):
|
||||||
self.help_dict[func.__module__.split(".")[-1]] += [pattern]
|
if func.__module__.split(".")[-1] in self.help_hidden_dict:
|
||||||
|
self.help_hidden_dict[func.__module__.split(".")[-1]] += [pattern]
|
||||||
|
else:
|
||||||
|
self.help_hidden_dict[func.__module__.split(".")[-1]] = [pattern]
|
||||||
else:
|
else:
|
||||||
self.help_dict[func.__module__.split(".")[-1]] = [pattern]
|
if func.__module__.split(".")[-1] in self.help_dict:
|
||||||
|
self.help_dict[func.__module__.split(".")[-1]] += [pattern]
|
||||||
|
else:
|
||||||
|
self.help_dict[func.__module__.split(".")[-1]] = [pattern]
|
||||||
|
|
||||||
self.command_handler.incoming_commands.append({
|
self.command_handler.incoming_commands.append({
|
||||||
"pattern": pattern + pattern_extra,
|
"pattern": pattern + pattern_extra,
|
||||||
|
@@ -10,7 +10,7 @@ DAN_URL = "http://danbooru.donmai.us/posts.json"
|
|||||||
DAN_SAUCE_URL = "https://danbooru.donmai.us/posts/"
|
DAN_SAUCE_URL = "https://danbooru.donmai.us/posts/"
|
||||||
|
|
||||||
|
|
||||||
@ldr.add("danping", sudo=True)
|
@ldr.add("danping", sudo=True, hide_help=True)
|
||||||
async def danbooru_ping(event):
|
async def danbooru_ping(event):
|
||||||
params = {"limit": 1,
|
params = {"limit": 1,
|
||||||
"random": "true"}
|
"random": "true"}
|
||||||
|
@@ -11,7 +11,7 @@ GEL_URL = "https://gelbooru.com/index.php"
|
|||||||
GEL_SAUCE_URL = "https://gelbooru.com/index.php?page=post&s=view&id="
|
GEL_SAUCE_URL = "https://gelbooru.com/index.php?page=post&s=view&id="
|
||||||
|
|
||||||
|
|
||||||
@ldr.add("gelping", sudo=True)
|
@ldr.add("gelping", sudo=True, hide_help=True)
|
||||||
async def danbooru_ping(event):
|
async def danbooru_ping(event):
|
||||||
params = {"page": "dapi",
|
params = {"page": "dapi",
|
||||||
"s": "post",
|
"s": "post",
|
||||||
|
@@ -10,7 +10,7 @@ SAN_URL = "https://capi-v2.sankakucomplex.com/posts"
|
|||||||
SAN_SAUCE_URL = "https://beta.sankakucomplex.com/post/show/"
|
SAN_SAUCE_URL = "https://beta.sankakucomplex.com/post/show/"
|
||||||
|
|
||||||
|
|
||||||
@ldr.add("sanping", sudo=True)
|
@ldr.add("sanping", sudo=True, hide_help=True)
|
||||||
async def sankaku_ping(event):
|
async def sankaku_ping(event):
|
||||||
params = {"page": 1,
|
params = {"page": 1,
|
||||||
"limit": 5,
|
"limit": 5,
|
||||||
|
@@ -10,7 +10,7 @@ from ubot.micro_bot import micro_bot
|
|||||||
ldr = micro_bot.loader
|
ldr = micro_bot.loader
|
||||||
|
|
||||||
|
|
||||||
@ldr.add("reload", sudo=True)
|
@ldr.add("reload", sudo=True, hide_help=True)
|
||||||
async def reload_modules(event):
|
async def reload_modules(event):
|
||||||
reload_msg = await event.reply("Reloading modules…")
|
reload_msg = await event.reply("Reloading modules…")
|
||||||
|
|
||||||
@@ -25,7 +25,7 @@ async def reload_modules(event):
|
|||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
@ldr.add("sysd", sudo=True)
|
@ldr.add("sysd", sudo=True, hide_help=True)
|
||||||
async def sysd(event):
|
async def sysd(event):
|
||||||
try:
|
try:
|
||||||
neo = "neofetch --stdout"
|
neo = "neofetch --stdout"
|
||||||
@@ -43,7 +43,7 @@ async def sysd(event):
|
|||||||
await event.reply("Neofetch not found!")
|
await event.reply("Neofetch not found!")
|
||||||
|
|
||||||
|
|
||||||
@ldr.add("alive", sudo=True)
|
@ldr.add("alive", sudo=True, hide_help=True)
|
||||||
async def alive(event):
|
async def alive(event):
|
||||||
alive_format = "**Telethon version:** {0}\n" \
|
alive_format = "**Telethon version:** {0}\n" \
|
||||||
"**Python version:** {1}"
|
"**Python version:** {1}"
|
||||||
@@ -51,13 +51,13 @@ async def alive(event):
|
|||||||
await event.reply(alive_format.format(version.__version__, python_version()))
|
await event.reply(alive_format.format(version.__version__, python_version()))
|
||||||
|
|
||||||
|
|
||||||
@ldr.add("shutdown", owner=True)
|
@ldr.add("shutdown", owner=True, hide_help=True)
|
||||||
async def shutdown(event):
|
async def shutdown(event):
|
||||||
await event.reply("Goodbye…")
|
await event.reply("Goodbye…")
|
||||||
await micro_bot.stop_client()
|
await micro_bot.stop_client()
|
||||||
|
|
||||||
|
|
||||||
@ldr.add("blacklist", sudo=True)
|
@ldr.add("blacklist", sudo=True, hide_help=True)
|
||||||
async def add_blacklist(event):
|
async def add_blacklist(event):
|
||||||
user_entity = await get_user(event)
|
user_entity = await get_user(event)
|
||||||
|
|
||||||
@@ -71,7 +71,7 @@ async def add_blacklist(event):
|
|||||||
await event.reply(f"Successfully blacklisted **{userfullname}** (`{userid}`)")
|
await event.reply(f"Successfully blacklisted **{userfullname}** (`{userid}`)")
|
||||||
|
|
||||||
|
|
||||||
@ldr.add("unblacklist", sudo=True)
|
@ldr.add("unblacklist", sudo=True, hide_help=True)
|
||||||
async def rem_blacklist(event):
|
async def rem_blacklist(event):
|
||||||
user_entity = await get_user(event)
|
user_entity = await get_user(event)
|
||||||
|
|
||||||
@@ -85,7 +85,7 @@ async def rem_blacklist(event):
|
|||||||
await event.reply(f"Successfully unblacklisted **{userfullname}** (`{userid}`)")
|
await event.reply(f"Successfully unblacklisted **{userfullname}** (`{userid}`)")
|
||||||
|
|
||||||
|
|
||||||
@ldr.add("showblacklist", sudo=True)
|
@ldr.add("showblacklist", sudo=True, hide_help=True)
|
||||||
async def show_blacklist(event):
|
async def show_blacklist(event):
|
||||||
blacklist_string = ""
|
blacklist_string = ""
|
||||||
|
|
||||||
@@ -95,7 +95,7 @@ async def show_blacklist(event):
|
|||||||
await event.reply(f"**Blacklisted users:**\n{blacklist_string}")
|
await event.reply(f"**Blacklisted users:**\n{blacklist_string}")
|
||||||
|
|
||||||
|
|
||||||
@ldr.add("sudo", owner=True)
|
@ldr.add("sudo", owner=True, hide_help=True)
|
||||||
async def add_sudo(event):
|
async def add_sudo(event):
|
||||||
user_entity = await get_user(event)
|
user_entity = await get_user(event)
|
||||||
|
|
||||||
@@ -109,7 +109,7 @@ async def add_sudo(event):
|
|||||||
await event.reply(f"Successfully sudo'd **{userfullname}** (`{userid}`)")
|
await event.reply(f"Successfully sudo'd **{userfullname}** (`{userid}`)")
|
||||||
|
|
||||||
|
|
||||||
@ldr.add("unsudo", owner=True)
|
@ldr.add("unsudo", owner=True, hide_help=True)
|
||||||
async def rem_sudo(event):
|
async def rem_sudo(event):
|
||||||
user_entity = await get_user(event)
|
user_entity = await get_user(event)
|
||||||
|
|
||||||
@@ -123,7 +123,7 @@ async def rem_sudo(event):
|
|||||||
await event.reply(f"Successfully unsudo'd **{userfullname}** (`{userid}`)")
|
await event.reply(f"Successfully unsudo'd **{userfullname}** (`{userid}`)")
|
||||||
|
|
||||||
|
|
||||||
@ldr.add("showsudo", sudo=True)
|
@ldr.add("showsudo", sudo=True, hide_help=True)
|
||||||
async def show_sudo(event):
|
async def show_sudo(event):
|
||||||
sudo_string = ""
|
sudo_string = ""
|
||||||
|
|
||||||
|
@@ -30,7 +30,20 @@ async def help_cmd(event):
|
|||||||
await event.reply(f"**Available commands:**\n{help_string}")
|
await event.reply(f"**Available commands:**\n{help_string}")
|
||||||
|
|
||||||
|
|
||||||
@ldr.add("ping")
|
@ldr.add("sudohelp", sudo=True)
|
||||||
|
async def sudohelp(event):
|
||||||
|
help_string = ""
|
||||||
|
|
||||||
|
for key, value in ldr.help_hidden_dict.items():
|
||||||
|
help_string += f"\n**{key}**: "
|
||||||
|
for info in value:
|
||||||
|
help_string += f"`{info}`, "
|
||||||
|
help_string = help_string.rstrip(", ")
|
||||||
|
|
||||||
|
await event.reply(f"**Available (hidden) commands:**\n{help_string}")
|
||||||
|
|
||||||
|
|
||||||
|
@ldr.add("ping", hide_help=True)
|
||||||
async def ping(event):
|
async def ping(event):
|
||||||
start = time_ns()
|
start = time_ns()
|
||||||
ping_msg = await event.reply("Ping…")
|
ping_msg = await event.reply("Ping…")
|
||||||
|
Reference in New Issue
Block a user