UpdateHelper.java 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. package in.ocsf.these.days.app.messaging;/* kpmy 20.02.2017 */
  2. import com.pengrad.telegrambot.model.Update;
  3. import com.pengrad.telegrambot.model.User;
  4. import java.util.ArrayList;
  5. import java.util.Arrays;
  6. import java.util.List;
  7. public class UpdateHelper {
  8. private Update inner;
  9. private UpdateHelper() {
  10. }
  11. public static UpdateHelper from(Update update) {
  12. UpdateHelper uh = new UpdateHelper();
  13. uh.inner = update;
  14. return uh;
  15. }
  16. public Long getChatId() {
  17. return !isEdit() ? inner.message().chat().id() : inner.editedMessage().chat().id();
  18. }
  19. public User getUser() {
  20. return !isEdit() ? inner.message().from() : inner.editedMessage().from();
  21. }
  22. public boolean hasUser() {
  23. return !isEdit() ? inner.message().from() != null : inner.editedMessage().from() != null;
  24. }
  25. public List<String> getSplitCommand() {
  26. if (!isCommand()) return new ArrayList<>();
  27. return Arrays.asList(getText().split(" ", -1));
  28. }
  29. public String getText() {
  30. return hasText() ? !isEdit() ? inner.message().text() : inner.editedMessage().text() : null;
  31. }
  32. public boolean isCommand() {
  33. return hasText() && getText().startsWith("/");
  34. }
  35. public boolean isEdit() {
  36. return inner.editedMessage() != null;
  37. }
  38. public boolean hasText() {
  39. return !isEdit() ? inner.message().text() != null : inner.editedMessage().text() != null;
  40. }
  41. public Update getUpdate() {
  42. return inner;
  43. }
  44. }