From 934353ba63a915d28e1ca9120c11cf78418c8e7b Mon Sep 17 00:00:00 2001 From: aikaterna Date: Sun, 10 Sep 2017 21:02:38 -0700 Subject: [PATCH] Revert "So smooth." This reverts commit a58057d3559aeec3776489f882362fed2ef914a9. --- imgwelcome/imgwelcome.py | 66 +++++++++++++++++++++------------------- 1 file changed, 35 insertions(+), 31 deletions(-) diff --git a/imgwelcome/imgwelcome.py b/imgwelcome/imgwelcome.py index 0b1283c..59105b8 100644 --- a/imgwelcome/imgwelcome.py +++ b/imgwelcome/imgwelcome.py @@ -1,5 +1,4 @@ # _is_hex, _hex_to_rgb, _rgb_to_hex are from Stevy's leveler.py -# Also thanks to Stevy for nice, smooth circles. # https://github.com/AznStevy/Maybe-Useful-Cogs # imgwelcomeset_upload is based on code in orels' drawing.py # https://github.com/orels1/ORELS-Cogs @@ -55,10 +54,9 @@ class ImgWelcome: WelcomePicture = WelcomePicture.resize((500,150), Image.NEAREST) # Load profile picture and make template - ProfileArea = Image.new("L",(512,512),0) + ProfileArea = Image.new("L",(128,128),0) draw = ImageDraw.Draw(ProfileArea) - draw.ellipse(((0,0),(512,512)),fill=255) - ProfileArea = ProfileArea.resize((128,128), Image.ANTIALIAS) + draw.ellipse(((0,0),(128,128)),fill=255) try: url = url.replace('webp?size=1024', 'png') url = url.replace('gif?size=1024', 'png') @@ -74,11 +72,7 @@ class ImgWelcome: bordercolor = tuple(self.settings[member.server.id]["BORDER"]) fontcolor = tuple(self.settings[member.server.id]["TEXT"]) servercolor = tuple(self.settings[member.server.id]["SERVERTEXT"]) - circle = Image.new("RGB", (544, 544)) - draw_circle = ImageDraw.Draw(circle) - draw_circle.ellipse([0,0,544,544],fill=(bordercolor), outline=0) - circle = circle.resize((136, 136), Image.ANTIALIAS) - WelcomePicture.paste(circle, (7, 7)) + drawtwo.ellipse(((7,7),(143,143)),fill=(bordercolor)) WelcomePicture.paste(ProfileAreaOutput,(11,11),ProfileAreaOutput) # Draw welcome text @@ -142,17 +136,6 @@ class ImgWelcome: else: return "th" - async def data_check(self, ctx): - server = ctx.message.server - if server.id not in self.settings: - self.settings[server.id] = deepcopy(default_settings) - self.settings[server.id]["CHANNEL"] = ctx.message.channel.id - await self.save_settings() - channel = self.settings[server.id]["CHANNEL"] - if channel not in self.settings: - self.settings[server.id]["CHANNEL"] = ctx.message.channel.id - await self.save_settings() - @checks.admin_or_permissions(manage_server=True) @commands.group(pass_context=True) async def imgwelcomeset(self, ctx): @@ -166,7 +149,10 @@ class ImgWelcome: """Set image border and text colors. Accepts hex code for colors.""" user = ctx.message.author server = ctx.message.server - await self.data_check(ctx) + if server.id not in self.settings: + self.settings[server.id] = deepcopy(default_settings) + self.settings[server.id]["CHANNEL"] = ctx.message.channel.id + await self.save_settings() default_a = 230 valid = True @@ -199,7 +185,10 @@ class ImgWelcome: if not server.me.permissions_in(channel).send_messages: await self.bot.say("No permissions to speak in that channel.") return - await self.data_check(ctx) + if server.id not in self.settings: + self.settings[server.id] = deepcopy(default_settings) + self.settings[server.id]["CHANNEL"] = channel.id + await self.save_settings() self.settings[server.id]["CHANNEL"] = channel.id await self.save_settings() await self.bot.send_message(channel, "This channel will be used for welcome messages.") @@ -208,7 +197,10 @@ class ImgWelcome: async def imgwelcomeset_clear(self, ctx): """Set the background to transparent.""" server = ctx.message.server - await self.data_check(ctx) + if server.id not in self.settings: + self.settings[server.id] = deepcopy(default_settings) + self.settings[server.id]["CHANNEL"] = ctx.message.channel.id + await self.save_settings() self.settings[server.id]['BACKGROUND'] = 'data/imgwelcome/transparent.png' await self.save_settings() await self.bot.say('Welcome image background is now transparent.') @@ -217,7 +209,10 @@ class ImgWelcome: async def imgwelcomeset_clearborder(self, ctx): """Set the image border to transparent.""" server = ctx.message.server - await self.data_check(ctx) + if server.id not in self.settings: + self.settings[server.id] = deepcopy(default_settings) + self.settings[server.id]["CHANNEL"] = ctx.message.channel.id + await self.save_settings() self.settings[server.id]['BORDER'] = [0,0,0,0] await self.save_settings() await self.bot.say('Profile image border is now transparent.') @@ -227,11 +222,14 @@ class ImgWelcome: """Show a welcome image with the current settings.""" server = ctx.message.server author = ctx.message.author - channel = ctx.message.channel if member is None: member = ctx.message.author - await self.data_check(ctx) - channelobj = self.bot.get_channel(channel.id) + if server.id not in self.settings: + self.settings[server.id] = deepcopy(default_settings) + self.settings[server.id]["CHANNEL"] = ctx.message.channel.id + await self.save_settings() + channelid = self.settings[server.id]["CHANNEL"] + channelobj = self.bot.get_channel(channelid) await self.bot.send_typing(channelobj) ImageObject = await self.createWelcomeImage(member, member.avatar_url) await self.bot.send_file(channelobj,ImageObject,filename="welcome.png") @@ -240,7 +238,10 @@ class ImgWelcome: async def imgwelcomeset_toggle(self, ctx): """Toggle welcome messages on the server.""" server = ctx.message.server - await self.data_check(ctx) + if server.id not in self.settings: + self.settings[server.id] = deepcopy(default_settings) + self.settings[server.id]["CHANNEL"] = ctx.message.channel.id + await self.save_settings() self.settings[server.id]["ANNOUNCE"] = not self.settings[server.id]["ANNOUNCE"] if self.settings[server.id]["ANNOUNCE"]: await self.bot.say("Now welcoming new users.") @@ -250,11 +251,13 @@ class ImgWelcome: @imgwelcomeset.command(name='upload', pass_context=True, no_pm=True) async def imgwelcomeset_upload(self, ctx, default=None): - """Upload a background through Discord. 500px x 150px. - This must be an image file and not a url.""" + """Upload a background through Discord. 500px x 150px.""" # request image from user server = ctx.message.server - await self.data_check(ctx) + if server.id not in self.settings: + self.settings[server.id] = deepcopy(default_settings) + self.settings[server.id]["CHANNEL"] = ctx.message.channel.id + await self.save_settings() await self.bot.say("Please send the file to use as a background. File must be 500px x 150px.") answer = await self.bot.wait_for_message(timeout=30, author=ctx.message.author) @@ -312,6 +315,7 @@ class ImgWelcome: server = member.server if server.id not in self.settings: self.settings[server.id] = deepcopy(default_settings) + self.settings[server.id]["CHANNEL"] = server.default_channel.id await self.save_settings() if not self.settings[server.id]["ANNOUNCE"]: return