Parcourir la source

Displays the allowed role in the info cmd

Penta il y a 5 ans
Parent
commit
f78b15f265
3 fichiers modifiés avec 21 ajouts et 4 suppressions
  1. 6 2
      myanimebot/commands.py
  2. 2 1
      myanimebot/discord.py
  3. 13 1
      myanimebot/utils.py

+ 6 - 2
myanimebot/commands.py

@@ -8,7 +8,8 @@ import myanimebot.utils as utils
 import myanimebot.globals as globals
 import myanimebot.anilist as anilist
 
-def build_info_cmd_message(users, server, channels, filters : List[utils.Service]) -> str:
+
+def build_info_cmd_message(users, server, channels, role, filters : List[utils.Service]) -> str:
     ''' Build the corresponding message for the info command '''
 
     registered_channel = globals.client.get_channel(int(channels[0]["channel"]))
@@ -43,6 +44,8 @@ def build_info_cmd_message(users, server, channels, filters : List[utils.Service
                 message += '**AniList** users:\n'
                 message += '```{}```\n'.format(', '.join(anilist_users))
         message += 'Assigned channel : **{}**'.format(registered_channel)
+        if role is not None:
+            message += '\nAllowed role: **{}**'.format(role)
     return message
 
 
@@ -177,10 +180,11 @@ async def info_cmd(message, words):
     else:
         users = utils.get_users()
         channels = utils.get_channels(server.id)
+        role = utils.get_allowed_role(server.id)
         if channels is None:
             await message.channel.send("No channel assigned for this bot on this server.")
         else:
-            await message.channel.send(build_info_cmd_message(users, server, channels, filters))
+            await message.channel.send(build_info_cmd_message(users, server, channels, utils.get_role_name(role, server), filters))
 
 
 async def ping_cmd(message, channel):

+ 2 - 1
myanimebot/discord.py

@@ -10,6 +10,8 @@ import pytz
 from dateutil.parser import parse as parse_datetime
 
 import discord
+
+
 # Our modules
 import myanimebot.anilist as anilist
 import myanimebot.commands as commands
@@ -257,7 +259,6 @@ def in_allowed_role(user : discord.Member, server : int) -> bool :
 	return False
 
 
-
 	# Main function that check the RSS feeds from MyAnimeList
 async def background_check_feed(asyncioloop):
 	globals.logger.info("Starting up background_check_feed")

+ 13 - 1
myanimebot/utils.py

@@ -357,4 +357,16 @@ def get_allowed_role(server : int) -> int:
     allowedRole = cursor.fetchone()
     cursor.close()
 
-    return allowedRole[0]
+    return allowedRole[0]
+
+def get_role_name(provided_role_id : int, server) -> str :
+    ''' Convert a role ID into a displayable name '''
+
+    role_name = None
+    if provided_role_id is not None:
+        for role in server.roles:
+            if str(role.id) == str(provided_role_id):
+                role_name = role.name
+        if role_name is None:
+            role_name = "[DELETED ROLE]"
+    return role_name