【发布时间】:2021-09-22 05:27:13
【问题描述】:
美好的一天,我被我的不和谐机器人困住了。我正在使用 Discord.NET 库,我的任务是在直接消息中获取命令并将其发送到特定不和谐公会的特定频道。我知道频道 ID 和公会 ID,但我不知道如何使用它们。
[Command("resource")]
public async Task SendResource(string url = null, [Remainder]string description = null)
{
if (url == null)
{
await ReplyAsync("...");
return;
}
if (description == null)
{
await ReplyAsync("...");
return;
}
string text = $"**New resource:** {url}\n**Description:** {description}";
await Context.Guild.GetTextChannel(863427166662557696).SendMessageAsync(text);
}
await Context.Guild.GetTextChannel(863427166662557696).SendMessageAsync(text);
会在同一个公会找到频道,但如果命令是在直接消息中执行的,它将不起作用
我做了一些研究,发现 GetGuild(id) 方法将公会作为对象但调用该方法属于在 CommandHandler 中声明的 DiscordSocketClient
如何通过直接消息中执行的命令将消息发送到某个不和谐的内疚频道?谢谢!
【问题讨论】:
-
你必须先获得公会,所以是的,你需要调用 GetGuild。您应该可以通过上下文访问 DiscordSocketClient
-
@Anu6is,那该怎么办呢?如何通过上下文访问客户端?
-
简单的 Context.Client
标签: .net-core discord bots discord.net