Discord.net 获取用户的角色列表
Discord.net get the list of roles for a user
我正在尝试通过写入 (message.Author as SocketGuildUser).Roles
获取 MessageReceived
中用户的角色列表。但是,强制转换总是 returns null。我也尝试使用 Context.User
代替,但 returns 也为空。我在这里错过了什么?
这是我在转换行放置断点时遇到的异常:
System.InvalidCastException: Unable to cast object of type 'Discord.WebSocket.SocketGlobalUser' to type 'Discord.WebSocket.SocketGuildUser'
你可以这样做:
foreach(SocketRole role in ((SocketGuildUser)message.Author).Roles)
{
Console.WriteLine(role.Name);
}
我很笨。当角色仅属于特定服务器时,我试图在 DM 上下文中获取角色列表。当 运行 在 non-DM 上下文中时,代码本身没问题。
我正在尝试通过写入 (message.Author as SocketGuildUser).Roles
获取 MessageReceived
中用户的角色列表。但是,强制转换总是 returns null。我也尝试使用 Context.User
代替,但 returns 也为空。我在这里错过了什么?
这是我在转换行放置断点时遇到的异常:
System.InvalidCastException: Unable to cast object of type 'Discord.WebSocket.SocketGlobalUser' to type 'Discord.WebSocket.SocketGuildUser'
你可以这样做:
foreach(SocketRole role in ((SocketGuildUser)message.Author).Roles)
{
Console.WriteLine(role.Name);
}
我很笨。当角色仅属于特定服务器时,我试图在 DM 上下文中获取角色列表。当 运行 在 non-DM 上下文中时,代码本身没问题。