Пример #1
0
    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)
Пример #2
0
    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)
Пример #3
0
    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))
Пример #4
0
    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
Пример #5
0
    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
Пример #6
0
    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
Пример #7
0
    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)