@Override public void process(IncomeMessage message) { List<Karma> result = repository.search(message.command().as(String.class)); if (result.isEmpty()) { message.reply("[e]No karma found[/e]"); } else { message.reply(result.stream() .map(Karma::message) .collect(Collectors.joining("\n"))); } }
@Override public void process(IncomeMessage message) { Fact fact = message.command().as(FactRequest.class).fetch(); message.reply(fact); }
@Override public void process(IncomeMessage message) { String token = message.command().as(String.class); if (this.requestManager.confirm(token)) { message.reply("Confirmation OK!"); } else { message.reply("[e]Invalid token[/e]"); } } }
@Override public void process(IncomeMessage message) { message.command().as(LookupCommand.class) .lookup() .and(message::reply) .orElseThrow(() -> new MessageProcessingException("Definition not found")); }
@Override public void process(IncomeMessage message) { message.command().as(WeatherCommand.class).search() .and(weather -> message.reply(buildResponse(weather))) .orElseThrow(() -> new MessageProcessingException("No weather forecast found")); }