Javascript 有没有办法在我的discord bot中为每个用户添加自定义前缀?

Javascript 有没有办法在我的discord bot中为每个用户添加自定义前缀?,javascript,discord.js,Javascript,Discord.js,我想为每个用户创建一个自定义前缀命令,所以当有人这样做时!setprefix应该为该用户设置前缀,而其他用户不能使用该前缀。有人能帮我吗?没有,因为bot使用前缀的设置值进行初始化,该值在运行时无法更改。这意味着您可以更改名为prefix的变量的值,但在您重新启动bot之前,它不会影响bot,并且无论谁将其设置为什么,它对每个人都具有相同的值。作为varian,您可以使用数据库进行此操作,或者使用json文件存储数据。 格式如下: { "memberID": { "prefix":

我想为每个用户创建一个自定义前缀命令,所以当有人这样做时!setprefix应该为该用户设置前缀,而其他用户不能使用该前缀。有人能帮我吗?

没有,因为bot使用前缀的设置值进行初始化,该值在运行时无法更改。这意味着您可以更改名为
prefix
的变量的值,但在您重新启动bot之前,它不会影响bot,并且无论谁将其设置为什么,它对每个人都具有相同的值。

作为varian,您可以使用数据库进行此操作,或者使用json文件存储数据。 格式如下:

{
  "memberID": {
    "prefix": "#"
  },
    "memberID2": {
    "prefix": "@"
  },
    "memberID3": {
    "prefix": "!"
  }
}

所以在message上,您需要检查这个json是否有message.author.id,如果有使用
userPrefix
,如果没有使用
defaultPrefix
,我建议使用持久存储之类的东西。Enmap是javascript内置
Map()
类的密钥对扩展。有了它,您可以轻松设置/获取用户前缀。

这实际上是不正确的。人们处理前缀的方式因您编写代码的方式而异。但是前缀不一定是硬编码的。虽然您确实需要提供一个“默认”前缀,但您可以编写代码来检查用户是否设置了自定义前缀(甚至只是读取用户和前缀的JSON文件)。