mirror of
https://github.com/Cog-Creators/Red-DiscordBot.git
synced 2025-11-06 11:18:54 -05:00
Ya'll are gonna hate me. * Initial modifications * Add initial setup.py * working setup py help * Modify setup file to package stuff * Move a bunch of shit and fix imports * Fix or skip tests * Must add init files for find_packages to work * Move main to scripts folder and rename * Add shebangs * Copy over translation files * WORKING PIP INSTALL * add dependency information * Hardcoded version for now, will need to figure out a better way to do this * OKAY ITS FINALLY FUCKING WORKING * Add this guy * Fix stuff * Change readme to rst * Remove double sentry opt in * Oopsie * Fix this thing * Aaaand fix test * Aaaand fix test * Fix core cog importing and default cog install path * Adjust readme * change instance name from optional to required * Ayyy let's do more dependency injection
25 lines
774 B
Python
25 lines
774 B
Python
import discord
|
|
from discord.ext import commands
|
|
from .repo_manager import RepoManager
|
|
from .installable import Installable
|
|
|
|
|
|
class RepoName(commands.Converter):
|
|
async def convert(self, ctx: commands.Context, arg: str) -> str:
|
|
return RepoManager.validate_and_normalize_repo_name(arg)
|
|
|
|
|
|
class InstalledCog(commands.Converter):
|
|
async def convert(self, ctx: commands.Context, arg: str) -> Installable:
|
|
downloader = ctx.bot.get_cog("Downloader")
|
|
if downloader is None:
|
|
raise commands.CommandError("Downloader not loaded.")
|
|
|
|
cog = discord.utils.get(downloader.installed_cogs, name=arg)
|
|
if cog is None:
|
|
raise commands.BadArgument(
|
|
"That cog is not installed"
|
|
)
|
|
|
|
return cog
|