【问题标题】:Create a list of users who use the same commands in discord.js在 discord.js 中创建使用相同命令的用户列表
【发布时间】:2020-03-10 20:20:52
【问题描述】:

我正在尝试制作一个不和谐的机器人。我已经走了很远。 我似乎无法弄清楚如何将我的数据放入 JSON 文件中的列表中。

我的 JSON 文件如下所示:

{
    "t7 bags": ["username1#1234", "username2#1234"],
    "t8 bags": ["username#1234"]
}

当他们在 discord 上使用某个命令时,我需要使用来自 Discord.js 的 message.author.id 将更多“用户名”推送到“t7 包”和“t8 包”中。

我现在正在使用 fs.writeFile,有没有更好的方法。

if(message.content.startsWith(prefix + " craft")) {
    editedmessage = message.content.slice(prefix.length + 1);
    skill = message.content.slice(9);



            client.msgs [skill] = {
                users: message.author.id
                }
                message.reply("You can now " + editedmessage)
}
fs.writeFile("./msgs.json", JSON.stringify (client.msgs, null, 4), err => {
    if (err) throw err; 

    {

        return console.log(err);
    }
 })

这是我现在尝试使用的。

【问题讨论】:

  • 据我所知应该是client.msgs[skill].push(message.author.id);(也许?不知道你的具体问题是什么)
  • 它给了我这个错误`client.msgs[skill].push(message.author.id) = { ^ TypeError: Cannot read property 'push' of undefined `
  • client.msgs 是什么?
  • client.msgs = 要求 ("./msgs.json");这是我现在正在写入的文件
  • 现在它正在将它输出到 /msgs.json 文件{ "t10 bags": { "users": "95790380057894912" }, "t9 bags": { "users": "95790380057894912" }, "t8 bags": { "users": "95790380057894912" } } 我希望它输出更像{ "t7 bags": ["username1#1234", "username2#1234"], "t8 bags": ["username#1234"] }

标签: javascript bots discord


【解决方案1】:
if (message.content.startsWith (prefix + " who")) { 
    let filter = message.content.slice(prefix.length + 5) 
    let item = message.content.slice(7) 
    let _skill = client.msgs[filter]
    if(!_skill) return message.reply('Can`t find skill')
    const whoEmbed = new discord.RichEmbed() 
        .setColor('#0099ff') 
        .setTitle('These players can craft ' + item) 
        .setAuthor('VINDICTIVE CRAFTER BOT', 'https://i.imgur.com/wSTFkRM.png') 
        .setDescription(`${_skill.map(user => `<@${user}>`).join('\n')}`) 
        .setFooter('This bot was created by BigTibbies'); 
    message.channel.send(whoEmbed); 
}

添加数据代码

if(message.content.startsWith(prefix + " craft")) {
    let editedmessage = message.content.slice(prefix.length + 1);
    let skill = message.content.slice(9);

    if(!client.msgs[skill]) {
        client.msgs[skill] = [message.author.id]
    } else {
        if(!client.msgs[skill].includes(message.author.id)) client.msgs[skill].push(message.author.id)
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-01-01
    • 2021-06-25
    • 2019-08-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-09-30
    相关资源
    最近更新 更多