C#Discord Bot List [关闭]

问题描述 投票:-3回答:1

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

  1. 检查名称是否在列表中
  2. 如果名称不在列表中,则将名称发回给用户 告诉用户他已经使用过该命令
  3. (仅在2.a的情况下)将用户名写入列表

但我得到以下错误:

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

这是我的代码:

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!");
        }
    }
}
c# discord discord.net
1个回答
1
投票

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

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

你在类public List<string> names;之外定义你的Test,这导致它在命名空间内,不允许它。

要解决您的问题,请移动该行

public List<string> names;

进入班级Test

© www.soinside.com 2019 - 2024. All rights reserved.