【发布时间】:2019-03-31 13:56:37
【问题描述】:
我想在 ReactionAdded 事件中赋予 Discord 客户端一个角色。为什么这不起作用?
public static async Task AddedReactEvent(Cacheable<IUserMessage, ulong> message, ISocketMessageChannel channel, SocketReaction reaction)
{
if (channel.Id == 504031332612046881)
{
if (reaction.Emote.Name == "PS4")
{
var context = new CommandContext(_client, message.Value);
var role = context.Guild.Roles.FirstOrDefault(x => x.Name == "PS4");
Console.WriteLine(role.Color.ToString());
await (reaction.User.Value as IGuildUser).AddRoleAsync(role);
}
}
}
【问题讨论】:
-
它是如何“不工作”的?发生什么了?你有例外吗?
-
不,它什么都不做!在控制台中什么都没有。但是我在控制台打印了一行!
-
哦,对不起! Discord.Net.Commands.dll 中的“System.NullReferenceException” 这是我的调试视图!
-
但是当我在 if(reaction.Emote.Name == "PS4") 下写消息时代码工作正常
标签: c# discord discord.net