/** * Process the message and execute the command * * @param absSender absSender to send messages over * @param message the message to process * @param arguments passed arguments */ public void processMessage(AbsSender absSender, Message message, String[] arguments) { execute(absSender, message.getFrom(), message.getChat(), arguments); }
public Optional<Session> getSession(Message message){ try { return Optional.of(sessionManager.getSession(chatIdConverter)); } catch (UnknownSessionException e) { SessionContext botSession = new DefaultChatSessionContext(message.getChatId(), message.getFrom().getUserName()); return Optional.of(sessionManager.start(botSession)); } }
/** * Process the message and execute the command * * @param absSender absSender to send messages over * @param message the message to process * @param arguments passed arguments */ @Override public void processMessage(AbsSender absSender, Message message, String[] arguments) { execute(absSender, message.getFrom(), message.getChat(), message.getMessageId(), arguments); }
/** * Fetches the user who caused the update. * * @param update a Telegram {@link Update} * @return the originating user * @throws IllegalStateException if the user could not be found */ public static User getUser(Update update) { if (MESSAGE.test(update)) { return update.getMessage().getFrom(); } else if (CALLBACK_QUERY.test(update)) { return update.getCallbackQuery().getFrom(); } else if (INLINE_QUERY.test(update)) { return update.getInlineQuery().getFrom(); } else if (CHANNEL_POST.test(update)) { return update.getChannelPost().getFrom(); } else if (EDITED_CHANNEL_POST.test(update)) { return update.getEditedChannelPost().getFrom(); } else if (EDITED_MESSAGE.test(update)) { return update.getEditedMessage().getFrom(); } else if (CHOSEN_INLINE_QUERY.test(update)) { return update.getChosenInlineQuery().getFrom(); } else { throw new IllegalStateException("Could not retrieve originating user from update"); } }
private void handleIncomingMessage(Message message) throws InvalidObjectException { int state = userState.getOrDefault(message.getFrom().getId(), 0); switch(state) { case WAITINGCHANNEL: onWaitingChannelMessage(message); break; default: sendHelpMessage(message.getChatId(), message.getMessageId(), null); userState.put(message.getFrom().getId(), WAITINGCHANNEL); break; } }
@Override public void onResult(BotApiMethod<Message> botApiMethod, Message sentMessage) { if (sentMessage != null) { DatabaseManager.getInstance().deleteUserForDirections(message.getFrom().getId()); } }
private void handleUpdate(Update update) throws InvalidObjectException, TelegramApiException { if (update.hasMessage() && update.getMessage().hasText()) { Message message = update.getMessage(); if (BuildVars.ADMINS.contains(message.getFrom().getId())) { sendTransifexFile(message); } else { sendMovedToMessage(message); } } }
@Override public void onResult(BotApiMethod<Message> method, Message sentMessage) { if (sentMessage != null) { DatabaseManager.getInstance().addUserForDirection(message.getFrom().getId(), WATING_DESTINY_STATUS, sentMessage.getMessageId(), message.getText()); } }
private static SendMessage onForecastNewWeather(Message message, String language) { if (message.isReply()) { return onForecastWeatherReceived(message.getChatId(), message.getFrom().getId(), message.getMessageId(), message.getText(), language); } else { return sendMessageDefault(message, language); } }
private static SendMessage onUnitsCommand(Message message, String language) { SendMessage sendMessage = new SendMessage(); sendMessage.enableMarkdown(true); sendMessage.setReplyToMessageId(message.getMessageId()); sendMessage.setChatId(message.getChatId()); sendMessage.setReplyMarkup(getUnitsKeyboard(language)); sendMessage.setText(getUnitsMessage(message.getFrom().getId(), language)); DatabaseManager.getInstance().insertWeatherState(message.getFrom().getId(), message.getChatId(), UNITS); return sendMessage; }
private void onDeleteCommandWithParameters(Message message, String language, String part) throws InvalidObjectException, TelegramApiException { String[] innerParts = part.split(Emoji.LEFT_RIGHT_ARROW.toString(), 2); boolean removed = DatabaseManager.getInstance().deleteFile(innerParts[0].trim()); SendMessage sendMessageRequest = new SendMessage(); if (removed) { sendMessageRequest.setText(LocalisationService.getString("fileDeleted", language)); } else { sendMessageRequest.setText(LocalisationService.getString("wrongFileId", language)); } sendMessageRequest.setChatId(message.getChatId()); execute(sendMessageRequest); DatabaseManager.getInstance().deleteUserForFile(message.getFrom().getId()); }
private void onUploadCommand(Message message, String language) throws InvalidObjectException, TelegramApiException { DatabaseManager.getInstance().addUserForFile(message.getFrom().getId(), INITIAL_UPLOAD_STATUS); SendMessage sendMessageRequest = new SendMessage(); sendMessageRequest.setText(LocalisationService.getString("sendFileToUpload", language)); sendMessageRequest.setChatId(message.getChatId()); execute(sendMessageRequest); }
private void onCancelCommand(Message message, String language) throws InvalidObjectException, TelegramApiException { DatabaseManager.getInstance().deleteUserForFile(message.getFrom().getId()); SendMessage sendMessageRequest = new SendMessage(); sendMessageRequest.setText(LocalisationService.getString("processFinished", language)); sendMessageRequest.setChatId(message.getChatId()); execute(sendMessageRequest); }
private static SendMessage onListAlertCommand(Message message, String language) { SendMessage sendMessage = new SendMessage(); sendMessage.enableMarkdown(true); sendMessage.setChatId(message.getChatId()); sendMessage.setReplyToMessageId(message.getMessageId()); sendMessage.setReplyMarkup(getAlertsKeyboard(language)); sendMessage.setText(getAlertListMessage(message.getFrom().getId(), language)); sendMessage.setReplyToMessageId(message.getMessageId()); return sendMessage; }
private static SendMessage onAlertDeleteBackOptionSelected(Message message, String language) { SendMessage sendMessage = new SendMessage(); sendMessage.enableMarkdown(true); sendMessage.setReplyToMessageId(message.getMessageId()); sendMessage.setChatId(message.getChatId()); sendMessage.setReplyMarkup(getAlertsKeyboard(language)); sendMessage.setText(LocalisationService.getString("alertsMenuMessage", language)); DatabaseManager.getInstance().insertWeatherState(message.getFrom().getId(), message.getChatId(), ALERT); return sendMessage; }
private static SendMessage onBackLanguageCommand(Message message, String language) { SendMessage sendMessage = new SendMessage(); sendMessage.enableMarkdown(true); ReplyKeyboardMarkup replyKeyboardMarkup = getSettingsKeyboard(language); sendMessage.setReplyMarkup(replyKeyboardMarkup); sendMessage.setReplyToMessageId(message.getMessageId()); sendMessage.setChatId(message.getChatId()); sendMessage.setText(getSettingsMessage(language)); DatabaseManager.getInstance().insertWeatherState(message.getFrom().getId(), message.getChatId(), SETTINGS); return sendMessage; }
private static SendMessage onBackAlertCommand(Message message, String language) { SendMessage sendMessage = new SendMessage(); sendMessage.enableMarkdown(true); ReplyKeyboardMarkup replyKeyboardMarkup = getSettingsKeyboard(language); sendMessage.setReplyMarkup(replyKeyboardMarkup); sendMessage.setReplyToMessageId(message.getMessageId()); sendMessage.setChatId(message.getChatId()); sendMessage.setText(getSettingsMessage(language)); DatabaseManager.getInstance().insertWeatherState(message.getFrom().getId(), message.getChatId(), SETTINGS); return sendMessage; }
private static SendMessage onAlertsCommand(Message message, String language) { SendMessage sendMessage = new SendMessage(); sendMessage.enableMarkdown(true); sendMessage.setReplyToMessageId(message.getMessageId()); sendMessage.setChatId(message.getChatId()); sendMessage.setReplyMarkup(getAlertsKeyboard(language)); sendMessage.setText(LocalisationService.getString("alertsMenuMessage", language)); DatabaseManager.getInstance().insertWeatherState(message.getFrom().getId(), message.getChatId(), ALERT); return sendMessage; }
private static SendMessage onLanguageCommand(Message message, String language) { SendMessage sendMessage = new SendMessage(); sendMessage.enableMarkdown(true); sendMessage.setReplyToMessageId(message.getMessageId()); sendMessage.setChatId(message.getChatId()); sendMessage.setReplyMarkup(getLanguagesKeyboard(language)); sendMessage.setText(getLanguageMessage(language)); DatabaseManager.getInstance().insertWeatherState(message.getFrom().getId(), message.getChatId(), LANGUAGE); return sendMessage; }
private static SendMessage onBackUnitsCommand(Message message, String language) { SendMessage sendMessage = new SendMessage(); sendMessage.enableMarkdown(true); ReplyKeyboardMarkup replyKeyboardMarkup = getSettingsKeyboard(language); sendMessage.setReplyMarkup(replyKeyboardMarkup); sendMessage.setReplyToMessageId(message.getMessageId()); sendMessage.setChatId(message.getChatId()); sendMessage.setText(getSettingsMessage(language)); DatabaseManager.getInstance().insertWeatherState(message.getFrom().getId(), message.getChatId(), SETTINGS); return sendMessage; }