formatted code and added test server

This commit is contained in:
Fadi Atamny 2020-04-26 00:29:23 +03:00
parent 0bb76588f1
commit a590d28ab6

View File

@ -7,8 +7,8 @@ from redbot.core import Config, checks, commands
from redbot.core.utils.chat_formatting import box, humanize_list, pagify from redbot.core.utils.chat_formatting import box, humanize_list, pagify
url = 'https://raw.githubusercontent.com/Kanium/KaniumCogs/master/welcomeCog/data/embedded_message.json' url = 'https://raw.githubusercontent.com/Kanium/KaniumCogs/master/welcomeCog/data/embedded_message.json'
allowed_guilds = {274657393936302080, 693796372092289024} allowed_guilds = {274657393936302080, 693796372092289024, 508781789737648138}
async def fetchMessage(): async def fetchMessage():
@ -20,37 +20,47 @@ async def fetchMessage():
return x return x
return await fetch() return await fetch()
def formatMessage(jsonFormat): def formatMessage(jsonFormat):
try: try:
message=discord.Embed(title=str(jsonFormat['title']), description=''.join(map(str, jsonFormat['description'])), color=int(jsonFormat['color'],16)) message = discord.Embed(title=str(jsonFormat['title']), description=''.join(
map(str, jsonFormat['description'])), color=int(jsonFormat['color'], 16))
message.set_thumbnail(url=jsonFormat['thumbnail']) message.set_thumbnail(url=jsonFormat['thumbnail'])
for field in jsonFormat['fields']: for field in jsonFormat['fields']:
if(field['id']!='links'): if(field['id'] != 'links'):
message.add_field(name=field['name'], value=field['value'], inline=field['inline']) message.add_field(
name=field['name'], value=field['value'], inline=field['inline'])
else: else:
message.add_field(name=field['name'], value=''.join(map(str,field['value'])), inline=field['inline']) message.add_field(name=field['name'], value=''.join(
map(str, field['value'])), inline=field['inline'])
message.set_footer(text=jsonFormat['footer']['text'], icon_url=jsonFormat['footer']['icon_url']) message.set_footer(
text=jsonFormat['footer']['text'], icon_url=jsonFormat['footer']['icon_url'])
return message return message
except: except:
message=discord.Embed(title="Kanium", description='', color=0x3399ff) message = discord.Embed(title="Kanium", description='', color=0x3399ff)
message.add_field(name="Welcome", value='Welcome To Kanium !', inline=True) message.add_field(
name="Welcome", value='Welcome To Kanium !', inline=True)
return message return message
class WelcomeCog(commands.Cog): class WelcomeCog(commands.Cog):
def __init__(self, *args, **kwargs): def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs) super().__init__(*args, **kwargs)
self.message = '' self.message = ''
@commands.command(name='welcomePreview', case_insensitive = False, description='Shows a preview of the welcome message') @commands.command(name='welcomePreview', case_insensitive=False, description='Shows a preview of the welcome message')
async def preview(self, ctx): async def preview(self, ctx):
if ctx.guild.id not in allowed_guilds: try:
return if ctx.guild.id not in allowed_guilds:
if self.message == '': return
self.message = await fetchMessage() if self.message == '':
message = formatMessage(self.message) self.message = await fetchMessage()
await ctx.send(content=None, embed=message) message = formatMessage(self.message)
await ctx.send(content=None, embed=message)
except():
print(f'Error Occured!')
@commands.Cog.listener() @commands.Cog.listener()
async def on_member_join(self, member: discord.Member): async def on_member_join(self, member: discord.Member):
@ -62,4 +72,5 @@ class WelcomeCog(commands.Cog):
message = formatMessage(self.message) message = formatMessage(self.message)
await member.send(content=None, embed=message) await member.send(content=None, embed=message)
except (discord.NotFound, discord.Forbidden): except (discord.NotFound, discord.Forbidden):
print(f'Error Occured! sending a dm to {member.display_name} didnt work !') print(
f'Error Occured! sending a dm to {member.display_name} didnt work !')