Fixed bug in duration statistics. Added review wait time check. Disable

!fin when there is no user.
This commit is contained in:
Christian P. MOMON 2018-05-19 10:35:22 +02:00
parent 6e4dd6e77b
commit 88559ae786
1 changed files with 31 additions and 17 deletions

View File

@ -316,24 +316,32 @@ public class Hebdobot extends PircBot
{ {
logger.info("!debut caught."); logger.info("!debut caught.");
// Start. if ((this.reviewWaitTime != null) && (LocalTime.now().isBefore(this.reviewWaitTime)))
if (this.cronManager != null)
{ {
try sendMessage(sender + ", ce n'est pas encore l'heure.");
{ }
this.cronManager.shutdown(); else
} {
catch (SchedulerException exception) // Start.
{ if (this.cronManager != null)
logger.warn("Scheduler shutdown failed.", exception); {
} try
{
this.cronManager.shutdown();
}
catch (SchedulerException exception)
{
logger.warn("Scheduler shutdown failed.", exception);
}
}
this.review = new Review(sender, this.aliases);
sendMessage(sender, "Bonjour " + sender + ", vous êtes le conducteur de réunion.");
sendMessage(sender, "Pour terminer la réunion, tapez \"!fin\"");
sendMessage("% Début de la réunion hebdomadaire");
sendMessage(
"% rappel : toute ligne commençant par % sera considérée comme un commentaire et non prise en compte dans la synthèse");
sendMessage("% pour connaître le point courant, taper !courant");
} }
this.review = new Review(sender, this.aliases);
sendMessage(sender, "Bonjour " + sender + ", vous êtes le conducteur de réunion.");
sendMessage(sender, "Pour terminer la réunion, tapez \"!fin\"");
sendMessage("% Début de la réunion hebdomadaire");
sendMessage("% rappel : toute ligne commençant par % sera considérée comme un commentaire et non prise en compte dans la synthèse");
sendMessage("% pour connaître le point courant, taper !courant");
} }
else if (StringUtils.equalsIgnoreCase(text, "!fin")) else if (StringUtils.equalsIgnoreCase(text, "!fin"))
{ {
@ -348,6 +356,11 @@ public class Hebdobot extends PircBot
{ {
sendMessage(sender + ", vous n'êtes pas le conducteur de la réunion"); sendMessage(sender + ", vous n'êtes pas le conducteur de la réunion");
} }
else if (this.review.getParticipants().size() == 0)
{
sendMessage("Aucun participant détecté. La revue est ignorée.");
this.review = null;
}
else else
{ {
String date = LocalDate.now().format(DateTimeFormatter.BASIC_ISO_DATE); String date = LocalDate.now().format(DateTimeFormatter.BASIC_ISO_DATE);
@ -414,12 +427,13 @@ public class Hebdobot extends PircBot
{ {
ReviewDatas datas = ReviewDatasFile.load(reviewDataFile); ReviewDatas datas = ReviewDatasFile.load(reviewDataFile);
datas.clean(); datas.clean();
sendMessage("% " + ReviewStatsReporter.reportNewMaxUserCount(datas, this.review.getParticipants().size())); sendMessage("% " + ReviewStatsReporter.reportNewMaxUserCount(datas, this.review.getParticipants().size()));
ReviewData currentReview = new ReviewData(LocalDateTime.now(), this.review.getParticipants().size(), ReviewData currentReview = new ReviewData(LocalDateTime.now(), this.review.getParticipants().size(),
(int) this.review.getDurationInMinutes()); (int) this.review.getDurationInMinutes());
datas.add(currentReview); datas.add(currentReview);
sendMessage("% " + ReviewStatsReporter.reportUserCount(datas, currentReview.getUserCount())); sendMessage("% " + ReviewStatsReporter.reportUserCount(datas, currentReview.getUserCount()));
sendMessage("% " + ReviewStatsReporter.reportDuration(datas, currentReview.getUserCount())); sendMessage("% " + ReviewStatsReporter.reportDuration(datas, currentReview.getDuration()));
if (this.review.getParticipants().size() > 1) if (this.review.getParticipants().size() > 1)
{ {