diff --git a/mumbledj/mumbledj.rb b/mumbledj/mumbledj.rb
index a04d0a8..6499d06 100644
--- a/mumbledj/mumbledj.rb
+++ b/mumbledj/mumbledj.rb
@@ -52,13 +52,13 @@ class MumbleDJ
end
end
- # Sets various callbacks that can be triggered during the connection.
- def set_callbacks
- @client.on_text_message do |message|
- parse_message(message)
- end
+ # Safely disconnects the bot from the server.
+ def disconnect
+ @client.disconnect
end
+ private
+
# Parses messages looking for commands, and calls the appropriate
# methods to complete each requested command.
def parse_message(message)
@@ -74,35 +74,25 @@ class MumbleDJ
case @command
when ADD_ALIAS
if has_permission?(ADMIN_ADD, @sender)
- if OUTPUT_ENABLED
- puts("#{@sender} has added a song to the queue.")
- end
- if song_add_successful?(@argument, @sender)
- @client.text_channel(@client.me.current_channel.name, "#{@sender} has added a song to the queue.")
- else
- @client.text_user(@sender, "The URL you provided was not valid.")
- end
+ add(@sender, @argument)
else
@client.text_user(@sender, NO_PERMISSION_MSG)
end
when SKIP_ALIAS
if has_permission?(ADMIN_SKIP, @sender)
- if OUTPUT_ENABLED
- puts("#{@sender} has voted to skip the current song.")
- end
- @song_queue.get_current_song.add_skip(@sender)
+ skip(@sender)
else
@client.text_user(@sender, NO_PERMISSION_MSG)
end
when VOLUME_ALIAS
- puts("Volume command request.")
+ if has_permission?(ADMIN_VOLUME, @sender)
+ volume(@sender, @argument)
+ else
+ @client.text_user(@sender, NO_PERMISSION_MSG)
+ end
when MOVE_ALIAS
if has_permission?(ADMIN_MOVE, @sender)
- begin
- @client.join_channel(@argument)
- rescue Mumble::ChannelNotFound
- @client.text_user(@sender, "The channel you provided does not exist.")
- end
+ move(@sender, @argument)
else
@client.text_user(@sender, NO_PERMISSION_MSG)
end
@@ -124,6 +114,13 @@ class MumbleDJ
end
end
+ # Sets various callbacks that can be triggered during the connection.
+ def set_callbacks
+ @client.on_text_message do |message|
+ parse_message(message)
+ end
+ end
+
# Checks message sender against ADMINS array to verify if they have
# permission to use a specific command.
def has_permission?(admin_command, sender)
@@ -132,8 +129,33 @@ class MumbleDJ
end
end
- # Safely disconnects the bot from the server.
- def disconnect
- @client.disconnect
+ def add(sender, url)
+ if OUTPUT_ENABLED
+ puts("#{@sender} has added a song to the queue.")
+ end
+ if song_add_successful?(url, @sender)
+ @client.text_channel(@client.me.current_channel.name, "#{@sender} has added a song to the queue.")
+ else
+ @client.text_user(@sender, "The URL you provided was not valid.")
+ end
+ end
+
+ def skip(sender)
+ if OUTPUT_ENABLED
+ puts("#{@sender} has voted to skip the current song.")
+ end
+ @song_queue.get_current_song.add_skip(@sender)
+ end
+
+ def volume(sender, vol)
+
+ end
+
+ def move(sender, channel)
+ begin
+ @client.join_channel(channel)
+ rescue Mumble::ChannelNotFound
+ @client.text_user(sender, "The channel you provided does not exist.")
+ end
end
end