diff --git a/src/pluralkit/bot/commands/message_commands.py b/src/pluralkit/bot/commands/message_commands.py index 7d474d8e..0fa1aafd 100644 --- a/src/pluralkit/bot/commands/message_commands.py +++ b/src/pluralkit/bot/commands/message_commands.py @@ -36,7 +36,7 @@ async def message_info(ctx: CommandContext): original_sender = None embed = discord.Embed() - embed.timestamp = discord.utils.snowflake_time(str(mid)) + embed.timestamp = discord.utils.snowflake_time(mid) embed.colour = discord.Colour.blue() if message.system_name: @@ -55,8 +55,7 @@ async def message_info(ctx: CommandContext): embed.add_field(name="Sent by", value=sender_name) message_content = await get_message_contents(ctx.client, message.channel, message.mid) - if message_content: - embed.description = message_content + embed.description = message_content or "(unknown, message deleted)" embed.set_author(name=message.name, icon_url=message.avatar_url or discord.Embed.Empty) diff --git a/src/pluralkit/bot/commands/misc_commands.py b/src/pluralkit/bot/commands/misc_commands.py index fde72a0a..803532c4 100644 --- a/src/pluralkit/bot/commands/misc_commands.py +++ b/src/pluralkit/bot/commands/misc_commands.py @@ -88,4 +88,4 @@ async def export(ctx: CommandContext): } f = io.BytesIO(json.dumps(data).encode("utf-8")) - await ctx.client.send_file(ctx.message.channel, f, filename="system.json") + await ctx.message.channel.send(content="Here you go!", file=discord.File(fp=f, filename="system.json")) diff --git a/src/pluralkit/bot/embeds.py b/src/pluralkit/bot/embeds.py index ec5bd038..4a5e1aa1 100644 --- a/src/pluralkit/bot/embeds.py +++ b/src/pluralkit/bot/embeds.py @@ -82,29 +82,31 @@ async def system_card(conn, client: discord.Client, system: System) -> discord.E value=system.description, inline=False) # Get names of all members - member_texts = [] - for member in await system.get_members(conn): - member_texts.append("{} (`{}`)".format(escape(member.name), member.hid)) + all_members = await system.get_members(conn) + if all_members: + member_texts = [] + for member in all_members: + member_texts.append("{} (`{}`)".format(escape(member.name), member.hid)) - # Interim solution for pagination of large systems - # Previously a lot of systems would hit the 1024 character limit and thus break the message - # This splits large system lists into multiple embed fields - # The 6000 character total limit will still apply here but this sort of pushes the problem until I find a better fix - pages = [""] - for member in member_texts: - last_page = pages[-1] - new_page = last_page + "\n" + member + # Interim solution for pagination of large systems + # Previously a lot of systems would hit the 1024 character limit and thus break the message + # This splits large system lists into multiple embed fields + # The 6000 character total limit will still apply here but this sort of pushes the problem until I find a better fix + pages = [""] + for member in member_texts: + last_page = pages[-1] + new_page = last_page + "\n" + member - if len(new_page) >= 1024: - pages.append(member) - else: - pages[-1] = new_page + if len(new_page) >= 1024: + pages.append(member) + else: + pages[-1] = new_page - for index, page in enumerate(pages): - field_name = "Members" - if index >= 1: - field_name = "Members (part {})".format(index + 1) - card.add_field(name=field_name, value=page, inline=False) + for index, page in enumerate(pages): + field_name = "Members" + if index >= 1: + field_name = "Members (part {})".format(index + 1) + card.add_field(name=field_name, value=page, inline=False) card.set_footer(text="System ID: {}".format(system.hid)) return card diff --git a/src/pluralkit/bot/proxy.py b/src/pluralkit/bot/proxy.py index 078f250f..ae4a7467 100644 --- a/src/pluralkit/bot/proxy.py +++ b/src/pluralkit/bot/proxy.py @@ -107,7 +107,7 @@ async def do_proxy_message(conn, original_message: discord.Message, proxy_member try: sent_message = await webhook.send( content=inner_text, - username=proxy_member.name, + username="{} {}".format(proxy_member.name, proxy_member.tag), avatar_url=proxy_member.avatar_url, file=await make_attachment_file(original_message), wait=True