# .. allowed commands .. ROLES = CAPABILITIES # normal users have ROLE broadcast. Roles are defined on a per-user basis .. in a config. $role_commands = Hash[ #noinspection RubyStringKeysInHashInspection 'everyone' => %w(PING WHO C PART), 'broadcast_admin' => %w(BC_ID BC BC_ENDCOUNT), 'broadcast' => %w(REQ_BC BC_RE), 'specbot_admin' => %w(REQ_ASSIGN REQ_UNASSIGN REQ_PING REQ_ASSIGNMENTS REQ_MAXSERVERS DUPECHECK ELECTION), 'specbot' => %w(ASSIGN_RE UNASSIGN_RE PING_RE ASSIGNMENTS_RE REQ_DNS MAXSERVERS_RE), ] $default_role = "everyone" # which role is talking to which role? # effectively it says: this (local) command is sent to that (remote) topic .. that certain topic is read by that user with that role. $role_dialogs = Hash[ #noinspection RubyStringKeysInHashInspection 'everyone' => %w(everyone), 'broadcast_admin' => %w(broadcast), 'broadcast' => %w(broadcast_admin), 'specbot_admin' => %w(specbot), 'specbot' => %w(specbot_admin), ] $user_roles = Hash[ #noinspection RubyStringKeysInHashInspection 'paul_tester' => %w(everyone broadcast specbot_admin), 'paul_dev_eggdrop' => %w(everyone broadcast), 'paul_eggdrop' => %w(everyone broadcast), 'paul_dev_specbot' => %w(everyone broadcast specbot), 'paul_specbot' => %w(everyone broadcast specbot), 'qw.nu' => %w(everyone broadcast), 'qw.nu_poster' => %w(everyone broadcast), 'mihawk_devA_specbot' => %w(everyone broadcast specbot), 'mihawk_devB_specbot' => %w(everyone broadcast specbot), 'mihawk_specbot' => %w(everyone broadcast specbot), 'armitage_specbot' => %w(everyone broadcast specbot), 'blaze_specbot' => %w(everyone broadcast specbot), ]