Browse Source

Some work on implimenting new settings changes. Also fixed an error that made fixing broken json files annoying.

tags/v1.1.0
roxie 6 years ago
parent
commit
827ccb3d12
2 changed files with 53 additions and 16 deletions
  1. +42
    -7
      cogs/settings.py
  2. +11
    -9
      config/server_config.py

+ 42
- 7
cogs/settings.py View File

@@ -12,10 +12,9 @@ from discord.ext.commands import bot
from discord.ext.commands import group



class Settings():
"""
Settings is a mix of settings and admin stuff for the bot.
Settings is a mix of settings and admin stuff for the bot. OWNER OR ADMIN ONLY.
"""
def __init__(self, Bot):
self.bot = Bot
@@ -129,7 +128,7 @@ class Settings():
return await self.bot.say("{} has been set as the goodbye channel!".format(channel.mention))

@set.command(pass_context=True, hidden=True)
async def twitchchannel(self, ctx, channel: discord.Channel = None):
async def twitchchannel(self, ctx, channel: discord.Channel = None): # Idk if this should be here, maybe in thw twitch cog?
self.servers = self.con.load_config()
self.servers[ctx.message.server.id]["twitch"]["twitch-channel"] = channel.id
self.con.update_config(self.servers)
@@ -142,16 +141,52 @@ class Settings():
self.con.update_config(self.servers)
return await self.bot.say("Custom message set to '{}'".format(message))

@set.command(pass_context=True, hidden=True)
@set.command(pass_context=True, hidden=True, enabled=False)
async def muterole(self, ctx, role: discord.Role = None):
self.servers = self.con.load_config()
self.servers[ctx.message.server.id]["mute"]["role"] = role.id
self.con.update_config(self.servers)
return await self.bot.say("Muted role set to '{}'".format(role.name))

@set.command(pass_context=True, hidden=True)
async def adminrole(self, ctx, role: discord.Role = None):
self.servers= self.con.load_config()
@group(pass_context=True, hidden=True)
@checks.is_bot_owner()
async def add(self, ctx):
if ctx.invoked_subcommand is None:
return await self.bot.say('Missing Argument')

@add.command(pass_context=True, hidden=True)
async def admin_role(self, ctx, *, role: discord.Role = None):
self.servers = self.con.load_config()
self.servers[ctx.message.server.id]["admin_role"] = role.id
self.con.update_config(self.servers)
return await self.bot.say("Admin role set to '{}'".format(role.name))

@add.command(pass_context=True, hidden=True)
async def mod_role(self, ctx, *, role: discord.Role = None):
self.servers = self.con.load_config()
self.servers[ctx.message.server.id]["admin_role"] = role.id
self.con.update_config(self.servers)
return await self.bot.say("Admin role set to '{}'".format(role.name))

@group(pass_context=True, hidden=True)
@checks.is_bot_owner()
async def remove(self, ctx):
if ctx.invoked_subcommand is None:
return await self.bot.say('Missing Argument')

@remove.command(pass_context=True, hidden=True)
async def admin_role(self, ctx, *, role: discord.Role = None):
self.servers = self.con.load_config()
try:
self.servers[ctx.message.server.id]["perm_roles"]["admin"].pop(role.id)
except KeyError:
return await self.bot.say("That role was not in the list.")
self.con.update_config(self.servers)
return await self.bot.say("Admin role set to '{}'".format(role.name))

@remove.command(pass_context=True, hidden=True)
async def mod_role(self, ctx, *, role: discord.Role = None):
self.servers = self.con.load_config()
self.servers[ctx.message.server.id]["admin_role"] = role.id
self.con.update_config(self.servers)
return await self.bot.say("Admin role set to '{}'".format(role.name))

+ 11
- 9
config/server_config.py View File

@@ -35,8 +35,9 @@ class ServerConfig():
"nsfw": {
"enabled": 0
},
"admin_role": {
"role": ""
"perm_roles": {
"admin": [],
"mod":[]
},
"custom_commands":{
"0": {},
@@ -67,6 +68,13 @@ class ServerConfig():
server.name.upper()))
else:
for cog_setting in self.servers_template["example"]:
if cog_setting not in self.servers[server.id]:
self.servers[server.id][cog_setting] = self.servers_template["example"][
cog_setting]
self.update_config(self.servers)
print(
"WARNING: The config file for {} was missing the {} cog. This has been fixed with the template version. It is disabled by default.".format(
server.name.upper(), cog_setting.upper()))
for setting in self.servers_template["example"][cog_setting]:
if setting not in self.servers[server.id][cog_setting]:
self.servers[server.id][cog_setting][setting] = self.servers_template["example"][
@@ -75,11 +83,5 @@ class ServerConfig():
print(
"WARNING: The config file for {} was missing the {} setting in the {} cog. This has been fixed with the template version. It is disabled by default.".format(
server.name.upper(), setting.upper(), cog_setting.upper()))
if cog_setting not in self.servers[server.id]:
self.servers[server.id][cog_setting] = self.servers_template["example"][
cog_setting]
self.update_config(self.servers)
print(
"WARNING: The config file for {} was missing the {} cog. This has been fixed with the template version. It is disabled by default.".format(
server.name.upper(), cog_setting.upper()))

print("")

Loading…
Cancel
Save