1
0
Fork 0
mirror of synced 2024-06-22 04:20:16 +12:00

Ensure cache is updated wherever needed

This commit is contained in:
Dan Hess 2019-12-27 08:23:41 -06:00
parent a612d4231b
commit 99f8d19cef
3 changed files with 20 additions and 5 deletions

View file

@ -299,8 +299,10 @@ guild=$2
)
except UniqueViolationError:
# If it's already inserted, then nothing needs to be updated
# It just meansthis particular restriction is already set
# It just means this particular restriction is already set
pass
else:
ctx.bot.cache.add_restriction(ctx.guild, from_to, {"source": source, "destination": destination})
elif overwrites:
channel = overwrites.pop('channel')
for target, setting in overwrites.items():
@ -364,6 +366,7 @@ WHERE
destination=$2 AND
from_to=$3 AND
guild=$4""", source, destination, arg2, ctx.guild.id)
ctx.bot.cache.remove_restriction(ctx.guild.id, arg2, {"source": source, "destination": destination})
# If this isn't a blacklist/whitelist, then we are attempting to remove an overwrite
else:
@ -524,6 +527,8 @@ WHERE
perm_value
)
ctx.bot.cache.update_custom_permission(ctx.guild, cmd.qualified_name, perm_value)
await ctx.send("I have just added your custom permissions; "
"you now need to have `{}` permissions to use the command `{}`".format(permission, command))
@ -547,6 +552,8 @@ WHERE
"DELETE FROM custom_permissions WHERE guild=$1 AND command=$2", ctx.guild.id, cmd.qualified_name
)
ctx.bot.cache.update_custom_permission(ctx.guild, cmd.qualified_name, None)
await ctx.send("I have just removed the custom permissions for {}!".format(cmd))
@commands.command(aliases=['nick'])

View file

@ -279,10 +279,7 @@ class GuildConfiguration(commands.Cog):
if setting.lower().strip() == "none":
setting = None
result = await self._set_db_guild_opt("prefix", setting, ctx)
# We want to update our cache for prefixes
ctx.bot.cache.update_prefix(ctx.guild, setting)
return result
return await self._set_db_guild_opt("prefix", setting, ctx)
async def _handle_set_default_alerts(self, ctx, setting):
channel = await self._get_channel(ctx, setting)

View file

@ -86,6 +86,17 @@ FROM
from_restrictions.append(opt)
self.restrictions[row['guild']][row['from_to']] = from_restrictions
def add_restriction(self, guild, from_to, restriction):
restrictions = self.restrictions[guild.id].get(from_to, [])
restrictions.append(restriction)
self.restrictions[guild.id][from_to] = restrictions
def remove_restriction(self, guild, from_to, restriction):
restrictions = self.restrictions[guild.id].get(from_to, [])
if restriction in restrictions:
restrictions.remove(restriction)
self.restrictions[guild.id][from_to] = restrictions
class DB:
def __init__(self):