gpt4 book ai didi

javascript - 如何让机器人在使用 !coins 命令时忽略给我硬币?

转载 作者:行者123 更新时间:2023-11-28 11:00:39 25 4
gpt4 key购买 nike

所以我正在做硬币系统,但我遇到了一个小问题。通常,每当我输入某些内容时,我都会得到 1 个硬币,但当我使用 !coins 命令检查我有多少硬币时,我不希望机器人给我硬币。我希望它在使用此命令时忽略给我硬币。那么我应该添加什么呢?

这是我在index.js中的代码:

if (message.channel.id === "528734148718886922"){
if(!coins[message.author.id]){
coins[message.author.id] = {
coins: 0
};
}

let coinAmt = Math.floor(Math.random() * 1) + 1;
let baseAmt = Math.floor(Math.random() * 1) + 1;
console.log(`${coinAmt}; ${baseAmt}`);

if(coinAmt === baseAmt){
coins[message.author.id] = {
coins: coins[message.author.id].coins + coinAmt
};
fs.writeFile("./coins.json", JSON.stringify(coins), (err) => {
if (err) console.log(err)
});

let coinEmbed = new Discord.RichEmbed()
.setAuthor(message.author.username)
.setColor("#6666ff")
.addField("💰", `You earned ${coinAmt} Scrap`)

message.channel.send(coinEmbed).then(message => {message.delete(100000)});

}
}

coins.js 文件:

const Discord = require("discord.js");
let coins = require("../coins.json");

module.exports.run = async (bot, message, args) =>{
//coins

if(!coins[message.author.id]){
coins[message.author.id] = {
coins: 0
};
}

let uCoins = coins[message.author.id].coins;

let coinEmbed = new Discord.RichEmbed()
.setAuthor(message.author.username)
.setColor("#6666ff")
.addField("💰", uCoins);



message.channel.send(coinEmbed).then(message => {message.delete(50000)});


}

module.exports.help = {
name: "coins"
}

最佳答案

我想最简单的方法是将 if (message.channel.id === "528734148718886922"){ 替换为:

if (message.channel.id === "528734148718886922" && message.content !== "!coin"){`

另一种方法稍微复杂一些,但允许您做更多的事情,即仅在未找到命令的情况下才给予硬币。根据您构建机器人的方式不同,您可能有一个 if(cmd) {if(commandfile),或其他类似的方式,然后您可以将将硬币代码放入 else 部分,以便仅在没有运行命令时才给出硬币。

关于javascript - 如何让机器人在使用 !coins 命令时忽略给我硬币?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54967380/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com