ChatHelper.java 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. package in.ocsf.these.days.app.messaging;/* kpmy 20.02.2017 */
  2. import com.pengrad.telegrambot.Callback;
  3. import com.pengrad.telegrambot.TelegramBot;
  4. import com.pengrad.telegrambot.TelegramBotAdapter;
  5. import com.pengrad.telegrambot.model.request.ParseMode;
  6. import com.pengrad.telegrambot.request.SendMessage;
  7. import com.pengrad.telegrambot.response.SendResponse;
  8. import org.apache.log4j.Logger;
  9. import org.springframework.beans.factory.annotation.Value;
  10. import org.springframework.scheduling.annotation.Async;
  11. import org.springframework.stereotype.Service;
  12. import java.io.IOException;
  13. import java.util.ArrayList;
  14. import java.util.List;
  15. import java.util.Optional;
  16. @Service
  17. public class ChatHelper {
  18. private final Logger log = Logger.getLogger(getClass());
  19. @Value("${these-days.bot.token}")
  20. private String token;
  21. @Async
  22. public void sendSimpleTextMessage(Long chatId, String text) {
  23. //Keyboard keyboard = new ReplyKeyboardMarkup(new String[][]{{"пырвет"}});
  24. sendMessage(new SendMessage(chatId, text).parseMode(ParseMode.Markdown));
  25. }
  26. public Optional<SendResponse> sendMessage(SendMessage request) {
  27. TelegramBot bot = TelegramBotAdapter.build(token);
  28. List<SendResponse> responseList = new ArrayList<>();
  29. bot.execute(request, new Callback<SendMessage, SendResponse>() {
  30. @Override
  31. public void onResponse(SendMessage request, SendResponse response) {
  32. responseList.add(response);
  33. }
  34. @Override
  35. public void onFailure(SendMessage request, IOException e) {
  36. e.printStackTrace();
  37. }
  38. });
  39. return !responseList.isEmpty() ? Optional.of(responseList.get(0)) : Optional.empty();
  40. }
  41. }