Skip to content

Commit

Permalink
config module changes
Browse files Browse the repository at this point in the history
  • Loading branch information
howardt12345 committed Jan 15, 2025
1 parent 4f86420 commit bf356ce
Show file tree
Hide file tree
Showing 2 changed files with 34 additions and 6 deletions.
6 changes: 3 additions & 3 deletions bot.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
import discord
from activities import activity
from discord.ext import tasks
from modules.config import fetch_config
from modules.config import fetch_configs

CHANGE_STATUS_INTERVAL_HOURS = 1

Expand All @@ -15,7 +15,7 @@ def __init__(self, is_prod: bool, *args, **kwargs) -> None:
movie_activity = activity.get_random_activity_as_discordpy_activity()
# config
self.is_prod = is_prod
self.guilds_dict = fetch_config(is_prod)
self.guilds_dict = fetch_configs(is_prod)
super().__init__(intents=intents, activity=movie_activity, *args, **kwargs)

@tasks.loop(hours=CHANGE_STATUS_INTERVAL_HOURS)
Expand All @@ -32,7 +32,7 @@ async def setup_hook(self) -> None:
self.set_activity.start()

def fetch_config(self):
self.guilds_dict = fetch_config(self.is_prod)
self.guilds_dict = fetch_configs(self.is_prod)


def get_bot(is_prod: bool):
Expand Down
34 changes: 31 additions & 3 deletions modules/config.py
Original file line number Diff line number Diff line change
@@ -1,15 +1,43 @@
from modules.supabase import supabaseClient


def fetch_config(is_prod: bool):
def fetch_configs(is_prod: bool):
supabase_data = supabaseClient.table("server_config").select("*").eq('prod_config', is_prod).execute().data
transformed_dict = {
item['guild_id']: {key: value for key, value in item.items() if key != 'guild_id'} for item in supabase_data
}
return transformed_dict


def set_config(guild_id: int, key: str, value: str, is_prod: bool):
supabaseClient.table("server_config").update({key: value}).eq("guild_id", guild_id).eq(
def fetch_guild_config(guild_id: int, is_prod: bool):
response = supabaseClient.table("server_config").select("*").eq("guild_id", guild_id).eq(
"prod_config", is_prod
).execute()
# if there is no data, return an empty dict
if len(response.data) == 0:
return {}
return response.data[0]

def create_new_config(guild_id: int, server_name: str, is_prod: bool):
response = supabaseClient.table("server_config").insert(
{
"guild_id": guild_id,
"server_name": server_name,
"prod_config": is_prod,
}
).execute()
return response.data


def set_config(guild_id: int, key: str, value: str, is_prod: bool) -> list:
response = supabaseClient.table("server_config").update({key: value}).eq("guild_id", guild_id).eq(
"prod_config", is_prod
).execute()
return response.data

def remove_config(guild_id: int, is_prod: bool) -> list:
response = supabaseClient.table("server_config").delete().eq("guild_id", guild_id).eq(
"prod_config", is_prod
).execute()
return response.data

0 comments on commit bf356ce

Please sign in to comment.