Exemplo n.º 1
0
    async def _send_submission(self, channel: discord.Channel,
                               submission: reddit.models.Submission):
        """ Post a submission to a channel. """
        logger.info("Posting to #{}: {}".format(
            channel.name, self.log_submission(submission)))
        tags = []
        if submission.link_flair_text:
            tags.append(f'[{submission.link_flair_text}]')
        if submission.is_original_content:
            tags.append('[OC]')
        subreddit = '/r/{0}'.format(submission.subreddit.display_name)

        desc_parts = [''.join(tags)]
        if submission.is_self:
            desc_parts.append(f'(self.{submission.subreddit.display_name})')
        else:
            desc_parts.append(f'({submission.domain})')
        desc_parts.append('on')
        desc_parts.append(subreddit)

        es = EmbedSplitter(auto_truncate=True,
                           title=submission.title,
                           url='https://reddit.com' + submission.permalink,
                           timestamp=datetime.utcfromtimestamp(
                               submission.created_utc))
        es.set_footer(text=' '.join(desc_parts))
        es.set_author(name='/u/' + submission.author.name,
                      url='https://reddit.com/u/{}'.format(
                          submission.author.name))
        if submission.thumbnail.startswith(
                'http://') or submission.thumbnail.startswith('https://'):
            es.set_thumbnail(url=submission.thumbnail)
        await self.send_message(channel, embed=es)
Exemplo n.º 2
0
    async def embedsplitter(self, ctx):
        es = EmbedSplitter(auto_truncate=True,
                           title="asdfjkl ",
                           description="short and stout ")
        es.set_author(name='ABCMan1 ', url='https://google.com')

        for i in range(10):
            es.add_field_no_break(name=str(i) + " A", value="A")
            es.add_field_no_break(name=str(i) + " B", value="B")
            es.add_field(name=str(i) + " C", value="CCCC", inline=False)

        for i in range(10):
            es.add_field_no_break(name=str(i) + " A", value="A")
            es.add_field_no_break(name=str(i) + " B", value="B")
            es.add_field(name=str(i) + " C",
                         value="CCC " * 256 + 'DDD ' * 32,
                         inline=False)

        embeds = es.finalize()
        self.bot.say(str(len(embeds)))
        for em in embeds:
            await self.bot.say(embed=em)