Admin, banned, default rights

Channels and supergroups allow setting granular permissions both for admins and specific users.
Channels, supergroups and legacy groups also allow setting global granular permissions for users.

They can be modified as follows:

Admin rights

channels.editAdmin can be used to modify the admin rights of a user in a channel or supergroup.
Legacy groups do not allow setting granular admin permissions, messages.editChatAdmin has to be used, instead.

Permissions are defined by the chatAdminRights constructor, some admin rights can only be used for channels, others both for channels and supergroups (see the constructor page).

Banned rights

channels.editBanned can be used to modify the rights of a user in a channel or supergroup, to ban/kick a user from the group, or restrict the user from doing certain things.
Legacy groups do not allow setting granular user permissions for single users, single users can only be removed from groups using messages.deleteChatUser: however, setting global granular permissions with legacy groups is supported.

Permissions are defined by the chatBannedRights constructor, for more info see the constructor page.

Default rights

messages.editChatDefaultBannedRights can be used to modify the rights of all users in a channel, supergroup or legacy group, to restrict them from doing certain things.

Permissions are defined by the chatBannedRights constructor: all flags can be used except for view_messages, for more info see the constructor page.