获取公会中的所有线程 Discord.net

Get all threads in a guild Discord.net

我想获取公会中的所有线程,我所做的是以下内容

if (message.Author is SocketGuildUser socketUser)
{
    SocketGuild guild = socketUser.Guild;
    foreach (var channel in guild.Channels)
    {
        if(channel.GetType() == typeof())
        { 
            //Do code here
        }
    }
}

我卡在了 typeof 部分,是否可以检测通道是否为线程?谢谢!

是的,但您可以简单地使用 guild.ThreadChannels 获取公会中的所有线程频道。

另外 GetType() 将 return 用于通道的数据类型 (SocketChannel)。您正在寻找的方法称为 GetChannelType(),其中 return 是描述频道类型的枚举。

但是在你发布的 if 语句中你应该只使用

if(channel.GetChannelType() == ChannelType.PublicThread)

你有三种线程。

  1. ChannelType.NewsThread
  2. ChannelType.PrivateThread
  3. ChannelType.PublicThread