我正在尝试通过编写MessageReceived
来获取(message.Author as SocketGuildUser).Roles
内用户的角色列表。但是,强制转换始终返回null。我也尝试使用Context.User
,但也返回null。我在这里缺少什么?
这是我在铸造线上放置断点时得到的例外:
System.InvalidCastException: Unable to cast object of type 'Discord.WebSocket.SocketGlobalUser' to type 'Discord.WebSocket.SocketGuildUser'
答案 0 :(得分:2)
你可以这样做:
foreach(SocketRole role in ((SocketGuildUser)message.Author).Roles)
{
Console.WriteLine(role.Name);
}
答案 1 :(得分:1)