我的代码当前将检查输入是否有效,而我使用的是or运算符。
if (tosell !== 'xmr' || tosell !== 'eth' || tosell !== 'btc') {
message.channel.send('Unknown currency. Valid currencies are: xmr, eth, btc. Example: $sell xmr')
} else {
message.channel.send('How much '+tosell+' would you like to sell?')
const collector = new Discord.MessageCollector(message.channel, m => m.author.id === message.author.id, { time: 5000 });
collector.on('collect', async message => {
amount = parseInt(message.content)
if (amount === 'all') {
realamount = score.xmr
} else if (amount != 'all') {
console.log(score.xmr)
realamount = amount
}
if (tosell === 'xmr') {
if (userscore.xmr >= amount) {
var cg = await fetch('https://api.coingecko.com/api/v3/coins/monero?tickers=true&market_data=true&community_data=false&developer_data=false&sparkline=false').then(response => response.json());;
const xmrprice = cg.market_data.current_price.usd
const toAdd = realamount*xmrprice
userscore.xmr -= amount
userscore.usd += toAdd
const embed = new Discord.MessageEmbed()
.setColor('#7FDB7F')
.setTitle('You sold '+amount+'XMR for $'+toAdd)
.setAuthor('Successful Sell', 'https://cdn.discordapp.com/emojis/710590499991322714.png?v=1')
message.channel.send(embed)
client.setScore.run(userscore);
} else {
message.channel.send("You don't have enough Monero to sell!")
}
}
})
}
但是当它这样做时由于某种原因它不能识别/工作,即使我输入值xmr,它也会执行我定义的“其他”。如果有人知道我对or运算符做错了,请告诉我
Because it's
!==
- that's "not equal". Use===
for equal:Also you can use
includes
for more concise syntax: