Skip to content

Instantly share code, notes, and snippets.

@ShadowJonathan
Created June 7, 2020 16:35
Show Gist options
  • Save ShadowJonathan/f28891b8114098cffb2c34ba9d54c018 to your computer and use it in GitHub Desktop.
Save ShadowJonathan/f28891b8114098cffb2c34ba9d54c018 to your computer and use it in GitHub Desktop.
discord.py member-join prettifier
from datetime import timezone, datetime, timedelta
import humanize
from discord import Member, Embed
GREEN = ":green_square:"
YELLOW = ":yellow_square:"
ORANGE = ":orange_square:"
RED = ":red_square:"
async def generate_report(member: Member) -> Embed:
e = Embed()
e.set_author(name=str(member), icon_url=member.avatar_url)
e.set_thumbnail(url=member.avatar_url)
e.description = member.mention
e.title = "New member joined"
if member.avatar is None:
e.add_field(name="Avatar", value=f"{RED} **Default** avatar.")
else:
e.add_field(name="Avatar", value=f"{GREEN} Custom avatar.")
if member.is_avatar_animated():
e.add_field(name="Animated avatar", value=":thumbsup: Avatar is animated.")
now = datetime.utcnow().replace(tzinfo=timezone.utc)
created_at = member.created_at.replace(tzinfo=timezone.utc)
ago = humanize.naturaldelta(created_at - now) + " ago"
if (datetime.now() - timedelta(hours=12)) < member.created_at:
e.add_field(
name="Creation Time",
value=f"{RED} Made less than 12 hours ago.\n"
f"({member.created_at.strftime('%d/%m/%Y %H:%M:%S')},\n**{ago}**).",
)
elif (datetime.now() - timedelta(days=7)) < member.created_at:
e.add_field(
name="Creation Time",
value=f"{ORANGE} Made less than a week ago.\n({member.created_at.strftime('%d/%m/%Y %H:%M:%S')},\n"
f"**{ago}**).",
)
elif (datetime.now() - timedelta(days=31)) < member.created_at:
e.add_field(
name="Creation Time",
value=f"{YELLOW} Made less than a month ago.\n({member.created_at.strftime('%d/%m/%Y %H:%M:%S')},\n"
f"**{ago}**).",
)
else:
e.add_field(
name="Creation Time",
value=f"{GREEN} Made more than a month ago.\n({member.created_at.strftime('%d/%m/%Y %H:%M:%S')},\n"
f"*{ago}*).",
)
e.set_footer(
text=f"UID: {member.id} | Joined: {member.joined_at.strftime('%d/%m/%Y %H:%M:%S')}",
icon_url=member.guild.icon_url,
)
return e
discord.py>=1.2.5
humanize
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment