Rolegiver sorting, fix duplicate modlogs, fix awaiting standard funcs

This commit is contained in:
Zeva Rose 2021-08-04 13:12:23 -06:00
parent f0d2bd1b37
commit df7df919d7
3 changed files with 32 additions and 21 deletions

View file

@ -35,10 +35,10 @@ class ModlogMemberCog(commands.Cog):
guild=guild.id,
user=user.id,
active=True,
sort=MongoSort(key="created_at", type="desc"),
sort=MongoSort(key="created_at", direction="desc"),
)
admin = guild.get_member(ban.admin)
embed = await modlog_embed(
embed = modlog_embed(
user,
admin,
log,
@ -67,10 +67,10 @@ class ModlogMemberCog(commands.Cog):
guild=guild.id,
user=user.id,
active=True,
sort=MongoSort(key="created_at", type="desc"),
sort=MongoSort(key="created_at", direction="desc"),
)
admin = guild.get_member(ban.admin)
embed = await modlog_embed(
embed = modlog_embed(
user,
admin,
log,
@ -98,10 +98,10 @@ class ModlogMemberCog(commands.Cog):
kick = Kick.get(
guild=user.guild.id,
user=user.id,
sort=MongoSort(key="created_at", type="desc"),
sort=MongoSort(key="created_at", direction="desc"),
)
admin = user.guild.get_member(kick.admin)
embed = await modlog_embed(
embed = modlog_embed(
user,
admin,
log,
@ -126,7 +126,7 @@ class ModlogMemberCog(commands.Cog):
guild=before.guild.id,
user=before.id,
active=True,
sort=MongoSort(key="created_at", type="desc"),
sort=MongoSort(key="created_at", direction="desc"),
)
admin = before.guild.get_member(mute.admin)
return modlog_embed(
@ -152,7 +152,7 @@ class ModlogMemberCog(commands.Cog):
guild=before.guild.id,
user=before.id,
active=True,
sort=MongoSort(key="created_at", type="desc"),
sort=MongoSort(key="created_at", direction="desc"),
)
mute = Mute(**mute)
admin = before.guild.get_member(mute.admin)

View file

@ -42,6 +42,8 @@ class RolegiverCog(commands.Cog):
for role_id in setting.value:
e_role = ctx.guild.get_role(role_id)
roles.append(e_role)
if roles:
roles.sort(lambda x: -x.position)
value = "\n".join([r.mention for r in roles]) if roles else "None"
fields = [
@ -101,6 +103,9 @@ class RolegiverCog(commands.Cog):
e_role = ctx.guild.get_role(role_id)
roles.append(e_role)
if roles:
roles.sort(lambda x: -x.position)
value = "\n".join([r.mention for r in roles]) if roles else "None"
fields = [
Field(name="Removed Role", value=f"{role.mention}"),
@ -142,6 +147,9 @@ class RolegiverCog(commands.Cog):
e_role = ctx.guild.get_role(role_id)
roles.append(e_role)
if roles:
roles.sort(lambda x: -x.position)
value = "\n".join([r.mention for r in roles]) if roles else "None"
embed = build_embed(
@ -191,11 +199,12 @@ class RolegiverCog(commands.Cog):
await ctx.author.add_roles(role, reason="Rolegiver")
value = (
"\n".join([r.mention for r in ctx.author.roles])
if ctx.author.roles
else "None"
)
roles = ctx.author.roles
if roles:
roles.sort(lambda x: -x.position)
_ = roles.pop(-1)
value = "\n".join([r.mention for r in roles]) if roles else "None"
fields = [
Field(name="Added Role", value=f"{role.mention}"),
Field(name="Prior Role(s)", value=value),
@ -248,11 +257,12 @@ class RolegiverCog(commands.Cog):
await ctx.author.remove_roles(role, reason="Rolegiver")
value = (
"\n".join([r.mention for r in ctx.author.roles if r.id != role.id])
if ctx.author.roles
else "None"
)
roles = ctx.author.roles
if roles:
roles.sort(lambda x: -x.position)
_ = roles.pop(-1)
value = "\n".join([r.mention for r in roles]) if roles else "None"
fields = [
Field(name="Taken Role", value=f"{role.mention}"),
Field(name="Remaining Role(s)", value=value),

View file

@ -20,6 +20,7 @@ class MemberEventHandler(object):
unverified = Setting.get(guild=guild.id, setting="unverified")
if unverified:
role = guild.get_role(unverified.value)
if role not in user.roles:
await user.add_roles(
role, reason="User just joined and is unverified"
)