diff --git a/Cogs/BotAdmin.py b/Cogs/BotAdmin.py index 3299bca9..6e8df0df 100644 --- a/Cogs/BotAdmin.py +++ b/Cogs/BotAdmin.py @@ -238,3 +238,11 @@ async def ban(self, ctx, *, members = None, reason = None): eg: $ban @user1#1234 @user2#5678 @user3#9012 for spamming""" await self.kick_ban(ctx,members, "ban") + + @commands.command(pass_context=True) + async def blacklist(self, ctx, userid, reason = None): + """Bans a target who is NOT currently on the server via userid + This can only blacklist one member at a time. + All blacklists are stored in a | seperated list in a file where the bot is stored + """ + await self.settings.BlacklistUser(userid) diff --git a/Cogs/Settings.py b/Cogs/Settings.py index 06729604..28762c3f 100755 --- a/Cogs/Settings.py +++ b/Cogs/Settings.py @@ -233,7 +233,8 @@ def __init__(self, bot, prefix = "$", file : str = None): "Hunger" : 0, # The bot's hunger % 0-100 (can also go negative) "HungerLock" : False, # Will the bot stop answering at 100% hunger? "SuppressMentions" : True, # Will the bot suppress @here and @everyone in its own output? - "Volume" : "", # Float volume for music player + "Volume" : "", # Float volume for music player + "BlacklistedUsers" : [], # List of blacklisted users in a server "DefaultVolume" : 0.6, # Default volume for music player "Playlisting" : None, # Not adding a playlist "PlaylistRequestor" : None, # No one requested a playlist @@ -739,6 +740,13 @@ def removeUserID(self, id, server): self.serverDict["Servers"][str(server.id)]["Members"].pop(str(id), None) self.checkGlobalUsers() + def BlacklistUser(self, server, userid): + self.checkServer(server) + self.serverDict["Servers"][str(server.id)]["BlacklistedUsers"].append(userid) + self.checkServer(server) + + def GetBlacklistedUsers(self, server): + return self.serverDict["Servers"][str(server.id)]["BlacklistedUsers"] # Return the requested stat def getUserStat(self, user, server, stat, default = None): @@ -787,8 +795,7 @@ def incrementStat(self, user, server, stat, incrementAmount): value = self.serverDict["Servers"].get(str(server.id),{}).get("Members",{}).get(str(user.id),{}).get(stat,0) self.serverDict["Servers"][str(server.id)]["Members"][str(user.id)][stat] = value+incrementAmount return value+incrementAmount - - + # Get the requested stat def getServerStat(self, server, stat, default = None): # Make sure our server exists in the list