自动发送消息 discord.js

时间:2020-12-22 10:34:03

标签: javascript node.js discord discord.js

我有一个 Discord 的 selfbot 项目(我知道它违反了 ToS,但这只是一个实验,我不会使用它)

我希望 selfbot 每小时在特定频道中使用 ID (783651779207626752) 发送一条消息,例如“这是一个示例消息”

我应该在代码中添加什么以及在哪里添加内容?

const Discord = require("discord.js")
const client = new Discord.Client()
const { prefix, token } = require("./config.json")
const fs = require("fs")
const { table, getBorderCharacters } = require("table")


const commands = new Discord.Collection();

let commandFiles

function loadCommands() {
    console.log("loading commands..")
    const startTime = new Date().getTime()

    commandFiles = fs.readdirSync("./commands/").filter(file => file.endsWith(".js"));
    const failedTable = []

    if (commands.size > 0) {
        for (command of commands.keyArray()) {
            delete require.cache[require.resolve(`./commands/${command}.js`)]
        }
        commands.clear()
    }

    for (file of commandFiles) {
        let command
        
        try {
            command = require(`./commands/${file}`);

            let enabled = true;
        
            if (!command.name || !command.description || !command.run) {
                enabled = false;
            }

            if (enabled) {
                commands.set(command.name, command);
            } else {
                failedTable.push([file, "❌"])
            }
        } catch (e) {
            failedTable.push([file, "❌"])
        }
    }
}

loadCommands()

exports.reloadCommands = loadCommands

client.once("ready", () => {
    console.log("logged in as " + client.user.username + "#" + client.user.discriminator)
})

function runCommand(cmd, message, args) {
    args.shift()
    try {
        commands.get(cmd).run(message, args)
    } catch(e) {
        console.log(e)
    }
}

setTimeout(() => {
    client.login(token)
}, 1500)

1 个答案:

答案 0 :(得分:1)

您可以创建另一个名为 globalFunctions.js 的文件

添加任何您想要作为 IFFE 全局运行的内容

这将确保每个 IFFE 都有自己的代码块

globalFunctions.js


export default globalFunctions(client, channel){
/*
 IFFE
*/

    (function(){
      setInterval(()=>{
         channel.send('some message')
      }, /*Time you want*/)
    })()

// and so on

}

或“如果你想扩展,我推荐这个

您可以为每个全局函数添加其他文件,然后添加到全局函数文件中

/*Import other functions*/

import periodicMessage from 'PATH'
export default globalFunctions(client, channel){
   
    periodicMessage(client, channel);


}

只需将此函数导入主文件并在服务器运行后运行它

ma​​in.js

import globalFunctions from 'PATH'

client.once('ready', () => {

    // Your code

    globalFunctions(client, channel)
})