如何定义只能由机器人所有者使用的特定前缀?

How to define a particular prefix that can only be used by the owner of the bot?

我正在尝试设置另一个前缀,但只能由我使用,同时为其他用户保留常用前缀。

client.on('message', async message => {
  const prefix = '.' 
  if(message.content.startsWith(prefix)) {
    const messageArray = message.content.split(' ');
    const cmd = messageArray[0];
    const args = messageArray.slice(1);
    const command = client.commands.get(cmd.slice(prefix.length))
                 || client.commands.get(client.aliases.get(cmd.slice(prefix.length)));
    // Command execution
});

您可以使用 ternary operator, frequently used as alternative to an if...else 语句根据用户是否是所有者轻松分配前缀。

如果消息作者不是所有者,前缀将是默认的,否则将是所有者前缀:

const prefix = message.author.id !== OWNER_ID ? '.' : OWNER_PREFIX; 

所有者可以使用这两个前缀,但用户只能使用默认前缀:

const prefix = message.content.startsWith('.') ? '.'
             : message.author.id === OWNER_ID ? OWNER_PREFIX
             : '.';