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
为清楚起见进行编辑:不要将 SendFileAsync
与 SendFilesAsync
混淆
我正在使用 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
为清楚起见进行编辑:不要将 SendFileAsync
与 SendFilesAsync