當前位置: 首頁>>代碼示例>>Java>>正文


Java Attachment類代碼示例

本文整理匯總了Java中net.dv8tion.jda.core.entities.Message.Attachment的典型用法代碼示例。如果您正苦於以下問題:Java Attachment類的具體用法?Java Attachment怎麽用?Java Attachment使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


Attachment類屬於net.dv8tion.jda.core.entities.Message包,在下文中一共展示了Attachment類的4個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: action

import net.dv8tion.jda.core.entities.Message.Attachment; //導入依賴的package包/類
@Override
public void action(Invoker invoker, ArgumentList arguments, MessageEvent event) {
    final List<Attachment> attachments = event.getMessage().getAttachments();
    attachments.stream().filter((attachment) -> attachment != null).forEach((attachment) -> {
        try {
            Thread.sleep(500);
            final String filePath = arguments.consumeFirst();
            final AdvancedFile file = new AdvancedFile(Standard.STANDARD_UPLOAD_FOLDER, (filePath != null ? filePath : attachment.getFileName()));
            file.getParent().createAdvancedFile();
            attachment.download(file.toFile());
            event.sendMessageFormat(Standard.STANDARD_MESSAGE_DELETING_DELAY * 2, "%s uploaded \"%s\"%s", event.getAuthor().getAsMention(), attachment.getFileName(), (filePath != null ? String.format(" as \"%s\"", filePath) : ""));
        } catch (Exception ex) {
            event.sendMessageFormat(Standard.STANDARD_MESSAGE_DELETING_DELAY * 2, "%s %s the file \"%s\" was unable to upload (%s)!", Emoji.WARNING, event.getAuthor().getAsMention(), attachment.getFileName(), ex);
        }
    });
}
 
開發者ID:Panzer1119,項目名稱:Supreme-Bot,代碼行數:17,代碼來源:UploadFileCommand.java

示例2: getAndDownloadAttachmentsOfMessage

import net.dv8tion.jda.core.entities.Message.Attachment; //導入依賴的package包/類
public static final List<AdvancedFile> getAndDownloadAttachmentsOfMessage(Message message) {
    return message.getAttachments().stream().map((attachment) -> new AbstractMap.SimpleEntry<AdvancedFile, Attachment>(Standard.getTempFile(attachment.getFileName()), attachment)).filter((image) -> image.getValue().download(image.getKey().toFile())).map((image) -> image.getKey()).collect(Collectors.toList());
}
 
開發者ID:Panzer1119,項目名稱:Supreme-Bot,代碼行數:4,代碼來源:Util.java

示例3: onMessage

import net.dv8tion.jda.core.entities.Message.Attachment; //導入依賴的package包/類
private final void onMessage(final Object event_original, final MessageEvent event, boolean newMessage) {
    Updater.submit(() -> {
        try {
            final String content_raw = event.getMessage().getRawContent().trim();
            final String content = event.getMessage().getContent().trim();
            final Guild guild = event.getGuild();
            final CommandType commandType = CommandType.getCommandType(content, content_raw, event);
            if (commandType.isCommand()) {
                CommandHandler.handleCommand(CommandParser.parser(commandType, content, content_raw, event));
            } else if (content_raw.contains(Standard.getSelfUser().getAsMention()) || content_raw.contains(Standard.getSelfMemberByGuild(guild).getAsMention())) {
                final Emote reaction_emote = Config.CONFIG.getGuildReactionOnMention(guild);
                if (reaction_emote != null) {
                    event.getMessage().addReaction(reaction_emote).queue();
                } else {
                    final Emoji reaction_emoji = Config.CONFIG.getGuildReactionOnMention(guild.getIdLong());
                    if (reaction_emoji != null) {
                        event.getMessage().addReaction(reaction_emoji.getUnicode()).queue();
                    }
                }
            }
            final Object[] output = ListenerManager.fireListeners(MessageListener.class, CommandHandler.ADMIN_PREDICATE, new Object[]{newMessage ? event : event_original, newMessage ? MessageType.RECEIVED : MessageType.UPDATED});
            String embed_messages = event.getMessage().getEmbeds().stream().map((messageEmbed) -> Util.embedMessageToString(messageEmbed)).collect(Collectors.joining(Standard.NEW_LINE_DISCORD));
            if (!embed_messages.isEmpty()) {
                embed_messages = Standard.NEW_LINE_DISCORD + embed_messages;
            }
            final List<Attachment> attachments = event.getMessage().getAttachments();
            if (attachments == null || attachments.isEmpty()) {
                System.out.println(String.format("[Used %d time%s] [%s] [%s] %s: %s%s", output.length, (output.length == 1 ? "" : "s"), (guild != null ? guild.getName() : "PRIVATE"), event.getMessageChannel().getName(), Standard.getCompleteName(event.getAuthor(), true), content, embed_messages));
            } else {
                String text = "";
                for (Attachment attachment : attachments) {
                    text += Standard.NEW_LINE_DISCORD;
                    if (attachment.isImage()) {
                        text += String.format("IMAGE: \"%s\" (ID: %s) (PROXYURL: %s) (W: %d, H: %d)", attachment.getFileName(), attachment.getId(), attachment.getProxyUrl(), attachment.getWidth(), attachment.getHeight());
                    } else {
                        text += String.format("FILE: \"%s\" (ID: %s) (URL: %s)", attachment.getFileName(), attachment.getId(), attachment.getUrl());
                    }
                }
                System.out.println(String.format("[Used %d time%s] [%s] [%s] %s: %s%s%s", output.length, (output.length == 1 ? "" : "s"), event.getGuild().getName(), event.getMessageChannel().getName(), Standard.getCompleteName(event.getAuthor(), true), content, text, embed_messages));
            }
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    });
}
 
開發者ID:Panzer1119,項目名稱:Supreme-Bot,代碼行數:46,代碼來源:MessageHandler.java

示例4: downloadSoundAttachment

import net.dv8tion.jda.core.entities.Message.Attachment; //導入依賴的package包/類
public static File downloadSoundAttachment(Attachment att, int maxDuration) throws UnsupportedAudioFormatException, MaxDurationException {
	String name = att.getFileName().replaceFirst("[.][^.]+$", "");
	String ext = att.getFileName().substring(att.getFileName().lastIndexOf('.') + 1);
	
	if (ext.equalsIgnoreCase("mp3") || ext.equalsIgnoreCase("wav")) { // TODO Change accepted extensions to some constant somewhere
		File file = new File("secrethitler/" + att.getFileName().replace(" ", "_").replace("/", "")); // TODO Change file path to constant
		System.out.println(file.getAbsolutePath());
		int i = 0;
		while (file.exists() && !file.isDirectory()) {
			file = new File("secrethitler/" + name + "_" + i + "." + ext);
			i++;
		}
		if (att.download(file)) {
			try {
				float duration = -1;
				// Check that duration is less than 10 seconds
				if (ext.equalsIgnoreCase("mp3")) {
					AudioFileFormat format = new MpegAudioFileReader().getAudioFileFormat(file);
					Map<String, Object> properties = format.properties();
					Long micro = (Long) properties.get("duration");
					duration = (float) (micro/1_000_000.0);
				}
				else if (ext.equalsIgnoreCase("wav")) {
					AudioInputStream ais = AudioSystem.getAudioInputStream(file);
					AudioFormat format = ais.getFormat();
					long length = file.length();
					int frameSize = format.getFrameSize();
					float frameRate = format.getFrameRate();
					duration = (length / (frameSize * frameRate));
				}
				
				if (maxDuration == 0) {
					return file;
				}
				else if (duration < maxDuration && !(duration < 0)) { // TODO Change to constant from configuration
					return file;
				}
				// Duration exceeds allowed
				else {
					file.delete();
					throw new MaxDurationException();
				}
			} catch (UnsupportedAudioFileException e) {
			} catch (IOException e) {}
			// Delete the file
			file.delete();
			return null;
		}
		// Failed to download attachment
		else {
			return null;
		}
	}
	// Bad file type
	else {
		throw new UnsupportedAudioFormatException();
	}
}
 
開發者ID:Tazzie02,項目名稱:Tazbot,代碼行數:59,代碼來源:Util.java


注:本文中的net.dv8tion.jda.core.entities.Message.Attachment類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。