Hopefully this sort works

master
Dany Thach 2021-10-31 19:27:45 +01:00
parent 01d87bd328
commit 7ea14307f1
1 changed files with 11 additions and 5 deletions

View File

@ -76,13 +76,19 @@ class Toadling
])->done(function (Role $colorRole) use ($message, $guild) { ])->done(function (Role $colorRole) use ($message, $guild) {
$roles = $guild->roles; $roles = $guild->roles;
$rolesArray = $roles->toArray(); $rolesArray = $roles->toArray();
$rolesArrayPositions = []; $rolesArrayPositions = array_fill(0, count($rolesArray), null);
foreach($rolesArray as $role) { foreach($rolesArray as $role) {
$rolesArrayPositions[$role->position+1] = $role->id; $rolesArrayPositions[$role->position] = $role->id;
if($role->id === $colorRole->id) {
$rolesArrayPositions[1] = $role->id;
}
} }
$rolesArrayPositions = array_values(
array_filter(
$rolesArrayPositions,
function ($roleId) use ($colorRole) {
return $colorRole->id !== $roleId;
}
)
);
array_push($rolesArrayPositions, $colorRole->id);
$guild->updateRolePositions($rolesArrayPositions); $guild->updateRolePositions($rolesArrayPositions);
$message->member->addRole($colorRole); $message->member->addRole($colorRole);
$message->delete(); $message->delete();