Implemented new send methods.

This commit is contained in:
Erik C. Thauvin 2019-04-09 23:04:38 -07:00
parent 2b4f1af63c
commit a4907ce111
10 changed files with 59 additions and 31 deletions

View file

@ -34,12 +34,14 @@ package net.thauvin.erik.mobibot;
import com.rometools.rome.io.FeedException; import com.rometools.rome.io.FeedException;
import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
import net.thauvin.erik.mobibot.modules.*; import net.thauvin.erik.mobibot.modules.*;
import net.thauvin.erik.mobibot.msg.Message;
import net.thauvin.erik.semver.Version; import net.thauvin.erik.semver.Version;
import org.apache.commons.cli.*; import org.apache.commons.cli.*;
import org.apache.logging.log4j.Level; import org.apache.logging.log4j.Level;
import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.Logger;
import org.apache.logging.log4j.core.config.Configurator; import org.apache.logging.log4j.core.config.Configurator;
import org.jibble.pircbot.Colors;
import org.jibble.pircbot.PircBot; import org.jibble.pircbot.PircBot;
import org.jibble.pircbot.User; import org.jibble.pircbot.User;
import org.jsoup.Jsoup; import org.jsoup.Jsoup;
@ -796,7 +798,7 @@ public class Mobibot extends PircBot {
private void infoResponse(final String sender, final boolean isPrivate) { private void infoResponse(final String sender, final boolean isPrivate) {
for (final String info : INFO_STRS) { for (final String info : INFO_STRS) {
if (info.startsWith("https://")) { if (info.startsWith("https://")) {
send(sender, Utils.green(info), isPrivate); send(sender, info, Colors.DARK_GREEN, isPrivate);
} else { } else {
send(sender, info, isPrivate); send(sender, info, isPrivate);
} }
@ -1429,20 +1431,54 @@ public class Mobibot extends PircBot {
} }
} }
/**
* Sends a notice to the channel.
*
* @param notice The notice message.
*/
public final void send(final String notice) {
send(getChannel(), notice);
}
/** /**
* Sends a message. * Sends a message.
* *
* @param who The channel or nick of the person who sent the message. * @param who The channel or nick of the person who sent the command.
* @param message The actual message. * @param message The actual message.
*/ */
public final void send(final String who, final String message) { public final void send(final String who, final String message) {
send(who, message, false); send(who, message, false);
} }
/** /**
* Sends a message. * Sends a message.
* *
* @param who The channel or nick of the person who sent the message. * @param who The channel or nick of the person who sent the command.
* @param message The message.
*/
public final void send(final String who, final Message message) {
send(message.isNotice() ? who : getChannel(), message.getMessage(), message.getColor(), message.isPrivate());
}
/**
* Sends a message.
*
* @param who The channel or nick of the person who sent the command.
* @param message The actual message.
* @param color The message's color.
* @param isPrivate The private flag.
*/
public final void send(final String who, final String message, final String color, boolean isPrivate) {
send(who, Utils.colorize(message, color), isPrivate);
}
/**
* Sends a message.
*
* @param who The channel or nick of the person who sent the command.
* @param message The actual message. * @param message The actual message.
* @param color The message's color. * @param color The message's color.
*/ */

View file

@ -60,7 +60,7 @@ class Pinboard {
* @param apiToken The API end point. * @param apiToken The API end point.
* @param ircServer The IRC server. * @param ircServer The IRC server.
*/ */
public Pinboard(final Mobibot bot, final String apiToken, final String ircServer) { Pinboard(final Mobibot bot, final String apiToken, final String ircServer) {
pinboard = new PinboardPoster(apiToken); pinboard = new PinboardPoster(apiToken);
this.ircServer = ircServer; this.ircServer = ircServer;
@ -78,11 +78,10 @@ class Pinboard {
* *
* @param entry The entry to add. * @param entry The entry to add.
*/ */
public final void addPost(final EntryLink entry) { final void addPost(final EntryLink entry) {
final SwingWorker<Boolean, Void> worker = new SwingWorker<Boolean, Void>() { final SwingWorker<Boolean, Void> worker = new SwingWorker<Boolean, Void>() {
@Override @Override
protected Boolean doInBackground() protected Boolean doInBackground() {
throws Exception {
return pinboard.addPin(entry.getLink(), return pinboard.addPin(entry.getLink(),
entry.getTitle(), entry.getTitle(),
postedBy(entry), postedBy(entry),
@ -99,13 +98,12 @@ class Pinboard {
* *
* @param entry The entry to delete. * @param entry The entry to delete.
*/ */
public final void deletePost(final EntryLink entry) { final void deletePost(final EntryLink entry) {
final String link = entry.getLink(); final String link = entry.getLink();
final SwingWorker<Boolean, Void> worker = new SwingWorker<Boolean, Void>() { final SwingWorker<Boolean, Void> worker = new SwingWorker<Boolean, Void>() {
@Override @Override
protected Boolean doInBackground() protected Boolean doInBackground() {
throws Exception {
return pinboard.deletePin(link); return pinboard.deletePin(link);
} }
}; };
@ -139,11 +137,10 @@ class Pinboard {
* @param oldUrl The old post URL. * @param oldUrl The old post URL.
* @param entry The entry to add. * @param entry The entry to add.
*/ */
public final void updatePost(final String oldUrl, final EntryLink entry) { final void updatePost(final String oldUrl, final EntryLink entry) {
final SwingWorker<Boolean, Void> worker = new SwingWorker<Boolean, Void>() { final SwingWorker<Boolean, Void> worker = new SwingWorker<Boolean, Void>() {
@Override @Override
protected Boolean doInBackground() protected Boolean doInBackground() {
throws Exception {
if (!oldUrl.equals(entry.getLink())) { if (!oldUrl.equals(entry.getLink())) {
pinboard.deletePin(oldUrl); pinboard.deletePin(oldUrl);

View file

@ -81,7 +81,7 @@ public class Calc extends AbstractModule {
@Override @Override
public void commandResponse(final Mobibot bot, final String sender, final String args, final boolean isPrivate) { public void commandResponse(final Mobibot bot, final String sender, final String args, final boolean isPrivate) {
if (Utils.isValidString(args)) { if (Utils.isValidString(args)) {
bot.send(bot.getChannel(), calc(args)); bot.send(calc(args));
} else { } else {
helpResponse(bot, sender, args, isPrivate); helpResponse(bot, sender, args, isPrivate);

View file

@ -199,7 +199,7 @@ public final class CurrencyConverter extends ThreadedModule {
if (msg.isError()) { if (msg.isError()) {
helpResponse(bot, sender, CURRENCY_CMD + ' ' + query, false); helpResponse(bot, sender, CURRENCY_CMD + ' ' + query, false);
} }
bot.send(msg.isNotice() ? sender : bot.getChannel(), msg.getMessage()); bot.send(sender, msg);
} catch (ModuleException e) { } catch (ModuleException e) {
bot.getLogger().warn(e.getDebugMessage(), e); bot.getLogger().warn(e.getDebugMessage(), e);
bot.send(sender, e.getMessage()); bot.send(sender, e.getMessage());

View file

@ -36,6 +36,7 @@ import net.thauvin.erik.mobibot.Mobibot;
import net.thauvin.erik.mobibot.Utils; import net.thauvin.erik.mobibot.Utils;
import net.thauvin.erik.mobibot.msg.Message; import net.thauvin.erik.mobibot.msg.Message;
import net.thauvin.erik.mobibot.msg.NoticeMessage; import net.thauvin.erik.mobibot.msg.NoticeMessage;
import org.jibble.pircbot.Colors;
import org.json.JSONArray; import org.json.JSONArray;
import org.json.JSONObject; import org.json.JSONObject;
@ -118,7 +119,8 @@ public final class GoogleSearch extends ThreadedModule {
for (int i = 0; i < ja.length(); i++) { for (int i = 0; i < ja.length(); i++) {
final JSONObject j = ja.getJSONObject(i); final JSONObject j = ja.getJSONObject(i);
results.add(new NoticeMessage(Utils.unescapeXml(j.getString("title")))); results.add(new NoticeMessage(Utils.unescapeXml(j.getString("title"))));
results.add(new NoticeMessage(j.getString("link"))); results.add(
new NoticeMessage(TAB_INDENT + j.getString("link"), Colors.DARK_GREEN));
} }
} }
} catch (IOException e) { } catch (IOException e) {
@ -152,15 +154,8 @@ public final class GoogleSearch extends ThreadedModule {
try { try {
final ArrayList<Message> results = searchGoogle(query, properties.get(GOOGLE_API_KEY_PROP), final ArrayList<Message> results = searchGoogle(query, properties.get(GOOGLE_API_KEY_PROP),
properties.get(GOOGLE_CSE_KEY_PROP)); properties.get(GOOGLE_CSE_KEY_PROP));
int i = 0;
for (final Message msg : results) { for (final Message msg : results) {
if (i % 2 == 0) { bot.send(sender, msg);
bot.send(sender, Utils.green(TAB_INDENT + msg.getMessage()));
} else {
bot.send(sender, msg.getMessage());
}
i++;
} }
} catch (ModuleException e) { } catch (ModuleException e) {
bot.getLogger().warn(e.getDebugMessage(), e); bot.getLogger().warn(e.getDebugMessage(), e);

View file

@ -108,7 +108,7 @@ public final class Joke extends ThreadedModule {
*/ */
void run(final Mobibot bot, final String sender, String arg) { void run(final Mobibot bot, final String sender, String arg) {
try { try {
bot.send(bot.getChannel(), Utils.cyan(randomJoke().getMessage())); bot.send(Utils.cyan(randomJoke().getMessage()));
} catch (ModuleException e) { } catch (ModuleException e) {
bot.getLogger().warn(e.getDebugMessage(), e); bot.getLogger().warn(e.getDebugMessage(), e);
bot.send(sender, e.getMessage()); bot.send(sender, e.getMessage());

View file

@ -170,11 +170,11 @@ public final class StockQuote extends ThreadedModule {
try { try {
final ArrayList<Message> messages = getQuote(symbol, properties.get(ALPHAVANTAGE_API_KEY_PROP)); final ArrayList<Message> messages = getQuote(symbol, properties.get(ALPHAVANTAGE_API_KEY_PROP));
for (final Message msg : messages) { for (final Message msg : messages) {
bot.send(msg.isNotice() ? sender : bot.getChannel(), msg.getMessage()); bot.send(sender, msg);
} }
} catch (ModuleException e) { } catch (ModuleException e) {
bot.getLogger().warn(e.getDebugMessage(), e); bot.getLogger().warn(e.getDebugMessage(), e);
bot.send(bot.getChannel(), e.getMessage()); bot.send(e.getMessage());
} }
} else { } else {
helpResponse(bot, sender, symbol, true); helpResponse(bot, sender, symbol, true);

View file

@ -86,7 +86,7 @@ public final class War extends AbstractModule {
break; break;
} }
bot.send(bot.getChannel(), "This means " + Utils.bold("WAR") + '!'); bot.send("This means " + Utils.bold("WAR") + '!');
} }
if (i < y) { if (i < y) {

View file

@ -197,12 +197,12 @@ public class Weather2 extends ThreadedModule {
helpResponse(bot, sender, args, true); helpResponse(bot, sender, args, true);
} else { } else {
for (final Message msg : messages) { for (final Message msg : messages) {
bot.send(msg.isNotice() ? bot.getChannel() : sender, msg.getMessage(), msg.getColor()); bot.send(sender, msg);
} }
} }
} catch (ModuleException e) { } catch (ModuleException e) {
bot.getLogger().debug(e.getDebugMessage(), e); bot.getLogger().debug(e.getDebugMessage(), e);
bot.send(bot.getChannel(), e.getMessage()); bot.send(e.getMessage());
} }
} else { } else {
helpResponse(bot, sender, args, true); helpResponse(bot, sender, args, true);

View file

@ -200,7 +200,7 @@ public final class WorldTime extends AbstractModule {
if (msg.isError()) { if (msg.isError()) {
bot.send(sender, msg.getMessage()); bot.send(sender, msg.getMessage());
} else { } else {
bot.send(bot.getChannel(), msg.getMessage()); bot.send(msg.getMessage());
} }
} }
} }