public boolean isCommand() { if (hasText() && entities != null) { for (MessageEntity entity : entities) { if (entity != null && entity.getOffset() == 0 && EntityType.BOTCOMMAND.equals(entity.getType())) { return true; } } } return false; }
/** * Executes a command action if the command is registered. * * @note If the command is not registered and there is a default consumer, * that action will be performed * * @param absSender absSender * @param message input message * @return True if a command or default action is executed, false otherwise */ public final boolean executeCommand(AbsSender absSender, Message message) { if (message.hasText()) { String text = message.getText(); if (text.startsWith(BotCommand.COMMAND_INIT_CHARACTER)) { String commandMessage = text.substring(1); String[] commandSplit = commandMessage.split(BotCommand.COMMAND_PARAMETER_SEPARATOR_REGEXP); String command = removeUsernameFromCommandIfNeeded(commandSplit[0]); if (commandRegistryMap.containsKey(command)) { String[] parameters = Arrays.copyOfRange(commandSplit, 1, commandSplit.length); commandRegistryMap.get(command).processMessage(absSender, message, parameters); return true; } else if (defaultConsumer != null) { defaultConsumer.accept(absSender, message); return true; } } } return false; }
Trio<Update, Ability, String[]> getAbility(Update update) { // Handle updates without messages // Passing through this function means that the global flags have passed Message msg = update.getMessage(); if (!update.hasMessage() || !msg.hasText()) return Trio.of(update, abilities.get(DEFAULT), new String[]{}); String[] tokens = msg.getText().split(" "); if (tokens[0].startsWith("/")) { String abilityToken = stripBotUsername(tokens[0].substring(1)).toLowerCase(); Ability ability = abilities.get(abilityToken); tokens = Arrays.copyOfRange(tokens, 1, tokens.length); return Trio.of(update, ability, tokens); } else { Ability ability = abilities.get(DEFAULT); return Trio.of(update, ability, tokens); } }
public boolean isCommand() { if (hasText() && entities != null) { for (MessageEntity entity : entities) { if (entity != null && entity.getOffset() == 0 && EntityType.BOTCOMMAND.equals(entity.getType())) { return true; } } } return false; }
@Override public void onUpdateReceived(Update update) { try { Message message = update.getMessage(); if (message != null && message.hasText()) { try { handleIncomingMessage(message); } catch (InvalidObjectException e) { BotLogger.severe(LOGTAG, e); } } } catch (Exception e) { BotLogger.error(LOGTAG, e); } }
@Override public BotApiMethod onWebhookUpdateReceived(Update update) { if (update.hasMessage() && update.getMessage().hasText()) { SendMessage sendMessage = new SendMessage(); sendMessage.setChatId(update.getMessage().getChatId().toString()); sendMessage.setText("Well, all information looks like noise until you break the code."); return sendMessage; } return null; }
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 onUpdateReceived(Update update) { try { if (update.hasMessage()) { Message message = update.getMessage(); if (message.hasText() || message.hasLocation()) { handleIncomingMessage(message); } } } catch (Exception e) { BotLogger.error(LOGTAG, e); } }
private static SendMessage messageOnLanguage(Message message, String language) { SendMessage sendMessageRequest = null; if (message.hasText()) { if (message.getText().trim().equals(getCancelCommand(language))) { sendMessageRequest = onBackLanguageCommand(message, language); } else if (LocalisationService.getLanguageByName(message.getText().trim()) != null) { sendMessageRequest = onLanguageChosen(message.getFrom().getId(), message.getChatId(), message.getMessageId(), message.getText().trim()); } else { sendMessageRequest = onLanguageError(message.getChatId(), message.getMessageId(), language); } } return sendMessageRequest; }
private static SendMessage messageOnUnits(Message message, String language) { SendMessage sendMessageRequest = null; if (message.hasText()) { if (message.getText().trim().equals(getCancelCommand(language))) { sendMessageRequest = onBackUnitsCommand(message, language); } else if (message.getText().trim().equals(LocalisationService.getString("metricSystem", language))) { sendMessageRequest = onUnitsChosen(message.getFrom().getId(), message.getChatId(), message.getMessageId(), WeatherService.METRICSYSTEM, language); } else if (message.getText().trim().equals(LocalisationService.getString("imperialSystem", language))) { sendMessageRequest = onUnitsChosen(message.getFrom().getId(), message.getChatId(), message.getMessageId(), WeatherService.IMPERIALSYSTEM, language); } else { sendMessageRequest = onUnitsError(message.getChatId(), message.getMessageId(), language); } } return sendMessageRequest; }
private static SendMessage onAlertOptionSelected(Message message, String language) { SendMessage sendMessageRequest = null; if (message.hasText()) { if (message.getText().equals(getNewCommand(language))) { sendMessageRequest = onNewAlertCommand(message, language); } else if (message.getText().equals(getDeleteCommand(language))) { sendMessageRequest = onDeleteAlertCommand(message, language); } else if (message.getText().equals(getListCommand(language))) { sendMessageRequest = onListAlertCommand(message, language); } else if (message.getText().equals(getBackCommand(language))) { sendMessageRequest = onBackAlertCommand(message, language); } else { sendMessageRequest = sendChooseOptionMessage(message.getChatId(), message.getMessageId(), getAlertsKeyboard(language), language); } } return sendMessageRequest; }
private static SendMessage messageOnSetting(Message message, String language) { SendMessage sendMessageRequest = null; if (message.hasText()) { if (message.getText().startsWith(getLanguagesCommand(language))) { sendMessageRequest = onLanguageCommand(message, language); } else if (message.getText().startsWith(getUnitsCommand(language))) { sendMessageRequest = onUnitsCommand(message, language); } else if (message.getText().startsWith(getAlertsCommand(language))) { sendMessageRequest = onAlertsCommand(message, language); } else if (message.getText().startsWith(getBackCommand(language))) { sendMessageRequest = sendMessageDefault(message, language); } else { sendMessageRequest = sendChooseOptionMessage(message.getChatId(), message.getMessageId(), getSettingsKeyboard(language), language); } } return sendMessageRequest; }
private static SendMessage onAlertDeleteOptionSelected(Message message, String language) { SendMessage sendMessageRequest = null; if (message.hasText()) { if (message.getText().equals(getCancelCommand(language))) { sendMessageRequest = onAlertDeleteBackOptionSelected(message, language); } else if (DatabaseManager.getInstance().getAlertCitiesNameByUser(message.getFrom().getId()).contains(message.getText())) { sendMessageRequest = onAlertDeleteCityOptionSelected(message, language); } else { sendMessageRequest = sendChooseOptionMessage(message.getChatId(), message.getMessageId(), getAlertsListKeyboard(message.getFrom().getId(), language), language); } } return sendMessageRequest; }
private static SendMessage messageOnMainMenu(Message message, String language) { SendMessage sendMessageRequest; if (message.hasText()) { if (message.getText().equals(getCurrentCommand(language))) { sendMessageRequest = onCurrentChoosen(message, language); } else if (message.getText().equals(getForecastCommand(language))) { sendMessageRequest = onForecastChoosen(message, language); } else if (message.getText().equals(getSettingsCommand(language))) { sendMessageRequest = onSettingsChoosen(message, language); } else if (message.getText().equals(getRateCommand(language))) { sendMessageRequest = sendRateMessage(message.getChatId(), message.getMessageId(), null, language); } else { sendMessageRequest = sendChooseOptionMessage(message.getChatId(), message.getMessageId(), getMainMenuKeyboard(language), language); } } else { sendMessageRequest = sendChooseOptionMessage(message.getChatId(), message.getMessageId(), getMainMenuKeyboard(language), language); } return sendMessageRequest; }
private static SendMessage onForecastWeather(Message message, String language) { SendMessage sendMessageRequest = null; if (message.hasText()) { if (message.getText().startsWith(getNewCommand(language))) { sendMessageRequest = onNewForecastWeatherCommand(message.getChatId(), message.getFrom().getId(), message.getMessageId(), language); } else if (message.getText().startsWith(getLocationCommand(language))) { sendMessageRequest = onLocationForecastWeatherCommand(message.getChatId(), message.getFrom().getId(), message.getMessageId(), language); } else if (message.getText().startsWith(getCancelCommand(language))) { sendMessageRequest = onCancelCommand(message.getChatId(), message.getFrom().getId(), message.getMessageId(), getMainMenuKeyboard(language), language); } else { sendMessageRequest = onForecastWeatherCityReceived(message.getChatId(), message.getFrom().getId(), message.getMessageId(), message.getText(), language); } } return sendMessageRequest; }
private static SendMessage onCurrentWeather(Message message, String language) { SendMessage sendMessageRequest = null; if (message.hasText()) { if (message.getText().startsWith(getNewCommand(language))) { sendMessageRequest = onNewCurrentWeatherCommand(message.getChatId(), message.getFrom().getId(), message.getMessageId(), language); } else if (message.getText().startsWith(getLocationCommand(language))) { sendMessageRequest = onLocationCurrentWeatherCommand(message.getChatId(), message.getFrom().getId(), message.getMessageId(), language); } else if (message.getText().startsWith(getCancelCommand(language))) { sendMessageRequest = onCancelCommand(message.getChatId(), message.getFrom().getId(), message.getMessageId(), getMainMenuKeyboard(language), language); } else { sendMessageRequest = onCurrentWeatherCityReceived(message.getChatId(), message.getFrom().getId(), message.getMessageId(), message.getText(), language); } } return sendMessageRequest; }
private static SendMessage onAlertNewOptionSelected(Message message, String language) { SendMessage sendMessageRequest = null; if (message.hasText()) { if (message.getText().equals(getCancelCommand(language))) { SendMessage sendMessage = new SendMessage(); sendMessage.enableMarkdown(true); sendMessage.setChatId(message.getChatId()); sendMessage.setReplyToMessageId(message.getMessageId()); sendMessage.setReplyMarkup(getAlertsKeyboard(language)); sendMessage.setText(LocalisationService.getString("alertsMenuMessage", language)); DatabaseManager.getInstance().insertWeatherState(message.getFrom().getId(), message.getChatId(), ALERT); sendMessageRequest = sendMessage; } else { sendMessageRequest = onNewAlertCityReceived(message, language); } } return sendMessageRequest; }
@Override public void processNonCommandUpdate(Update update) { if (update.hasMessage()) { Message message = update.getMessage(); if (!DatabaseManager.getInstance().getUserStateForCommandsBot(message.getFrom().getId())) { return; } if (message.hasText()) { SendMessage echoMessage = new SendMessage(); echoMessage.setChatId(message.getChatId()); echoMessage.setText("Hey heres your message:\n" + message.getText()); try { execute(echoMessage); } catch (TelegramApiException e) { BotLogger.error(LOGTAG, e); } } } }
private void handleFileUpdate(Update update) throws InvalidObjectException, TelegramApiException { Message message = update.getMessage(); if (message != null && message.hasText()) { if (languageMessages.contains(message.getFrom().getId())) { onLanguageReceived(message);
private void handleDirections(Update update) throws InvalidObjectException { Message message = update.getMessage(); if (message != null && message.hasText()) { if (languageMessages.contains(message.getFrom().getId())) { onLanguageSelected(message);