|
|
|
@ -1,6 +1,7 @@ |
|
|
|
package org.telegram.updateshandlers; |
|
|
|
|
|
|
|
import org.telegram.BotConfig; |
|
|
|
import org.telegram.BuildVars; |
|
|
|
import org.telegram.Commands; |
|
|
|
import org.telegram.database.DatabaseManager; |
|
|
|
import org.telegram.services.LocalisationService; |
|
|
|
@ -10,10 +11,14 @@ import org.telegram.telegrambots.api.methods.send.SendDocument; |
|
|
|
import org.telegram.telegrambots.api.methods.send.SendMessage; |
|
|
|
import org.telegram.telegrambots.api.objects.Message; |
|
|
|
import org.telegram.telegrambots.api.objects.Update; |
|
|
|
import org.telegram.telegrambots.api.objects.replykeyboard.InlineKeyboardMarkup; |
|
|
|
import org.telegram.telegrambots.api.objects.replykeyboard.buttons.InlineKeyboardButton; |
|
|
|
import org.telegram.telegrambots.bots.TelegramLongPollingBot; |
|
|
|
import org.telegram.telegrambots.logging.BotLogger; |
|
|
|
|
|
|
|
import java.io.InvalidObjectException; |
|
|
|
import java.util.ArrayList; |
|
|
|
import java.util.List; |
|
|
|
|
|
|
|
/** |
|
|
|
* @author Ruben Bermudez |
|
|
|
@ -32,21 +37,30 @@ public class TransifexHandlers extends TelegramLongPollingBot { |
|
|
|
@Override |
|
|
|
public void onUpdateReceived(Update update) { |
|
|
|
try { |
|
|
|
sendTransifexFile(update); |
|
|
|
} catch (Exception e) { |
|
|
|
handleUpdate(update); |
|
|
|
} catch (Throwable e) { |
|
|
|
BotLogger.error(LOGTAG, e); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
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 String getBotUsername() { |
|
|
|
return BotConfig.TRANSIFEX_USER; |
|
|
|
} |
|
|
|
|
|
|
|
private void sendTransifexFile(Update update) throws InvalidObjectException { |
|
|
|
Message message = update.getMessage(); |
|
|
|
if (message != null && message.hasText()) { |
|
|
|
String language = DatabaseManager.getInstance().getUserLanguage(update.getMessage().getFrom().getId()); |
|
|
|
private void sendTransifexFile(Message message) throws InvalidObjectException { |
|
|
|
String language = DatabaseManager.getInstance().getUserLanguage(message.getFrom().getId()); |
|
|
|
String text = message.getText(); |
|
|
|
String[] parts = text.split(" ", 2); |
|
|
|
SendDocument sendDocument = null; |
|
|
|
@ -106,5 +120,23 @@ public class TransifexHandlers extends TelegramLongPollingBot { |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
private void sendMovedToMessage(Message message) throws InvalidObjectException, TelegramApiException { |
|
|
|
String language = DatabaseManager.getInstance().getUserLanguage(message.getFrom().getId()); |
|
|
|
SendMessage answer = new SendMessage(); |
|
|
|
answer.setChatId(message.getChatId().toString()); |
|
|
|
answer.setReplyToMessageId(message.getMessageId()); |
|
|
|
answer.setText(LocalisationService.getInstance().getString("movedToLangBot", language)); |
|
|
|
InlineKeyboardMarkup inlineKeyboardMarkup = new InlineKeyboardMarkup(); |
|
|
|
List<List<InlineKeyboardButton>> rows = new ArrayList<>(); |
|
|
|
List<InlineKeyboardButton> row = new ArrayList<>(); |
|
|
|
InlineKeyboardButton button = new InlineKeyboardButton(); |
|
|
|
button.setText(LocalisationService.getInstance().getString("checkLangBot", language)); |
|
|
|
button.setUrl("https://telegram.me/langbot"); |
|
|
|
row.add(button); |
|
|
|
rows.add(row); |
|
|
|
inlineKeyboardMarkup.setKeyboard(rows); |
|
|
|
answer.setReplyMarkup(inlineKeyboardMarkup); |
|
|
|
sendMessage(answer); |
|
|
|
} |
|
|
|
} |
|
|
|
|