C# 列表枚举永远不会被激发

C# 列表枚举永远不会被激发,c#,linq,enumeration,discord.net,C#,Linq,Enumeration,Discord.net,我目前正在与Discord机器人合作,尝试跟踪用户邀请,但我们将在这里使用苹果 因此,当bot启动时,它会将服务器已经知道的苹果列表放在一起。当用户加入时,此代码: private async Task NewUser(SocketGuildUser user) { var inv = await GetGuild().GetInvitesAsync(); foreach (IInviteMetadata i in inv) {

我目前正在与Discord机器人合作,尝试跟踪用户邀请,但我们将在这里使用苹果

因此,当bot启动时,它会将服务器已经知道的苹果列表放在一起。当用户加入时,此代码:

private async Task NewUser(SocketGuildUser user)
    {
        var inv = await GetGuild().GetInvitesAsync();
        foreach (IInviteMetadata i in inv)
        {
            var existing = invites.Any(x => x.Code == i.Code);
            var prev = invites.FirstOrDefault(x => x.Code == i.Code);
            if (!existing)
            {
                new UserManager(client, i.Inviter).UpdateUser();
                Console.WriteLine("Updated " + i.Inviter + "'s ");
                break;
            }
            else if (prev.Uses > i.Uses)
            {
                new UserManager(client, i.Inviter).UpdateUser();
                Console.WriteLine("Updated " + i.Inviter + "'s ");
                break;
            }

        }
        await user.SendMessageAsync("Hey " + user.Username + "! I wanna give you a big warm welcome to " +
            guildName + ". I'd give you a big warm hug if I could but...you know, I'm a bot and all. It would be cold.");
        var newbie = user.Guild.Roles.FirstOrDefault(x => x.Name == "Newbie");
        await user.AddRoleAsync(newbie);
        Update();
    }
是什么在跑。理想情况下,它应该检测到新用户咬了一口(使用邀请)的苹果是否已经存在于列表中,并给他们一美元(因为共享!),或者如果它不存在,只给苹果的原始所有者一美元(因为资本主义!),苹果列表就会刷新

基本上是bot->填充邀请列表->新用户加入->比较和+1邀请者->填充邀请列表

我的代码没有一个被激活。为什么?这里什么都可以。它不是最干净的,因为在它工作之前,清理代码没有任何意义


谢谢。

如果不知道Discord API,诊断这一点很难,但是如果我不得不大胆猜测,我会说第一个等待调用就是这个问题的症结所在。所以我看到了两个潜在的问题,要么调用没有返回,这就是为什么什么都没有执行(如果列表中有项目,foreach循环将在列表上迭代),要么函数被卡住,等待函数调用的结果

我希望这至少能帮助你从某种程度上开始调查