Various modlog fixes

This commit is contained in:
Zeva Rose 2021-08-05 18:45:21 -06:00
parent 148818efc3
commit 5587bce34b
4 changed files with 27 additions and 7 deletions

View file

@ -25,7 +25,7 @@ jarvis = commands.Bot(
)
slash = SlashCommand(jarvis, sync_commands=True, sync_on_cog_reload=True)
jarvis_self = Process()
__version__ = "1.10.0"
__version__ = "1.10.2"
jconfig = get_config()

View file

@ -202,7 +202,9 @@ class BanCog(CacheCog):
if type == "soft":
active = False
self.discord_apply_ban(ctx, reason, user, duration, active, fields)
await self.discord_apply_ban(
ctx, reason, user, duration, active, fields
)
@cog_ext.cog_slash(
name="unban",

View file

@ -31,6 +31,7 @@ class ModlogMemberCog(commands.Cog):
log: discord.AuditLogEntry = get_latest_log(auditlog, user)
admin: discord.User = log.user
if admin.id == get_config().client_id:
await asyncio.sleep(3)
ban = (
Ban.objects(
guild=guild.id,
@ -40,6 +41,7 @@ class ModlogMemberCog(commands.Cog):
.order_by("-created_at")
.first()
)
if ban:
admin = guild.get_member(ban.admin)
embed = modlog_embed(
user,
@ -66,6 +68,7 @@ class ModlogMemberCog(commands.Cog):
log: discord.AuditLogEntry = get_latest_log(auditlog, user)
admin: discord.User = log.user
if admin.id == get_config().client_id:
await asyncio.sleep(3)
unban = (
Unban.objects(
guild=guild.id,
@ -97,9 +100,19 @@ class ModlogMemberCog(commands.Cog):
after=datetime.utcnow() - timedelta(seconds=15),
oldest_first=False,
).flatten()
count = 0
log: discord.AuditLogEntry = get_latest_log(auditlog, user)
while not log:
if count == 30:
break
await asyncio.sleep(0.5)
log: discord.AuditLogEntry = get_latest_log(auditlog, user)
count += 1
if not log:
return
admin: discord.User = log.user
if admin.id == get_config().client_id:
await asyncio.sleep(3)
kick = (
Kick.objects(
guild=user.guild.id,
@ -108,6 +121,7 @@ class ModlogMemberCog(commands.Cog):
.order_by("-created_at")
.first()
)
if kick:
admin = user.guild.get_member(kick.admin)
embed = modlog_embed(
user,
@ -130,6 +144,7 @@ class ModlogMemberCog(commands.Cog):
log: discord.AuditLogEntry = get_latest_log(auditlog, before)
admin: discord.User = log.user
if admin.id == get_config().client_id:
await asyncio.sleep(3)
mute = (
Mute.objects(
guild=before.guild.id,
@ -139,6 +154,7 @@ class ModlogMemberCog(commands.Cog):
.order_by("-created_at")
.first()
)
if mute:
admin = before.guild.get_member(mute.admin)
return modlog_embed(
member=before,
@ -159,6 +175,7 @@ class ModlogMemberCog(commands.Cog):
log: discord.AuditLogEntry = get_latest_log(auditlog, before)
admin: discord.User = log.user
if admin.id == get_config().client_id:
await asyncio.sleep(3)
mute = (
Mute.objects(
guild=before.guild.id,
@ -168,6 +185,7 @@ class ModlogMemberCog(commands.Cog):
.order_by("-created_at")
.first()
)
if mute:
admin = before.guild.get_member(mute.admin)
return modlog_embed(
member=before,

View file

@ -15,7 +15,7 @@ class MemberEventHandler(object):
mute_role = Setting.objects(guild=guild.id, setting="mute").first()
role = guild.get_role(mute_role.value)
await user.add_roles(
role, reason="User is muted still muted from prior mute"
role, reason="User is still muted from prior mute"
)
unverified = Setting.objects(
guild=guild.id, setting="unverified"