Change ban/kick messages to embeds, closes #70

This commit is contained in:
Zeva Rose 2021-07-24 21:50:45 -06:00
parent 0496e288c2
commit a940ba7aba
2 changed files with 72 additions and 19 deletions

View file

@ -14,8 +14,15 @@ from psutil import Process
from jarvis import logo, utils
from jarvis.config import get_config
from jarvis.db import DBManager
from jarvis.db.types import (Autopurge, Autoreact, Ban, Lock, Mute, Setting,
Warning)
from jarvis.db.types import (
Autopurge,
Autoreact,
Ban,
Lock,
Mute,
Setting,
Warning,
)
from jarvis.utils import build_embed
from jarvis.utils.field import Field

View file

@ -136,8 +136,25 @@ class AdminCog(commands.Cog):
if mtype == "temp":
user_message += f"\nDuration: {duration} hours"
fields = [Field(name="Type", value=mtype)]
if mtype == "temp":
fields.append(Field(name="Duration", value=f"{duration} hour(s)"))
user_embed = build_embed(
title="You have been banned",
description=f"Reason: {reason}",
fields=fields,
)
user_embed.set_author(
name=ctx.author.name + "#" + ctx.author.discriminator,
icon_url=ctx.author.avatar_url,
)
user_embed.set_thumbnail(url=ctx.guild.icon_url)
try:
await user.send(user_message)
await user.send(embed=user_embed)
except Exception:
send_failed = True
try:
@ -149,14 +166,21 @@ class AdminCog(commands.Cog):
if mtype == "soft":
await ctx.guild.unban(user, reason="Ban was softban")
message = (
f"{user.name} has been {mtype}banned from {guild_name}."
+ f" Reason:\n{reason}"
fields.append(Field(name="DM Sent?", value=str(not send_failed)))
admin_embed = build_embed(
title="User Banned",
description=f"Reason: {reason}",
fields=fields,
)
if send_failed:
message += "\n**Note: DM failed to send to user.**"
await ctx.send(message)
admin_embed.set_author(
name=user.name + "#" + user.discriminator, icon_url=user.avatar_url
)
admin_embed.set_thumbnail(url=user.avatar_url)
admin_embed.set_footer(text=f"User ID: {user.id}")
await ctx.send(embed=admin_embed)
if type != "temp":
duration = None
active = True
@ -475,17 +499,39 @@ class AdminCog(commands.Cog):
"Mr. Stark is displeased with your presence. Please leave."
)
guild_name = ctx.guild.name
try:
await user.send(
f"You have been kicked from {guild_name}. Reason:\n{reason}"
)
except Exception:
await ctx.send("Unable to message user.")
await ctx.guild.kick(user, reason=reason)
await ctx.send(
f"{user.name} has been kicked from {guild_name}."
+ f"Reason:\n{reason}"
embed = build_embed(
title=f"You have been kicked from {guild_name}",
description=f"Reason: {reason}",
fields=[],
)
embed.set_author(
name=ctx.author.name + "#" + ctx.author.discriminator,
icon_url=ctx.author.avatar_url,
)
embed.set_thumbnail(ctx.guild.icon_url)
send_failed = False
try:
await user.send(embed=embed)
except Exception:
send_failed = True
await ctx.guild.kick(user, reason=reason)
embed = build_embed(
title="User Kicked",
description=f"Reason: {reason}",
fields=[],
)
embed.set_author(
name=user.name + "#" + user.discriminator,
icon_url=user.avatar_url,
)
embed.set_thumbnail(url=user.avatar_url)
embed.set_footer(text=f"User ID: {user.id}")
await ctx.send(embed=embed)
_ = Kick(
user=user.id,
reason=reason,