如何设置频道名称?

Posted

技术标签:

【中文标题】如何设置频道名称?【英文标题】:How do I set a channel's name? 【发布时间】:2020-01-17 16:49:17 【问题描述】:

我正在我的服务器中处理服务器统计信息,现在我为此创建了一些语音频道,每次自动刷新功能启动时,它都会通过用户/角色/机器人/频道的信息更新这些频道的名称,但是有一个恼人的问题是 SocketVoiceChannel 中的名字是 get(read only)

int nMemberCount = guild.users.count;
ulong idUserCound = 623234360010735636;
SocketVoiceChannel MemberCount = guild.VoiceChannels.Where(x => x.Id == idUserCound).FirstOrDefault();
UserCount.Name = $"???? Member Count: nMemberCount"; // error: 'Name' is read only! help!

错误:“名称”是只读的。

如何将频道名称设置为我需要设置的名称? 还有其他方法吗?

【问题讨论】:

AFAIK 此功能未在 Discord.NET 中公开。我仔细检查过,在文档中找不到任何关于它的内容,所以我认为你可能不走运 提示:您添加到Where 的谓词可以放在FirstOrDefault() 中,并且完全不需要Where.... var MemberCount = guild.VoiceChannels.FirstOrDefault(x => x.Id == idUserCound); 【参考方案1】:

Discord.Net 中的大多数实体都有一个ModifyAsync() 实现,用于编辑给定实体的属性。文档中的example here 演示了修改VoiceChannel 的用户限制。而here,多个属性(包括名字)都在一个TextChannel上修改

如果您的代码中的语音通道是UserCount,您将有类似

await UserCount.ModifyAsync(prop => prop.Name = $"? Member Count: nMemberCount");

【讨论】:

以上是关于如何设置频道名称?的主要内容,如果未能解决你的问题,请参考以下文章

YouTube API:如何通过频道名称获取频道 ID?

如何使用 YouTube API 获取频道名称?

如何按名称查找包含表情符号 Discord 的频道?

如何使用 nodeJS 和 discordJS 更改 Discord 频道名称?

获取 Youtube 频道网络名称

使用 YouTube API,如何从频道名称中获取直播的视频 ID?