Skip to content

Commit

Permalink
Merge pull request #73 from Code4GovTech/fix/bot
Browse files Browse the repository at this point in the history
Fix/bot
  • Loading branch information
jaanbaaz authored Aug 1, 2024
2 parents 8b81ce8 + 7976d01 commit 7e5c85f
Show file tree
Hide file tree
Showing 2 changed files with 60 additions and 14 deletions.
57 changes: 50 additions & 7 deletions helpers/roleHelpers.py
Original file line number Diff line number Diff line change
@@ -1,18 +1,61 @@
from discord import Role


def lookForChapterRoles(roles: [Role]):
def lookForRoles(roles: [Role]):
predefined_roles = {
"country": ["India", "Asia (Outside India)", "Europe", "Africa", "North America", "South America", "Australia"],
"city": ["Delhi", "Bangalore", "Mumbai", "Pune", "Hyderabad", "Chennai", "Kochi"],
"experience": [
"Tech Freshman",
"Tech Sophomore",
"Tech Junior",
"Tech Senior",
"Junior Developer",
"Senior Developer",
"Super Senior Developer",
"Champion Developer"
],
"gender": ["M", "F", "NB"]
}
chapter_roles = []
gender = None
country = None
city = None
experience = None
for role in roles:
if role.name.startswith("College:"):
chapter_roles.append(role.name[len("College: ") :])
elif role.name.startswith("Corporate:"):
chapter_roles.append(role).name[len("Corporate: ") :]
return chapter_roles

#gender
for role in roles:
if role.name in predefined_roles["gender"]:
gender = role.name
break

#country
for role in roles:
if role.name in predefined_roles["country"]:
country = role.name
break

#city
for role in roles:
if role.name in predefined_roles["city"]:
city = role.name
break

def lookForGenderRoles(roles: [Role]):
#experience
for role in roles:
if role.name in ["M", "F", "NB"]:
return role.name
return None
if role.name in predefined_roles["experience"]:
experience = role.name
break

user_roles = {
"chapter_roles": chapter_roles,
"gender": gender,
"country": country,
"city": city,
"experience": experience
}
return user_roles
17 changes: 10 additions & 7 deletions helpers/supabaseClient.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
from discord import Member, User
from supabase import Client, create_client

from helpers.roleHelpers import lookForChapterRoles, lookForGenderRoles
from helpers.roleHelpers import lookForRoles


class SupabaseClient:
Expand Down Expand Up @@ -114,16 +114,18 @@ def deleteChapter(self, roleId: int):
def updateContributor(self, contributor: Member):
table = "contributors_discord"

chapters = lookForChapterRoles(contributor.roles)
gender = lookForGenderRoles(contributor.roles)
user_roles = lookForRoles(contributor.roles)

self.client.table(table).upsert(
{
"discord_id": contributor.id,
"discord_username": contributor.name,
"chapter": chapters[0] if chapters else None,
"gender": gender,
"chapter": user_roles["chapter_roles"][0] if user_roles["chapter_roles"] else None,
"gender": user_roles["gender"],
"joined_at": contributor.joined_at.isoformat(),
"country": user_roles["country"],
"city": user_roles["city"],
"experience": user_roles["experience"]
},
on_conflict="discord_id",
).execute()
Expand All @@ -132,8 +134,9 @@ def updateContributors(self, contributors: [Member]):
table = "contributors_discord"
data = []
for contributor in contributors:
chapters = lookForChapterRoles(contributor.roles)
gender = lookForGenderRoles(contributor.roles)
user_roles = lookForRoles(contributor.roles)
chapters = user_roles["chapter_roles"]
gender = user_roles["gender"]
data.append(
{
"discord_id": contributor.id,
Expand Down

0 comments on commit 7e5c85f

Please sign in to comment.