【问题标题】:Discord.NET Guild.DefaultChannel does not workDiscord.NET Guild.DefaultChannel 不起作用
【发布时间】:2018-03-12 21:52:05
【问题描述】:

我正在编写一个不和谐机器人,我希望它在机器人加入新服务器时向服务器默认频道发送消息。

这是我的代码

client.JoinedGuild += async guild =>
{
var channel = guild.DefaultChannel;
await channel.SendMessageAsync("test");
};

错误发生在channel.SendMessageAsync,当我调试程序时,它一直显示channel 为空,即使我的服务器中有默认频道。

【问题讨论】:

    标签: c# discord discord.net


    【解决方案1】:

    几个月前的一次不和谐更新删除了defaultChannel 属性。这意味着服务器现在根本不需要默认频道。
    (您甚至可以删除服务器中的所有频道!)

    这也意味着Guild.DefaultChannel 属性将不再按预期工作。
    (如果我错了,请纠正我,但如果服务器仍有#general 频道,则该属性将按预期工作。)

    Discord.NET v2+ 有一个有效的 DefaultChannel 属性。 (它使用自己的一套算法来确定哪个是公会的默认频道。)

    算法的源代码是here。 (第 66-69 行)

    查看算法,您可能需要稍微谨慎使用它,如果您的机器人有权在任何地方发送消息,DefaultChannel 属性将只是服务器频道列表中的第一个频道。
    (如果那是自述频道,那将是个坏消息)

    【讨论】:

      猜你喜欢
      • 2020-06-26
      • 2021-02-22
      • 1970-01-01
      • 1970-01-01
      • 2019-05-13
      • 2017-12-14
      • 2021-03-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多