Skip to content

Commit

Permalink
status: Add member role removal functionality for discord bot
Browse files Browse the repository at this point in the history
  • Loading branch information
theamankumarsingh authored and harshithpabbati committed May 24, 2021
1 parent 1984674 commit 411a756
Show file tree
Hide file tree
Showing 4 changed files with 9 additions and 3 deletions.
2 changes: 1 addition & 1 deletion members/admin.py
Original file line number Diff line number Diff line change
Expand Up @@ -195,7 +195,7 @@ class GroupAdmin(ImportExportModelAdmin, ExportActionMixin, admin.ModelAdmin):
'fields': (('telegramBot', 'telegramGroup'),)
}),
('Discord Integration', {
'fields': (('discordBot', 'discordGroup', 'discordChannel'),)
'fields': (('discordBot', 'discordGroup', 'discordChannel', 'discordMemberRole'),)
}),
)
search_fields = ['name', 'members']
Expand Down
1 change: 1 addition & 0 deletions members/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -244,6 +244,7 @@ class Group(models.Model):
discordBot = models.CharField(max_length=500, null=True, blank=True, verbose_name="Discord Bot Token")
discordGroup = models.CharField(max_length=250, null=True, blank=True, verbose_name="Discord Group ID")
discordChannel = models.CharField(max_length=500, null=True, blank=True, verbose_name="Discord Channel ID")
discordMemberRole = models.CharField(max_length=500, null=True, blank=True, verbose_name="Discord Member Role ID")

class Meta:
verbose_name_plural = "Groups"
Expand Down
5 changes: 5 additions & 0 deletions status/discord.py
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,11 @@ def kickMember(self):
baseURL = "guilds/{}/members/{}".format(self.obj[1], self.userID)
if self.checkIfUserExists():
re = fetch(baseURL, token=self.obj[0], delete=True)

def removeMemberRole(self):
baseURL = "guilds/{}/members/{}/roles/{}".format(self.obj[1], self.userID, self.obj[3])
if self.checkIfUserExists():
re = fetch(baseURL, token=self.obj[0], delete=True)

def checkIfUserExists(self):
baseURL = "guilds/{}/members/{}".format(self.obj[1], self.userID)
Expand Down
4 changes: 2 additions & 2 deletions status/management/commands/get_job.py
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,7 @@ def kickMembersFromGroup(thread, telegram_kick=False, discord_kick=False):
discordAgents = []
groups = Group.objects.filter(thread_id=thread.id, statusUpdateEnabled=True)
for group in groups:
discord_obj = [group.discordBot, group.discordGroup, group.discordChannel]
discord_obj = [group.discordBot, group.discordGroup, group.discordChannel, group.discordMemberRole]
obj = [group.telegramBot, group.telegramGroup]
if obj not in telegramAgents:
telegramAgents.append(obj)
Expand All @@ -144,7 +144,7 @@ def kickMembersFromGroup(thread, telegram_kick=False, discord_kick=False):
profile = Profile.objects.get(user=user)
try:
discord_client = Discord(obj=discord_obj, userID=profile.discord_id)
discord_client.kickMember()
discord_client.removeMemberRole()

except:
pass
Expand Down

0 comments on commit 411a756

Please sign in to comment.