diff --git a/config/spotbugs/excludeFilter.xml b/config/spotbugs/excludeFilter.xml index eb80a26..4590e4c 100644 --- a/config/spotbugs/excludeFilter.xml +++ b/config/spotbugs/excludeFilter.xml @@ -4,7 +4,11 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://github.com/spotbugs/filter/3.0.0 https://raw.githubusercontent.com/spotbugs/spotbugs/3.1.0/spotbugs/etc/findbugsfilter.xsd"> - + + + + + diff --git a/src/main/java/net/thauvin/erik/mobibot/Constants.java b/src/main/java/net/thauvin/erik/mobibot/Constants.java new file mode 100644 index 0000000..9dc0bf4 --- /dev/null +++ b/src/main/java/net/thauvin/erik/mobibot/Constants.java @@ -0,0 +1,59 @@ +/* + * Constants.java + * + * Copyright (c) 2004-2019, Erik C. Thauvin (erik@thauvin.net) + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * Neither the name of this project nor the names of its contributors may be + * used to endorse or promote products derived from this software without + * specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package net.thauvin.erik.mobibot; + +/** + * The Constants class. + * + * @author Erik C. Thauvin + * @created 2019-04-19 + * @since 1.0 + */ +public final class Constants { + /** + * The empty title string. + */ + public static final String NO_TITLE = "No Title"; + + /** + * The Twitter handle property key. + */ + public static final String TWITTER_HANDLE_PROP = "twitter-handle"; + + /** + * Disables the default constructor. + */ + private Constants() { + throw new UnsupportedOperationException("Illegal constructor call."); + } +} diff --git a/src/main/java/net/thauvin/erik/mobibot/Mobibot.java b/src/main/java/net/thauvin/erik/mobibot/Mobibot.java index eeafd9d..4f34376 100644 --- a/src/main/java/net/thauvin/erik/mobibot/Mobibot.java +++ b/src/main/java/net/thauvin/erik/mobibot/Mobibot.java @@ -34,6 +34,10 @@ package net.thauvin.erik.mobibot; import com.rometools.rome.io.FeedException; import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; +import net.thauvin.erik.mobibot.entries.EntriesMgr; +import net.thauvin.erik.mobibot.entries.EntriesUtils; +import net.thauvin.erik.mobibot.entries.EntryComment; +import net.thauvin.erik.mobibot.entries.EntryLink; import net.thauvin.erik.mobibot.modules.AbstractModule; import net.thauvin.erik.mobibot.modules.Calc; import net.thauvin.erik.mobibot.modules.CurrencyConverter; @@ -41,6 +45,7 @@ import net.thauvin.erik.mobibot.modules.Dice; import net.thauvin.erik.mobibot.modules.GoogleSearch; import net.thauvin.erik.mobibot.modules.Joke; import net.thauvin.erik.mobibot.modules.Lookup; +import net.thauvin.erik.mobibot.modules.ModuleException; import net.thauvin.erik.mobibot.modules.Ping; import net.thauvin.erik.mobibot.modules.StockQuote; import net.thauvin.erik.mobibot.modules.Twitter; @@ -48,6 +53,7 @@ import net.thauvin.erik.mobibot.modules.War; import net.thauvin.erik.mobibot.modules.Weather2; import net.thauvin.erik.mobibot.modules.WorldTime; import net.thauvin.erik.mobibot.msg.Message; +import net.thauvin.erik.mobibot.tell.Tell; import net.thauvin.erik.semver.Version; import org.apache.commons.cli.CommandLine; import org.apache.commons.cli.CommandLineParser; @@ -96,9 +102,6 @@ public class Mobibot extends PircBot { */ public static final int CONNECT_TIMEOUT = 5000; - // The empty title string. - static final String NO_TITLE = "No Title"; - // The default port. private static final int DEFAULT_PORT = 6667; @@ -186,6 +189,10 @@ public class Mobibot extends PircBot { private final List recap = new ArrayList<>(0); // The tell object. private final Tell tell; + // The Twitter handle for channel join notifications. + private final String twitterHandle; + // The Twitter module. + private final Twitter twitterModule; // The backlogs URL. private String backLogsUrl = ""; // The default tags/categories. @@ -202,7 +209,6 @@ public class Mobibot extends PircBot { private Pinboard pinboard = null; // Today's date. private String today = Utils.today(); - // The weblog URL. private String weblogUrl = ""; @@ -943,14 +949,6 @@ public class Mobibot extends PircBot { connect(); } - /** - * {@inheritDoc} - */ - @Override - protected void onJoin(final String channel, final String sender, final String login, final String hostname) { - tell.send(sender); - } - /** * {@inheritDoc} */ @@ -988,7 +986,7 @@ public class Mobibot extends PircBot { } final StringBuilder tags = new StringBuilder(defaultTags); - String title = NO_TITLE; + String title = Constants.NO_TITLE; if (cmds.length == 2) { final String[] data = cmds[1].trim().split(TAGS_MARKER, 2); @@ -1004,7 +1002,7 @@ public class Mobibot extends PircBot { } } - if (NO_TITLE.equals(title)) { + if (Constants.NO_TITLE.equals(title)) { try { final Document html = Jsoup.connect(link).userAgent("Mozilla").get(); final String htmlTitle = html.title(); @@ -1021,7 +1019,7 @@ public class Mobibot extends PircBot { final int index = entries.size() - 1; final EntryLink entry = entries.get(index); - send(channel, Utils.buildLink(index, entry)); + send(channel, EntriesUtils.buildLink(index, entry)); if (pinboard != null) { pinboard.addPost(entry); @@ -1029,13 +1027,14 @@ public class Mobibot extends PircBot { saveEntries(isBackup); - if (NO_TITLE.equals(entry.getTitle())) { + if (Constants.NO_TITLE.equals(entry.getTitle())) { send(sender, "Please specify a title, by typing:", true); send(sender, helpIndent(Commands.LINK_CMD + (index + 1) + ":|This is the title"), true); } } else { final EntryLink entry = entries.get(dupIndex); - send(sender, Utils.bold("Duplicate") + " >> " + Utils.buildLink(dupIndex, entry)); + send(sender, Utils.bold("Duplicate") + " >> " + + EntriesUtils.buildLink(dupIndex, entry)); } } } else if (message.matches(getNickPattern() + ":.*")) { // mobibot: @@ -1090,17 +1089,17 @@ public class Mobibot extends PircBot { if (cmd.length() == 0) { final EntryLink entry = entries.get(index); - send(channel, Utils.buildLink(index, entry)); + send(channel, EntriesUtils.buildLink(index, entry)); if (entry.hasTags()) { - send(channel, Utils.buildTags(index, entry)); + send(channel, EntriesUtils.buildTags(index, entry)); } if (entry.hasComments()) { final EntryComment[] comments = entry.getComments(); for (int i = 0; i < comments.length; i++) { - send(channel, Utils.buildComment(index, i, comments[i])); + send(channel, EntriesUtils.buildComment(index, i, comments[i])); } } } else { @@ -1128,7 +1127,7 @@ public class Mobibot extends PircBot { pinboard.updatePost(entry.getLink(), entry); } - send(channel, Utils.buildLink(index, entry)); + send(channel, EntriesUtils.buildLink(index, entry)); saveEntries(false); } } else if (cmd.charAt(0) == '=') { // L1:= @@ -1146,7 +1145,7 @@ public class Mobibot extends PircBot { pinboard.updatePost(oldLink, entry); } - send(channel, Utils.buildLink(index, entry)); + send(channel, EntriesUtils.buildLink(index, entry)); saveEntries(false); } } else { @@ -1157,7 +1156,7 @@ public class Mobibot extends PircBot { if (cmd.length() > 1) { final EntryLink entry = entries.get(index); entry.setNick(cmd.substring(1)); - send(channel, Utils.buildLink(index, entry)); + send(channel, EntriesUtils.buildLink(index, entry)); saveEntries(false); } } else { @@ -1168,7 +1167,7 @@ public class Mobibot extends PircBot { final int cindex = entry.addComment(cmd, sender); final EntryComment comment = entry.getComment(cindex); - send(sender, Utils.buildComment(index, cindex, comment)); + send(sender, EntriesUtils.buildComment(index, cindex, comment)); saveEntries(false); } } @@ -1192,14 +1191,14 @@ public class Mobibot extends PircBot { pinboard.updatePost(entry.getLink(), entry); } - send(channel, Utils.buildTags(index, entry)); + send(channel, EntriesUtils.buildTags(index, entry)); saveEntries(false); } else { send(sender, "Please ask a channel op to change the tags for you."); } } else { if (entry.hasTags()) { - send(channel, Utils.buildTags(index, entry)); + send(channel, EntriesUtils.buildTags(index, entry)); } else { send(sender, "The entry has no tags. Why don't add some?"); } @@ -1221,7 +1220,7 @@ public class Mobibot extends PircBot { // L1.1: if (cmd.length() == 0) { final EntryComment comment = entry.getComment(cindex); - send(channel, Utils.buildComment(index, cindex, comment)); + send(channel, EntriesUtils.buildComment(index, cindex, comment)); } else if ("-".equals(cmd)) { // L1.1:- entry.deleteComment(cindex); send(channel, "Comment " + Commands.LINK_CMD + (index + 1) + '.' + (cindex + 1) + " removed."); @@ -1231,7 +1230,7 @@ public class Mobibot extends PircBot { if (cmd.length() > 1) { final EntryComment comment = entry.getComment(cindex); comment.setNick(cmd.substring(1)); - send(channel, Utils.buildComment(index, cindex, comment)); + send(channel, EntriesUtils.buildComment(index, cindex, comment)); saveEntries(false); } } else { @@ -1241,7 +1240,7 @@ public class Mobibot extends PircBot { entry.setComment(cindex, cmd, sender); final EntryComment comment = entry.getComment(cindex); - send(sender, Utils.buildComment(index, cindex, comment)); + send(sender, EntriesUtils.buildComment(index, cindex, comment)); saveEntries(false); } } @@ -1255,14 +1254,6 @@ public class Mobibot extends PircBot { tell.send(sender, true); } - /** - * {@inheritDoc} - */ - @Override - protected void onNickChange(final String oldNick, final String login, final String hostname, final String newNick) { - tell.send(newNick); - } - /** * {@inheritDoc} */ @@ -1373,6 +1364,36 @@ public class Mobibot extends PircBot { } } + /** + * {@inheritDoc} + */ + @Override + protected final void onAction(final String sender, + final String login, + final String hostname, + final String target, + final String action) { + if (target.equals(ircChannel)) { + storeRecap(sender, action, true); + } + } + + /** + * {@inheritDoc} + */ + @Override + protected void onJoin(final String channel, final String sender, final String login, final String hostname) { + tell.send(sender); + } + + /** + * {@inheritDoc} + */ + @Override + protected void onNickChange(final String oldNick, final String login, final String hostname, final String newNick) { + tell.send(newNick); + } + /** * Responds with the last 10 public messages. * @@ -1657,7 +1678,7 @@ public class Mobibot extends PircBot { break; } - send(sender, Utils.buildLink(i, entry, true), isPrivate); + send(sender, EntriesUtils.buildLink(i, entry, true), isPrivate); sent++; } } else { @@ -1670,7 +1691,7 @@ public class Mobibot extends PircBot { break; } - send(sender, Utils.buildLink(i, entry, true), isPrivate); + send(sender, EntriesUtils.buildLink(i, entry, true), isPrivate); sent++; } } diff --git a/src/main/java/net/thauvin/erik/mobibot/Pinboard.java b/src/main/java/net/thauvin/erik/mobibot/Pinboard.java index d7b5274..175fdc4 100644 --- a/src/main/java/net/thauvin/erik/mobibot/Pinboard.java +++ b/src/main/java/net/thauvin/erik/mobibot/Pinboard.java @@ -32,6 +32,7 @@ package net.thauvin.erik.mobibot; +import net.thauvin.erik.mobibot.entries.EntryLink; import net.thauvin.erik.pinboard.PinboardPoster; import javax.swing.SwingWorker; diff --git a/src/main/java/net/thauvin/erik/mobibot/Utils.java b/src/main/java/net/thauvin/erik/mobibot/Utils.java index e754c69..d9ca5be 100644 --- a/src/main/java/net/thauvin/erik/mobibot/Utils.java +++ b/src/main/java/net/thauvin/erik/mobibot/Utils.java @@ -74,73 +74,7 @@ public final class Utils { * @return The bold string. */ public static String bold(final String s) { - return colorize(s, Colors.BOLD); - } - - /** - * Builds an entry's comment for display on the channel. - * - * @param entryIndex The entry's index. - * @param commentIndex The comment's index. - * @param comment The {@link net.thauvin.erik.mobibot.EntryComment comment} object. - * @return The entry's comment. - */ - static String buildComment(final int entryIndex, final int commentIndex, final EntryComment comment) { - return (Commands.LINK_CMD + (entryIndex + 1) + '.' + (commentIndex + 1) + ": [" + comment.getNick() + "] " - + comment.getComment()); - } - - /** - * Builds an entry's link for display on the channel. - * - * @param index The entry's index. - * @param entry The {@link net.thauvin.erik.mobibot.EntryLink entry} object. - * @return The entry's link. - * @see #buildLink(int, net.thauvin.erik.mobibot.EntryLink, boolean) - */ - static String buildLink(final int index, final EntryLink entry) { - return buildLink(index, entry, false); - } - - /** - * Builds an entry's link for display on the channel. - * - * @param index The entry's index. - * @param entry The {@link net.thauvin.erik.mobibot.EntryLink entry} object. - * @param isView Set to true to display the number of comments. - * @return The entry's link. - */ - static String buildLink(final int index, final EntryLink entry, final boolean isView) { - final StringBuilder buff = new StringBuilder(Commands.LINK_CMD + (index + 1) + ": "); - - buff.append('[').append(entry.getNick()).append(']'); - - if (isView && entry.hasComments()) { - buff.append("[+").append(entry.getCommentsCount()).append(']'); - } - - buff.append(' '); - - if (Mobibot.NO_TITLE.equals(entry.getTitle())) { - buff.append(entry.getTitle()); - } else { - buff.append(bold(entry.getTitle())); - } - - buff.append(" ( ").append(Utils.green(entry.getLink())).append(" )"); - - return buff.toString(); - } - - /** - * Build an entry's tags/categories for display on the channel. - * - * @param entryIndex The entry's index. - * @param entry The {@link net.thauvin.erik.mobibot.EntryLink entry} object. - * @return The entry's tags. - */ - static String buildTags(final int entryIndex, final EntryLink entry) { - return (Commands.LINK_CMD + (entryIndex + 1) + "T: " + entry.getPinboardTags().replaceAll(",", ", ")); + return colorize(s, Colors.BOLD); } /** diff --git a/src/main/java/net/thauvin/erik/mobibot/EntriesMgr.java b/src/main/java/net/thauvin/erik/mobibot/entries/EntriesMgr.java similarity index 98% rename from src/main/java/net/thauvin/erik/mobibot/EntriesMgr.java rename to src/main/java/net/thauvin/erik/mobibot/entries/EntriesMgr.java index a85efd8..1e485b9 100644 --- a/src/main/java/net/thauvin/erik/mobibot/EntriesMgr.java +++ b/src/main/java/net/thauvin/erik/mobibot/entries/EntriesMgr.java @@ -30,7 +30,7 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -package net.thauvin.erik.mobibot; +package net.thauvin.erik.mobibot.entries; import com.rometools.rome.feed.synd.SyndContent; import com.rometools.rome.feed.synd.SyndContentImpl; @@ -41,6 +41,8 @@ import com.rometools.rome.feed.synd.SyndFeedImpl; import com.rometools.rome.io.FeedException; import com.rometools.rome.io.SyndFeedInput; import com.rometools.rome.io.SyndFeedOutput; +import net.thauvin.erik.mobibot.Mobibot; +import net.thauvin.erik.mobibot.Utils; import java.io.FileInputStream; import java.io.FileOutputStream; @@ -60,7 +62,7 @@ import java.util.List; * @created 2014-04-28 * @since 1.0 */ -final class EntriesMgr { +public final class EntriesMgr { /** * The name of the file containing the current entries. */ diff --git a/src/main/java/net/thauvin/erik/mobibot/entries/EntriesUtils.java b/src/main/java/net/thauvin/erik/mobibot/entries/EntriesUtils.java new file mode 100644 index 0000000..c22bae2 --- /dev/null +++ b/src/main/java/net/thauvin/erik/mobibot/entries/EntriesUtils.java @@ -0,0 +1,118 @@ +/* + * EntriesUtils.java + * + * Copyright (c) 2004-2019, Erik C. Thauvin (erik@thauvin.net) + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * Neither the name of this project nor the names of its contributors may be + * used to endorse or promote products derived from this software without + * specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package net.thauvin.erik.mobibot.entries; + +import net.thauvin.erik.mobibot.Commands; +import net.thauvin.erik.mobibot.Constants; + +/** + * The Utils class. + * + * @author Erik C. Thauvin + * @created 2019-04-19 + * @since 1.0 + */ +public final class EntriesUtils { + /** + * Disables the default constructor. + */ + private EntriesUtils() { + throw new UnsupportedOperationException("Illegal constructor call."); + } + + /** + * Builds an entry's comment for display on the channel. + * + * @param entryIndex The entry's index. + * @param commentIndex The comment's index. + * @param comment The {@link EntryComment comment} object. + * @return The entry's comment. + */ + public static String buildComment(final int entryIndex, final int commentIndex, final EntryComment comment) { + return (Commands.LINK_CMD + (entryIndex + 1) + '.' + (commentIndex + 1) + ": [" + comment.getNick() + "] " + + comment.getComment()); + } + + /** + * Builds an entry's link for display on the channel. + * + * @param index The entry's index. + * @param entry The {@link EntryLink entry} object. + * @return The entry's link. + * @see #buildLink(int, EntryLink, boolean) + */ + public static String buildLink(final int index, final EntryLink entry) { + return buildLink(index, entry, false); + } + + /** + * Builds an entry's link for display on the channel. + * + * @param index The entry's index. + * @param entry The {@link EntryLink entry} object. + * @param isView Set to true to display the number of comments. + * @return The entry's link. + */ + public static String buildLink(final int index, final EntryLink entry, final boolean isView) { + final StringBuilder buff = new StringBuilder(Commands.LINK_CMD + (index + 1) + ": "); + + buff.append('[').append(entry.getNick()).append(']'); + + if (isView && entry.hasComments()) { + buff.append("[+").append(entry.getCommentsCount()).append(']'); + } + + buff.append(' '); + + if (Constants.NO_TITLE.equals(entry.getTitle())) { + buff.append(entry.getTitle()); + } else { + buff.append(net.thauvin.erik.mobibot.Utils.bold(entry.getTitle())); + } + + buff.append(" ( ").append(net.thauvin.erik.mobibot.Utils.green(entry.getLink())).append(" )"); + + return buff.toString(); + } + + /** + * Build an entry's tags/categories for display on the channel. + * + * @param entryIndex The entry's index. + * @param entry The {@link EntryLink entry} object. + * @return The entry's tags. + */ + public static String buildTags(final int entryIndex, final EntryLink entry) { + return (Commands.LINK_CMD + (entryIndex + 1) + "T: " + entry.getPinboardTags().replaceAll(",", ", ")); + } +} diff --git a/src/main/java/net/thauvin/erik/mobibot/EntryComment.java b/src/main/java/net/thauvin/erik/mobibot/entries/EntryComment.java similarity index 98% rename from src/main/java/net/thauvin/erik/mobibot/EntryComment.java rename to src/main/java/net/thauvin/erik/mobibot/entries/EntryComment.java index 0088f9f..825ed3c 100644 --- a/src/main/java/net/thauvin/erik/mobibot/EntryComment.java +++ b/src/main/java/net/thauvin/erik/mobibot/entries/EntryComment.java @@ -30,7 +30,7 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -package net.thauvin.erik.mobibot; +package net.thauvin.erik.mobibot.entries; import java.io.Serializable; import java.time.LocalDateTime; diff --git a/src/main/java/net/thauvin/erik/mobibot/EntryLink.java b/src/main/java/net/thauvin/erik/mobibot/entries/EntryLink.java similarity index 99% rename from src/main/java/net/thauvin/erik/mobibot/EntryLink.java rename to src/main/java/net/thauvin/erik/mobibot/entries/EntryLink.java index 9a4405d..021060f 100644 --- a/src/main/java/net/thauvin/erik/mobibot/EntryLink.java +++ b/src/main/java/net/thauvin/erik/mobibot/entries/EntryLink.java @@ -30,7 +30,7 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -package net.thauvin.erik.mobibot; +package net.thauvin.erik.mobibot.entries; import com.rometools.rome.feed.synd.SyndCategory; import com.rometools.rome.feed.synd.SyndCategoryImpl; diff --git a/src/main/java/net/thauvin/erik/mobibot/Tell.java b/src/main/java/net/thauvin/erik/mobibot/tell/Tell.java similarity index 98% rename from src/main/java/net/thauvin/erik/mobibot/Tell.java rename to src/main/java/net/thauvin/erik/mobibot/tell/Tell.java index 35d0a8c..57542df 100644 --- a/src/main/java/net/thauvin/erik/mobibot/Tell.java +++ b/src/main/java/net/thauvin/erik/mobibot/tell/Tell.java @@ -30,7 +30,11 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -package net.thauvin.erik.mobibot; +package net.thauvin.erik.mobibot.tell; + +import net.thauvin.erik.mobibot.Commands; +import net.thauvin.erik.mobibot.Mobibot; +import net.thauvin.erik.mobibot.Utils; import java.util.List; import java.util.concurrent.CopyOnWriteArrayList; diff --git a/src/main/java/net/thauvin/erik/mobibot/TellMessage.java b/src/main/java/net/thauvin/erik/mobibot/tell/TellMessage.java similarity index 99% rename from src/main/java/net/thauvin/erik/mobibot/TellMessage.java rename to src/main/java/net/thauvin/erik/mobibot/tell/TellMessage.java index 2b3c193..657fdaf 100644 --- a/src/main/java/net/thauvin/erik/mobibot/TellMessage.java +++ b/src/main/java/net/thauvin/erik/mobibot/tell/TellMessage.java @@ -30,7 +30,7 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -package net.thauvin.erik.mobibot; +package net.thauvin.erik.mobibot.tell; import java.io.Serializable; import java.time.Clock; diff --git a/src/main/java/net/thauvin/erik/mobibot/TellMessagesMgr.java b/src/main/java/net/thauvin/erik/mobibot/tell/TellMessagesMgr.java similarity index 96% rename from src/main/java/net/thauvin/erik/mobibot/TellMessagesMgr.java rename to src/main/java/net/thauvin/erik/mobibot/tell/TellMessagesMgr.java index 47c104b..6c9ca27 100644 --- a/src/main/java/net/thauvin/erik/mobibot/TellMessagesMgr.java +++ b/src/main/java/net/thauvin/erik/mobibot/tell/TellMessagesMgr.java @@ -30,7 +30,7 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -package net.thauvin.erik.mobibot; +package net.thauvin.erik.mobibot.tell; import org.apache.logging.log4j.Logger; @@ -93,7 +93,7 @@ final class TellMessagesMgr { * * @param file The serialized objects file. * @param logger The logger. - * @return The {@link net.thauvin.erik.mobibot.TellMessage} array. + * @return The {@link TellMessage} array. */ @SuppressWarnings("unchecked") public static List load(final String file, final Logger logger) { @@ -121,7 +121,7 @@ final class TellMessagesMgr { * Saves the messages. * * @param file The serialized objects file. - * @param messages The {@link net.thauvin.erik.mobibot.TellMessage} array. + * @param messages The {@link TellMessage} array. * @param logger The logger. */ public static void save(final String file, final List messages, final Logger logger) {