def from_dict(cls, dct): e = cls() e.color = dct.get('color') e.title = dct.get('title') e.description = dct.get('description') e.url = dct.get('url') if dct.get('author'): auth = dct['author'] author = MessageEmbedAuthor() author.name = auth.get('name') author.url = auth.get('url') author.icon_url = auth.get('icon_url') e.author = author if dct.get('thumbnail'): thumb = dct['thumbnail'] thumbnail = MessageEmbedThumbnail() thumbnail.url = thumb.get('url') thumbnail.proxy_url = thumb.get('proxy_url') thumbnail.width = thumb.get('width') thumbnail.height = thumb.get('height') e.thumbnail = thumbnail if dct.get('image'): img = dct['image'] image = MessageEmbedImage() image.url = img.get('url') image.proxy_url = img.get('proxy_url') e.image = image if dct.get('footer'): foot = dct['footer'] footer = MessageEmbedFooter() footer.text = foot.get('text') e.footer = footer else: footer = MessageEmbedFooter() footer.text = 'Mee6' e.footer = footer for f in dct.get('fields', ()): field = MessageEmbedField() field.name = f.get('name') field.value = f.get('value') field.inline = f.get('inline') e.fields.append(field) return e
def embed(self): e = MessageEmbed() e.color = self.color e.title = self.stream_title e.url = self.stream_url author = MessageEmbedAuthor() author.name = self.display_name author.url = self.stream_url author.icon_url = self.avatar e.author = author thumbnail = MessageEmbedThumbnail() thumbnail.url = self.avatar thumbnail.proxy_url = self.avatar thumbnail.width, thumbnail.height = 100, 100 e.thumbnail = thumbnail image = MessageEmbedImage() image.url = self.stream_preview + '?rand={}'.format(randint(0, 999999)) e.image = image footer = MessageEmbedFooter() footer.text = self.platform_name e.footer = footer if self.stream_game: game_field = MessageEmbedField() game_field.name = 'Played Game' game_field.value = self.stream_game game_field.inline = True e.fields.append(game_field) if self.stream_viewers_count or self.stream_viewers_count == 0: viewers_field = MessageEmbedField() viewers_field.name = 'Viewers' viewers_field.value = str(self.stream_viewers_count) viewers_field.inline = True e.fields.append(viewers_field) return e
def raid_alert(self, d): legend = json.loads(open('config/raid.json').read()) rmtitle = re.sub('<MON>', d['mon_name'], legend['raid']) rlfield = legend['time'] adreu = d.get('street', '') + d.get('street_num', '') adrus = d.get('street_num', '') + d.get('street', '') address = legend.get('address', '') gyminfo = legend['gyminfo'] moves = legend['moves'] boost = legend['weather'] rmlinkfield = legend.get('RM', '') description = rlfield if d['geo_enabled']: description += address if d['iv_enabled']: description += gyminfo if d['moves_enabled']: description += moves if 'boost' in d and d['weather_enabled']: description += boost if args.mapurl: description += rmlinkfield description = re.sub('<DESPAWN>', d.get('time', ''), description) description = re.sub('<TTH>', d.get('tth', ''), description) description = re.sub('<CITY>', d.get('city', ''), description) description = re.sub('<SUB>', d.get('suburb', ''), description) description = re.sub('<STR>', d.get('street', ''), description) description = re.sub('<STR_NUM>', d.get('street_num', ''), description) description = re.sub('<ADDR_EU>', adreu, description) description = re.sub('<ADDR_US>', adrus, description) description = re.sub('<GYM>', d.get('gym_name', ''), description) description = re.sub('<INFO>', d.get('description', ''), description) description = re.sub('<MOVE1>', d.get('move1', ''), description) description = re.sub('<MOVE2>', d.get('move2', ''), description) description = re.sub('<WEA>', d.get('boost', ''), description) description = re.sub('<RM>', d.get('mapurl', ''), description) embed = MessageEmbed(color=d['color'], description=description) embed.url = (d['gmapurl']) embed.thumbnail = MessageEmbedThumbnail(url=d['img']) embed.author = MessageEmbedAuthor(icon_url=d['thumb'].lower(), name=rmtitle) embed.title = '{}'.format(d['mon_name']) embed.url = d['gmapurl'] if d['map_enabled']: embed.image = MessageEmbedImage(url=d['static']) self.channels_messages_create(d['channel'], embed=embed)
def server(self, event, guild_id=None): guild: Guild = self.state.guilds.get( guild_id) if guild_id else event.guild if not guild: raise CommandFail('Invalid server') embed = MessageEmbed() embed.set_author( MessageEmbedAuthor(name=guild.name, icon_url=guild.icon_url())) # General Abouts about_field = MessageEmbedField() about_field.name = '**\u276F About**' about_text = 'Created by {} ({}) — <t:{}:R>'.format( guild.owner, guild.owner.id, int(to_datetime(guild.id).replace(tzinfo=pytz.UTC).timestamp())) about_text += '\nMembers: {:,}/{:,}'.format( guild.approximate_presence_count, guild.member_count) about_text += '\nRegion: {}'.format(guild.region) about_field.value = about_text embed.add_field(about_field) # General Counts counts_field = MessageEmbedField() counts_field.name = '\n**\u276F Counts**' text_count = sum(1 for c in list(guild.channels.values()) if not c.is_voice and not c.is_thread) voice_count = len(guild.channels) - text_count counts_field.value = 'Roles: {:,}\nText: {:,}\nVoice: {:,}'.format( len(guild.roles), text_count, voice_count) embed.add_field(counts_field) # Security security_field = MessageEmbedField() security_field.name = '\n**\u276F Security**' security_field.value = 'Verification: {}\nExplicit Content: {}'.format( guild.verification_level, guild.explicit_content_filter) embed.add_field(security_field) # Features features_field = MessageEmbedField() features_field.name = '\n**\u276F Features**' features_field.value = 'Features: {}'.format(', '.join(guild.features)) embed.add_field(features_field) if guild.icon: embed.color = get_dominant_colors_guild(guild) event.msg.reply('', embed=embed)
def raid_alert(self, d): img = '' embed = MessageEmbed(color=d['color']) embed.author = MessageEmbedAuthor( name=(d['mon_name']), url=d['gmapurl']) if not args.bottommap: if d['map_enabled']: img = ['static.png', open(d['static'], 'r')] embed.thumbnail = MessageEmbedThumbnail(url=d['thumb'].lower()) embed.fields.append( MessageEmbedField(name=args.rmtitle.format(d['mon_name']), value=args.rmintro.format(d['time'], d['tth'])) ) if d['geo_enabled']: embed.fields.append( MessageEmbedField(name=args.rltitle, value=args.rlfield.format(d['address'])) ) embed.image = MessageEmbedImage(url=d['img'], width=50, height=50) if d['moves_enabled']: embed.fields.append( MessageEmbedField( name=args.rmvtitle, value=args.rmvfield.format( d['move1'], d['move2']))) if d['iv_enabled']: embed.fields.append( MessageEmbedField(name=args.rivtitle.format(d['gym_name']), value=args.rivfield.format(d['description'])) ) if args.weatheruser and 'wtemp' in d: embed.fields.append( MessageEmbedField( name=args.weathertitle.format( d['wdescription']), value=args.weatherbody.format( d['wtemp'], d['wwind']))) self.channels_messages_create( d['channel'], attachment=img, embed=embed) if args.bottommap and d['map_enabled']: img = ['static.png', open(d['static'], 'r')] self.channels_messages_create(d['channel'], attachment=list(img))
def create_embed(event_name: str, event_link: str, title: str, *args, **kwargs): embed = MessageEmbed() embed.title = title embed.url = event_link embed.author = MessageEmbedAuthor( name=event_name, url="https://github.com/noita-player/noitadocs", icon_url= "https://cdn.discordapp.com/avatars/380885338916388876/68c463572e12c8f9209789fd8ca29ff0.webp?size=128" ) args_desc = "\n\n".join(args) kwargs_desc = "\n\n".join("**{0}:\n{1}**".format(name, value) for name, value in kwargs.items()) embed.description = "\n\n".join((args_desc, kwargs_desc)) embed.color = 0x00FFFF return embed
def monster_alert(self, d): embed = MessageEmbed(color=d['color']) img = '' if 'form' in d: embed.author = MessageEmbedAuthor( name=( d['mon_name'] + ' (form: {})'.format( d['form'])), url=d['gmapurl']) else: embed.author = MessageEmbedAuthor( name=d['mon_name'], url=d['gmapurl']) if not args.bottommap: if d['map_enabled']: img = ['static.png', open(d['static'], 'r')] embed.thumbnail = MessageEmbedThumbnail(url=d['thumb'].lower()) embed.fields.append( MessageEmbedField(name=args.pmtitle.format(d['mon_name']), value=args.pmintro.format(d['time'], d['tth'])) ) if d['geo_enabled']: embed.fields.append( MessageEmbedField(name=args.pltitle, value=args.plfield.format(d['address'])) ) if 'atk' in d and d['iv_enabled']: embed.fields.append( MessageEmbedField( name=args.pivtitle, value=args.pivfield.format( d['perfection'], d['atk'], d['def'], d['sta'], d['level'], d['cp']))) if 'atk' in d and d['moves_enabled']: embed.fields.append( MessageEmbedField( name=args.pmvtitle, value=args.pmvfield.format( d['move1'], d['move2']))) if args.weatheruser and 'wtemp' in d: embed.fields.append( MessageEmbedField( name=args.weathertitle.format( d['wdescription']), value=args.weatherbody.format( d['wtemp'], d['wwind']))) if args.mapurl: embed.fields.append( MessageEmbedField(name=args.RMtitle, value=args.RMlink.format(d['mapurl'])) ) self.channels_messages_create( d['channel'], attachment=img, embed=embed) if args.bottommap and d['map_enabled']: img = ['static.png', open(d['static'], 'r')] self.channels_messages_create(d['channel'], attachment=list(img))
def monster_alert(self, d): legend = json.loads(open('config/monsters.json').read()) if 'form' in d: pmtitle = re.sub('<MON>', d['mon_name'] + '({})'.format(d['form']), legend['mon']) else: pmtitle = re.sub('<MON>', d['mon_name'], legend['mon']) pmintro = legend['time'] description = pmintro adreu = d.get('street', '') + d.get('street_num', '') adrus = d.get('street_num', '') + d.get('street', '') address = legend.get('address', '') stats = legend.get('iv', '') moves = legend.get('moves', '') boost = legend.get('weather', '') rmlinkfield = legend.get('RM', '') if d['geo_enabled']: description += address if 'atk' in d and d['iv_enabled']: description += stats if 'atk' in d and d['moves_enabled']: description += moves if 'boost' in d and d['weather_enabled']: description += boost if args.mapurl: description += rmlinkfield description = re.sub('<DESPAWN>', d.get('time', ''), description) description = re.sub('<TTH>', d.get('tth', ''), description) description = re.sub('<CITY>', d.get('city', ''), description) description = re.sub('<SUB>', d.get('suburb', ''), description) description = re.sub('<STR>', d.get('street', ''), description) description = re.sub('<STR_NUM>', d.get('street_num', ''), description) description = re.sub('<ADDR_EU>', adreu, description) description = re.sub('<ADDR_US>', adrus, description) description = re.sub('<IV>', str(d.get('perfection', '')), description) description = re.sub('<ATK>', str(d.get('atk', '')), description) description = re.sub('<DEF>', str(d.get('def', '')), description) description = re.sub('<STA>', str(d.get('sta', '')), description) description = re.sub('<LVL>', str(d.get('level', '')), description) description = re.sub('<CP>', str(d.get('cp', '')), description) description = re.sub('<MOVE1>', d.get('move1', ''), description) description = re.sub('<MOVE2>', d.get('move2', ''), description) description = re.sub('<WEA>', d.get('description', ''), description) description = re.sub('<RM>', d.get('mapurl', ''), description) embed = MessageEmbed(color=d['color'], description=description) if d['map_enabled']: embed.image = MessageEmbedImage(url=d['static']) embed.author = MessageEmbedAuthor(url=d['gmapurl'], name=pmtitle) embed.title = '{}'.format(d['mon_name']) embed.url = d['gmapurl'] embed.thumbnail = MessageEmbedThumbnail(url=d['thumb'].lower()) self.channels_messages_create(d['channel'], embed=embed)