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.");
// Start.
if (this.cronManager != null)
if ((this.reviewWaitTime != null) && (LocalTime.now().isBefore(this.reviewWaitTime)))
{
try
{
this.cronManager.shutdown();
}
catch (SchedulerException exception)
{
logger.warn("Scheduler shutdown failed.", exception);
}
sendMessage(sender + ", ce n'est pas encore l'heure.");
}
else
{
// Start.
if (this.cronManager != null)
{
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"))
{
@ -348,6 +356,11 @@ public class Hebdobot extends PircBot
{
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
{
String date = LocalDate.now().format(DateTimeFormatter.BASIC_ISO_DATE);
@ -414,12 +427,13 @@ public class Hebdobot extends PircBot
{
ReviewDatas datas = ReviewDatasFile.load(reviewDataFile);
datas.clean();
sendMessage("% " + ReviewStatsReporter.reportNewMaxUserCount(datas, this.review.getParticipants().size()));
ReviewData currentReview = new ReviewData(LocalDateTime.now(), this.review.getParticipants().size(),
(int) this.review.getDurationInMinutes());
datas.add(currentReview);
sendMessage("% " + ReviewStatsReporter.reportUserCount(datas, currentReview.getUserCount()));
sendMessage("% " + ReviewStatsReporter.reportDuration(datas, currentReview.getUserCount()));
sendMessage("% " + ReviewStatsReporter.reportDuration(datas, currentReview.getDuration()));
if (this.review.getParticipants().size() > 1)
{