package pl.touk.chat.bot.janusz.hipchat; import com.ep.hippyjava.HippyJava; import com.ep.hippyjava.bot.HippyBot; import com.ep.hippyjava.model.Room; import pl.touk.chat.bot.janusz.JanuszCommander; import pl.touk.chat.bot.janusz.JanuszListener; import pl.touk.chat.bot.janusz.config.JanuszConfiguration; import javax.annotation.Resource; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; public class HippyJanusz extends HippyBot implements JanuszListener { @Resource private JanuszConfiguration januszConfiguration; @Resource private JanuszCommander januszCommander; private ExecutorService executorService = Executors.newSingleThreadExecutor(); @Override public void listen() { //runBot() is blocking executorService.execute(() -> HippyJava.runBot(HippyJanusz.this)); } @Override public void receiveMessage(String message, String sender, Room room) { januszCommander.processCommand(message, sender, result -> room.sendMessage(result, nickname())); } @Override public String apiKey() { return januszConfiguration.hipchat.apiToken; } @Override public String username() { return januszConfiguration.hipchat.jid; } @Override public String nickname() { return januszConfiguration.nickname; } @Override public String password() { return januszConfiguration.hipchat.password; } @Override public boolean isEnabled() { return januszConfiguration.hipchat.enabled; } @Override public void onLoad() { } }