Update configuration and README for improved setup and security; disable default API and emoji sync, and enhance Discord permission checks in API routes.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
TheOnlyMace
2026-07-21 16:00:52 +02:00
commit fdfc8de44d
925 changed files with 75254 additions and 0 deletions

View File

@@ -0,0 +1,228 @@
# ╔══════════════════════════════════════════════════════════════════╗
# ║ ║
# ║ ░█▀▀░█▀█░█▀▄░█▀▀░█░█ ░█▀▄░█▀▀░█░█░█▀▀ ║
# ║ ░█░░░█░█░█░█░█▀▀░▄▀▄ ░█░█░█▀▀░▀▄▀░▀▀█ ║
# ║ ░▀▀▀░▀▀▀░▀▀░░▀▀▀░▀░▀ ░▀▀░░▀▀▀░░▀░░▀▀▀ ║
# ║ ║
# ║ © 2026 CodeX Devs — All Rights Reserved ║
# ║ ║
# ║ discord ── https://discord.gg/codexdev ║
# ║ youtube ── https://youtube.com/@CodeXDevs ║
# ║ github ── https://github.com/RayExo ║
# ║ ║
# ╚══════════════════════════════════════════════════════════════════╝
import discord
from discord.ext import commands
import aiosqlite
import os
from utils.Tools import *
from utils.cv2 import CV2
from discord.ui import TextDisplay, Separator, ActionRow, LayoutView, Container
from utils.config import OWNER_IDS_STR
# Database setup
db_folder = "db"
db_file = "anti.db"
db_path = os.path.join(db_folder, db_file)
class Nightmode(commands.Cog):
def __init__(self, bot):
self.bot = bot
self.bot.loop.create_task(self.initialize_db())
self.ricky = OWNER_IDS_STR
self.color = 0xFF0000
async def initialize_db(self):
self.db = await aiosqlite.connect(db_path)
await self.db.execute("""
CREATE TABLE IF NOT EXISTS Nightmode (
guildId TEXT,
roleId TEXT,
adminPermissions INTEGER
)
""")
await self.db.commit()
async def is_extra_owner(self, user, guild):
async with self.db.execute(
"""
SELECT owner_id FROM extraowners WHERE guild_id = ? AND owner_id = ?
""",
(guild.id, user.id),
) as cursor:
extra_owner = await cursor.fetchone()
return extra_owner is not None
@commands.hybrid_group(
name="nightmode",
aliases=[],
help="Manages Nightmode feature",
invoke_without_command=True,
)
@blacklist_check()
@ignore_check()
@commands.cooldown(1, 10, commands.BucketType.user)
@commands.max_concurrency(1, per=commands.BucketType.default, wait=False)
@commands.guild_only()
async def nightmode(self, ctx):
view = CV2(
"__**Nightmode**__",
"Nightmode swiftly disables dangerous permissions for roles, like stripping `ADMINISTRATION` rights, while preserving original settings for seamless restoration.\n\n**Make sure to keep my ROLE above all roles you want to protect.**",
"**Usage**\n `nightmode enable`\n `nightmode disable`",
)
await ctx.send(view=view)
@nightmode.command(name="enable", help="Enable nightmode")
@commands.has_permissions(administrator=True)
@blacklist_check()
@ignore_check()
@commands.cooldown(1, 10, commands.BucketType.user)
async def enable_nightmode(self, ctx):
if ctx.guild.member_count < 50:
view = CV2(
"Access Denied",
"Your Server Doesn't Meet My 50 Member Criteria",
)
return await ctx.send(view=view)
own = ctx.author.id == ctx.guild.owner_id
check = await self.is_extra_owner(ctx.author, ctx.guild)
if not own and not check and ctx.author.id not in self.ricky:
view = CV2(
"Access Denied",
"Only Server Owner Or Extraowner Can Run This Command.!",
)
return await ctx.send(view=view)
if (
not own
and not (ctx.guild.me.top_role.position <= ctx.author.top_role.position)
and ctx.author.id not in self.ricky
):
view = CV2(
"Access Denied",
"Only Server Owner or Extraowner Having **Higher role than me can run this command**",
)
return await ctx.send(view=view)
bot_highest_role = ctx.guild.me.top_role
manageable_roles = [
role
for role in ctx.guild.roles
if role.position < bot_highest_role.position
and role.name != "@everyone"
and role.permissions.administrator
and not role.managed
]
if not manageable_roles:
view = CV2(
"Error",
"No Roles Found With Admin Permissions",
)
return await ctx.send(view=view)
async with self.db.execute(
"SELECT guildId FROM Nightmode WHERE guildId = ?", (str(ctx.guild.id),)
) as cursor:
if await cursor.fetchone():
view = CV2(
"Error",
"Nightmode is already enabled.",
)
return await ctx.send(view=view)
async with self.db.cursor() as cursor:
for role in manageable_roles:
admin_permissions = discord.Permissions(administrator=True)
if role.permissions.administrator:
permissions = role.permissions
permissions.administrator = False
await role.edit(permissions=permissions, reason="Nightmode ENABLED")
await cursor.execute(
"""
INSERT OR REPLACE INTO Nightmode (guildId, roleId, adminPermissions)
VALUES (?, ?, ?)
""",
(str(ctx.guild.id), str(role.id), int(admin_permissions.value)),
)
await self.db.commit()
view = CV2(
"Success",
"Nightmode enabled! Dangerous Permissions Disabled For Manageable Roles.",
)
await ctx.send(view=view)
@nightmode.command(name="disable", help="Disable nightmode")
@commands.has_permissions(administrator=True)
@blacklist_check()
@ignore_check()
@commands.cooldown(1, 10, commands.BucketType.user)
async def disable_nightmode(self, ctx):
if ctx.guild.member_count < 50:
view = CV2(
"Access Denied",
"Your Server Doesn't Meet My 50 Member Criteria",
)
return await ctx.send(view=view)
own = ctx.author.id == ctx.guild.owner_id
check = await self.is_extra_owner(ctx.author, ctx.guild)
if not own and not check and ctx.author.id not in self.ricky:
view = CV2(
"Access Denied",
"Only Server Owner Or Extraowner Can Run This Command.!",
)
return await ctx.send(view=view)
if (
not own
and not (ctx.guild.me.top_role.position <= ctx.author.top_role.position)
and ctx.author.id not in self.ricky
):
view = CV2(
"Access Denied",
"Only Server Owner or Extraowner Having **Higher role than me can run this command**",
)
return await ctx.send(view=view)
async with self.db.execute(
"SELECT roleId, adminPermissions FROM Nightmode WHERE guildId = ?",
(str(ctx.guild.id),),
) as cursor:
stored_roles = await cursor.fetchall()
if not stored_roles:
view = CV2(
"Error",
"Nightmode is not enabled.",
)
return await ctx.send(view=view)
async with self.db.cursor() as cursor:
for role_id, admin_permissions in stored_roles:
role = ctx.guild.get_role(int(role_id))
if role:
permissions = discord.Permissions(
administrator=bool(admin_permissions)
)
await role.edit(
permissions=permissions, reason="Nightmode DISABLED"
)
await cursor.execute(
"DELETE FROM Nightmode WHERE guildId = ? AND roleId = ?",
(str(ctx.guild.id), role_id),
)
await self.db.commit()
view = CV2(
"Success",
"Nightmode disabled! Restored Permissions For Manageable Roles.",
)
await ctx.send(view=view)