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 on_reddit(self, event): random_post = self.reddit.random_post(self.memes) # permissions check bot_perms = event.channel.get_permissions(self.state.me.id) if bot_perms.administrator or bot_perms.embed_links: embed = MessageEmbed() embed.title = random_post.title embed.url = random_post.permalink embed.image = MessageEmbedImage(url=random_post.url) event.msg.reply(embed=embed) else: # Send a normal message. event.msg.reply(random_post.url)
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 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 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 getCardMsg(self): if self.DEBUG: print("[debug]CharaCard.getCardMsg()") if self.charID > 0: data = dbSingle.getCardByUserID(self.charID) if data: if self.DEBUG: print("[debug]CharaCard.getCardMsg() data:") print(data) print("[debug]CharaCard.getCardMsg() data len:" + str(len(data))) self.cardID = data[0] else: if self.DEBUG: print("[debug]CharaCard.getCardMsg() Empty data") self.fetchCardFromGenerator() charData = FFXIV_api.fetchCharByID(self.charID) msg = "\n"+\ " "+charData['Name']+" from "+charData['Server']+".\n"+\ " Last seen as a level "+str(charData['ActiveClassJob']['Level'])+" " if charData['ActiveClassJob']['Level'] > 30: msg += charData['ActiveClassJob']['JobName'] + ". " else: msg += charData['ActiveClassJob']['ClassName'] + ". " msg += "\n <https://na.finalfantasyxiv.com/lodestone/character/" + str( self.charID) + "/>" msgEmb = MessageEmbed() msgEmb.image = MessageEmbedImage( url=(self.cardGeneratorApiCardUrl + str(self.cardID))) msgEmb.description = msg msgEmb.color = self.charID return msgEmb
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)