diff --git a/src/Toadling.php b/src/Toadling.php index e89330a..bf9c0c9 100644 --- a/src/Toadling.php +++ b/src/Toadling.php @@ -66,20 +66,6 @@ class Toadling }); $colorInt = intval(substr($color, 1), 16); if(null !== $colorRole) { - $roles = $guild->roles; - $rolesArray = $roles->toArray(); - $rolesArray = array_map( - function ($role) { - $role->position++; - return $role; - }, - $rolesArray - ); - $rolesArrayPositions = []; - foreach($rolesArray as $role) { - $rolesArrayPositions[$role->position] = $role->id; - } - $colorRole->guild->updateRolePositions($rolesArrayPositions); $message->member->addRole($colorRole); $message->delete(); return true; @@ -100,8 +86,11 @@ class Toadling $rolesArrayPositions = []; foreach($rolesArray as $role) { $rolesArrayPositions[$role->position] = $role->id; + if($role->id === $colorRole->id) { + $rolesArrayPositions[$role->position] = 1; + } } - $colorRole->guild->updateRolePositions($rolesArrayPositions); + $guild->updateRolePositions($rolesArrayPositions); $message->member->addRole($colorRole); $message->delete(); });