mirror of
https://github.com/cnaude/PurpleIRC-spigot.git
synced 2024-11-29 05:26:19 +01:00
Add znc command.
This commit is contained in:
parent
a2f07566af
commit
02dd637ec6
@ -100,6 +100,7 @@ public class CommandHandlers implements CommandExecutor {
|
||||
commands.put("voice", new Voice(plugin));
|
||||
commands.put("whois", new Whois(plugin));
|
||||
commands.put("help", new Help(plugin));
|
||||
commands.put("znc", new Znc(plugin));
|
||||
|
||||
commands.put("test", new Test(plugin));
|
||||
|
||||
|
89
src/main/java/com/cnaude/purpleirc/Commands/Znc.java
Normal file
89
src/main/java/com/cnaude/purpleirc/Commands/Znc.java
Normal file
@ -0,0 +1,89 @@
|
||||
/*
|
||||
* Copyright (C) 2014 cnaude
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package com.cnaude.purpleirc.Commands;
|
||||
|
||||
import com.cnaude.purpleirc.PurpleBot;
|
||||
import com.cnaude.purpleirc.PurpleIRC;
|
||||
import java.util.ArrayList;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.command.CommandSender;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Chris Naude
|
||||
*/
|
||||
public class Znc implements IRCCommandInterface {
|
||||
|
||||
private final PurpleIRC plugin;
|
||||
private final String usage = "([bot]) [command] ([arguments])";
|
||||
private final String desc = "Send a private message to an IRC user.";
|
||||
private final String name = "znc";
|
||||
private final String fullUsage = ChatColor.WHITE + "Usage: " + ChatColor.GOLD + "/irc " + name + " " + usage;
|
||||
|
||||
/**
|
||||
*
|
||||
* @param plugin the PurpleIRC plugin
|
||||
*/
|
||||
public Znc(PurpleIRC plugin) {
|
||||
this.plugin = plugin;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param sender
|
||||
* @param args
|
||||
*/
|
||||
@Override
|
||||
public void dispatch(CommandSender sender, String[] args) {
|
||||
if (args.length >= 2) {
|
||||
plugin.logDebug("Dispatching msg command...");
|
||||
int msgIdx = 1;
|
||||
java.util.List<PurpleBot> myBots = new ArrayList<>();
|
||||
if (plugin.ircBots.containsKey(args[1])) {
|
||||
myBots.add(plugin.ircBots.get(args[1]));
|
||||
msgIdx = 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];
|
||||
}
|
||||
ircBot.znc(sender, msg.substring(1));
|
||||
}
|
||||
} else {
|
||||
sender.sendMessage(fullUsage);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String name() {
|
||||
return name;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String desc() {
|
||||
return desc;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String usage() {
|
||||
return usage;
|
||||
}
|
||||
}
|
@ -200,6 +200,7 @@ public final class PurpleBot {
|
||||
private final List<String> tailerFiles;
|
||||
private String tailerRecipient;
|
||||
private boolean tailerCtcp;
|
||||
private CommandSender zncSender;
|
||||
/**
|
||||
* Map of player names to IRC nicks.
|
||||
*/
|
||||
@ -273,6 +274,7 @@ public final class PurpleBot {
|
||||
this.ircPrivateMsgMap = new CaseInsensitiveMap<>();
|
||||
this.tailers = new ArrayList<>();
|
||||
this.tailerFiles = new ArrayList<>();
|
||||
this.zncSender = plugin.getServer().getConsoleSender();
|
||||
config = new YamlConfiguration();
|
||||
goodBot = loadConfig();
|
||||
if (goodBot) {
|
||||
@ -669,6 +671,24 @@ public final class PurpleBot {
|
||||
});
|
||||
}
|
||||
|
||||
public void znc(final CommandSender sender, final String message) {
|
||||
zncSender = sender;
|
||||
plugin.getServer().getScheduler().runTaskAsynchronously(plugin, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
bot.sendRaw().rawLineNow("znc " + message);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public void zncResponse(String message) {
|
||||
if (zncSender != null) {
|
||||
zncSender.sendMessage(message);
|
||||
} else {
|
||||
plugin.getServer().getConsoleSender().sendMessage(message);
|
||||
}
|
||||
}
|
||||
|
||||
public void asyncIdentify(final String password) {
|
||||
if (!this.isConnected()) {
|
||||
return;
|
||||
@ -906,7 +926,7 @@ public final class PurpleBot {
|
||||
|
||||
logIrcToHeroChat.put(channelName, config.getBoolean("channels." + enChannelName + ".log-irc-to-hero-chat", false));
|
||||
plugin.logDebug(" LogIrcToHeroChat => " + logIrcToHeroChat.get(channelName));
|
||||
|
||||
|
||||
logIrcToVentureChat.put(channelName, config.getBoolean("channels." + enChannelName + ".log-irc-to-venture-chat", false));
|
||||
plugin.logDebug(" LogIrcToVentureChat => " + logIrcToVentureChat.get(channelName));
|
||||
|
||||
@ -1222,7 +1242,7 @@ public final class PurpleBot {
|
||||
} else {
|
||||
plugin.logDebug("No Factions");
|
||||
}
|
||||
if (plugin.ventureChatEnabled) {
|
||||
if (plugin.ventureChatEnabled) {
|
||||
plugin.getServer().getPluginManager().callEvent(new VentureChatEvent(event, this));
|
||||
}
|
||||
if (isMessageEnabled(channelName, TemplateName.GAME_CHAT)) {
|
||||
@ -1243,7 +1263,7 @@ public final class PurpleBot {
|
||||
|
||||
/**
|
||||
* Called from HeroChat listener
|
||||
*
|
||||
*
|
||||
* @param chatter
|
||||
* @param chatColor
|
||||
* @param message
|
||||
@ -1397,7 +1417,7 @@ public final class PurpleBot {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
/**
|
||||
* Called from SimpleTicketEvent
|
||||
*
|
||||
* @param uuid
|
||||
@ -1405,8 +1425,8 @@ public final class PurpleBot {
|
||||
* @param botNick
|
||||
* @param messageType
|
||||
*/
|
||||
public void simpleTicketNotify(UUID uuid,
|
||||
uk.co.joshuawoolley.simpleticketmanager.ticketsystem.Ticket ticket,
|
||||
public void simpleTicketNotify(UUID uuid,
|
||||
uk.co.joshuawoolley.simpleticketmanager.ticketsystem.Ticket ticket,
|
||||
String botNick, String messageType) {
|
||||
if (!this.isConnected()) {
|
||||
return;
|
||||
@ -1419,7 +1439,7 @@ public final class PurpleBot {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Called from ReportRTS event
|
||||
*
|
||||
|
Loading…
Reference in New Issue
Block a user