Named explicitly the bot class as Hebdobot.

This commit is contained in:
Christian P. MOMON 2017-12-14 17:14:59 +01:00
parent c38e987611
commit ab223bb6be
4 changed files with 66 additions and 66 deletions

View File

@ -29,7 +29,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.context.support.FileSystemXmlApplicationContext; import org.springframework.context.support.FileSystemXmlApplicationContext;
import fr.imirhil.april.hebdobot.irc.Bot; import fr.imirhil.april.hebdobot.irc.Hebdobot;
import fr.imirhil.april.hebdobot.irc.ReviewListener; import fr.imirhil.april.hebdobot.irc.ReviewListener;
import fr.imirhil.april.hebdobot.pastebin.PastebinClient; import fr.imirhil.april.hebdobot.pastebin.PastebinClient;
import fr.imirhil.april.hebdobot.pastebin.Private; import fr.imirhil.april.hebdobot.pastebin.Private;
@ -45,7 +45,7 @@ public class Application implements ReviewListener
private static final String FILE_SUFFIX = "file.suffix"; private static final String FILE_SUFFIX = "file.suffix";
private final Properties properties; private final Properties properties;
private final Bot bot; private final Hebdobot bot;
private final PastebinClient pastebinClient; private final PastebinClient pastebinClient;
/** /**
@ -57,7 +57,7 @@ public class Application implements ReviewListener
private Application() throws Exception private Application() throws Exception
{ {
this.properties = Context.getBean("properties"); this.properties = Context.getBean("properties");
this.bot = Context.getBean(Bot.class); this.bot = Context.getBean(Hebdobot.class);
this.pastebinClient = Context.getBean(PastebinClient.class); this.pastebinClient = Context.getBean(PastebinClient.class);
this.bot.add(this); this.bot.add(this);
} }

View File

@ -23,7 +23,7 @@ import javax.annotation.Resource;
import org.springframework.social.twitter.api.impl.TwitterTemplate; import org.springframework.social.twitter.api.impl.TwitterTemplate;
import fr.imirhil.april.hebdobot.irc.Bot; import fr.imirhil.april.hebdobot.irc.Hebdobot;
/** /**
* The Class Job. * The Class Job.
@ -31,7 +31,7 @@ import fr.imirhil.april.hebdobot.irc.Bot;
public class Job public class Job
{ {
@Resource @Resource
private Bot bot; private Hebdobot bot;
@Resource @Resource
private TwitterTemplate twitterClient; private TwitterTemplate twitterClient;
private String tweet; private String tweet;

View File

@ -40,9 +40,9 @@ import fr.imirhil.april.hebdobot.review.Topic;
/** /**
* The Class Bot. * The Class Bot.
*/ */
public class Bot extends PircBot public class Hebdobot extends PircBot
{ {
private static final Logger logger = LoggerFactory.getLogger(Bot.class); private static final Logger logger = LoggerFactory.getLogger(Hebdobot.class);
private final String host; private final String host;
private final int port; private final int port;
@ -63,7 +63,7 @@ public class Bot extends PircBot
* @param channel * @param channel
* the channel * the channel
*/ */
public Bot(final String host, final int port, final String name, final String channel) public Hebdobot(final String host, final int port, final String name, final String channel)
{ {
this.host = host; this.host = host;
this.port = port; this.port = port;
@ -158,17 +158,17 @@ public class Bot extends PircBot
if (StringUtils.equalsIgnoreCase(message, "!help")) if (StringUtils.equalsIgnoreCase(message, "!help"))
{ {
Bot.this.sendMessage(sender, "Bienvenue " + sender); Hebdobot.this.sendMessage(sender, "Bienvenue " + sender);
Bot.this.sendMessage(sender, "Je suis " + Bot.this.getName() + ", le robot de gestion des revues hebdomadaires de l'APRIL"); Hebdobot.this.sendMessage(sender, "Je suis " + Hebdobot.this.getName() + ", le robot de gestion des revues hebdomadaires de l'APRIL");
Bot.this.sendMessage(sender, "Voici les commandes que je comprend :"); Hebdobot.this.sendMessage(sender, "Voici les commandes que je comprend :");
Bot.this.sendMessage(sender, " "); Hebdobot.this.sendMessage(sender, " ");
Bot.this.sendMessage(sender, "— !debut : commencer une nouvelle revue"); Hebdobot.this.sendMessage(sender, "— !debut : commencer une nouvelle revue");
Bot.this.sendMessage(sender, "— !fin : terminer la revue en cours"); Hebdobot.this.sendMessage(sender, "— !fin : terminer la revue en cours");
Bot.this.sendMessage(sender, "— # titre : démarrer un sujet individuel"); Hebdobot.this.sendMessage(sender, "— # titre : démarrer un sujet individuel");
Bot.this.sendMessage(sender, "— ## titre : démarrer un sujet collectif"); Hebdobot.this.sendMessage(sender, "— ## titre : démarrer un sujet collectif");
Bot.this.sendMessage(sender, "— !courant : affiche le sujet en cours"); Hebdobot.this.sendMessage(sender, "— !courant : affiche le sujet en cours");
Bot.this.sendMessage(sender, "— !manquants : affiche les participants qui n'ont pas répondu sur le dernier sujet"); Hebdobot.this.sendMessage(sender, "— !manquants : affiche les participants qui n'ont pas répondu sur le dernier sujet");
Bot.this.sendMessage(sender, "— % message : un commentaire"); Hebdobot.this.sendMessage(sender, "— % message : un commentaire");
result = true; result = true;
} }
else else
@ -196,9 +196,9 @@ public class Bot extends PircBot
{ {
result = false; result = false;
} }
else if (Bot.this.review != null) else if (Hebdobot.this.review != null)
{ {
Bot.this.sendMessage("% Une revue est en cours, arrêt impossible"); Hebdobot.this.sendMessage("% Une revue est en cours, arrêt impossible");
result = false; result = false;
} }
else else
@ -229,11 +229,11 @@ public class Bot extends PircBot
} }
else else
{ {
Bot.this.review = new Review(sender); Hebdobot.this.review = new Review(sender);
Bot.this.sendMessage(sender, "Vous êtes le conducteur de réunion"); Hebdobot.this.sendMessage(sender, "Vous êtes le conducteur de réunion");
Bot.this.sendMessage(sender, "Pour terminer la réunion, tapez \"!fin\""); Hebdobot.this.sendMessage(sender, "Pour terminer la réunion, tapez \"!fin\"");
Bot.this.sendMessage("% Début de la réunion hebdomadaire"); Hebdobot.this.sendMessage("% Début de la réunion hebdomadaire");
Bot.this.sendMessage( Hebdobot.this.sendMessage(
"% rappel : toute ligne commençant par % sera considérée comme un commentaire et non prise en compte dans la synthèse"); "% rappel : toute ligne commençant par % sera considérée comme un commentaire et non prise en compte dans la synthèse");
result = true; result = true;
} }
@ -254,30 +254,30 @@ public class Bot extends PircBot
{ {
boolean result; boolean result;
if (Bot.this.review == null || !StringUtils.equalsIgnoreCase(message, "!fin")) if (Hebdobot.this.review == null || !StringUtils.equalsIgnoreCase(message, "!fin"))
{ {
result = false; result = false;
} }
else else
{ {
if (!Bot.this.review.isOwner(sender)) if (!Hebdobot.this.review.isOwner(sender))
{ {
Bot.this.sendMessage(sender + ", vous n'êtes pas le conducteur de la réunion"); Hebdobot.this.sendMessage(sender + ", vous n'êtes pas le conducteur de la réunion");
result = false; result = false;
} }
else else
{ {
for (final ReviewListener listener : Bot.this.listeners) for (final ReviewListener listener : Hebdobot.this.listeners)
{ {
listener.onEnd(Bot.this.review); listener.onEnd(Hebdobot.this.review);
} }
Bot.this.sendMessage("% " + Bot.this.review.getOwner() Hebdobot.this.sendMessage("% " + Hebdobot.this.review.getOwner()
+ ", ne pas oublier d'ajouter le compte-rendu de la revue sur https://agir.april.org/issues/135"); + ", ne pas oublier d'ajouter le compte-rendu de la revue sur https://agir.april.org/issues/135");
final String participants = StringUtils.join(Bot.this.review.getParticipants(), " "); final String participants = StringUtils.join(Hebdobot.this.review.getParticipants(), " ");
Bot.this.sendMessage("% " + participants + ", pensez à noter votre bénévalo : http://www.april.org/my?action=benevalo"); Hebdobot.this.sendMessage("% " + participants + ", pensez à noter votre bénévalo : http://www.april.org/my?action=benevalo");
Bot.this.sendMessage("% Fin de la revue hebdomadaire"); Hebdobot.this.sendMessage("% Fin de la revue hebdomadaire");
Bot.this.review = null; Hebdobot.this.review = null;
result = true; result = true;
} }
@ -299,30 +299,30 @@ public class Bot extends PircBot
{ {
boolean result; boolean result;
if (Bot.this.review == null || !message.matches("\\s*##.*")) if (Hebdobot.this.review == null || !message.matches("\\s*##.*"))
{ {
result = false; result = false;
} }
else else
{ {
if (Bot.this.review.isOwner(sender)) if (Hebdobot.this.review.isOwner(sender))
{ {
final CollectiveTopic topic = new CollectiveTopic(message.replaceFirst("##", "").trim()); final CollectiveTopic topic = new CollectiveTopic(message.replaceFirst("##", "").trim());
Bot.this.review.begin(topic); Hebdobot.this.review.begin(topic);
Bot.this.sendMessage("Sujet collectif : " + topic.getTitle()); Hebdobot.this.sendMessage("Sujet collectif : " + topic.getTitle());
if (topic.getTitle().toLowerCase().contains("bloquage")) if (topic.getTitle().toLowerCase().contains("bloquage"))
{ {
Bot.this.sendMessage("% si rien à dire vous pouvez dire %ras"); Hebdobot.this.sendMessage("% si rien à dire vous pouvez dire %ras");
} }
else else
{ {
Bot.this.sendMessage("% 1 minute max"); Hebdobot.this.sendMessage("% 1 minute max");
} }
result = true; result = true;
} }
else else
{ {
Bot.this.sendMessage(sender + ", vous n'êtes pas le conducteur de la réunion"); Hebdobot.this.sendMessage(sender + ", vous n'êtes pas le conducteur de la réunion");
result = false; result = false;
} }
} }
@ -343,23 +343,23 @@ public class Bot extends PircBot
{ {
boolean result; boolean result;
if (Bot.this.review == null || !message.matches("\\s*#[^#].*")) if (Hebdobot.this.review == null || !message.matches("\\s*#[^#].*"))
{ {
result = false; result = false;
} }
else else
{ {
if (Bot.this.review.isOwner(sender)) if (Hebdobot.this.review.isOwner(sender))
{ {
Bot.this.sendMessage(sender + ", vous n'êtes pas le conducteur de la réunion"); Hebdobot.this.sendMessage(sender + ", vous n'êtes pas le conducteur de la réunion");
result = false; result = false;
} }
else else
{ {
final IndividualTopic topic = new IndividualTopic(message.replaceFirst("#", "").trim()); final IndividualTopic topic = new IndividualTopic(message.replaceFirst("#", "").trim());
Bot.this.review.begin(topic); Hebdobot.this.review.begin(topic);
Bot.this.sendMessage("Sujet individuel : " + topic.getTitle()); Hebdobot.this.sendMessage("Sujet individuel : " + topic.getTitle());
Bot.this.sendMessage("% quand vous avez fini vous le dites par % fini"); Hebdobot.this.sendMessage("% quand vous avez fini vous le dites par % fini");
result = true; result = true;
} }
} }
@ -380,32 +380,32 @@ public class Bot extends PircBot
{ {
boolean result; boolean result;
if (Bot.this.review == null || !StringUtils.equalsIgnoreCase(message, "!manquants")) if (Hebdobot.this.review == null || !StringUtils.equalsIgnoreCase(message, "!manquants"))
{ {
result = false; result = false;
} }
else else
{ {
final Topic topic = Bot.this.review.getCurrentTopic(); final Topic topic = Hebdobot.this.review.getCurrentTopic();
if (topic == null) if (topic == null)
{ {
Bot.this.sendMessage("Aucun sujet traité"); Hebdobot.this.sendMessage("Aucun sujet traité");
result = true; result = true;
} }
else else
{ {
final Collection<String> participants = Bot.this.review.getParticipants(); final Collection<String> participants = Hebdobot.this.review.getParticipants();
final Collection<String> currentParticipants = topic.getParticipants(); final Collection<String> currentParticipants = topic.getParticipants();
final Collection<String> missing = CollectionUtils.subtract(participants, currentParticipants); final Collection<String> missing = CollectionUtils.subtract(participants, currentParticipants);
if (missing.isEmpty()) if (missing.isEmpty())
{ {
Bot.this.sendMessage("Aucun participant manquant \\o/"); Hebdobot.this.sendMessage("Aucun participant manquant \\o/");
result = true; result = true;
} }
else else
{ {
Bot.this.sendMessage(String.format("Les participants suivants sont manquants : %1s", StringUtils.join(missing, ", "))); Hebdobot.this.sendMessage(String.format("Les participants suivants sont manquants : %1s", StringUtils.join(missing, ", ")));
result = true; result = true;
} }
} }
@ -427,24 +427,24 @@ public class Bot extends PircBot
{ {
boolean result; boolean result;
if (Bot.this.review == null || !StringUtils.equalsIgnoreCase(message, "!courant")) if (Hebdobot.this.review == null || !StringUtils.equalsIgnoreCase(message, "!courant"))
{ {
result = false; result = false;
} }
else else
{ {
final Topic current = Bot.this.review.getCurrentTopic(); final Topic current = Hebdobot.this.review.getCurrentTopic();
if (current == null) if (current == null)
{ {
Bot.this.sendMessage("% Pas de sujet en cours"); Hebdobot.this.sendMessage("% Pas de sujet en cours");
} }
else if (current instanceof IndividualTopic) else if (current instanceof IndividualTopic)
{ {
Bot.this.sendMessage("% Sujet individuel en cours : " + current.getTitle()); Hebdobot.this.sendMessage("% Sujet individuel en cours : " + current.getTitle());
} }
else if (current instanceof CollectiveTopic) else if (current instanceof CollectiveTopic)
{ {
Bot.this.sendMessage("% Sujet collectif en cours : " + current.getTitle()); Hebdobot.this.sendMessage("% Sujet collectif en cours : " + current.getTitle());
} }
result = true; result = true;
@ -466,13 +466,13 @@ public class Bot extends PircBot
{ {
boolean result; boolean result;
if (Bot.this.review == null || message.startsWith("%")) if (Hebdobot.this.review == null || message.startsWith("%"))
{ {
result = false; result = false;
} }
else else
{ {
Bot.this.review.add(new Message(sender, message)); Hebdobot.this.review.add(new Message(sender, message));
result = true; result = true;
} }
@ -492,13 +492,13 @@ public class Bot extends PircBot
{ {
boolean result; boolean result;
if (Bot.this.review == null) if (Hebdobot.this.review == null)
{ {
result = false; result = false;
} }
else else
{ {
Bot.this.review.addRaw(new Message(sender, message)); Hebdobot.this.review.addRaw(new Message(sender, message));
result = true; result = true;
} }

View File

@ -48,7 +48,7 @@ public class BotTest implements ReviewListener
/** /**
* The Class BotMock. * The Class BotMock.
*/ */
private static class BotMock extends Bot private static class BotMock extends Hebdobot
{ {
/** /**
* Instantiates a new bot mock. * Instantiates a new bot mock.
@ -99,7 +99,7 @@ public class BotTest implements ReviewListener
@Test @Test
public void redo() throws Exception public void redo() throws Exception
{ {
final Bot bot = new BotMock(); final Hebdobot bot = new BotMock();
bot.add(this); bot.add(this);
final InputStream is = BotTest.class.getResourceAsStream("/fr/imirhil/april/hebdobot/review.log"); final InputStream is = BotTest.class.getResourceAsStream("/fr/imirhil/april/hebdobot/review.log");