我正在使用Discord.net API构建一个bot . 机器人的一个功能是欢迎新用户 . 这是通过连接到UserJoined事件的事件处理程序完成的 .

public class Program
{
    private DiscordSocketClient client;

    public async Task MainAsync()
    {
        client = new DiscordSocketClient(new DiscordSocketConfig
        {
            LogLevel = LogSeverity.Debug
        });

        client.UserJoined += Client_AnnounceJoinUser;

    }

    public async Task Client_AnnounceJoinUser(SocketGuildUser guildUser)
    {
        Console.WriteLine($"[{DateTime.Now} at AnnounceJoinUser] a new user has joined!");
        var guild = client.GetGuild(//Guild Id);
        var channel = client.GetChannel(//Channel Id) as SocketTextChannel; 
        var rookieRole = guild.GetRole(//Role Id);

        await guildUser.AddRoleAsync(rookieRole);
        await channel.SendMessageAsync($"Hello {guildUser.Mention}, and welcome to {channel.Guild.Name}!/n/n{GetMessage(0)}");
    }

当用户被添加到公会时,我会从网关确认收到日志记录 .

[12/8/2018 10:01:30 PM网关]收到调度(GUILD_MEMBER_ADD)

但是,从不运行调用事件处理程序的client.UserJoined行 . 我试图在这里放置断点,但断点永远不会被触发 . 我猜测问题可能在于未能指定公会来观察UserJoined事件,但我不确定如何继续 . 任何建议将不胜感激 .