NodeJS 我如何打印不一致的消息到express服务器?

9fkzdhlc  于 2023-02-12  发布在  Node.js
关注(0)|答案(1)|浏览(123)

我一直在寻找了很长一段时间,我可以发送一个不和谐的消息到我的网站。然后我发现快递,我不明白如何打印数据到网站时,不和谐的消息事件被触发,你能帮助这个问题?
我刚刚尝试了以下方法,但它只工作了一次,然后就不工作了

const {Client} = require("discord.js")
const client = new Client({intents: ["GUILDS","GUILD_MEMBERS","GUILD_MESSAGES","GUILD_PRESENCES"]})
client.login("token")
client.on("ready", () => {
console.log("oks")
})
const express = require("express")
var app = express();

client.on("message",  message => {
    app.get("/",function(qu,res){
        res.send(message.content)
       })
       })
    })
let servers = app.listen(3000,function(){
})
tjvv9vkg

tjvv9vkg1#

使用messageCreate是因为message事件已经过时了。app.get()应该在你的消息事件监听器之外定义。我不知道你所说的"打印数据到站点"是什么意思,但是你可以添加发送到数据库的每一条消息,或者如果你喜欢的话,可以添加一个JSON文件,然后通过express发送数据。如果你想让你站点上的消息实时更新,可以看看套接字。
这里有一个例子可以说明我的意思:

const { Client } = require("discord.js")
const express = require("express")

const client = new Client({ intents: ["GUILD_MESSAGES"] })
const app = express();
const messages = []

app.get("/", (req, res) => {
    res.status(200).json(messages)
})

client.on("ready", () => {
    console.log("ready!")
})

client.on("message",  message => {
    messages.push(message)
})

client.login("token")
app.listen(3000, () => console.log("listening on port 3000")

相关问题