Applied consistent style of parameters

pull/8/head
sgoudham 4 years ago
parent a0af4668b8
commit ff3ddc5f60

@ -26,6 +26,8 @@ from discord import Colour, Embed
from discord.ext import commands, tasks from discord.ext import commands, tasks
from discord.ext.commands import when_mentioned_or from discord.ext.commands import when_mentioned_or
from bot.libs.cache import MyCoolCache
logger = logging.getLogger('discord') logger = logging.getLogger('discord')
logger.setLevel(logging.DEBUG) logger.setLevel(logging.DEBUG)
handler = logging.FileHandler(filename='discord.log', encoding='utf-8', mode='w') handler = logging.FileHandler(filename='discord.log', encoding='utf-8', mode='w')
@ -79,6 +81,35 @@ class Bot(commands.Bot):
self.enso_feedback_ID = 739807803438268427 self.enso_feedback_ID = 739807803438268427
self.enso_cache = {} self.enso_cache = {}
self.member_cache = MyCoolCache(1000)
async def check_cache(member_id, guild_id):
pool = self.db
# If the key is within the cache already
if (member_id, guild_id) in self.member_cache.cache:
return self.member_cache.cache[member_id, guild_id]
else:
# fetch data from database
# Setup pool connection and cursor
async with pool.acquire() as conn:
async with conn.cursor() as author_cursor:
# Get the author's/members row from the Members Table
select_query = """SELECT * FROM members WHERE discordID = (%s) and guildID = (%s)"""
member_val = member_id, guild_id,
# Execute The SQL Query
await author_cursor.execute(select_query, member_val)
result = await author_cursor.fetchone()
# Store it in cache
dict_items = {"married": result[1],
"marriage_date": result[2],
"muted_roles": result[4],
"roles": result[5]}
self.member_cache.store_cache([member_id, guild_id], dict_items)
async def create_connection(): async def create_connection():
"""Setting up connection using pool/aiomysql""" """Setting up connection using pool/aiomysql"""
@ -109,7 +140,7 @@ class Bot(commands.Bot):
# Store the guildID's, modlog channels and prefixes within cache # Store the guildID's, modlog channels and prefixes within cache
for row in results: for row in results:
self.enso_cache[row[0]] = {"Prefix": row[1], "Modlogs": row[2], "RolesPersist": row[3]} self.enso_cache[row[0]] = {"prefix": row[1], "modlogs": row[2], "roles_persist": row[3]}
# Make sure the connection is setup before the bot is ready # Make sure the connection is setup before the bot is ready
self.loop.run_until_complete(create_connection()) self.loop.run_until_complete(create_connection())
@ -166,36 +197,36 @@ class Bot(commands.Bot):
# --------------------------------------------!Cache Section!------------------------------------------------------- # --------------------------------------------!Cache Section!-------------------------------------------------------
def store_cache(self, guildid, prefix, channel, rolespersist): def store_cache(self, guild_id, prefix, channel, rolespersist):
"""Storing GuildID, Modlogs Channel and Prefix in Cache""" """Storing GuildID, Modlogs Channel and Prefix in Cache"""
self.enso_cache[guildid] = {"Prefix": prefix, "Modlogs": channel, "RolesPersist": rolespersist} self.enso_cache[guild_id] = {"prefix": prefix, "modlogs": channel, "roles_persist": rolespersist}
def del_cache(self, guildid): def del_cache(self, guild_id):
"""Deleting the entry of the guild within the cache""" """Deleting the entry of the guild within the cache"""
del self.enso_cache[guildid] del self.enso_cache[guild_id]
# --------------------------------------------!End Cache Section!--------------------------------------------------- # --------------------------------------------!End Cache Section!---------------------------------------------------
# --------------------------------------------!RolePersist Section!------------------------------------------------- # --------------------------------------------!RolePersist Section!-------------------------------------------------
def get_roles_persist(self, guildid): def get_roles_persist(self, guild_id):
"""Returning rolespersist value of the guild""" """Returning rolespersist value of the guild"""
return self.enso_cache[guildid]["RolesPersist"] return self.enso_cache[guild_id]["roles_persist"]
async def update_role_persist(self, guildid, value, pool): async def update_role_persist(self, guild_id, value, pool):
"""Update the rolepersist value of the guild (Enabled or Disabled)""" """Update the rolepersist value of the guild (Enabled or Disabled)"""
self.enso_cache[guildid]["RolesPersist"] = value self.enso_cache[guild_id]["roles_persist"] = value
# Setup up pool connection and cursor # Setup up pool connection and cursor
async with pool.acquire() as conn: async with pool.acquire() as conn:
async with conn.cursor() as cur: async with conn.cursor() as cur:
# Update the existing prefix within the database # Update the existing prefix within the database
update_query = """UPDATE guilds SET rolespersist = (%s) WHERE guildID = (%s)""" update_query = """UPDATE guilds SET rolespersist = (%s) WHERE guildID = (%s)"""
update_vals = value, guildid, update_vals = value, guild_id,
# Execute the query # Execute the query
await cur.execute(update_query, update_vals) await cur.execute(update_query, update_vals)
@ -208,7 +239,7 @@ class Bot(commands.Bot):
async def storage_modlog_for_guild(self, pool, ctx, channelID, setup): async def storage_modlog_for_guild(self, pool, ctx, channelID, setup):
"""Updating the modlog within the dict and database""" """Updating the modlog within the dict and database"""
self.enso_cache[str(ctx.guild.id)]["Modlogs"] = channelID self.enso_cache[str(ctx.guild.id)]["modlogs"] = channelID
# Setup up pool connection and cursor # Setup up pool connection and cursor
async with pool.acquire() as conn: async with pool.acquire() as conn:
@ -237,15 +268,15 @@ class Bot(commands.Bot):
await self.generate_embed(ctx, await self.generate_embed(ctx,
desc=f"Modlog Channel for **{ctx.guild.name}** has been updated to {channel.mention}") desc=f"Modlog Channel for **{ctx.guild.name}** has been updated to {channel.mention}")
def remove_modlog_channel(self, guildid): def remove_modlog_channel(self, guild_id):
"""Remove the value of modlog for the guild specified""" """Remove the value of modlog for the guild specified"""
self.enso_cache[guildid]["Modlogs"] = None self.enso_cache[guild_id]["modlogs"] = None
def get_modlog_for_guild(self, guildid): def get_modlog_for_guild(self, guild_id):
"""Get the modlog channel of the guild that the user is in""" """Get the modlog channel of the guild that the user is in"""
channel = self.enso_cache[guildid]["Modlogs"] channel = self.enso_cache[guild_id]["modlogs"]
return channel return channel
# --------------------------------------------!End ModLogs Section!------------------------------------------------- # --------------------------------------------!End ModLogs Section!-------------------------------------------------
@ -255,7 +286,7 @@ class Bot(commands.Bot):
async def storage_prefix_for_guild(self, pool, ctx, prefix): async def storage_prefix_for_guild(self, pool, ctx, prefix):
"""Updating the prefix within the dict and database when the method is called""" """Updating the prefix within the dict and database when the method is called"""
self.enso_cache[str(ctx.guild.id)]["Prefix"] = prefix self.enso_cache[str(ctx.guild.id)]["prefix"] = prefix
# Setup up pool connection and cursor # Setup up pool connection and cursor
async with pool.acquire() as conn: async with pool.acquire() as conn:
@ -272,10 +303,10 @@ class Bot(commands.Bot):
# Let the user know that the guild prefix has been updated # Let the user know that the guild prefix has been updated
await self.generate_embed(ctx, desc=f"**Guild prefix has been updated to `{prefix}`**") await self.generate_embed(ctx, desc=f"**Guild prefix has been updated to `{prefix}`**")
def get_prefix_for_guild(self, guildid): def get_prefix_for_guild(self, guild_id):
"""Get the prefix of the guild that the user is in""" """Get the prefix of the guild that the user is in"""
prefix = self.enso_cache[guildid]["Prefix"] prefix = self.enso_cache[guild_id]["prefix"]
if prefix is not None: if prefix is not None:
return prefix return prefix
return "~" return "~"

Loading…
Cancel
Save