# Path: utils/checks.py
# class No_Owner(commands.CommandError): pass
# class No_Perms(commands.CommandError): pass
# class No_Role(commands.CommandError): pass
# class No_Admin(commands.CommandError): pass
# class No_Mod(commands.CommandError): pass
# class No_Sup(commands.CommandError): pass
# class No_ServerandPerm(commands.CommandError): pass
# class Nsfw(commands.CommandError): pass
# def is_owner_check(message):
# def is_owner():
# def check_permissions(ctx, perms):
# def role_or_perm(t, ctx, check, **perms):
# def mod_or_perm(**perms):
# 	def predicate(ctx):
# def admin_or_perm(**perms):
# 	def predicate(ctx):
# def is_in_servers(*server_ids):
# 	def predicate(ctx):
# def server_and_perm(ctx, *server_ids, **perms):
# def sup(ctx):
# def nsfw():
# 	def predicate(ctx):
# 
# Path: mods/cog.py
# class Cog(metaclass=CogMeta):
# 	def __init__(self, bot:NotSoBot):
# 		self._bot = bot
# 
# 	@property
# 	def bot(self):
# 		return self._bot
# 
# 	@classmethod
# 	def setup(cls, bot:NotSoBot):
# 		bot.add_cog(cls(bot))


import asyncio
import discord
import sys
from discord.ext import commands
from utils import checks
from mods.cog import Cog
		"""Toggle Command for a role"""
		if cmd in self.bot.commands:
			cmd = str(self.bot.commands[cmd])
			await self.command_toggle('role', ctx, cmd, role)
		else:
			await self.bot.say(':no_entry: `Command does not exist.`')

	@command.command(name='channel', pass_context=True, invoke_without_command=True, no_pm=True)
	@checks.admin_or_perm(manage_server=True)
	async def command_toggle_channel(self, ctx, cmd:str, chan:discord.Channel=None):
		"""Toggle Command for a channel"""
		if chan is None:
			chan = ctx.message.channel
		if cmd in self.bot.commands:
			cmd = str(self.bot.commands[cmd])
			await self.command_toggle('channel', ctx, cmd, chan)
		else:
			await self.bot.say(':no_entry: `Command does not exist.`')

	@command.command(name='global', pass_context=True, invoke_without_command=True)
	@checks.is_owner()
	async def command_toggle_global(self, ctx, cmd:str):
		"""Toggle command globally"""
		if cmd in self.bot.commands:
			cmd = str(self.bot.commands[cmd])
			await self.command_toggle('global', ctx, cmd)
		else:
			await self.bot.say(':no_entry: `Command does not exist.`')

	@command.group(name='module', pass_context=True, invoke_without_command=True, no_pm=True)

# Path: utils/checks.py
# class No_Owner(commands.CommandError): pass
# class No_Perms(commands.CommandError): pass
# class No_Role(commands.CommandError): pass
# class No_Admin(commands.CommandError): pass
# class No_Mod(commands.CommandError): pass
# class No_Sup(commands.CommandError): pass
# class No_ServerandPerm(commands.CommandError): pass
# class Nsfw(commands.CommandError): pass
# def is_owner_check(message):
# def is_owner():
# def check_permissions(ctx, perms):
# def role_or_perm(t, ctx, check, **perms):
# def mod_or_perm(**perms):
# 	def predicate(ctx):
# def admin_or_perm(**perms):
# 	def predicate(ctx):
# def is_in_servers(*server_ids):
# 	def predicate(ctx):
# def server_and_perm(ctx, *server_ids, **perms):
# def sup(ctx):
# def nsfw():
# 	def predicate(ctx):
# 
# Path: mods/cog.py
# class Cog(metaclass=CogMeta):
# 	def __init__(self, bot:NotSoBot):
# 		self._bot = bot
# 
# 	@property
# 	def bot(self):
# 		return self._bot
# 
# 	@classmethod
# 	def setup(cls, bot:NotSoBot):
# 		bot.add_cog(cls(bot))


# Path: mods/Commands.py
import asyncio
import discord
import sys
from discord.ext import commands
from utils import checks
from mods.cog import Cog

		"""Toggle Command for a role"""
		if cmd in self.bot.commands:
			cmd = str(self.bot.commands[cmd])
			await self.command_toggle('role', ctx, cmd, role)
		else:
			await self.bot.say(':no_entry: `Command does not exist.`')

	@command.command(name='channel', pass_context=True, invoke_without_command=True, no_pm=True)
	@checks.admin_or_perm(manage_server=True)
	async def command_toggle_channel(self, ctx, cmd:str, chan:discord.Channel=None):
		"""Toggle Command for a channel"""
		if chan is None:
			chan = ctx.message.channel
		if cmd in self.bot.commands:
			cmd = str(self.bot.commands[cmd])
			await self.command_toggle('channel', ctx, cmd, chan)
		else:
			await self.bot.say(':no_entry: `Command does not exist.`')

	@command.command(name='global', pass_context=True, invoke_without_command=True)
	@checks.is_owner()
	async def command_toggle_global(self, ctx, cmd:str):
		"""Toggle command globally"""
		if cmd in self.bot.commands:
			cmd = str(self.bot.commands[cmd])
			await self.command_toggle('global', ctx, cmd)
		else:
			await self.bot.say(':no_entry: `Command does not exist.`')

	@command.group(name='module', pass_context=True, invoke_without_command=True, no_pm=True)

	@checks.admin_or_perm(manage_server=True)