From 7ea14307f1380518224c88bde97d12a57bdbe784 Mon Sep 17 00:00:00 2001 From: Dany Thach Date: Sun, 31 Oct 2021 19:27:45 +0100 Subject: [PATCH] Hopefully this sort works --- src/Toadling.php | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/src/Toadling.php b/src/Toadling.php index 941a015..56640c4 100644 --- a/src/Toadling.php +++ b/src/Toadling.php @@ -76,13 +76,19 @@ class Toadling ])->done(function (Role $colorRole) use ($message, $guild) { $roles = $guild->roles; $rolesArray = $roles->toArray(); - $rolesArrayPositions = []; + $rolesArrayPositions = array_fill(0, count($rolesArray), null); foreach($rolesArray as $role) { - $rolesArrayPositions[$role->position+1] = $role->id; - if($role->id === $colorRole->id) { - $rolesArrayPositions[1] = $role->id; - } + $rolesArrayPositions[$role->position] = $role->id; } + $rolesArrayPositions = array_values( + array_filter( + $rolesArrayPositions, + function ($roleId) use ($colorRole) { + return $colorRole->id !== $roleId; + } + ) + ); + array_push($rolesArrayPositions, $colorRole->id); $guild->updateRolePositions($rolesArrayPositions); $message->member->addRole($colorRole); $message->delete();