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

Commit

Permalink
Fix /irc send
Browse files Browse the repository at this point in the history
  • Loading branch information
cnaude committed Apr 30, 2016
1 parent 4085d47 commit fb41887
Showing 1 changed file with 25 additions and 38 deletions.
63 changes: 25 additions & 38 deletions src/main/java/com/cnaude/purpleirc/Commands/Send.java
Expand Up @@ -16,10 +16,8 @@
*/
package com.cnaude.purpleirc.Commands;

import com.cnaude.purpleirc.PurpleBot;
import com.cnaude.purpleirc.PurpleIRC;
import java.util.ArrayList;
import java.util.List;
import com.cnaude.purpleirc.Utilities.BotsAndChannels;
import org.bukkit.ChatColor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
Expand All @@ -34,7 +32,7 @@ public class Send implements IRCCommandInterface {
private final String usage = "([bot]) ([channel]) [message]";
private final String desc = "Send a message to an IRC channel.";
private final String name = "send";
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 @@ -51,46 +49,35 @@ public Send(PurpleIRC plugin) {
*/
@Override
public void dispatch(CommandSender sender, String[] args) {
if (args.length >= 2) {
int msgIdx = 1;
String channelName = null;
List<PurpleBot> myBots = new ArrayList<>();
if (plugin.ircBots.containsKey(args[1])) {
myBots.add(plugin.ircBots.get(args[1]));
msgIdx = 2;
if (args.length >= 3) {
if (plugin.ircBots.get(args[1]).isValidChannel(args[2])) {
channelName = args[2];
}
}
} else {
myBots.addAll(plugin.ircBots.values());
}
for (PurpleBot ircBot : myBots) {
String msg = "";
for (int i = msgIdx; i < args.length; i++) {
msg = msg + " " + args[i];
}
if (channelName == null) {
for (String c : ircBot.botChannels) {
if (sender instanceof Player) {
ircBot.gameChat((Player) sender, c, msg.substring(1));
} else {
ircBot.consoleChat(c, msg.substring(1));
}
BotsAndChannels bac;
int idx;

if (args.length >= 4) {
bac = new BotsAndChannels(plugin, sender, args[1], args[2]);
idx = 3;
} else if (args.length >= 3) {
bac = new BotsAndChannels(plugin, sender, args[1]);
idx = 2;
} else {
sender.sendMessage(fullUsage);
return;
}
if (bac.bot.size() > 0 && bac.channel.size() > 0) {
for (String botName : bac.bot) {
for (String channelName : bac.channel) {
String msg = "";
for (int i = idx; i < args.length; i++) {
msg = msg + " " + args[i];
}
} else {
if (sender instanceof Player) {
ircBot.gameChat((Player) sender, channelName, msg.substring(1));
plugin.ircBots.get(botName).gameChat((Player) sender, channelName, msg.substring(1));
} else {
ircBot.consoleChat(channelName, msg.substring(1));
plugin.ircBots.get(botName).consoleChat(channelName, msg.substring(1));
}
}

}
}
} else {
sender.sendMessage(fullUsage);
}
}
}

@Override
Expand Down

0 comments on commit fb41887

Please sign in to comment.