示例#1
0
    def format_log_embeds(self, logs, avatar_url):
        embeds = []
        logs = tuple(logs)
        title = f"Total Results Found ({len(logs)})"

        for entry in logs:
            created_at = parser.parse(entry["created_at"])

            prefix = self.bot.config["log_url_prefix"].strip("/")
            if prefix == "NONE":
                prefix = ""
            log_url = f"{self.bot.config['log_url'].strip('/')}{'/' + prefix if prefix else ''}/{entry['key']}"

            username = entry["recipient"]["name"] + "#"
            username += entry["recipient"]["discriminator"]

            embed = discord.Embed(color=self.bot.main_color, timestamp=created_at)
            embed.set_author(
                name=f"{title} - {username}", icon_url=avatar_url, url=log_url
            )
            embed.url = log_url
            embed.add_field(
                name="Created", value=duration(created_at, now=datetime.utcnow())
            )
            closer = entry.get("closer")
            if closer is None:
                closer_msg = "Unknown"
            else:
                closer_msg = f"<@{closer['id']}>"
            embed.add_field(name="Closed By", value=closer_msg)

            if entry["recipient"]["id"] != entry["creator"]["id"]:
                embed.add_field(name="Created by", value=f"<@{entry['creator']['id']}>")

            embed.add_field(
                name="Preview", value=format_preview(entry["messages"]), inline=False
            )

            if closer is not None:
                # BUG: Currently, logviewer can't display logs without a closer.
                embed.add_field(name="Link", value=log_url)
            else:
                logger.debug("Invalid log entry: no closer.")
                embed.add_field(name="Log Key", value=f"`{entry['key']}`")

            embed.set_footer(text="Recipient ID: " + str(entry["recipient"]["id"]))
            embeds.append(embed)
        return embeds
示例#2
0
    def format_log_embeds(self, logs, avatar_url):
        embeds = []
        logs = tuple(logs)
        title = f'Total Results Found ({len(logs)})'

        for entry in logs:

            key = entry['key']

            created_at = parser.parse(entry['created_at'])

            log_url = (
                f"https://logs.modmail.tk/{key}"
                if not self.bot.self_hosted else
                self.bot.config.log_url.strip('/') + f'/logs/{key}'
            )

            username = entry['recipient']['name'] + '#'
            username += entry['recipient']['discriminator']

            embed = discord.Embed(color=discord.Color.blurple(),
                                  timestamp=created_at)
            embed.set_author(name=f'{title} - {username}',
                             icon_url=avatar_url,
                             url=log_url)
            embed.url = log_url
            embed.add_field(name='Created',
                            value=duration(created_at, now=datetime.utcnow()))
            embed.add_field(name='Closed By',
                            value=f"<@{entry['closer']['id']}>")

            if entry['recipient']['id'] != entry['creator']['id']:
                embed.add_field(name='Created by',
                                value=f"<@{entry['creator']['id']}>")

            embed.add_field(name='Preview',
                            value=format_preview(entry['messages']),
                            inline=False)
            embed.add_field(name='Link', value=log_url)
            embed.set_footer(
                text='Recipient ID: ' + str(entry['recipient']['id'])
            )
            embeds.append(embed)
        return embeds
示例#3
0
    def format_log_embeds(self, logs, avatar_url):
        embeds = []
        logs = tuple(logs)
        title = f'Total Results Found ({len(logs)})'

        for entry in logs:

            key = entry['key']

            created_at = parser.parse(entry['created_at'])

            prefix = os.getenv('LOG_URL_PREFIX', '/logs')
            if prefix == 'NONE':
                prefix = ''

            log_url = self.bot.config.log_url.strip('/') + f'{prefix}/{key}'

            username = entry['recipient']['name'] + '#'
            username += entry['recipient']['discriminator']

            embed = discord.Embed(color=self.bot.main_color,
                                  timestamp=created_at)
            embed.set_author(name=f'{title} - {username}',
                             icon_url=avatar_url,
                             url=log_url)
            embed.url = log_url
            embed.add_field(name='Created',
                            value=duration(created_at, now=datetime.utcnow()))
            embed.add_field(name='Closed By',
                            value=f"<@{entry['closer']['id']}>")

            if entry['recipient']['id'] != entry['creator']['id']:
                embed.add_field(name='Created by',
                                value=f"<@{entry['creator']['id']}>")

            embed.add_field(name='Preview',
                            value=format_preview(entry['messages']),
                            inline=False)
            embed.add_field(name='Link', value=log_url)
            embed.set_footer(
                text='Recipient ID: ' + str(entry['recipient']['id'])
            )
            embeds.append(embed)
        return embeds
示例#4
0
    def format_log_embeds(self, logs, avatar_url):
        embeds = []
        logs = tuple(logs)
        title = f'Total des résultats trouvés ({len(logs)})'

        for entry in logs:

            key = entry['key']

            created_at = parser.parse(entry['created_at'])

            log_url = (
                f"https://support.discord.fr/{key}"
                if not self.bot.self_hosted else
                self.bot.config.log_url.strip('/') + f'/logs/{key}'
            )

            username = entry['recipient']['name'] + '#'
            username += entry['recipient']['discriminator']

            embed = discord.Embed(color=self.bot.main_color,
                                  timestamp=created_at)
            embed.set_author(name=f'{title} - {username}',
                             icon_url=avatar_url,
                             url=log_url)
            embed.url = log_url
            embed.add_field(name='Créé',
                            value=duration(created_at, now=datetime.utcnow()))
            embed.add_field(name='Fermé par',
                            value=f"<@{entry['closer']['id']}>")

            if entry['recipient']['id'] != entry['creator']['id']:
                embed.add_field(name='Créé par',
                                value=f"<@{entry['creator']['id']}>")

            embed.add_field(name='Aperçu',
                            value=format_preview(entry['messages']),
                            inline=False)
            embed.add_field(name='Lien', value=log_url)
            embed.set_footer(
                text='ID destinataire: ' + str(entry['recipient']['id'])
            )
            embeds.append(embed)
        return embeds
示例#5
0
    def format_log_embeds(self, logs, avatar_url):
        embeds = []
        logs = tuple(logs)
        title = f"Total Results Found ({len(logs)})"

        for entry in logs:

            key = entry["key"]

            created_at = parser.parse(entry["created_at"])

            prefix = os.getenv("LOG_URL_PREFIX", "/logs")
            if prefix == "NONE":
                prefix = ""

            log_url = self.bot.config.log_url.strip("/") + f"{prefix}/{key}"

            username = entry["recipient"]["name"] + "#"
            username += entry["recipient"]["discriminator"]

            embed = discord.Embed(color=self.bot.main_color,
                                  timestamp=created_at)
            embed.set_author(name=f"{title} - {username}",
                             icon_url=avatar_url,
                             url=log_url)
            embed.url = log_url
            embed.add_field(name="Created",
                            value=duration(created_at, now=datetime.utcnow()))
            embed.add_field(name="Closed By",
                            value=f"<@{entry['closer']['id']}>")

            if entry["recipient"]["id"] != entry["creator"]["id"]:
                embed.add_field(name="Created by",
                                value=f"<@{entry['creator']['id']}>")

            embed.add_field(name="Preview",
                            value=format_preview(entry["messages"]),
                            inline=False)
            embed.add_field(name="Link", value=log_url)
            embed.set_footer(text="Recipient ID: " +
                             str(entry["recipient"]["id"]))
            embeds.append(embed)
        return embeds