简体   繁体   English

自动发送消息 discord.js

[英]Auto send message discord.js

I have a selfbot project for Discord (I know it's against the ToS, but this is just an experiment I'm not going to use it)我有一个 Discord 的 selfbot 项目(我知道它违反了 ToS,但这只是一个实验,我不会使用它)

I want the selfbot to send a message like "this is an example message" every hour in a specific channel with the ID (783651779207626752)我希望 selfbot 在特定频道中每小时发送一条消息,例如“这是一条示例消息”,ID 为 (783651779207626752)

What and where should I add something in the code?我应该在代码中添加什么以及在哪里添加一些东西?

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)

You can make another file called globalFunctions.js您可以制作另一个名为 globalFunctions.js 的文件

Add anything that you want to be running globally as an IFFE添加任何你想作为 IFFE 全局运行的东西

This will insure that every IFFE has its own block of code这将确保每个 IFFE 都有自己的代码块

globalFunctions.js globalFunctions.js


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

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

// and so on

}

OR " I recommend this if you want to scale "或者“如果你想扩大规模,我推荐这个

you can add other files for each global function and add then to global function file您可以为每个全局 function 添加其他文件,然后添加到全局 function 文件

/*Import other functions*/

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


}

and just import this function to the main file and run it after the server runs只需将此 function 导入主文件并在服务器运行后运行

main.js main.js

import globalFunctions from 'PATH'

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

    // Your code

    globalFunctions(client, channel)
})

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM