package com.rai220.securityalarmbot.commands; import com.pengrad.telegrambot.model.Message; import com.rai220.securityalarmbot.BotService; import com.rai220.securityalarmbot.R; import com.rai220.securityalarmbot.controllers.AudioRecordController; import com.rai220.securityalarmbot.prefs.Prefs; import java.io.File; /** * */ public class AudioCommand extends AbstractCommand { public AudioCommand(BotService service) { super(service); } @Override public String getCommand() { return "/audio"; } @Override public String getName() { return "Audio"; } @Override public String getDescription() { return "Take audio file"; } @Override public boolean execute(final Message message, Prefs prefs) { final long chatId = message.chat().id(); botService.getAudioRecordController().recordAndTransfer(new AudioRecordController.IAudioRecorder() { @Override public void onRecordStarted() { telegramService.sendMessage(chatId, String.format(botService.getString(R.string.start_audio_record), AudioRecordController.SECONDS)); telegramService.notifyToOthers(message.from().id(), botService.getString(R.string.user_audio_record)); } @Override public void onRecordFinished(File file) { telegramService.sendAudio(chatId, file); } @Override public void onRecordBreak() { telegramService.sendMessage(chatId, botService.getString(R.string.audio_record_interrupt)); } }); return false; } }