1
Fork 0
mirror of https://github.com/RGBCube/minearchy-bot synced 2025-07-27 08:57:46 +00:00

Seperate utils and misc and remove =hello

This commit is contained in:
RGBCube 2022-12-17 20:48:42 +03:00
parent 824eb0d0ae
commit a99219a8c0
2 changed files with 89 additions and 74 deletions

View file

@ -2,14 +2,11 @@ from __future__ import annotations
from datetime import timedelta as TimeDelta from datetime import timedelta as TimeDelta
from inspect import cleandoc as strip from inspect import cleandoc as strip
from io import BytesIO
from platform import python_version from platform import python_version
from time import monotonic as get_monotonic, time as get_time from time import time as get_time
from typing import TYPE_CHECKING from typing import TYPE_CHECKING
from discord import CategoryChannel, File
from discord.ext.commands import Cog, command from discord.ext.commands import Cog, command
from discord.utils import escape_markdown
from ..utils import override from ..utils import override
@ -34,27 +31,6 @@ class Miscellaneous(
self.bot.help_command.cog = None self.bot.help_command.cog = None
self.bot.help_command.hidden = True self.bot.help_command.hidden = True
@command(brief="Hello!", help="Hello!")
async def hello(self, ctx: Context) -> None:
await ctx.reply(f"Hi {escape_markdown(ctx.author.name)}, yes the bot is running :).")
@command(
brief="Sends the total members in the server.",
help="Sends the total members in the server.",
)
async def members(self, ctx: Context) -> None:
await ctx.reply(f"There are `{ctx.guild.member_count}` users in this server.")
@command(
brief="Sends the bots ping.",
help="Sends the bots ping."
)
async def ping(self, ctx: Context) -> None:
ts = get_monotonic()
message = await ctx.reply("Pong!")
ts = get_monotonic() - ts
await message.edit(content=f"Pong! `{int(ts * 1000)}ms`")
@command( @command(
brief="Sends info about the bot.", brief="Sends info about the bot.",
help="Sends info about the bot." help="Sends info about the bot."
@ -70,55 +46,6 @@ class Miscellaneous(
) )
) )
@command(
name="channel-perm-tree",
hidden=True
)
async def channel_perm_tree(self, ctx: Context) -> None:
string = []
for channel in ctx.guild.channels:
ind = " "
ind_nr = 1 if getattr(channel, "category", False) else 0
string.append(ind*ind_nr + f"{'category' if isinstance(channel, CategoryChannel) else 'channel'} {channel.name}:")
if channel.permissions_synced:
string.append(ind*(ind_nr+1) + "permissions: synced")
else:
string.append(ind*(ind_nr+1) + "permissions:")
if not channel.category:
for thing, overwrites in channel.overwrites.items():
allows, denies = overwrites.pair()
for allow in allows:
string.append(ind*(ind_nr+2) + f"{allow[0]}: ✅")
for deny in denies:
string.append(ind*(ind_nr+2) + f"{deny[0]}: ❌")
else:
for thing, overwrites in channel.overwrites.items():
parent_overwrites = channel.category.overwrites.get(thing)
allows, denies = overwrites.pair()
parent_allows, parent_denies = parent_overwrites.pair() if parent_overwrites else ((), ())
for allow in allows:
if allow not in parent_allows:
string.append(ind*(ind_nr+2) + f"{allow[0]}: ✅")
for deny in denies:
if deny not in parent_denies:
string.append(ind*(ind_nr+2) + f"{deny[0]}: ❌")
await ctx.reply(
file=File(
BytesIO("\n".join(string).encode()),
filename="channel-perm-tree.txt"
)
)
@command( @command(
brief="Sets you as AFK.", brief="Sets you as AFK.",
help="Sets you as AFK.", help="Sets you as AFK.",

View file

@ -0,0 +1,88 @@
from __future__ import annotations
from io import BytesIO
from time import monotonic as get_monotonic
from typing import TYPE_CHECKING
from discord import CategoryChannel, File
from discord.ext.commands import Cog, command
if TYPE_CHECKING:
from discord.ext.commands import Context
from .. import MinearchyBot
class Utils(Cog):
def __init__(self, bot: MinearchyBot) -> None:
self.bot = bot
@command(
brief="Sends the total members in the server.",
help="Sends the total members in the server.",
)
async def members(self, ctx: Context) -> None:
await ctx.reply(f"There are `{ctx.guild.member_count}` users in this server.")
@command(
brief="Sends the bots ping.",
help="Sends the bots ping."
)
async def ping(self, ctx: Context) -> None:
ts = get_monotonic()
message = await ctx.reply("Pong!")
ts = get_monotonic() - ts
await message.edit(content=f"Pong! `{int(ts * 1000)}ms`")
@command(
name="channel-perm-tree",
hidden=True
)
async def channel_perm_tree(self, ctx: Context) -> None:
string = []
for channel in ctx.guild.channels:
ind = " "
ind_nr = 1 if getattr(channel, "category", False) else 0
string.append(ind*ind_nr + f"{'category' if isinstance(channel, CategoryChannel) else 'channel'} {channel.name}:")
if channel.permissions_synced:
string.append(ind*(ind_nr+1) + "permissions: synced")
else:
string.append(ind*(ind_nr+1) + "permissions:")
if not channel.category:
for thing, overwrites in channel.overwrites.items():
allows, denies = overwrites.pair()
for allow in allows:
string.append(ind*(ind_nr+2) + f"{allow[0]}: ✅")
for deny in denies:
string.append(ind*(ind_nr+2) + f"{deny[0]}: ❌")
else:
for thing, overwrites in channel.overwrites.items():
parent_overwrites = channel.category.overwrites.get(thing)
allows, denies = overwrites.pair()
parent_allows, parent_denies = parent_overwrites.pair() if parent_overwrites else ((), ())
for allow in allows:
if allow not in parent_allows:
string.append(ind*(ind_nr+2) + f"{allow[0]}: ✅")
for deny in denies:
if deny not in parent_denies:
string.append(ind*(ind_nr+2) + f"{deny[0]}: ❌")
await ctx.reply(
file=File(
BytesIO("\n".join(string).encode()),
filename="channel-perm-tree.txt"
)
)
async def setup(bot: MinearchyBot) -> None:
await bot.add_cog(Utils(bot))