Skip to content
This repository has been archived by the owner on Jul 27, 2019. It is now read-only.

Commit

Permalink
Fix voice and op commands.
Browse files Browse the repository at this point in the history
  • Loading branch information
cnaude committed Mar 28, 2015
1 parent 8079c08 commit 751dd7b
Show file tree
Hide file tree
Showing 2 changed files with 50 additions and 32 deletions.
41 changes: 25 additions & 16 deletions src/main/java/com/cnaude/purpleirc/Commands/Op.java
Expand Up @@ -17,6 +17,7 @@
package com.cnaude.purpleirc.Commands;

import com.cnaude.purpleirc.PurpleIRC;
import com.cnaude.purpleirc.Utilities.BotsAndChannels;
import org.bukkit.ChatColor;
import org.bukkit.command.CommandSender;

Expand All @@ -27,10 +28,10 @@
public class Op implements IRCCommandInterface {

private final PurpleIRC plugin;
private final String usage = "[bot] [channel] [user(s)]";
private final String usage = "([bot]) ([channel]) [user(s)]";
private final String desc = "Op an IRC user in a channel.";
private final String name = "op";
private final String fullUsage = ChatColor.WHITE + "Usage: " + ChatColor.GOLD + "/irc " + name + " " + usage;
private final String fullUsage = ChatColor.WHITE + "Usage: " + ChatColor.GOLD + "/irc " + name + " " + usage;

/**
*
Expand All @@ -47,24 +48,32 @@ public Op(PurpleIRC plugin) {
*/
@Override
public void dispatch(CommandSender sender, String[] args) {
BotsAndChannels bac;
int idx;

if (args.length >= 4) {
String bot = plugin.botify(args[1]);
String channelName = args[2];
if (plugin.ircBots.containsKey(bot)) {
for (int i = 3; i < args.length; i++) {
// #channel, user
plugin.ircBots.get(bot).op(channelName, args[i]);
sender.sendMessage("Giving operator status to "
+ ChatColor.WHITE + args[i]
+ ChatColor.RESET + " on "
+ ChatColor.WHITE + channelName);
}
} else {
sender.sendMessage(plugin.invalidBotName.replace("%BOT%", bot));
}
bac = new BotsAndChannels(plugin, sender, args[1], args[2]);
idx = 3;
} else if (args.length == 2) {
bac = new BotsAndChannels(plugin, sender);
idx = 1;
} else {
sender.sendMessage(fullUsage);
return;
}
if (bac.bot.size() > 0 && bac.channel.size() > 0) {
for (String botName : bac.bot) {
for (String channelName : bac.channel) {
for (int i = idx; i < args.length; i++) {
plugin.ircBots.get(botName).op(channelName, args[i]);
sender.sendMessage("Giving operator status to "
+ ChatColor.WHITE + args[i]
+ ChatColor.RESET + " on "
+ ChatColor.WHITE + channelName);
}
}
}
}
}

@Override
Expand Down
41 changes: 25 additions & 16 deletions src/main/java/com/cnaude/purpleirc/Commands/Voice.java
Expand Up @@ -17,6 +17,7 @@
package com.cnaude.purpleirc.Commands;

import com.cnaude.purpleirc.PurpleIRC;
import com.cnaude.purpleirc.Utilities.BotsAndChannels;
import org.bukkit.ChatColor;
import org.bukkit.command.CommandSender;

Expand All @@ -27,10 +28,10 @@
public class Voice implements IRCCommandInterface {

private final PurpleIRC plugin;
private final String usage = "[bot] [channel] [user(s)]";
private final String usage = "([bot]) ([channel]) [user(s)]";
private final String desc = "Voice an IRC user in a channel.";
private final String name = "voice";
private final String fullUsage = ChatColor.WHITE + "Usage: " + ChatColor.GOLD + "/irc " + name + " " + usage;
private final String fullUsage = ChatColor.WHITE + "Usage: " + ChatColor.GOLD + "/irc " + name + " " + usage;

/**
*
Expand All @@ -47,24 +48,32 @@ public Voice(PurpleIRC plugin) {
*/
@Override
public void dispatch(CommandSender sender, String[] args) {
BotsAndChannels bac;
int idx;

if (args.length >= 4) {
String bot = plugin.botify(args[1]);
String channelName = args[2];
if (plugin.ircBots.containsKey(bot)) {
for (int i = 3; i < args.length; i++) {
// #channel, user
plugin.ircBots.get(bot).voice(channelName, args[i]);
sender.sendMessage("Giving voice status to "
+ ChatColor.WHITE + args[i]
+ ChatColor.RESET + " on "
+ ChatColor.WHITE + channelName);
}
} else {
sender.sendMessage(plugin.invalidBotName.replace("%BOT%", bot));
}
bac = new BotsAndChannels(plugin, sender, args[1], args[2]);
idx = 3;
} else if (args.length == 2) {
bac = new BotsAndChannels(plugin, sender);
idx = 1;
} else {
sender.sendMessage(fullUsage);
return;
}
if (bac.bot.size() > 0 && bac.channel.size() > 0) {
for (String botName : bac.bot) {
for (String channelName : bac.channel) {
for (int i = idx; i < args.length; i++) {
plugin.ircBots.get(botName).voice(channelName, args[i]);
sender.sendMessage("Giving voice status to "
+ ChatColor.WHITE + args[i]
+ ChatColor.RESET + " on "
+ ChatColor.WHITE + channelName);
}
}
}
}
}

@Override
Expand Down

0 comments on commit 751dd7b

Please sign in to comment.