簡體   English   中英

Discord.js | 如何讓機器人不帶前綴地回復特定 ID 消息的所有者

[英]Discord.js | How to make bot reply to the owner of a specific ID's messages without prefix

所以基本上我試圖發出一個命令,當執行命令並提供一個 id 時,它將保存它!funi (ID) ,如果它看到 id 的所有者發送了一條消息,它會說“閉嘴”。 我正在使用 MongoDB 作為數據庫。 這是代碼的樣子:

const Schema = require('../models/shut-schema')

module.exports = {
    name: 'funi',
    aliases: ['unfuni'],
    description: 'shut up noob',
    async execute(message, args, cmd, client, Discord){

        if(!args[0]) return message.reply('Please insert an ID so I can make them regret their life choices.');
        if(isNaN(args[0])) return message.reply("That's not an ID dumb dumb")
        
        const ID = args[0];

        Schema.findOne(async (err, data) => {
            if(data){
                data.ID = ID;
                data.save();
            } else {
                new Schema({
                    ID: ID
                }).save();
            }
            await message.reply("ID saved")
        })

        if (ID) message.reply("shut up")
    } 
}

這是狗屎模式:

const mongoose = require('mongoose');

let Schema = new mongoose.Schema({
    ID: String,
})

module.exports = mongoose.model('Noobs', Schema)

但顯然,它不起作用。 它僅在 id 的所有者執行命令並插入 id 時響應。 我該怎么做才能在不添加前綴的情況下響應所有者 ID 的所有消息? 對不起,如果它令人困惑。

附言。 如果它不需要數據庫,那沒關系。 我不確定它是否如此。 只是想包括在內。

我實際上找到了答案。 我只需要在使用前綴之前將命令放在消息事件中,現在它就可以工作了。 我還在 guildID 中添加了一個字符串,這樣每個公會都可以有 1 個菜鳥。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM