feat(owner): make owner commands be avaliable in dms

This commit is contained in:
neoarz
2025-09-22 10:22:06 -04:00
parent deef9156fa
commit 84d3e5df33
6 changed files with 24 additions and 2 deletions

View File

@@ -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:

View File

@@ -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:
"""

View File

@@ -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:

View File

@@ -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:
"""

View File

@@ -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`"
)