如何定义只能由机器人所有者使用的特定前缀?
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
: '.';
我正在尝试设置另一个前缀,但只能由我使用,同时为其他用户保留常用前缀。
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
: '.';