猿问

如何制作将channelID存储在数据库中的命令?

我如何制作一个命令,将 channelID 存储在数据库中,也通过数据库,有点像我机器上的一个大文本文件,它有一个服务器 id,然后是一个通道 id。我该怎么办?


我正在使用:discord.js sqlite3 sequelize


我认为它会如何:用户:?setlog #channelmentionhere Bot:将新的全部内容放入文本文件或其他内容中


我做了大量的研究,我无法理解其中的大部分内容,如果我确实理解了它,我就会遇到麻烦。


我的机器人代码:




client.on('message', message => {


    if (!message.content.startsWith(prefix) || message.author.bot) return;


    const args = message.content.slice(prefix.length).split(/ +/);

    const commandName = args.shift().toLowerCase();

    const user = message.mentions.users.first();



    const command = client.commands.get(commandName)

        || client.commands.find(cmd => cmd.aliases && cmd.aliases.includes(commandName));


    if (!command) return;


    if (command.guildOnly && message.channel.type !== 'text') {

        return message.reply('I can\'t execute that command inside DMs!');

    }


    if (command.args && !args.length) {

        let reply = `You didn't provide any arguments, ${message.author}!`;


        if (command.usage) {

            reply += `\nThe proper usage would be: \`${prefix}${command.name} ${command.usage}\``;

        }


        return message.channel.send(reply);

    }


    if (!cooldowns.has(command.name)) {

        cooldowns.set(command.name, new Discord.Collection());

    }


    const now = Date.now();

    const timestamps = cooldowns.get(command.name);

    const cooldownAmount = (command.cooldown || 3) * 1000;


守候你守候我
浏览 236回答 1
1回答

一只斗牛犬

我会推荐 Quick.db ( npm i quick.db) 这个数据库持久存储(不会在机器人重启时擦除)在以下代码片段中,我使用的是 quick.db,但使用 Json 文件应该不会太难。设置每个公会的频道ID:(你不必使用会员,但我习惯这样做)let member = message.guild.member(message.member);db.set(`${member.guild.id}-modlogs`, message.mentions.channels.first().id);在其他命令中抓取数据库然后发送通道消息:let dbchannelID = db.get(`${member.guild.id}-modlogs`)let msgchannel = member.guild.channels.get(dbchannelID);msgchannel.send("Blah Blah")在解释db.set部分:所以db.set在设置数据库,并在此数据库会modlogs。db.set&之间的文本modlogs是您想要将其设置为的方式,在这里它是每个公会的设置。您可以将其更改为message.author.id,它将设置为作者等。希望这在某种程度上有所帮助。
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答