(Channel) Permissions - Cleanse/discord-hypertext GitHub Wiki
$discord = new Discord($email_address, $password);
$channelId = '<channel_id>';
$typeId = '<role_or_member_id>';
$type = 'role'; //member if you wish to target a member
//Let's allow this role kick members in our channel.
$allow = new Permissions(0);
$allow->setKickMembers(true);
//Let's deny this role to mention @everyone.
$deny = new Permissions(0);
$deny->setMentionEveryone(true);
$channelPermission = $discord->api('channel')
->permissions()
->create($channelId, $typeId, $type, $allow->finalPermissions(), $deny->finalPermissions());Returns an array with the channel permission details.
It's weird how Discord handles channel permissions. We need to set allow and deny permissions separately. Note the
new Permissions(0). In the deny var, setting the permissions we wish to disallow totrue.
$discord = new Discord($email_address, $password);
$channelId = '<channel_id>';
$typeId = '<role_or_member_id>';
$type = 'role'; //member if you wish to target a member
//Get current permission values
$current = $discord->api('channel')->permissions()->getCurrent($channelId, $typeId, $type);
//Let's allow this role to also manage the channel.
$allow = new Permissions($current['allow']);
$allow->setManageChannels(true);
$updatedPermissions = $discord->api('channel')
->permissions()
->edit($channelId, $typeId, $type, $allow->finalPermissions(), null);Returns an array with the updated channel permission details.
If we leave allow or deny null, the current value will automatically be set for you.
$discord = new Discord($email_address, $password);
$channelId = '<channel_id>';
$typeId = '<role_or_member_id>';
$discord->api('channel')
->permissions()
->delete($channelId, $typeId);$discord = new Discord($email_address, $password);
$channelId = '<channel_id>';
$typeId = '<role_or_member_id>';
$type = 'member';
$channelPermission = $discord->api('channel')
->permissions()
->show($channelId, $typeId, $type);Returns array with a channel permission.
$discord = new Discord($email_address, $password);
$channelId = '<channel_id>';
$allChannelPermissions = $discord->api('channel')
->permissions()
->all($channelId);Returns array of channel permissions.