如何发送数据库内容而不是 [object Object] Discord.js + mysql

Posted

技术标签:

【中文标题】如何发送数据库内容而不是 [object Object] Discord.js + mysql【英文标题】:How to send content of a data base and not [object Objet] Discord.js + mysql 【发布时间】:2021-05-05 14:05:31 【问题描述】:

我正在编写一个 DiscordBot,它可以从我的数据库中获取信息并将它们发送到 discord chanel,但问题是只能在通道中发送:[object Object] ... 如果有人想发送信息而不是 [object Object] ...

这是命令的代码:

const  Channel  = require('discord.js');
const  MESSAGES  = require('../../utility/constants');
const  MessageEmbed  = require('discord.js');
const mysql = require("mysql");



const db = mysql.createConnection(
    host: "localhost",
    port: "3306",
    user: "root",
    password: "root",
    database: "devoirs",

)

db.connect(function (err) 
    if(err) throw err;

    console.log('Connecter a la BDD')
)


module.exports.run = (bot, message, args) => 

   
    db.query("SELECT * FROM devfr ", function (err, test)
            console.log(test)
            message.channel.send(test)
            return test
     )
;




module.exports.help = MESSAGES.COMMANDS.COMMANDES.DEVOIRS;

结果:

Tis is the command is used

感谢您的帮助。

【问题讨论】:

tu peux envoyer le contenu du console.log(test)? Voilà ce qui es afficher : (3) [RowDataPacket, RowDataPacket, RowDataPacket] 0:RowDataPacket Français: 'bonjour' 1:RowDataPacket Français: 'bonsoir' 2:RowDataPacket Français: 'bonsoir' 长度:3 proto:Array(0) Merci. 【参考方案1】:

使用.map 表示法:

db.query("SELECT * FROM devfr ", function (err, test)
    console.log(test)
    message.channel.send(test.map((row) => row.Français))
    return test
)

【讨论】:

是否可以将每个数据放入嵌入或类似的东西中?使用地图,一次发送所有数据。谢谢。 是的,使用 embed.setDescription()

以上是关于如何发送数据库内容而不是 [object Object] Discord.js + mysql的主要内容,如果未能解决你的问题,请参考以下文章

如何将字符串转换为 MongoDB objectId

如何在 Objective-C 中的 OS2 中将数据从 Iphone 发送到 Apple Watch

JSON.stringify 返回“[object Object]”而不是对象的内容

使用“发送”而不是普通的方法调用有啥意义?

<sqlite3.Row object at 0x1017fe3f0> 而不是数据库内容

下载文件时在文件内容中获取类型 [object object],而不是使用 angular 7 获取 blob