diff --git a/source/sv_discord.rb b/source/sv_discord.rb index c071885..f37f49b 100644 --- a/source/sv_discord.rb +++ b/source/sv_discord.rb @@ -3,13 +3,18 @@ require 'discordrb' class User < Vrobot4::Server::User attr_reader :real - def initialize user, admins + def initialize user, ops, hop @real = user @name = user.name @roles = "v" if user.is_a? Discordrb::Member - @roles += "o" if admins.select {|role| user.role? role}.any? - @roles += "O" if user.owner? + if user.owner? + @roles += "Ooh" + elsif ops and ops.select {|role| user.role? role}.any? + @roles += "oh" + elsif hop and hop.select {|role| user.role? role}.any? + @roles += "h" + end end end end @@ -31,8 +36,11 @@ class Sv_Discord < Vrobot4::Server::AudioServer def initialize info super - if info.key? "admins"; @admins = info["admins"] - else; @admins = []; end + if info.key? "admins"; @ops = info["admins"] + else; @ops = []; end + + if info.key? "halfop"; @hop = info["halfop"] + else; @hop = []; end @bot = Discordrb::Bot.new \ token: info["apikey"], @@ -41,7 +49,7 @@ class Sv_Discord < Vrobot4::Server::AudioServer @bot.message do |evt| m = Vrobot4::Server::Message.new \ msg: evt.message.content, - user: User.new(evt.user, @admins), + user: User.new(evt.user, @ops, @hop), chan: Channel.new(evt.channel), serv: self, reply: -> (text) {evt.respond text},