C#Discord Bot List

时间:2018-01-03 11:39:59

标签: c# discord discord.net

我想实现一个获取用户名的命令并执行以下操作:

  1. 检查名称是否在列表中

  2. 如果名称不在列表中,则将名称发回给用户 告诉用户他已经使用了命令

  3. (仅限2.a)将用户名写入列表

  4. 但我收到以下错误:

      

    命名空间不能直接包含字段或方法等成员

    这是我的代码:

    public List<string> names;
    
    public class Test : ModuleBase<SocketCommandContext>
    {
    
        [Command("myname")]
        private async Task test()
        {
    
            string name = Context.User.Username;
    
            if (!names.Contains(name))
            {
                await Context.Channel.SendMessageAsync("Your name is **" + name + "**!");
                names.Add(name);
            }
            else
            {
                await Context.Channel.SendMessageAsync("I've already told you your name!");
            }
        }
    }
    

1 个答案:

答案 0 :(得分:1)

由于您的错误消息(应该从评论移到问题中)已经明确了

  

命名空间不能直接包含字段或方法等成员

您正在课堂_message之外定义public List<string> names;,这导致它位于命名空间内,不允许这样做。

要解决您的问题,请移动

Test

进入班级public List<string> names;