我使用C#创建了这个机器人来帮助我在手机游戏中结盟。我们正在使用不和谐来沟通。我的机器人的一个功能是设置" Raid Lane"所以人们可以宣称他们要走的路。我们的联盟有一个分散在我们不和谐中的图像集,我希望在机器人设置针对该难度的raid通道时发布每个raid的相关图像。目前我有:
var embed = new EmbedBuilder();
embed.WithTitle("Ultimus Raid - Level 40");
embed.WithImageUrl("https://cdn.discordapp.com/attachments/430797829078908928/441255069518921728/Lvl40raid.png");
await ReplyAsync("", false, embed);
这有点儿。我可以看到这些照片,但有时在我离开并重新开启不和之后,我看到的就是标题。在我的程序运行的后端有一个websocket错误。我试图通过使用本地图像而不是网址来解决这个问题,以防万一出现问题。我没有运气让我的机器人发布本地图像。我试过了
embed.WithImageUrl("C:/Users/Administrator/Desktop/DiscordBot/Pictures/Lvl40raid.png");
以及\而不是/。还尝试了embed.ImageUrl = ...
命令。
答案 0 :(得分:2)
这对我有用(使用discord.net):
var guild = _client.Guilds.Single(g => g.Name == "guild name");
var channel = guild.TextChannels.Single(ch => ch.Name == "channel name");
await channel.SendFileAsync("C:\\Pictures\\something.png","Caption goes here");
答案 1 :(得分:0)
Paul's answer将完成任务,但是,如果您想在调用机器人的渠道中发送文件,则可以使用:
await Context.Channel.SendFileAsync("{FILEPATH}", "CAPTION");