Discord.net: 是否可以一次发送多个文件?

Discord.net: Is it possible to send multiple files at once?

我正在使用 Discord.net 在 Discord 服务器上的频道中记录图像。大多数时候我需要一次发送几张图片(平均 4 或 5 张)。

由于 Discord 桌面应用程序允许您一次发送最多 10 个文件,我想知道这是否也可以使用 C# 完成。

目前,我每张图片发送一条消息。

代码如下所示:

DiscordSocketClient client = new DiscordSocketClient();
await client.LoginAsync(TokenType.Bot, token);
await client.StartAsync();

当机器人启动时,此代码 运行s:

DiscordSocketClient channel = client.GetChannel(channelId) as SocketTextChannel;

最后,发送一个文件我运行这个:

channel.SendFileAsync(filepath, message); // Both filepath and message are strings.

这行得通,但是当它发送时,例如,五张图片,五条消息是不和谐的。 如果我可以发送一封附有所有这些图片的邮件,那就太好了。 (就像在桌面应用程序中一样)

我知道我可以使用 Embed 一次发送两张图片,但那样一来,我仍然会被限制为每条消息只能发送两张图片。 (一个作为嵌入图像,一个作为嵌入缩略图)
这仍然与应用程序中可能的 10 个文件相差甚远,除此之外,图像将不会平均显示。

另一种选择是创建一个更大的新图像,其中包含我要发送的所有图像。然后我可以通过将其另存为 .png 然后使用我已经实现的方法来发送这张单张图片。

问题是这是一种变通方法,而不是问题的真正解决方案,因为我真的不喜欢不将图像作为单个文件上传的想法。

Tl 博士:
有没有办法使用 Discord.net 在一条消息中发送多个文件或图像?

提前致谢!

可以使用SendFilesAsync!您必须更新到最新版本的 Discord.net,当通过 Nuget 安装时,请确保在更新之前卸载所有 Discord.net 扩展,例如 Discord.Net.Commands。

List<FileAttachment> filestosend = new List<FileAttachment>();
filestosend.Add(new FileAttachment(@"c:\file.png", "file.png", "file description"));
filestosend.Add(new FileAttachment(@"c:\file2.png", "file2.png", "file description"));
await channel.SendFilesAsync(filestosend, "text");

Documentation can be found here

为清楚起见进行编辑:不要将 SendFileAsyncSendFilesAsync

混淆