代码之家  ›  专栏  ›  技术社区  ›  Timity

不一致网络公会。DefaultChannel不工作

  •  2
  • Timity  · 技术社区  · 7 年前

    我正在编写一个discord bot,我希望它在bot加入新服务器时向服务器默认通道发送消息。

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

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

    1 回复  |  直到 7 年前
        1
  •  3
  •   WQYeo    7 年前

    几个月前删除的不一致更新 defaultChannel
    (您甚至可以删除服务器中的所有通道!)

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

    DefaultChannel

    该算法的源代码是 here

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