From 84d3e5df334897e080c2a2b7f92dbd691a48c365 Mon Sep 17 00:00:00 2001 From: neoarz Date: Mon, 22 Sep 2025 10:22:06 -0400 Subject: [PATCH] feat(owner): make owner commands be avaliable in dms --- cogs/general/help.py | 2 ++ cogs/owner/cog_management.py | 6 ++++++ cogs/owner/invite.py | 3 +++ cogs/owner/say.py | 4 ++++ cogs/owner/shutdown.py | 3 +++ cogs/owner/sync.py | 8 ++++++-- 6 files changed, 24 insertions(+), 2 deletions(-) diff --git a/cogs/general/help.py b/cogs/general/help.py index 531576f..27d1b5d 100644 --- a/cogs/general/help.py +++ b/cogs/general/help.py @@ -30,6 +30,8 @@ class Help(commands.Cog, name="help"): @commands.hybrid_command( name="help", description="List all commands the bot has loaded." ) + @app_commands.allowed_contexts(guilds=True, dms=True, private_channels=True) + @app_commands.allowed_installs(guilds=True, users=True) @app_commands.describe(category="Choose a specific category to view its commands") @app_commands.autocomplete(category=category_autocomplete) async def help(self, context: Context, category: str = None) -> None: diff --git a/cogs/owner/cog_management.py b/cogs/owner/cog_management.py index 59c10a4..e78d8e1 100644 --- a/cogs/owner/cog_management.py +++ b/cogs/owner/cog_management.py @@ -22,6 +22,8 @@ class CogManagement(commands.Cog, name="cog_management"): name="load", description="Load a cog", ) + @app_commands.allowed_contexts(guilds=True, dms=True, private_channels=True) + @app_commands.allowed_installs(guilds=True, users=True) @app_commands.describe(cog="The name of the cog to load") @commands.is_owner() async def load(self, context: Context, cog: str) -> None: @@ -51,6 +53,8 @@ class CogManagement(commands.Cog, name="cog_management"): name="unload", description="Unloads a cog.", ) + @app_commands.allowed_contexts(guilds=True, dms=True, private_channels=True) + @app_commands.allowed_installs(guilds=True, users=True) @app_commands.describe(cog="The name of the cog to unload") @commands.is_owner() async def unload(self, context: Context, cog: str) -> None: @@ -80,6 +84,8 @@ class CogManagement(commands.Cog, name="cog_management"): name="reload", description="Reloads a cog.", ) + @app_commands.allowed_contexts(guilds=True, dms=True, private_channels=True) + @app_commands.allowed_installs(guilds=True, users=True) @app_commands.describe(cog="The name of the cog to reload") @commands.is_owner() async def reload(self, context: Context, cog: str) -> None: diff --git a/cogs/owner/invite.py b/cogs/owner/invite.py index 0c259a8..851c4d1 100644 --- a/cogs/owner/invite.py +++ b/cogs/owner/invite.py @@ -1,5 +1,6 @@ import os import discord +from discord import app_commands from discord.ext import commands from discord.ext.commands import Context @@ -22,6 +23,8 @@ class Invite(commands.Cog, name="invite"): name="invite", description="Get the invite link of the bot to be able to invite it.", ) + @app_commands.allowed_contexts(guilds=True, dms=True, private_channels=True) + @app_commands.allowed_installs(guilds=True, users=True) @commands.is_owner() async def invite(self, context: Context) -> None: """ diff --git a/cogs/owner/say.py b/cogs/owner/say.py index a7a37d6..f79e968 100644 --- a/cogs/owner/say.py +++ b/cogs/owner/say.py @@ -22,6 +22,8 @@ class Say(commands.Cog, name="say"): name="say", description="The bot will say anything you want.", ) + @app_commands.allowed_contexts(guilds=True, dms=True, private_channels=True) + @app_commands.allowed_installs(guilds=True, users=True) @app_commands.describe(message="The message that should be repeated by the bot") @commands.is_owner() async def say(self, context: Context, *, message: str) -> None: @@ -37,6 +39,8 @@ class Say(commands.Cog, name="say"): name="embed", description="The bot will say anything you want, but within embeds.", ) + @app_commands.allowed_contexts(guilds=True, dms=True, private_channels=True) + @app_commands.allowed_installs(guilds=True, users=True) @app_commands.describe(message="The message that should be repeated by the bot") @commands.is_owner() async def embed(self, context: Context, *, message: str) -> None: diff --git a/cogs/owner/shutdown.py b/cogs/owner/shutdown.py index 54b1165..7c3aff6 100644 --- a/cogs/owner/shutdown.py +++ b/cogs/owner/shutdown.py @@ -1,6 +1,7 @@ import os import signal import discord +from discord import app_commands from discord.ext import commands from discord.ext.commands import Context @@ -23,6 +24,8 @@ class Shutdown(commands.Cog, name="shutdown"): name="shutdown", description="Make the bot shutdown.", ) + @app_commands.allowed_contexts(guilds=True, dms=True, private_channels=True) + @app_commands.allowed_installs(guilds=True, users=True) @commands.is_owner() async def shutdown(self, context: Context) -> None: """ diff --git a/cogs/owner/sync.py b/cogs/owner/sync.py index a10f419..80e7929 100644 --- a/cogs/owner/sync.py +++ b/cogs/owner/sync.py @@ -18,10 +18,12 @@ class Sync(commands.Cog, name="sync"): else: await context.send(embed=embed) - @commands.command( + @commands.hybrid_command( name="sync", description="Synchonizes the slash commands.", ) + @app_commands.allowed_contexts(guilds=True, dms=True, private_channels=True) + @app_commands.allowed_installs(guilds=True, users=True) @app_commands.describe(scope="The scope of the sync. Can be `global` or `guild`") @commands.is_owner() async def sync(self, context: Context, scope: str) -> None: @@ -60,10 +62,12 @@ class Sync(commands.Cog, name="sync"): embed.set_author(name="Owner", icon_url="https://yes.nighty.works/raw/zReOib.webp") await self.send_embed(context, embed, ephemeral=True) - @commands.command( + @commands.hybrid_command( name="unsync", description="Unsynchonizes the slash commands.", ) + @app_commands.allowed_contexts(guilds=True, dms=True, private_channels=True) + @app_commands.allowed_installs(guilds=True, users=True) @app_commands.describe( scope="The scope of the sync. Can be `global`, `current_guild` or `guild`" )