From 7a6c55d589d5808625c752c16b61a12440ca4f3d Mon Sep 17 00:00:00 2001 From: Marrub Date: Wed, 9 Aug 2017 05:57:56 -0400 Subject: [PATCH] Add half-op role --- source/sv_discord.rb | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) 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},