Discord.NET Guild.DefaultChannel 无效
Discord.NET Guild.DefaultChannel does not work
我正在编写一个 discord 机器人,我希望它在机器人加入新服务器时向服务器默认频道发送消息。
这是我的代码
client.JoinedGuild += async guild =>
{
var channel = guild.DefaultChannel;
await channel.SendMessageAsync("test");
};
错误发生在 channel.SendMessageAsync
,当我调试程序时,它一直显示 channel
为空,即使我的服务器中确实有一个默认频道。
几个月前删除了一个 discord 更新 defaultChannel
属性。这意味着服务器现在根本不需要有默认频道。
(您甚至可以删除服务器中的所有频道!)
这也意味着 Guild.DefaultChannel
属性 将不再按预期工作。
(如果我错了请纠正我,但如果服务器仍有 #general
频道,属性 将按预期工作。)
Discord.NET v2+ 有一个工作 DefaultChannel
属性。 (它使用自己的一套算法来确定公会的默认频道。)
算法的源代码是here。 (第 66-69 行)
查看该算法,您可能需要谨慎使用它,如果您的机器人有权在任何地方发送消息,DefaultChannel
属性 将只是第一个频道服务器的频道列表。
(如果那是一个自述频道,那将是个坏消息)
我正在编写一个 discord 机器人,我希望它在机器人加入新服务器时向服务器默认频道发送消息。
这是我的代码
client.JoinedGuild += async guild =>
{
var channel = guild.DefaultChannel;
await channel.SendMessageAsync("test");
};
错误发生在 channel.SendMessageAsync
,当我调试程序时,它一直显示 channel
为空,即使我的服务器中确实有一个默认频道。
几个月前删除了一个 discord 更新 defaultChannel
属性。这意味着服务器现在根本不需要有默认频道。
(您甚至可以删除服务器中的所有频道!)
这也意味着 Guild.DefaultChannel
属性 将不再按预期工作。
(如果我错了请纠正我,但如果服务器仍有 #general
频道,属性 将按预期工作。)
Discord.NET v2+ 有一个工作 DefaultChannel
属性。 (它使用自己的一套算法来确定公会的默认频道。)
算法的源代码是here。 (第 66-69 行)
查看该算法,您可能需要谨慎使用它,如果您的机器人有权在任何地方发送消息,DefaultChannel
属性 将只是第一个频道服务器的频道列表。
(如果那是一个自述频道,那将是个坏消息)