diff --git a/src/Toadling.php b/src/Toadling.php index ddd8449..fc8d921 100644 --- a/src/Toadling.php +++ b/src/Toadling.php @@ -66,6 +66,20 @@ class Toadling }); $colorInt = intval(substr($color, 1), 16); if(null !== $colorRole) { + $roles = $colorRole->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; @@ -74,6 +88,20 @@ class Toadling 'name' => $color, 'color' => $colorInt, ])->done(function (Role $colorRole) use ($message) { + $roles = $colorRole->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(); });