Module: OnyxCord::Commands::Bot::Permissions
- Included in:
- OnyxCord::Commands::Bot
- Defined in:
- lib/onyxcord/commands/bot/permissions.rb
Instance Method Summary collapse
-
#permission?(user, level, server) ⇒ true, false
Check if a user has permission to do something.
-
#set_role_permission(id, level) ⇒ Object
Sets the permission level of a role - this applies to all users in the role.
-
#set_user_permission(id, level) ⇒ Object
Sets the permission level of a user.
Instance Method Details
#permission?(user, level, server) ⇒ true, false
Check if a user has permission to do something
26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/onyxcord/commands/bot/permissions.rb', line 26 def (user, level, server) determined_level = if user.webhook? || server.nil? 0 else user.roles.reduce(0) do |memo, role| [@permissions[:roles][role.id] || 0, memo].max end end [@permissions[:users][user.id] || 0, determined_level].max >= level end |
#set_role_permission(id, level) ⇒ Object
Sets the permission level of a role - this applies to all users in the role
16 17 18 |
# File 'lib/onyxcord/commands/bot/permissions.rb', line 16 def (id, level) @permissions[:roles][id] = level end |
#set_user_permission(id, level) ⇒ Object
Sets the permission level of a user
8 9 10 |
# File 'lib/onyxcord/commands/bot/permissions.rb', line 8 def (id, level) @permissions[:users][id] = level end |