Browse Source

panic changing the guild ID usage when getting configs because JSON can't use ints as keys and I knew this before but forgot.

tags/v1.4.0
roxie 6 years ago
parent
commit
196ccd2db5
4 changed files with 29 additions and 29 deletions
  1. +6
    -6
      checks.py
  2. +7
    -7
      cogs/selfassign.py
  3. +11
    -11
      cogs/twitch.py
  4. +5
    -5
      config/settings.py

+ 6
- 6
checks.py View File

@@ -8,7 +8,7 @@ def is_owner_or_admin():
return True
else:
for role in ctx.author.roles:
if role.id in ServerConfig().load_config()[ctx.server.id]["perm_roles"]["admin"]:
if role.id in ServerConfig().load_config()[str(ctx.guild.id)]["perm_roles"]["admin"]:
return True
return False
return commands.check(predicate)
@@ -18,8 +18,8 @@ def is_admin_or_mod():
if ctx.message.author.id == load_config.owner:
return True
else:
admin_roles = ServerConfig().load_config()[ctx.server.id]["perm_roles"]["admin"]
mod_roles = ServerConfig().load_config()[ctx.server.id]["perm_roles"]["mod"]
admin_roles = ServerConfig().load_config()[str(ctx.guild.id)]["perm_roles"]["admin"]
mod_roles = ServerConfig().load_config()[str(ctx.guild.id)]["perm_roles"]["mod"]
for role in ctx.message.author.roles:
if role.id in mod_roles or role.id in admin_roles:
return True
@@ -27,11 +27,11 @@ def is_admin_or_mod():
return commands.check(predicate)

def nsfw_predicate(ctx):
nsfw = ServerConfig().load_config()[ctx.message.server.id]["nsfw"]
nsfw = ServerConfig().load_config()[str(ctx.guild.id)]["nsfw"]
if not nsfw["channels"] and nsfw["enabled"]:
return nsfw["enabled"] == 1
elif nsfw["enabled"] and nsfw["channels"]:
return ctx.message.channel.id in nsfw["channels"]
return ctx.channel.id in nsfw["channels"]
else:
return False

@@ -39,4 +39,4 @@ def is_nfsw_enabled():
return commands.check(lambda ctx: nsfw_predicate(ctx))

def isnt_anal():
return commands.check(lambda ctx: ServerConfig().load_config()[ctx.message.server.id]["is_anal"]["y/n"] and nsfw_predicate(ctx) or not ServerConfig().load_config()[ctx.message.server.id]["is_anal"]["y/n"])
return commands.check(lambda ctx: ServerConfig().load_config()[str(ctx.guild.id)]["is_anal"]["y/n"] and nsfw_predicate(ctx) or not ServerConfig().load_config()[str(ctx.guild.id)]["is_anal"]["y/n"])

+ 7
- 7
cogs/selfassign.py View File

@@ -19,12 +19,12 @@ class SelfAssign():
Usage:
{command_prefix}listroles
"""
if not self.servers[ctx.guild.id]["self_assign"]["enabled"]:
if not self.servers[str(ctx.guild.id)]["self_assign"]["enabled"]:
embed = discord.Embed(colour=discord.Colour(self.embed_colour),
description="SelfAssignable roles are not enabled on this server")
return await ctx.send(embed=embed)
roles = []
for role in self.servers[ctx.guild.id]["self_assign"]["roles"]:
for role in self.servers[str(ctx.guild.id)]["self_assign"]["roles"]:
for serverrole in ctx.guild.roles:
if role == serverrole.id:
roles.append("**"+serverrole.name+"**")
@@ -42,7 +42,7 @@ class SelfAssign():
Example:
.iam OverwatchPing
"""
if not self.servers[ctx.guild.id]["self_assign"]["enabled"]:
if not self.servers[str(ctx.guild.id)]["self_assign"]["enabled"]:
embed = discord.Embed(colour=discord.Colour(self.embed_colour),
description="SelfAssignable roles are not enabled on this server")
return await ctx.send(embed=embed)
@@ -56,7 +56,7 @@ class SelfAssign():
if role in user.roles:
return await ctx.send("You already have that role.")

if role.id in self.servers[ctx.guild.id]["self_assign"]["roles"]:
if role.id in self.servers[str(ctx.guild.id)]["self_assign"]["roles"]:
await user.add_roles(role, reason="'iam' command triggered.")
return await ctx.send("Yay {}! You now have the {} role!".format(user.mention, role.name))
else:
@@ -71,7 +71,7 @@ class SelfAssign():
Example:
.iamn OverwatchPing
"""
if not self.servers[ctx.guild.id]["self_assign"]["enabled"]:
if not self.servers[str(ctx.guild.id)]["self_assign"]["enabled"]:
embed = discord.Embed(colour=discord.Colour(self.embed_colour),
description="SelfAssignable roles are not enabled on this server")
return await ctx.send(embed=embed)
@@ -79,10 +79,10 @@ class SelfAssign():
user = ctx.author
server = ctx.guild

if role in user.roles and role.id in self.servers[ctx.guild.id]["self_assign"]["roles"]:
if role in user.roles and role.id in self.servers[str(ctx.guild.id)]["self_assign"]["roles"]:
await user.remove_roles(role, reason="'iamn' command triggered.")
return await ctx.send("{} has been successfully removed.".format(role.name))
elif role not in user.roles and role.id in self.servers[ctx.guild.id]["self_assign"]["roles"]:
elif role not in user.roles and role.id in self.servers[str(ctx.guild.id)]["self_assign"]["roles"]:
return await ctx.send("You do not have {}.".format(role.name))
else:
return await ctx.send("That role is not self-assignable.")

+ 11
- 11
cogs/twitch.py View File

@@ -22,14 +22,14 @@ class Twitch():

async def on_member_update(self, member_b, member_a):
# Twitch Shilling Part
if blacklisted(member_b) or not self.servers[member_a.server.id]["twitch"]["enabled"]:
if blacklisted(member_b) or not self.servers[str(member_a.guild.id)]["twitch"]["enabled"]:
return

if member_a.activitiy:
if member_a.activity.type == discord.ActivityType.streaming and member_b.activity.type != discord.ActivityType.streaming:
ts_whitelist = self.servers[member_a.server.id]["twitch"]["whitelist"]["enabled"]
if not ts_whitelist or member_a.id in self.servers[member_a.server.id]["twitch"]["whitelist"]["list"]:
channel = self.bot.get_channel(self.servers[member_a.server.id]["twitch"]["twitch-channel"])
ts_whitelist = self.servers[str(member_a.guild.id)]["twitch"]["whitelist"]["enabled"]
if not ts_whitelist or member_a.id in self.servers[str(member_a.guild.id)]["twitch"]["whitelist"]["list"]:
channel = self.bot.get_channel(self.servers[str(member_a.guild.id)]["twitch"]["twitch-channel"])
return await channel.send(":video_game:** {} is live!** :video_game:\n{}\n{}".format(
member_a.name, member_a.game.name, member_a.game.url))

@@ -46,12 +46,12 @@ class Twitch():
Usage:
;whitelist enable"""
self.servers = self.con.load_config()
if not self.servers[ctx.server.id]["twitch"]["whitelist"]["enabled"]:
self.servers[ctx.server.id]["twitch"]["whitelist"]["enabled"] = 1
if not self.servers[str(ctx.guild.id)]["twitch"]["whitelist"]["enabled"]:
self.servers[str(ctx.guild.id)]["twitch"]["whitelist"]["enabled"] = 1
self.con.update_config(self.servers)
return await ctx.send("Whitelist for Twitch shilling has been enabled.")
else:
self.servers[ctx.server.id]["twitch"]["whitelist"]["enabled"] = 0
self.servers[str(ctx.guild.id)]["twitch"]["whitelist"]["enabled"] = 0
self.con.update_config(self.servers)
return await ctx.send("Whitelist for Twitch shilling has been disabled.")

@@ -69,7 +69,7 @@ class Twitch():
if option in ['+', 'add']:
self.servers = self.con.load_config()
for user in ctx.message.mentions:
self.servers[ctx.message.server.id]["twitch"]["whitelist"]["list"].append(user.id)
self.servers[str(ctx.guild.id)]["twitch"]["whitelist"]["list"].append(user.id)
whitelist_count += 1
self.con.update_config(self.servers)
return await ctx.send('{} user(s) have been added to the whitelist'.format(whitelist_count))
@@ -77,14 +77,14 @@ class Twitch():
elif option in ['-', 'remove']:
self.servers = self.con.load_config()
for user in ctx.message.mentions:
if user.id in self.servers[ctx.message.server.id]["twitch"]["whitelist"]["list"]:
self.servers[ctx.message.server.id]["twitch"]["whitelist"]["list"].remove(user.id)
if user.id in self.servers[str(ctx.guild.id)]["twitch"]["whitelist"]["list"]:
self.servers[str(ctx.guild.id)]["twitch"]["whitelist"]["list"].remove(user.id)
whitelist_count += 1
self.con.update_config(self.servers)
return await ctx.send('{} user(s) have been removed to the whitelist'.format(whitelist_count))

elif option == 'list':
return await ctx.send(self.servers[ctx.message.server.id]["twitch"]["whitelist"]["list"])
return await ctx.send(self.servers[str(ctx.guild.id)]["twitch"]["whitelist"]["list"])


def setup(bot_client):

+ 5
- 5
config/settings.py View File

@@ -183,7 +183,7 @@ class Settings:
if ctx.invoked_subcommand is None:
return await ctx.send('Missing Argument')
self.serverconfig = self.con.load_config()
self.guild_id = str(ctx.message.guild.id)
self.guild_id = str(ctx.guild.id)

@settings.command(aliases=["sa"])
async def selfassign(self, ctx, selection, *, changes = None):
@@ -254,7 +254,7 @@ class Settings:
self.serverconfig[ctx.message.guild.id]["goodbyes"]["goodbye-channel"] = channel.id
await ctx.send("{} has been set as the goodbye channel!".format(channel.mention))
elif selection == "custommessage":
self.serverconfig[ctx.message.guild.id]["greets"]["custom-message"] = changes
self.serverconfig[self.guild_id]["greets"]["custom-message"] = changes
await ctx.send("Custom message set to '{}'".format(changes))
else:
return await ctx.send("No valid option given.")
@@ -270,14 +270,14 @@ class Settings:
"""
selection = selection.lower()
if selection == "enable":
self.serverconfig[ctx.guild.id]["twitch"]["enabled"] = 1
self.serverconfig[self.guild_id]["twitch"]["enabled"] = 1
await ctx.send("'twitch' was enabled!")
elif selection == "disable":
self.serverconfig[ctx.guild.id]["twitch"]["enabled"] = 0
self.serverconfig[self.guild_id]["twitch"]["enabled"] = 0
await ctx.send("'twitch' was disabled :cry:")
elif selection == "channel":
channel = self.get_channel(ctx, changes)
self.serverconfig[ctx.guild.id]["twitch"]["channel"] = channel.id
self.serverconfig[self.guild_id]["twitch"]["channel"] = channel.id
await ctx.send("{} has been set as the twitch shilling channel!".format(channel.mention))
# Is lacking whitelist options. Might be added or might be depreciated.
# Turns out this is handled in the cog and I don't think it needs changing but may be confusing.

Loading…
Cancel
Save