From 7025e7449088396239fcd4416ffc1fbe217cac98 Mon Sep 17 00:00:00 2001 From: "Christian P. MOMON" Date: Mon, 25 Dec 2017 09:31:17 +0100 Subject: [PATCH] Fixed message catching. Added !vaten command. Modify !stop command. --- src/org/april/hebdobot/model/Hebdobot.java | 55 +++++++++++++++---- .../hebdobot/twitter/TwitterSettings.java | 24 ++++++++ 2 files changed, 68 insertions(+), 11 deletions(-) diff --git a/src/org/april/hebdobot/model/Hebdobot.java b/src/org/april/hebdobot/model/Hebdobot.java index 07aa1d4..32cd0c3 100644 --- a/src/org/april/hebdobot/model/Hebdobot.java +++ b/src/org/april/hebdobot/model/Hebdobot.java @@ -132,7 +132,7 @@ public class Hebdobot extends PircBot sendMessage(message); } - if (this.twitterSettings != null) + if (this.twitterSettings.isValid()) { String message = String.format("Revue hebdomadaire !april dans %dmin sur irc://irc.freenode.org/april ou http://apr1.org/8l", minutes); @@ -169,6 +169,31 @@ public class Hebdobot extends PircBot sendMessage(sender, "— !courant : affiche le sujet en cours"); sendMessage(sender, "— !manquants : affiche les participants qui n'ont pas répondu sur le dernier sujet"); sendMessage(sender, "— % message : un commentaire"); + sendMessage(sender, "— !stop : abandonner la revue en cours"); + sendMessage(sender, "— !vaten : faire partir le bot"); + } + else if (StringUtils.equalsIgnoreCase(text, "!vaten")) + { + logger.info("!die caught."); + + // Die. + if (this.review == null) + { + try + { + sendMessage(sender + ", ok bye."); + Thread.sleep(1000); + System.exit(0); + } + catch (InterruptedException exception) + { + logger.warn("Pause abord: " + exception.getMessage()); + } + } + else + { + sendMessage("% Une revue est en cours, arrêt impossible"); + } } else if (StringUtils.equalsIgnoreCase(text, "!stop")) { @@ -177,12 +202,11 @@ public class Hebdobot extends PircBot // Die. if (this.review == null) { - // TODO - // Context.close(); + sendMessage("Aucune revue en cours, arrêt impossible"); } else { - sendMessage("% Une revue est en cours, arrêt impossible"); + this.review = null; } } else if ((StringUtils.equalsIgnoreCase(text, "!debut")) || (StringUtils.equalsIgnoreCase(text, "!début"))) @@ -201,7 +225,7 @@ public class Hebdobot extends PircBot logger.info("!fin caught."); // Stop. - if (this.review != null) + if (this.review == null) { sendMessage(sender + ", pas de revue en cours."); } @@ -216,6 +240,7 @@ public class Hebdobot extends PircBot String textReview = this.review.toString(); if (this.pastebinSettings.isValid()) { + logger.info("Pastebin the review."); try { PastebinClient pastebinClient = new PastebinClient(this.pastebinSettings.getApiKey()); @@ -232,10 +257,11 @@ public class Hebdobot extends PircBot if (this.reviewFileSuffix != null) { + logger.info("Write review file."); try { File file = new File(date + "_" + this.reviewFileSuffix); - FileUtils.writeStringToFile(file, text); + FileUtils.writeStringToFile(file, textReview); sendMessage("% Compte-rendu de la revue : " + file.getName()); } catch (final Exception exception) @@ -286,19 +312,19 @@ public class Hebdobot extends PircBot logger.info("\\s*#[^#].* caught."); // Individual topic. - if (this.review == null) + if (this.review != null) { if (this.review.isOwner(sender)) - { - sendMessage(sender + ", vous n'êtes pas le conducteur de la réunion"); - } - else { IndividualTopic topic = new IndividualTopic(text.replaceFirst("#", "").trim()); this.review.begin(topic); sendMessage("Sujet individuel : " + topic.getTitle()); sendMessage("% quand vous avez fini vous le dites par % fini"); } + else + { + sendMessage(sender + ", vous n'êtes pas le conducteur de la réunion"); + } } } else if (StringUtils.equalsIgnoreCase(text, "!manquants")) @@ -374,6 +400,13 @@ public class Hebdobot extends PircBot this.review.add(new Message(sender, text)); } } + else if (text.startsWith("!")) + { + logger.info("!??? caught."); + + // Command unknown. + sendMessage(sender + ", command unknown: " + text); + } else { logger.info("Else caught."); diff --git a/src/org/april/hebdobot/twitter/TwitterSettings.java b/src/org/april/hebdobot/twitter/TwitterSettings.java index 999862a..53b2493 100644 --- a/src/org/april/hebdobot/twitter/TwitterSettings.java +++ b/src/org/april/hebdobot/twitter/TwitterSettings.java @@ -18,6 +18,8 @@ */ package org.april.hebdobot.twitter; +import org.apache.commons.lang3.StringUtils; + /** * The Class TwitterSettings. */ @@ -62,6 +64,28 @@ public class TwitterSettings return this.consumerSecret; } + /** + * Checks if is valid. + * + * @return true, if is valid + */ + public boolean isValid() + { + boolean result; + + if ((StringUtils.isBlank(this.consumerKey)) || (StringUtils.isBlank(this.consumerSecret))) + { + result = false; + } + else + { + result = true; + } + + // + return result; + } + public void setAccessToken(final String accessToken) { this.accessToken = accessToken;