From da6bbccd3fe15d05eb0ce6a899d4008fdf9eff28 Mon Sep 17 00:00:00 2001 From: bobloy Date: Thu, 11 Oct 2018 11:22:16 -0400 Subject: [PATCH] black formatting --- announcedaily/announcedaily.py | 45 +++++++----- audiotrivia/audiotrivia.py | 34 +++++---- ccrole/ccrole.py | 121 ++++++++++++++++++++----------- chatter/chat.py | 34 +++++---- coglint/coglint.py | 14 ++-- dad/dad.py | 28 +++---- exclusiverole/exclusiverole.py | 4 +- flag/flag.py | 47 ++++++------ forcemention/forcemention.py | 2 +- hangman/hangman.py | 71 +++++++++++------- leaver/leaver.py | 8 +- lovecalculator/lovecalculator.py | 29 +++++--- lseen/lseen.py | 19 ++--- planttycoon/planttycoon.py | 1 - qrinvite/qrinvite.py | 26 +++++-- reactrestrict/reactrestrict.py | 51 ++++++------- recyclingplant/recyclingplant.py | 59 ++++++++++----- rpsls/rpsls.py | 49 +++++-------- sayurl/sayurl.py | 2 +- scp/scp.py | 36 ++++++++- stealemoji/stealemoji.py | 33 +++++---- timerole/timerole.py | 45 +++++++----- tts/tts.py | 2 +- unicode/unicode.py | 20 ++--- 24 files changed, 445 insertions(+), 335 deletions(-) diff --git a/announcedaily/announcedaily.py b/announcedaily/announcedaily.py index a3ad748..4c1b029 100644 --- a/announcedaily/announcedaily.py +++ b/announcedaily/announcedaily.py @@ -24,19 +24,17 @@ class AnnounceDaily(Cog): def __init__(self, bot: Red): self.bot = bot - self.path = str(cog_data_path(self)).replace('\\', '/') + self.path = str(cog_data_path(self)).replace("\\", "/") self.image_path = self.path + "/" self.config = Config.get_conf(self, identifier=9811198108111121, force_registration=True) default_global = { - 'messages': [], - 'images': [], - 'time': {'hour': 0, 'minute': 0, 'second': 0} - } - default_guild = { - "channelid": None + "messages": [], + "images": [], + "time": {"hour": 0, "minute": 0, "second": 0}, } + default_guild = {"channelid": None} self.config.register_global(**default_global) self.config.register_guild(**default_guild) @@ -44,7 +42,7 @@ class AnnounceDaily(Cog): async def _get_msgs(self): return DEFAULT_MESSAGES + await self.config.messages() - @commands.group(name="announcedaily", aliases=['annd']) + @commands.group(name="announcedaily", aliases=["annd"]) @checks.mod_or_permissions(administrator=True) @commands.guild_only() async def _ad(self, ctx: commands.Context): @@ -112,7 +110,9 @@ class AnnounceDaily(Cog): # await att_.save(f) await att_.save(self.image_path + filename) except discord.NotFound: - await ctx.send("Did you delete the message? Cause I couldn't download the attachment") + await ctx.send( + "Did you delete the message? Cause I couldn't download the attachment" + ) except discord.HTTPException: await ctx.send("Failed to download the attachment, please try again") else: @@ -131,7 +131,9 @@ class AnnounceDaily(Cog): List all registered announcement messages """ messages = await self.config.messages() - for page in pagify("\n".join("{} - {}".format(key, image) for key, image in enumerate(messages))): + for page in pagify( + "\n".join("{} - {}".format(key, image) for key, image in enumerate(messages)) + ): await ctx.send(box(page)) await ctx.send("Done!") @@ -187,10 +189,12 @@ class AnnounceDaily(Cog): h = ann_time.hour m = ann_time.minute s = ann_time.second - await self.config.time.set({'hour': h, 'minute': m, 'second': s}) + await self.config.time.set({"hour": h, "minute": m, "second": s}) - await ctx.send("Announcements time has been set to {}::{}::{} every day\n" - "**Changes will apply after next scheduled announcement or reload**".format(h, m, s)) + await ctx.send( + "Announcements time has been set to {}::{}::{} every day\n" + "**Changes will apply after next scheduled announcement or reload**".format(h, m, s) + ) async def send_announcements(self): messages = await self._get_msgs() @@ -205,7 +209,7 @@ class AnnounceDaily(Cog): if x >= len(messages): x -= len(messages) choice = images[x] - choice = open(self.image_path + choice, 'rb') + choice = open(self.image_path + choice, "rb") is_image = True else: choice = messages[x] @@ -228,9 +232,15 @@ class AnnounceDaily(Cog): while self is self.bot.get_cog("AnnounceDaily"): tomorrow = datetime.now() + timedelta(days=1) time = await self.config.time() - h, m, s = time['hour'], time['minute'], time['second'] - midnight = datetime(year=tomorrow.year, month=tomorrow.month, - day=tomorrow.day, hour=h, minute=m, second=s) + h, m, s = time["hour"], time["minute"], time["second"] + midnight = datetime( + year=tomorrow.year, + month=tomorrow.month, + day=tomorrow.day, + hour=h, + minute=m, + second=s, + ) print("Sleeping for {} seconds".format((midnight - datetime.now()).seconds)) await asyncio.sleep((midnight - datetime.now()).seconds) @@ -243,6 +253,7 @@ class AnnounceDaily(Cog): await asyncio.sleep(3) + # [p]setchannel #channelname - Set the announcement channel per server # [p]addmsg - Adds a msg to the pool # [p]addimg http://imgurl.com/image.jpg - Adds an image to the pool diff --git a/audiotrivia/audiotrivia.py b/audiotrivia/audiotrivia.py index f1d325f..97ff456 100644 --- a/audiotrivia/audiotrivia.py +++ b/audiotrivia/audiotrivia.py @@ -25,13 +25,12 @@ class AudioTrivia(Trivia): super().__init__() self.bot = bot self.audio = None - self.audioconf = Config.get_conf(self, identifier=651171001051118411410511810597, force_registration=True) - - self.audioconf.register_guild( - delay=30.0, - repeat=True, + self.audioconf = Config.get_conf( + self, identifier=651171001051118411410511810597, force_registration=True ) + self.audioconf.register_guild(delay=30.0, repeat=True) + @commands.group() @commands.guild_only() @checks.mod_or_permissions(administrator=True) @@ -93,15 +92,16 @@ class AudioTrivia(Trivia): status = await self.audio.config.status() if status: - await ctx.send("I recommend disabling audio status with `{}audioset status`".format(ctx.prefix)) + await ctx.send( + "I recommend disabling audio status with `{}audioset status`".format(ctx.prefix) + ) if not self.audio._player_check(ctx): try: - if not ctx.author.voice.channel.permissions_for(ctx.me).connect or self.audio._userlimit( - ctx.author.voice.channel - ): - return await ctx.send("I don't have permission to connect to your channel." - ) + if not ctx.author.voice.channel.permissions_for( + ctx.me + ).connect or self.audio._userlimit(ctx.author.voice.channel): + return await ctx.send("I don't have permission to connect to your channel.") await lavalink.connect(ctx.author.voice.channel) lavaplayer = lavalink.get_player(ctx.guild.id) lavaplayer.store("connect", datetime.datetime.utcnow()) @@ -114,10 +114,10 @@ class AudioTrivia(Trivia): await self.audio._data_check(ctx) - if ( - not ctx.author.voice or ctx.author.voice.channel != lavaplayer.channel - ): - return await ctx.send("You must be in the voice channel to use the audiotrivia command.") + if not ctx.author.voice or ctx.author.voice.channel != lavaplayer.channel: + return await ctx.send( + "You must be in the voice channel to use the audiotrivia command." + ) trivia_dict = {} authors = [] @@ -157,7 +157,9 @@ class AudioTrivia(Trivia): # Delay in audiosettings overwrites delay in settings combined_settings = {**settings, **audiosettings} - session = AudioSession.start(ctx=ctx, question_list=trivia_dict, settings=combined_settings, player=lavaplayer) + session = AudioSession.start( + ctx=ctx, question_list=trivia_dict, settings=combined_settings, player=lavaplayer + ) self.trivia_sessions.append(session) LOG.debug("New audio trivia session; #%s in %d", ctx.channel, ctx.guild.id) diff --git a/ccrole/ccrole.py b/ccrole/ccrole.py index fee9a2a..18d9320 100644 --- a/ccrole/ccrole.py +++ b/ccrole/ccrole.py @@ -19,10 +19,7 @@ class CCRole(Cog): def __init__(self, bot): self.bot = bot self.config = Config.get_conf(self, identifier=9999114111108101) - default_guild = { - "cmdlist": {}, - "settings": {} - } + default_guild = {"cmdlist": {}, "settings": {}} self.config.register_guild(**default_guild) @@ -54,17 +51,23 @@ class CCRole(Cog): cmd_list = self.config.guild(guild).cmdlist if await cmd_list.get_raw(command, default=None): - await ctx.send("This command already exists. Delete it with `{}ccrole delete` first.".format(ctx.prefix)) + await ctx.send( + "This command already exists. Delete it with `{}ccrole delete` first.".format( + ctx.prefix + ) + ) return # Roles to add - await ctx.send('What roles should it add? (Must be **comma separated**)\nSay `None` to skip adding roles') + await ctx.send( + "What roles should it add? (Must be **comma separated**)\nSay `None` to skip adding roles" + ) def check(m): return m.author == author and m.channel == channel try: - answer = await self.bot.wait_for('message', timeout=120, check=check) + answer = await self.bot.wait_for("message", timeout=120, check=check) except asyncio.TimeoutError: await ctx.send("Timed out, canceling") return @@ -77,9 +80,11 @@ class CCRole(Cog): return # Roles to remove - await ctx.send('What roles should it remove? (Must be comma separated)\nSay `None` to skip removing roles') + await ctx.send( + "What roles should it remove? (Must be comma separated)\nSay `None` to skip removing roles" + ) try: - answer = await self.bot.wait_for('message', timeout=120, check=check) + answer = await self.bot.wait_for("message", timeout=120, check=check) except asyncio.TimeoutError: await ctx.send("Timed out, canceling") return @@ -93,10 +98,11 @@ class CCRole(Cog): # Roles to use await ctx.send( - 'What roles are allowed to use this command? (Must be comma separated)\nSay `None` to allow all roles') + "What roles are allowed to use this command? (Must be comma separated)\nSay `None` to allow all roles" + ) try: - answer = await self.bot.wait_for('message', timeout=120, check=check) + answer = await self.bot.wait_for("message", timeout=120, check=check) except asyncio.TimeoutError: await ctx.send("Timed out, canceling") return @@ -109,10 +115,12 @@ class CCRole(Cog): return # Selfrole - await ctx.send('Is this a targeted command?(yes//no)\nNo will make this a selfrole command') + await ctx.send( + "Is this a targeted command?(yes//no)\nNo will make this a selfrole command" + ) try: - answer = await self.bot.wait_for('message', timeout=120, check=check) + answer = await self.bot.wait_for("message", timeout=120, check=check) except asyncio.TimeoutError: await ctx.send("Timed out, canceling") return @@ -126,13 +134,14 @@ class CCRole(Cog): # Message to send await ctx.send( - 'What message should the bot say when using this command?\n' - 'Say `None` to send the default `Success!` message\n' - 'Eval Options: `{author}`, `{target}`, `{server}`, `{channel}`, `{message}`\n' - 'For example: `Welcome {target.mention} to {server.name}!`') + "What message should the bot say when using this command?\n" + "Say `None` to send the default `Success!` message\n" + "Eval Options: `{author}`, `{target}`, `{server}`, `{channel}`, `{message}`\n" + "For example: `Welcome {target.mention} to {server.name}!`" + ) try: - answer = await self.bot.wait_for('message', timeout=120, check=check) + answer = await self.bot.wait_for("message", timeout=120, check=check) except asyncio.TimeoutError: await ctx.send("Timed out, canceling") return @@ -143,7 +152,13 @@ class CCRole(Cog): # Save the command - out = {'text': text, 'aroles': arole_list, 'rroles': rrole_list, "proles": prole_list, "targeted": targeted} + out = { + "text": text, + "aroles": arole_list, + "rroles": rrole_list, + "proles": prole_list, + "targeted": targeted, + } await cmd_list.set_raw(command, value=out) @@ -174,18 +189,24 @@ class CCRole(Cog): await ctx.send("That command doesn't exist") return - embed = discord.Embed(title=command, - description="{} custom command".format("Targeted" if cmd['targeted'] else "Non-Targeted")) + embed = discord.Embed( + title=command, + description="{} custom command".format( + "Targeted" if cmd["targeted"] else "Non-Targeted" + ), + ) def process_roles(role_list): if not role_list: return "None" - return ", ".join([discord.utils.get(ctx.guild.roles, id=roleid).name for roleid in role_list]) + return ", ".join( + [discord.utils.get(ctx.guild.roles, id=roleid).name for roleid in role_list] + ) - embed.add_field(name="Text", value="```{}```".format(cmd['text'])) - embed.add_field(name="Adds Roles", value=process_roles(cmd['aroles']), inline=True) - embed.add_field(name="Removes Roles", value=process_roles(cmd['rroles']), inline=True) - embed.add_field(name="Role Restrictions", value=process_roles(cmd['proles']), inline=True) + embed.add_field(name="Text", value="```{}```".format(cmd["text"])) + embed.add_field(name="Adds Roles", value=process_roles(cmd["aroles"]), inline=True) + embed.add_field(name="Removes Roles", value=process_roles(cmd["rroles"]), inline=True) + embed.add_field(name="Role Restrictions", value=process_roles(cmd["proles"]), inline=True) await ctx.send(embed=embed) @@ -198,13 +219,17 @@ class CCRole(Cog): if not cmd_list: await ctx.send( "There are no custom commands in this server. Use `{}ccrole add` to start adding some.".format( - ctx.prefix)) + ctx.prefix + ) + ) return cmd_list = ", ".join([ctx.prefix + c for c in sorted(cmd_list.keys())]) cmd_list = "Custom commands:\n\n" + cmd_list - if len(cmd_list) < 1500: # I'm allowed to have arbitrary numbers for when it's too much to dm dammit + if ( + len(cmd_list) < 1500 + ): # I'm allowed to have arbitrary numbers for when it's too much to dm dammit await ctx.send(box(cmd_list)) else: for page in pagify(cmd_list, delims=[" ", "\n"]): @@ -222,7 +247,7 @@ class CCRole(Cog): return cmdlist = self.config.guild(guild).cmdlist - cmd = message.content[len(prefix):].split()[0].lower() + cmd = message.content[len(prefix) :].split()[0].lower() cmd = await cmdlist.get_raw(cmd, default=None) if cmd is not None: @@ -231,7 +256,10 @@ class CCRole(Cog): async def _get_roles_from_content(self, ctx, content): content_list = content.split(",") try: - role_list = [discord.utils.get(ctx.guild.roles, name=role.strip(' ')).id for role in content_list] + role_list = [ + discord.utils.get(ctx.guild.roles, name=role.strip(" ")).id + for role in content_list + ] except (discord.HTTPException, AttributeError): # None.id is attribute error return None else: @@ -249,9 +277,7 @@ class CCRole(Cog): """ content = message.content prefix_list = await self.bot.command_prefix(self.bot, message) - prefixes = sorted(prefix_list, - key=lambda pfx: len(pfx), - reverse=True) + prefixes = sorted(prefix_list, key=lambda pfx: len(pfx), reverse=True) for p in prefixes: if content.startswith(p): return p @@ -259,25 +285,32 @@ class CCRole(Cog): async def eval_cc(self, cmd, message): """Does all the work""" - if cmd['proles'] and not (set(role.id for role in message.author.roles) & set(cmd['proles'])): + if cmd["proles"] and not ( + set(role.id for role in message.author.roles) & set(cmd["proles"]) + ): return # Not authorized, do nothing - if cmd['targeted']: + if cmd["targeted"]: try: - target = discord.utils.get(message.guild.members, mention=message.content.split()[1]) + target = discord.utils.get( + message.guild.members, mention=message.content.split()[1] + ) except IndexError: # .split() return list of len<2 target = None if not target: out_message = "This custom command is targeted! @mention a target\n`{} `".format( - message.content.split()[0]) + message.content.split()[0] + ) await message.channel.send(out_message) return else: target = message.author - if cmd['aroles']: - arole_list = [discord.utils.get(message.guild.roles, id=roleid) for roleid in cmd['aroles']] + if cmd["aroles"]: + arole_list = [ + discord.utils.get(message.guild.roles, id=roleid) for roleid in cmd["aroles"] + ] # await self.bot.send_message(message.channel, "Adding: "+str([str(arole) for arole in arole_list])) try: await target.add_roles(*arole_list) @@ -285,8 +318,10 @@ class CCRole(Cog): await message.channel.send("Permission error: Unable to add roles") await asyncio.sleep(1) - if cmd['rroles']: - rrole_list = [discord.utils.get(message.guild.roles, id=roleid) for roleid in cmd['rroles']] + if cmd["rroles"]: + rrole_list = [ + discord.utils.get(message.guild.roles, id=roleid) for roleid in cmd["rroles"] + ] # await self.bot.send_message(message.channel, "Removing: "+str([str(rrole) for rrole in rrole_list])) try: await target.remove_roles(*rrole_list) @@ -297,7 +332,7 @@ class CCRole(Cog): await message.channel.send(out_message) def format_cc(self, cmd, message, target): - out = cmd['text'] + out = cmd["text"] results = re.findall("{([^}]+)\}", out) for result in results: param = self.transform_parameter(result, message, target) @@ -316,7 +351,7 @@ class CCRole(Cog): "channel": message.channel, "server": message.guild, "guild": message.guild, - "target": target + "target": target, } if result in objects: return str(objects[result]) diff --git a/chatter/chat.py b/chatter/chat.py index 8eb25d2..587b01e 100644 --- a/chatter/chat.py +++ b/chatter/chat.py @@ -25,27 +25,24 @@ class Chatter(Cog): self.bot = bot self.config = Config.get_conf(self, identifier=6710497116116101114) default_global = {} - default_guild = { - "whitelist": None, - "days": 1 - } + default_guild = {"whitelist": None, "days": 1} path: pathlib.Path = cog_data_path(self) data_path = path / ("database.sqlite3") self.chatbot = ChatBot( "ChatterBot", - storage_adapter='chatter.chatterbot.storage.SQLStorageAdapter', + storage_adapter="chatter.chatterbot.storage.SQLStorageAdapter", database=str(data_path), statement_comparison_function=levenshtein_distance, response_selection_method=get_first_response, logic_adapters=[ - 'chatter.chatterbot.logic.BestMatch', + "chatter.chatterbot.logic.BestMatch", { - 'import_path': 'chatter.chatterbot.logic.LowConfidenceAdapter', - 'threshold': 0.65, - 'default_response': ':thinking:' - } - ] + "import_path": "chatter.chatterbot.logic.LowConfidenceAdapter", + "threshold": 0.65, + "default_response": ":thinking:", + }, + ], ) self.chatbot.set_trainer(ListTrainer) @@ -70,7 +67,9 @@ class Chatter(Cog): if len(out_in) < 2: return False - return msg.created_at - sent >= timedelta(hours=3) # This should be configurable perhaps + return msg.created_at - sent >= timedelta( + hours=3 + ) # This should be configurable perhaps for channel in ctx.guild.text_channels: if in_channel: @@ -138,8 +137,9 @@ class Chatter(Cog): Backup your training data to a json for later use """ await ctx.send("Backing up data, this may take a while") - future = await self.loop.run_in_executor(None, self.chatbot.trainer.export_for_training, - './{}.json'.format(backupname)) + future = await self.loop.run_in_executor( + None, self.chatbot.trainer.export_for_training, "./{}.json".format(backupname) + ) if future: await ctx.send("Backup successful!") @@ -158,7 +158,9 @@ class Chatter(Cog): await ctx.send("Failed to gather training data") return - await ctx.send("Gather successful! Training begins now\n(**This will take a long time, be patient**)") + await ctx.send( + "Gather successful! Training begins now\n(**This will take a long time, be patient**)" + ) embed = discord.Embed(title="Loading") embed.set_image(url="http://www.loop.universaleverything.com/animations/1295.gif") temp_message = await ctx.send(embed=embed) @@ -199,4 +201,4 @@ class Chatter(Cog): if future and str(future): await channel.send(str(future)) else: - await channel.send(':thinking:') + await channel.send(":thinking:") diff --git a/coglint/coglint.py b/coglint/coglint.py index 608db67..2a802fe 100644 --- a/coglint/coglint.py +++ b/coglint/coglint.py @@ -17,12 +17,10 @@ class CogLint(Cog): def __init__(self, bot: Red): self.bot = bot self.config = Config.get_conf(self, identifier=9811198108111121, force_registration=True) - default_global = { - "lint": True - } + default_global = {"lint": True} default_guild = {} - self.path = str(cog_data_path(self)).replace('\\', '/') + self.path = str(cog_data_path(self)).replace("\\", "/") self.do_lint = None self.counter = 0 @@ -53,10 +51,10 @@ class CogLint(Cog): async def lint_code(self, code): self.counter += 1 path = self.path + "/{}.py".format(self.counter) - with open(path, 'w') as codefile: + with open(path, "w") as codefile: codefile.write(code) - future = await self.bot.loop.run_in_executor(None, lint.py_run, path, 'return_std=True') + future = await self.bot.loop.run_in_executor(None, lint.py_run, path, "return_std=True") if future: (pylint_stdout, pylint_stderr) = future @@ -73,11 +71,11 @@ class CogLint(Cog): self.do_lint = await self.config.lint() if not self.do_lint: return - code_blocks = message.content.split('```')[1::2] + code_blocks = message.content.split("```")[1::2] for c in code_blocks: is_python, code = c.split(None, 1) - is_python = is_python.lower() == 'python' + is_python = is_python.lower() == "python" if is_python: # Then we're in business linted, errors = await self.lint_code(code) linted = linted.getvalue() diff --git a/dad/dad.py b/dad/dad.py index 06bfb8d..bf67526 100644 --- a/dad/dad.py +++ b/dad/dad.py @@ -28,11 +28,7 @@ class Dad(Cog): self.bot = bot self.config = Config.get_conf(self, identifier=6897100, force_registration=True) - default_guild = { - "enabled": False, - "nickname": False, - "cooldown": 240 - } + default_guild = {"enabled": False, "nickname": False, "cooldown": 240} self.config.register_guild(**default_guild) @@ -40,14 +36,16 @@ class Dad(Cog): @commands.command() async def dadjoke(self, ctx: commands.Context): - headers = {"User-Agent": "FoxV3 (https://github.com/bobloy/Fox-V3)", - "Accept": "application/json"} + headers = { + "User-Agent": "FoxV3 (https://github.com/bobloy/Fox-V3)", + "Accept": "application/json", + } async with aiohttp.ClientSession(headers=headers) as session: - joke = await fetch_url(session, 'https://icanhazdadjoke.com/') + joke = await fetch_url(session, "https://icanhazdadjoke.com/") em = discord.Embed() - em.set_image(url="https://icanhazdadjoke.com/j/{}.png".format(joke['id'])) + em.set_image(url="https://icanhazdadjoke.com/j/{}.png".format(joke["id"])) await ctx.send(embed=em) @@ -57,21 +55,21 @@ class Dad(Cog): """Dad joke superhub""" pass - @dad.command(name='toggle') + @dad.command(name="toggle") async def dad_toggle(self, ctx: commands.Context): """Toggle automatic dad jokes on or off""" is_on = await self.config.guild(ctx.guild).enabled() await self.config.guild(ctx.guild).enabled.set(not is_on) await ctx.send("Auto dad jokes are now set to {}".format(not is_on)) - @dad.command(name='nickname') + @dad.command(name="nickname") async def dad_nickname(self, ctx: commands.Context): """Toggle nicknaming""" is_on = await self.config.guild(ctx.guild).nickname() await self.config.guild(ctx.guild).nickname.set(not is_on) await ctx.send("Nicknaming is now set to {}".format(not is_on)) - @dad.command(name='cooldown') + @dad.command(name="cooldown") async def dad_cooldown(self, ctx: commands.Context, cooldown: int): """Set the auto-joke cooldown""" @@ -93,7 +91,7 @@ class Dad(Cog): lower = message.clean_content.lower() lower_split = lower.split() - if len(lower_split)==0: + if len(lower_split) == 0: return if lower_split[0] == "i'm" and len(lower_split) >= 2: @@ -109,4 +107,6 @@ class Dad(Cog): await message.channel.send("Hi {}, I'm {}!".format(out, guild.me.display_name)) - self.cooldown[guild.id] = datetime.now() + timedelta(seconds=(await guild_config.cooldown())) + self.cooldown[guild.id] = datetime.now() + timedelta( + seconds=(await guild_config.cooldown()) + ) diff --git a/exclusiverole/exclusiverole.py b/exclusiverole/exclusiverole.py index e476854..d59a474 100644 --- a/exclusiverole/exclusiverole.py +++ b/exclusiverole/exclusiverole.py @@ -16,9 +16,7 @@ class ExclusiveRole(Cog): def __init__(self, bot): self.bot = bot self.config = Config.get_conf(self, identifier=9999114111108101) - default_guild = { - "role_list": [] - } + default_guild = {"role_list": []} self.config.register_guild(**default_guild) diff --git a/flag/flag.py b/flag/flag.py index ed1511d..573e1bc 100644 --- a/flag/flag.py +++ b/flag/flag.py @@ -18,11 +18,7 @@ class Flag(Cog): self.bot = bot self.config = Config.get_conf(self, identifier=9811198108111121, force_registration=True) default_global = {} - default_guild = { - "days": 31, - "dm": True, - "flags": {} - } + default_guild = {"days": 31, "dm": True, "flags": {}} self.config.register_global(**default_global) self.config.register_guild(**default_guild) @@ -67,12 +63,7 @@ class Flag(Cog): @staticmethod def _flag_template(): - return { - 'reason': "", - 'expireyear': 0, - 'expiremonth': 0, - 'expireday': 0 - } + return {"reason": "", "expireyear": 0, "expiremonth": 0, "expireday": 0} @commands.guild_only() @checks.mod_or_permissions(manage_roles=True) @@ -90,10 +81,10 @@ class Flag(Cog): expiredate = date.today() expiredate += timedelta(days=await self.config.guild(guild).days()) - flag['reason'] = reason - flag['expireyear'] = expiredate.year - flag['expiremonth'] = expiredate.month - flag['expireday'] = expiredate.day + flag["reason"] = reason + flag["expireyear"] = expiredate.year + flag["expiremonth"] = expiredate.month + flag["expireday"] = expiredate.day # flags = await self.config.guild(guild).flags.get_raw(str(member.id), default=[]) # flags.append(flag) @@ -113,7 +104,7 @@ class Flag(Cog): @commands.guild_only() @checks.mod_or_permissions(manage_roles=True) - @commands.command(aliases=['flagclear']) + @commands.command(aliases=["flagclear"]) async def clearflag(self, ctx: commands.Context, member: discord.Member): """Clears flags for a member""" guild = ctx.guild @@ -124,7 +115,7 @@ class Flag(Cog): await ctx.send("Success!") @commands.guild_only() - @commands.command(aliases=['flaglist']) + @commands.command(aliases=["flaglist"]) async def listflag(self, ctx: commands.Context, member: discord.Member): """Lists flags for a member""" server = ctx.guild @@ -138,7 +129,7 @@ class Flag(Cog): await ctx.send("This member has no flags!") @commands.guild_only() - @commands.command(aliases=['flagall']) + @commands.command(aliases=["flagall"]) async def allflag(self, ctx: commands.Context): """Lists all flags for the server""" guild = ctx.guild @@ -162,12 +153,18 @@ class Flag(Cog): """Returns a pretty embed of flags on a member""" flags = await self.config.guild(member.guild).flags.get_raw(str(member.id), default=[]) - embed = discord.Embed(title="Flags for " + member.display_name, - description="User has {} active flags".format(len(flags)), color=0x804040) + embed = discord.Embed( + title="Flags for " + member.display_name, + description="User has {} active flags".format(len(flags)), + color=0x804040, + ) for flag in flags: - embed.add_field(name="Reason: " + flag['reason'], - value="Expires on " + str(date(flag['expireyear'], flag['expiremonth'], flag['expireday'])), - inline=True) + embed.add_field( + name="Reason: " + flag["reason"], + value="Expires on " + + str(date(flag["expireyear"], flag["expiremonth"], flag["expireday"])), + inline=True, + ) embed.set_thumbnail(url=member.avatar_url) @@ -183,7 +180,9 @@ class Flag(Cog): x = 0 while x < len(flags): flag = flags[x] - if date.today() >= date(flag['expireyear'], flag['expiremonth'], flag['expireday']): + if date.today() >= date( + flag["expireyear"], flag["expiremonth"], flag["expireday"] + ): del flags[x] else: x += 1 diff --git a/forcemention/forcemention.py b/forcemention/forcemention.py index 1d0452c..b8ef9a9 100644 --- a/forcemention/forcemention.py +++ b/forcemention/forcemention.py @@ -24,7 +24,7 @@ class ForceMention(Cog): @checks.admin_or_permissions(manage_roles=True) @commands.command() - async def forcemention(self, ctx: commands.Context, role: str, *, message=''): + async def forcemention(self, ctx: commands.Context, role: str, *, message=""): """ Mentions that role, regardless if it's unmentionable """ diff --git a/hangman/hangman.py b/hangman/hangman.py index 0ca60ee..a5b4137 100644 --- a/hangman/hangman.py +++ b/hangman/hangman.py @@ -11,22 +11,27 @@ Cog: Any = getattr(commands, "Cog", object) class Hangman(Cog): """Lets anyone play a game of hangman with custom phrases""" + navigate = "🔼🔽" letters = "🇦🇧🇨🇩🇪🇫🇬🇭🇮🇯🇰🇱🇲🇳🇴🇵🇶🇷🇸🇹🇺🇻🇼🇽🇾🇿" def __init__(self, bot): self.bot = bot self.config = Config.get_conf(self, identifier=1049711010310997110) - default_guild = { - "theface": ':thinking:', - "emojis": True, - } + default_guild = {"theface": ":thinking:", "emojis": True} self.config.register_guild(**default_guild) self.the_data = defaultdict( - lambda: {"running": False, "hangman": 0, "guesses": [], "trackmessage": False, "answer": ''}) - self.path = str(cog_data_path(self)).replace('\\', '/') + lambda: { + "running": False, + "hangman": 0, + "guesses": [], + "trackmessage": False, + "answer": "", + } + ) + self.path = str(cog_data_path(self)).replace("\\", "/") self.answer_path = self.path + "/bundled_data/hanganswers.txt" @@ -48,7 +53,6 @@ class Hangman(Cog): | |\___ """, - """> \_________ |/ | @@ -59,74 +63,81 @@ class Hangman(Cog): | |\___ H""", - """> \_________ |/ | - | """ + theface + """ + | """ + + theface + + """ | | | | |\___ HA""", - """> \________ |/ | - | """ + theface + """ + | """ + + theface + + """ | | | | | | |\___ HAN""", - """> \_________ |/ | - | """ + theface + """ + | """ + + theface + + """ | /| | | | | |\___ HANG""", - """> \_________ |/ | - | """ + theface + """ + | """ + + theface + + """ | /|\ | | | | |\___ HANGM""", - """> \________ |/ | - | """ + theface + """ + | """ + + theface + + """ | /|\ | | | / | |\___ HANGMA""", - """> \________ |/ | - | """ + theface + """ + | """ + + theface + + """ | /|\ | | | / \ | |\___ - HANGMAN""") + HANGMAN""", + ) - @commands.group(aliases=['sethang'], pass_context=True) + @commands.group(aliases=["sethang"], pass_context=True) @checks.mod_or_permissions(administrator=True) async def hangset(self, ctx): """Adjust hangman settings""" @@ -140,7 +151,7 @@ class Hangman(Cog): # Borrowing FlapJack's emoji validation # (https://github.com/flapjax/FlapJack-Cogs/blob/master/smartreact/smartreact.py) if theface[:2] == "<:": - theface = [r for r in self.bot.emojis if r.id == theface.split(':')[2][:-1]][0] + theface = [r for r in self.bot.emojis if r.id == theface.split(":")[2][:-1]][0] try: # Use the face as reaction to see if it's valid (THANKS FLAPJACK <3) @@ -161,7 +172,7 @@ class Hangman(Cog): await self.config.guild(ctx.guild).emojis.set(not current) await ctx.send("Emoji Letter reactions have been set to {}".format(not current)) - @commands.command(aliases=['hang'], pass_context=True) + @commands.command(aliases=["hang"], pass_context=True) async def hangman(self, ctx, guess: str = None): """Play a game of hangman against the bot!""" if guess is None: @@ -200,14 +211,16 @@ class Hangman(Cog): await channel.send("You Win!") self._stopgame(channel.guild) elif self.the_data[channel.guild]["hangman"] >= 7: - await channel.send("You Lose!\nThe Answer was: **" + self.the_data[channel.guild]["answer"] + "**") + await channel.send( + "You Lose!\nThe Answer was: **" + self.the_data[channel.guild]["answer"] + "**" + ) self._stopgame(channel.guild) def _getphrase(self): """Get a new phrase for the game and returns it""" - with open(self.answer_path, 'r') as phrasefile: + with open(self.answer_path, "r") as phrasefile: phrases = phrasefile.readlines() outphrase = "" @@ -305,7 +318,9 @@ class Hangman(Cog): await self._try_clear_reactions(message) for x in range(len(self.letters)): - if x in [i for i, b in enumerate("ABCDEFGHIJKLM") if b not in self._guesslist(message.guild)]: + if x in [ + i for i, b in enumerate("ABCDEFGHIJKLM") if b not in self._guesslist(message.guild) + ]: await message.add_reaction(self.letters[x]) await message.add_reaction(self.navigate[-1]) @@ -317,7 +332,9 @@ class Hangman(Cog): await self._try_clear_reactions(message) for x in range(len(self.letters)): - if x in [i for i, b in enumerate("NOPQRSTUVWXYZ") if b not in self._guesslist(message.guild)]: + if x in [ + i for i, b in enumerate("NOPQRSTUVWXYZ") if b not in self._guesslist(message.guild) + ]: await message.add_reaction(self.letters[x + 13]) await message.add_reaction(self.navigate[0]) diff --git a/leaver/leaver.py b/leaver/leaver.py index a74dc24..e325c9a 100644 --- a/leaver/leaver.py +++ b/leaver/leaver.py @@ -15,13 +15,11 @@ class Leaver(Cog): def __init__(self, bot): self.bot = bot self.config = Config.get_conf(self, identifier=9811198108111121, force_registration=True) - default_guild = { - "channel": '' - } + default_guild = {"channel": ""} self.config.register_guild(**default_guild) - @commands.group(aliases=['setleaver']) + @commands.group(aliases=["setleaver"]) @checks.mod_or_permissions(administrator=True) async def leaverset(self, ctx): """Adjust leaver settings""" @@ -38,7 +36,7 @@ class Leaver(Cog): guild = member.guild channel = await self.config.guild(guild).channel() - if channel != '': + if channel != "": channel = guild.get_channel(channel) await channel.send(str(member) + "(*" + str(member.nick) + "*) has left the server!") else: diff --git a/lovecalculator/lovecalculator.py b/lovecalculator/lovecalculator.py index 5430825..25e7b46 100644 --- a/lovecalculator/lovecalculator.py +++ b/lovecalculator/lovecalculator.py @@ -13,35 +13,40 @@ class LoveCalculator(Cog): def __init__(self, bot): self.bot = bot - @commands.command(aliases=['lovecalc']) - async def lovecalculator(self, ctx: commands.Context, lover: discord.Member, loved: discord.Member): + @commands.command(aliases=["lovecalc"]) + async def lovecalculator( + self, ctx: commands.Context, lover: discord.Member, loved: discord.Member + ): """Calculate the love percentage!""" x = lover.display_name y = loved.display_name - url = 'https://www.lovecalculator.com/love.php?name1={}&name2={}'.format(x.replace(" ", "+"), - y.replace(" ", "+")) + url = "https://www.lovecalculator.com/love.php?name1={}&name2={}".format( + x.replace(" ", "+"), y.replace(" ", "+") + ) async with aiohttp.ClientSession() as session: async with session.get(url) as response: soup_object = BeautifulSoup(await response.text(), "html.parser") try: - description = soup_object.find('div', attrs={'class': 'result score'}).get_text().strip() + description = ( + soup_object.find("div", attrs={"class": "result score"}).get_text().strip() + ) except: - description = 'Dr. Love is busy right now' + description = "Dr. Love is busy right now" try: z = description[:2] z = int(z) if z > 50: - emoji = '❤' + emoji = "❤" else: - emoji = '💔' - title = 'Dr. Love says that the love percentage for {} and {} is:'.format(x, y) + emoji = "💔" + title = "Dr. Love says that the love percentage for {} and {} is:".format(x, y) except: - emoji = '' - title = 'Dr. Love has left a note for you.' + emoji = "" + title = "Dr. Love has left a note for you." - description = emoji + ' ' + description + ' ' + emoji + description = emoji + " " + description + " " + emoji em = discord.Embed(title=title, description=description, color=discord.Color.red()) await ctx.send(embed=em) diff --git a/lseen/lseen.py b/lseen/lseen.py index 6f59b63..bed7400 100644 --- a/lseen/lseen.py +++ b/lseen/lseen.py @@ -24,12 +24,8 @@ class LastSeen(Cog): self.bot = bot self.config = Config.get_conf(self, identifier=9811198108111121, force_registration=True) default_global = {} - default_guild = { - "enabled": True - } - default_member = { - "seen": None - } + default_guild = {"enabled": True} + default_member = {"seen": None} self.config.register_global(**default_global) self.config.register_guild(**default_guild) @@ -40,7 +36,7 @@ class LastSeen(Cog): d = dateutil.parser.parse(s) return d - @commands.group(aliases=['setlseen'], name='lseenset') + @commands.group(aliases=["setlseen"], name="lseenset") async def lset(self, ctx: commands.Context): """Change settings for lseen""" if ctx.invoked_subcommand is None: @@ -50,14 +46,13 @@ class LastSeen(Cog): async def lset_toggle(self, ctx: commands.Context): """Toggles tracking seen for this server""" enabled = not await self.config.guild(ctx.guild).enabled() - await self.config.guild(ctx.guild).enabled.set( - enabled) + await self.config.guild(ctx.guild).enabled.set(enabled) await ctx.send( - "Seen for this server is now {}".format( - "Enabled" if enabled else "Disabled")) + "Seen for this server is now {}".format("Enabled" if enabled else "Disabled") + ) - @commands.command(aliases=['lastseen']) + @commands.command(aliases=["lastseen"]) async def lseen(self, ctx: commands.Context, member: discord.Member): """ Just says the time the user was last seen diff --git a/planttycoon/planttycoon.py b/planttycoon/planttycoon.py index 1741048..46f8785 100644 --- a/planttycoon/planttycoon.py +++ b/planttycoon/planttycoon.py @@ -1057,7 +1057,6 @@ class PlantTycoon(Cog): elif month == 12: plant_options.append(self.plants["event"]["December"]) - # # Event Plant Check end # diff --git a/qrinvite/qrinvite.py b/qrinvite/qrinvite.py index bbeaeca..82343a7 100644 --- a/qrinvite/qrinvite.py +++ b/qrinvite/qrinvite.py @@ -27,7 +27,13 @@ class QRInvite(Cog): self.config.register_guild(**default_guild) @commands.command() - async def qrinvite(self, ctx: commands.Context, invite: str = None, colorized: bool = False, image_url: str = None): + async def qrinvite( + self, + ctx: commands.Context, + invite: str = None, + colorized: bool = False, + image_url: str = None, + ): """ Create a custom QR code invite for this server """ @@ -48,10 +54,13 @@ class QRInvite(Cog): if image_url == "": # Still await ctx.send( - "Could not get an image, please provide one. *(`{}help qrinvite` for details)*".format(ctx.prefix)) + "Could not get an image, please provide one. *(`{}help qrinvite` for details)*".format( + ctx.prefix + ) + ) return - extension = pathlib.Path(image_url).parts[-1].replace('.', '?').split('?')[1] + extension = pathlib.Path(image_url).parts[-1].replace(".", "?").split("?")[1] path: pathlib.Path = cog_data_path(self) image_path = path / (ctx.guild.icon + "." + extension) @@ -67,8 +76,13 @@ class QRInvite(Cog): else: new_path = str(image_path) - myqr.run(invite, picture=new_path, save_name=ctx.guild.icon + "_qrcode.png", - save_dir=str(cog_data_path(self)), colorized=colorized, ) + myqr.run( + invite, + picture=new_path, + save_name=ctx.guild.icon + "_qrcode.png", + save_dir=str(cog_data_path(self)), + colorized=colorized, + ) png_path: pathlib.Path = path / (ctx.guild.icon + "_qrcode.png") with png_path.open("rb") as png_fp: @@ -79,7 +93,7 @@ def convert_png(path): im = Image.open(path) im.load() alpha = im.split()[-1] - im = im.convert('RGB').convert('P', palette=Image.ADAPTIVE, colors=255) + im = im.convert("RGB").convert("P", palette=Image.ADAPTIVE, colors=255) mask = Image.eval(alpha, lambda a: 255 if a <= 128 else 0) im.paste(255, mask) new_path = path.replace(".webp", ".png") diff --git a/reactrestrict/reactrestrict.py b/reactrestrict/reactrestrict.py index 24133a5..5e1ddda 100644 --- a/reactrestrict/reactrestrict.py +++ b/reactrestrict/reactrestrict.py @@ -15,23 +15,14 @@ class ReactRestrictCombo: self.role_id = role_id def __eq__(self, other: "ReactRestrictCombo"): - return ( - self.message_id == other.message_id and - self.role_id == other.role_id - ) + return self.message_id == other.message_id and self.role_id == other.role_id def to_json(self): - return { - 'message_id': self.message_id, - 'role_id': self.role_id - } + return {"message_id": self.message_id, "role_id": self.role_id} @classmethod def from_json(cls, data): - return cls( - data['message_id'], - data['role_id'] - ) + return cls(data["message_id"], data["role_id"]) class ReactRestrict(Cog): @@ -41,11 +32,10 @@ class ReactRestrict(Cog): def __init__(self, red: Red): self.bot = red - self.config = Config.get_conf(self, 8210197991168210111511611410599116, - force_registration=True) - self.config.register_global( - registered_combos=[] + self.config = Config.get_conf( + self, 8210197991168210111511611410599116, force_registration=True ) + self.config.register_global(registered_combos=[]) async def combo_list(self) -> List[ReactRestrictCombo]: """ @@ -74,8 +64,7 @@ class ReactRestrict(Cog): :param message_id: :return: """ - return any(message_id == combo.message_id - for combo in await self.combo_list()) + return any(message_id == combo.message_id for combo in await self.combo_list()) async def add_reactrestrict(self, message_id: int, role: discord.Role): """ @@ -103,14 +92,14 @@ class ReactRestrict(Cog): """ current_combos = await self.combo_list() - to_keep = [c for c in current_combos - if not (c.message_id == message_id and c.role_id == role.id)] + to_keep = [ + c for c in current_combos if not (c.message_id == message_id and c.role_id == role.id) + ] if to_keep != current_combos: await self.set_combo_list(to_keep) - async def has_reactrestrict_combo(self, message_id: int) \ - -> (bool, List[ReactRestrictCombo]): + async def has_reactrestrict_combo(self, message_id: int) -> (bool, List[ReactRestrictCombo]): """ Determines if there is an existing role combo for a given message and emoji ID. @@ -123,8 +112,7 @@ class ReactRestrict(Cog): combos = await self.combo_list() - ret = [c for c in combos - if c.message_id == message_id] + ret = [c for c in combos if c.message_id == message_id] return len(ret) > 0, ret @@ -169,8 +157,9 @@ class ReactRestrict(Cog): return role - async def _get_message_from_channel(self, channel_id: int, message_id: int) \ - -> Union[discord.Message, None]: + async def _get_message_from_channel( + self, channel_id: int, message_id: int + ) -> Union[discord.Message, None]: """ Tries to find a message by ID in the current guild context. """ @@ -184,8 +173,9 @@ class ReactRestrict(Cog): return None - async def _get_message(self, ctx: commands.Context, message_id: int) \ - -> Union[discord.Message, None]: + async def _get_message( + self, ctx: commands.Context, message_id: int + ) -> Union[discord.Message, None]: """ Tries to find a message by ID in the current guild context. @@ -258,8 +248,9 @@ class ReactRestrict(Cog): await ctx.send("Reaction removed.") - async def on_raw_reaction_add(self, emoji: discord.PartialEmoji, - message_id: int, channel_id: int, user_id: int): + async def on_raw_reaction_add( + self, emoji: discord.PartialEmoji, message_id: int, channel_id: int, user_id: int + ): """ Event handler for long term reaction watching. diff --git a/recyclingplant/recyclingplant.py b/recyclingplant/recyclingplant.py index 171e5de..c487804 100644 --- a/recyclingplant/recyclingplant.py +++ b/recyclingplant/recyclingplant.py @@ -15,7 +15,7 @@ class RecyclingPlant(Cog): def __init__(self, bot): self.bot = bot - self.path = str(cog_data_path(self)).replace('\\', '/') + self.path = str(cog_data_path(self)).replace("\\", "/") self.junk_path = self.path + "/bundled_data/junk.json" with open(self.junk_path) as json_data: @@ -27,44 +27,63 @@ class RecyclingPlant(Cog): x = 0 reward = 0 await ctx.send( - '{0} has signed up for a shift at the Recycling Plant! Type ``exit`` to terminate it early.'.format( - ctx.author.display_name)) + "{0} has signed up for a shift at the Recycling Plant! Type ``exit`` to terminate it early.".format( + ctx.author.display_name + ) + ) while x in range(0, 10): - used = random.choice(self.junk['can']) - if used['action'] == 'trash': - opp = 'recycle' + used = random.choice(self.junk["can"]) + if used["action"] == "trash": + opp = "recycle" else: - opp = 'trash' - await ctx.send('``{}``! Will {} ``trash`` it or ``recycle`` it?'.format(used['object'], - ctx.author.display_name)) + opp = "trash" + await ctx.send( + "``{}``! Will {} ``trash`` it or ``recycle`` it?".format( + used["object"], ctx.author.display_name + ) + ) def check(m): return m.author == ctx.author and m.channel == ctx.channel try: - answer = await self.bot.wait_for('message', timeout=120, check=check) + answer = await self.bot.wait_for("message", timeout=120, check=check) except asyncio.TimeoutError: answer = None if answer is None: - await ctx.send('``{}`` fell down the conveyor belt to be sorted again!'.format(used['object'])) - elif answer.content.lower().strip() == used['action']: await ctx.send( - 'Congratulations! You put ``{}`` down the correct chute! (**+50**)'.format(used['object'])) + "``{}`` fell down the conveyor belt to be sorted again!".format(used["object"]) + ) + elif answer.content.lower().strip() == used["action"]: + await ctx.send( + "Congratulations! You put ``{}`` down the correct chute! (**+50**)".format( + used["object"] + ) + ) reward = reward + 50 x += 1 elif answer.content.lower().strip() == opp: - await ctx.send('{}, you little brute, you put it down the wrong chute! (**-50**)'.format( - ctx.author.display_name)) + await ctx.send( + "{}, you little brute, you put it down the wrong chute! (**-50**)".format( + ctx.author.display_name + ) + ) reward = reward - 50 - elif answer.content.lower().strip() == 'exit': - await ctx.send('{} has been relived of their duty.'.format(ctx.author.display_name)) + elif answer.content.lower().strip() == "exit": + await ctx.send( + "{} has been relived of their duty.".format(ctx.author.display_name) + ) break else: - await ctx.send('``{}`` fell down the conveyor belt to be sorted again!'.format(used['object'])) + await ctx.send( + "``{}`` fell down the conveyor belt to be sorted again!".format(used["object"]) + ) else: if reward > 0: bank.deposit_credits(ctx.author, reward) await ctx.send( - '{} been given **{} {}s** for your services.'.format(ctx.author.display_name, reward, - bank.get_currency_name(ctx.guild))) + "{} been given **{} {}s** for your services.".format( + ctx.author.display_name, reward, bank.get_currency_name(ctx.guild) + ) + ) diff --git a/rpsls/rpsls.py b/rpsls/rpsls.py index 7152cad..e97a923 100644 --- a/rpsls/rpsls.py +++ b/rpsls/rpsls.py @@ -12,26 +12,11 @@ class RPSLS(Cog): """Play Rock Paper Scissors Lizard Spock.""" weaknesses = { - "rock": [ - "paper", - "spock" - ], - "paper": [ - "scissors", - "lizard" - ], - "scissors": [ - "spock", - "rock" - ], - "lizard": [ - "scissors", - "rock" - ], - "spock": [ - "paper", - "lizard" - ] + "rock": ["paper", "spock"], + "paper": ["scissors", "lizard"], + "scissors": ["spock", "rock"], + "lizard": ["scissors", "rock"], + "spock": ["paper", "lizard"], } def __init__(self, bot): @@ -63,31 +48,31 @@ class RPSLS(Cog): bot_choice = random.choice(list(self.weaknesses.keys())) bot_emote = self.get_emote(bot_choice) - message = '{} vs. {}, who will win?'.format(player_emote, bot_emote) + message = "{} vs. {}, who will win?".format(player_emote, bot_emote) em = discord.Embed(description=message, color=discord.Color.blue()) await ctx.send(embed=em) await asyncio.sleep(2) if player_choice in self.weaknesses[bot_choice]: - message = 'You win! :sob:' + message = "You win! :sob:" em_color = discord.Color.green() elif bot_choice in self.weaknesses[player_choice]: - message = 'I win! :smile:' + message = "I win! :smile:" em_color = discord.Color.red() else: - message = 'It\'s a draw! :neutral_face:' + message = "It's a draw! :neutral_face:" em_color = discord.Color.blue() em = discord.Embed(description=message, color=em_color) await ctx.send(embed=em) def get_emote(self, choice): - if choice == 'rock': - emote = ':moyai:' - elif choice == 'spock': - emote = ':vulcan:' - elif choice == 'paper': - emote = ':page_facing_up:' - elif choice in ['scissors', 'lizard']: - emote = ':{}:'.format(choice) + if choice == "rock": + emote = ":moyai:" + elif choice == "spock": + emote = ":vulcan:" + elif choice == "paper": + emote = ":page_facing_up:" + elif choice in ["scissors", "lizard"]: + emote = ":{}:".format(choice) else: emote = None return emote diff --git a/sayurl/sayurl.py b/sayurl/sayurl.py index d56720e..abc9a99 100644 --- a/sayurl/sayurl.py +++ b/sayurl/sayurl.py @@ -48,7 +48,7 @@ class SayUrl(Cog): h.single_line_break = True h.mark_code = True h.wrap_links = True - h.ul_item_mark = '-' + h.ul_item_mark = "-" async with aiohttp.ClientSession() as session: site = await fetch_url(session, url) diff --git a/scp/scp.py b/scp/scp.py index 1457ca1..4ce08ed 100644 --- a/scp/scp.py +++ b/scp/scp.py @@ -50,9 +50,39 @@ class SCP(Cog): Warning: Some of them may be too creepy or gruesome.""" valid_archive = ( - 13, 48, 51, 89, 91, 112, 132, 138, 157, 186, 232, 234, - 244, 252, 257, 338, 356, 361, 400, 406, 503, 515, 517, - 578, 728, 744, 776, 784, 837, 922, 987, 1023) + 13, + 48, + 51, + 89, + 91, + 112, + 132, + 138, + 157, + 186, + 232, + 234, + 244, + 252, + 257, + 338, + 356, + 361, + 400, + 406, + 503, + 515, + 517, + 578, + 728, + 744, + 776, + 784, + 837, + 922, + 987, + 1023, + ) if num in valid_archive: msg = "http://www.scp-wiki.net/scp-{:03}-arc".format(num) c = discord.Color.green() diff --git a/stealemoji/stealemoji.py b/stealemoji/stealemoji.py index 155d596..2a16bc4 100644 --- a/stealemoji/stealemoji.py +++ b/stealemoji/stealemoji.py @@ -10,10 +10,9 @@ Cog: Any = getattr(commands, "Cog", object) async def fetch_img(session, url): - with aiohttp.Timeout(10): - async with session.get(url) as response: - assert response.status == 200 - return await response.read() + async with session.get(url) as response: + assert response.status == 200 + return await response.read() class StealEmoji(Cog): @@ -28,17 +27,13 @@ class StealEmoji(Cog): "managed": False, "guild_id": None, "url": None, - "animated": False + "animated": False, } def __init__(self, red: Red): self.bot = red self.config = Config.get_conf(self, identifier=11511610197108101109111106105) - default_global = { - "stolemoji": {}, - "guildbanks": [], - "on": False - } + default_global = {"stolemoji": {}, "guildbanks": [], "on": False} self.config.register_global(**default_global) @@ -60,13 +55,19 @@ class StealEmoji(Cog): @stealemoji.command(name="bank") async def se_bank(self, ctx): """Add current server as emoji bank""" - await ctx.send("This will upload custom emojis to this server\n" - "Are you sure you want to make the current server an emoji bank? (y//n)") + await ctx.send( + "This will upload custom emojis to this server\n" + "Are you sure you want to make the current server an emoji bank? (y//n)" + ) def check(m): - return m.content.upper() in ["Y", "YES", "N", "NO"] and m.channel == ctx.channel and m.author == ctx.author + return ( + m.content.upper() in ["Y", "YES", "N", "NO"] + and m.channel == ctx.channel + and m.author == ctx.author + ) - msg = await self.bot.wait_for('message', check=check) + msg = await self.bot.wait_for("message", check=check) if msg.content in ["N", "NO"]: await ctx.send("Cancelled") @@ -130,7 +131,9 @@ class StealEmoji(Cog): # urllib.urlretrieve(emoji.url, emoji.name+ext) try: - await guildbank.create_custom_emoji(name=emoji.name, image=img, reason="Stole from " + str(user)) + await guildbank.create_custom_emoji( + name=emoji.name, image=img, reason="Stole from " + str(user) + ) except discord.Forbidden as e: print("PermissionError - no permission to add emojis") raise PermissionError("No permission to add emojis") from e diff --git a/timerole/timerole.py b/timerole/timerole.py index 9582bf6..b823dd3 100644 --- a/timerole/timerole.py +++ b/timerole/timerole.py @@ -17,10 +17,7 @@ class Timerole(Cog): self.bot = bot self.config = Config.get_conf(self, identifier=9811198108111121, force_registration=True) default_global = {} - default_guild = { - 'announce': None, - 'roles': {} - } + default_guild = {"announce": None, "roles": {}} self.config.register_global(**default_global) self.config.register_guild(**default_guild) @@ -43,13 +40,15 @@ class Timerole(Cog): pass @timerole.command() - async def addrole(self, ctx: commands.Context, role: discord.Role, days: int, *requiredroles: discord.Role): + async def addrole( + self, ctx: commands.Context, role: discord.Role, days: int, *requiredroles: discord.Role + ): """Add a role to be added after specified time on server""" guild = ctx.guild - to_set = {'days': days} + to_set = {"days": days} if requiredroles: - to_set['required'] = [r.id for r in requiredroles] + to_set["required"] = [r.id for r in requiredroles] await self.config.guild(guild).roles.set_raw(role.id, value=to_set) await ctx.send("Time Role for {0} set to {1} days".format(role.name, days)) @@ -83,9 +82,12 @@ class Timerole(Cog): r_roles = [] if role is None: role = r_id - if 'required' in r_data: - r_roles = [str(discord.utils.get(guild.roles, id=int(new_id))) for new_id in r_data['required']] - out += "{} || {} days || requires: {}\n".format(str(role), r_data['days'], r_roles) + if "required" in r_data: + r_roles = [ + str(discord.utils.get(guild.roles, id=int(new_id))) + for new_id in r_data["required"] + ] + out += "{} || {} days || requires: {}\n".format(str(role), r_data["days"], r_roles) await ctx.maybe_send_embed(out) async def timerole_update(self): @@ -105,13 +107,15 @@ class Timerole(Cog): for role_id in check_roles: # Check for required role - if 'required' in role_dict[str(role_id)]: - if not set(role_dict[str(role_id)]['required']) & set(has_roles): + if "required" in role_dict[str(role_id)]: + if not set(role_dict[str(role_id)]["required"]) & set(has_roles): # Doesn't have required role continue - if member.joined_at + timedelta( - days=role_dict[str(role_id)]['days']) <= datetime.today(): + if ( + member.joined_at + timedelta(days=role_dict[str(role_id)]["days"]) + <= datetime.today() + ): # Qualifies addlist.append((member, role_id)) @@ -128,15 +132,20 @@ class Timerole(Cog): if channel is not None and results: await channel.send(title) - for page in pagify( - results, shorten_by=50): + for page in pagify(results, shorten_by=50): await channel.send(page) async def check_day(self): while self is self.bot.get_cog("Timerole"): tomorrow = datetime.now() + timedelta(days=1) - midnight = datetime(year=tomorrow.year, month=tomorrow.month, - day=tomorrow.day, hour=0, minute=0, second=0) + midnight = datetime( + year=tomorrow.year, + month=tomorrow.month, + day=tomorrow.day, + hour=0, + minute=0, + second=0, + ) await asyncio.sleep((midnight - datetime.now()).seconds) diff --git a/tts/tts.py b/tts/tts.py index 7288a9c..1ed18e7 100644 --- a/tts/tts.py +++ b/tts/tts.py @@ -30,6 +30,6 @@ class TTS(Cog): Send Text to speech messages as an mp3 """ mp3_fp = io.BytesIO() - tts = gTTS(text, 'en') + tts = gTTS(text, "en") tts.write_to_fp(mp3_fp) await ctx.send(file=discord.File(mp3_fp.getvalue(), "text.mp3")) diff --git a/unicode/unicode.py b/unicode/unicode.py index e305ad4..0d72a1c 100644 --- a/unicode/unicode.py +++ b/unicode/unicode.py @@ -13,7 +13,7 @@ class Unicode(Cog): def __init__(self, bot): self.bot = bot - @commands.group(name='unicode', pass_context=True) + @commands.group(name="unicode", pass_context=True) async def unicode(self, ctx): """Encode/Decode a Unicode character.""" if ctx.invoked_subcommand is None: @@ -23,30 +23,30 @@ class Unicode(Cog): async def decode(self, ctx: commands.Context, character): """Decode a Unicode character.""" try: - data = 'U+{:04X}'.format(ord(character[0])) + data = "U+{:04X}".format(ord(character[0])) color = discord.Color.green() except ValueError: - data = '' + data = "" color = discord.Color.red() em = discord.Embed(title=character, description=data, color=color) await ctx.send(embed=em) @unicode.command() - async def encode(self, ctx:commands.Context, character): + async def encode(self, ctx: commands.Context, character): """Encode an Unicode character.""" try: - if character[:2] == '\\u': - data = repr(c.decode(character, 'unicode-escape')) + if character[:2] == "\\u": + data = repr(c.decode(character, "unicode-escape")) data = data.strip("'") color = discord.Color.green() - elif character[:2] == 'U+': - data = chr(int(character.lstrip('U+'), 16)) + elif character[:2] == "U+": + data = chr(int(character.lstrip("U+"), 16)) color = discord.Color.green() else: - data = '' + data = "" color = discord.Color.red() except ValueError: - data = '' + data = "" color = discord.Color.red() em = discord.Embed(title=character, description=data, color=color) await ctx.send(embed=em)