如何设置频道名称?
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");
【讨论】:
以上是关于如何设置频道名称?的主要内容,如果未能解决你的问题,请参考以下文章