diff --git a/jarvis/cogs/modlog/member.py b/jarvis/cogs/modlog/member.py index d43cd7d..150d853 100644 --- a/jarvis/cogs/modlog/member.py +++ b/jarvis/cogs/modlog/member.py @@ -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) diff --git a/jarvis/cogs/rolegiver.py b/jarvis/cogs/rolegiver.py index a9b77de..01c9b72 100644 --- a/jarvis/cogs/rolegiver.py +++ b/jarvis/cogs/rolegiver.py @@ -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), diff --git a/jarvis/events/member.py b/jarvis/events/member.py index 91a0094..d26170e 100644 --- a/jarvis/events/member.py +++ b/jarvis/events/member.py @@ -20,6 +20,7 @@ class MemberEventHandler(object): unverified = Setting.get(guild=guild.id, setting="unverified") if unverified: role = guild.get_role(unverified.value) - await user.add_roles( - role, reason="User just joined and is unverified" - ) + if role not in user.roles: + await user.add_roles( + role, reason="User just joined and is unverified" + )