我用我的机器人发出一个命令,首先检查目标玩家是否有特定的角色。问题是,它无法弄清楚这个人是否有这个角色,它总是默认为没有。
// Points remove command
if (interaction.commandName === 'points-remove') {
const player = interaction.options.getUser('target');
const playerid = player.roles.cache.has('1136220928666251325');
const pToRemove = interaction.options.getInteger('points');
const sqlQ = `UPDATE playerdata SET points = points - ${mysql.escape(pToRemove)} WHERE playerid = ${mysql.escape(player.id)}`;
if (playerid) {
con.query(sqlQ, (error, result) => {
if (error) throw error;
interaction.reply({ content: `${player} has lost ${pToRemove} succesfully!`, ephemeral: true });
});
} else {
interaction.reply('Cannot remove from unregistered player!');
}
}
字符串
基本上,如果用户没有“registered”角色,该命令将不会执行任何操作。但是它总是转到else语句。(我为代码的格式道歉,它复制粘贴得很糟糕)
1条答案
按热度按时间k4ymrczo1#
用户没有角色!你的代码是完全正确的,除了下面这行:
字符串
将上面的代码更改为以下代码应该可以解决您的问题!
型