private Optional<Message> doSendMessage(String txt, long groupId, boolean format) { SendMessage smsg = new SendMessage(); smsg.setChatId(groupId); smsg.setText(txt); smsg.enableMarkdown(format); return execute(smsg); } }
@Override public void execute(AbsSender absSender, User user, Chat chat, String[] arguments) { if (ICommandRegistry.class.isInstance(absSender)) { ICommandRegistry registry = (ICommandRegistry) absSender; if (arguments.length > 0) { IBotCommand command = registry.getRegisteredCommand(arguments[0]); String reply = getManText(command); try { absSender.execute(new SendMessage(chat.getId(), reply).setParseMode("HTML")); } catch (TelegramApiException e) { e.printStackTrace(); } } else { String reply = getHelpText(registry); try { absSender.execute(new SendMessage(chat.getId(), reply).setParseMode("HTML")); } catch (TelegramApiException e) { e.printStackTrace(); } } } }
private void sendHelpMessage(Message message, String language) throws InvalidObjectException, TelegramApiException { SendMessage sendMessageRequest = new SendMessage(); String formatedString = String.format( LocalisationService.getString("helpFiles", language), Commands.startCommand, Commands.uploadCommand, Commands.deleteCommand, Commands.listCommand); sendMessageRequest.setText(formatedString); sendMessageRequest.setChatId(message.getChatId()); execute(sendMessageRequest); }
@Override public void execute(AbsSender absSender, User user, Chat chat, String[] strings) { if (!DatabaseManager.getInstance().getUserStateForCommandsBot(user.getId())) { return; } StringBuilder helpMessageBuilder = new StringBuilder("<b>Help</b>\n"); helpMessageBuilder.append("These are the registered commands for this Bot:\n\n"); for (IBotCommand botCommand : commandRegistry.getRegisteredCommands()) { helpMessageBuilder.append(botCommand.toString()).append("\n\n"); } SendMessage helpMessage = new SendMessage(); helpMessage.setChatId(chat.getId().toString()); helpMessage.enableHtml(true); helpMessage.setText(helpMessageBuilder.toString()); try { absSender.execute(helpMessage); } catch (TelegramApiException e) { BotLogger.error(LOGTAG, e); } } }
private void sendHelpMessage(Message message, String language) throws InvalidObjectException { SendMessage sendMessageRequest = new SendMessage(); String helpDirectionsFormated = String.format( LocalisationService.getString("helpDirections", language), Commands.startDirectionCommand); sendMessageRequest.setText(helpDirectionsFormated); sendMessageRequest.setChatId(message.getChatId()); try { execute(sendMessageRequest); } catch (TelegramApiException e) { BotLogger.error(LOGTAG, e); } }
public Optional<Message> forceReply(String message, long id) { SendMessage msg = new SendMessage(); msg.setText(message); msg.setChatId(id); msg.setReplyMarkup(new ForceReplyKeyboard()); return execute(msg); }
@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 static SendMessage sendHelpMessage(Long chatId, Integer messageId, ReplyKeyboardMarkup replyKeyboardMarkup, String language) { SendMessage sendMessage = new SendMessage(); sendMessage.enableMarkdown(true); sendMessage.setChatId(chatId); sendMessage.setReplyToMessageId(messageId); if (replyKeyboardMarkup != null) { sendMessage.setReplyMarkup(replyKeyboardMarkup); } sendMessage.setText(getHelpMessage(language)); return sendMessage; }
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 static SendMessage sendRateMessage(Long chatId, Integer messageId, ReplyKeyboardMarkup replyKeyboardMarkup, String language) { SendMessage sendMessage = new SendMessage(); sendMessage.enableMarkdown(true); sendMessage.setChatId(chatId); sendMessage.setReplyToMessageId(messageId); if (replyKeyboardMarkup != null) { sendMessage.setReplyMarkup(replyKeyboardMarkup); } sendMessage.setText(LocalisationService.getString("rateMeMessage", language)); return sendMessage; }
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 sendChooseOptionMessage(Long chatId, Integer messageId, ReplyKeyboard replyKeyboard, String language) { SendMessage sendMessage = new SendMessage(); sendMessage.enableMarkdown(true); sendMessage.setChatId(chatId.toString()); sendMessage.setReplyToMessageId(messageId); sendMessage.setReplyMarkup(replyKeyboard); sendMessage.setText(LocalisationService.getString("chooseOption", language)); 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()); }
/** * Create a help message when an user try to send messages directly to the bot * @param message Received message * @return SendMessage method */ private static SendMessage getHelpMessage(Message message) { SendMessage sendMessage = new SendMessage(); sendMessage.setChatId(message.getChatId()); sendMessage.enableMarkdown(true); sendMessage.setText(helpMessage); return sendMessage; } }
@Override public void execute(AbsSender absSender, User user, Chat chat, String[] strings) { DatabaseManager databseManager = DatabaseManager.getInstance(); StringBuilder messageBuilder = new StringBuilder(); String userName = user.getFirstName() + " " + user.getLastName(); if (databseManager.getUserStateForCommandsBot(user.getId())) { messageBuilder.append("Hi ").append(userName).append("\n"); messageBuilder.append("i think we know each other already!"); } else { databseManager.setUserStateForCommandsBot(user.getId(), true); messageBuilder.append("Welcome ").append(userName).append("\n"); messageBuilder.append("this bot will demonstrate you the command feature of the Java TelegramBots API!"); } SendMessage answer = new SendMessage(); answer.setChatId(chat.getId().toString()); answer.setText(messageBuilder.toString()); try { absSender.execute(answer); } catch (TelegramApiException e) { BotLogger.error(LOGTAG, e); } } }
private static SendMessage onLanguageError(Long chatId, Integer messageId, String language) { SendMessage sendMessageRequest = new SendMessage(); sendMessageRequest.enableMarkdown(true); sendMessageRequest.setChatId(chatId.toString()); sendMessageRequest.setReplyMarkup(getLanguagesKeyboard(language)); sendMessageRequest.setText(LocalisationService.getString("errorLanguageNotFound", language)); sendMessageRequest.setReplyToMessageId(messageId); return sendMessageRequest; }
@Override public void execute(AbsSender absSender, User user, Chat chat, String[] arguments) { if (!DatabaseManager.getInstance().getUserStateForCommandsBot(user.getId())) { return; } String userName = chat.getUserName(); if (userName == null || userName.isEmpty()) { userName = user.getFirstName() + " " + user.getLastName(); } StringBuilder messageTextBuilder = new StringBuilder("Hello ").append(userName); if (arguments != null && arguments.length > 0) { messageTextBuilder.append("\n"); messageTextBuilder.append("Thank you so much for your kind words:\n"); messageTextBuilder.append(String.join(" ", arguments)); } SendMessage answer = new SendMessage(); answer.setChatId(chat.getId().toString()); answer.setText(messageTextBuilder.toString()); try { absSender.execute(answer); } catch (TelegramApiException e) { BotLogger.error(LOGTAG, e); } } }
private static SendMessage onUnitsError(Long chatId, Integer messageId, String language) { SendMessage sendMessageRequest = new SendMessage(); sendMessageRequest.enableMarkdown(true); sendMessageRequest.setChatId(chatId.toString()); sendMessageRequest.setReplyMarkup(getUnitsKeyboard(language)); sendMessageRequest.setText(LocalisationService.getString("errorUnitsNotFound", language)); sendMessageRequest.setReplyToMessageId(messageId); return sendMessageRequest; }
private void onStartWithParameters(Message message, String language, String part) throws InvalidObjectException, TelegramApiException { if (DatabaseManager.getInstance().doesFileExists(part.trim())) { SendDocument sendDocumentRequest = new SendDocument(); sendDocumentRequest.setDocument(part.trim()); sendDocumentRequest.setChatId(message.getChatId()); execute(sendDocumentRequest); } else { SendMessage sendMessageRequest = new SendMessage(); sendMessageRequest.setText(LocalisationService.getString("wrongFileId", language)); sendMessageRequest.setChatId(message.getChatId()); execute(sendMessageRequest); } }
private static SendMessage getMessageToChannelSent(Message message) { SendMessage sendMessage = new SendMessage(); sendMessage.enableMarkdown(true); sendMessage.setChatId(message.getChatId()); sendMessage.setReplyToMessageId(message.getMessageId()); sendMessage.setText(AFTER_CHANNEL_TEXT); return sendMessage; }