嘿,所以我为minecraft服务器编写了一个不和谐机器人,它可以显示服务器上玩家的前10个游戏时间。但它不是发送一个嵌入它发送10个嵌入,一个为每一个球员在10行我查询任何帮助将被主持!
var now = new Date();
var playtimes = '../cost of ballin/PLAYTIMES/playtime-' + now.getFullYear() + "-" + now.getMonth() + "-" + now.getDate() + '.txt'
client.on("message", (msg) => {
if (msg.content == prefix + "pt") {
con.query("SELECT DAYS,NAME,MINUTES,HOURS FROM playtimes ORDER BY DAYS DESC LIMIT 10",
function(err, result) {
if (err) throw err;
Object.keys(result).forEach(function(key) {
var row = result[key];
fs.appendFileSync(playtimes, "Player Name: " + row.NAME + " Days: " + row.DAYS + " Hours: " + row.HOURS + " Minutes: " + row.MINUTES + "\r\n")
var file = fs.readFileSync(playtimes)
const embed = new Discord.MessageEmbed()
.setColor('#000000')
.setTitle('Playtime Leaderboard')
.setDescription(playtimes)
wait(10000)
channel.send(embed);
})
}
);
}
});
我在这里看到的问题是,每次运行.foreach()
循环时,您都在执行channel.send()
。
每次运行它时,它都会发送一条消息。相反,您应该做的是创建某种对象,存储从查询中获得的统计数据,然后在.foreach()
循环完成后发送消息。例如:
var now = new Date();
var playtimes = '../cost of ballin/PLAYTIMES/playtime-' + now.getFullYear() + "-" + now.getMonth() + "-" + now.getDate() + '.txt'
client.on("message", (msg) => {
if (msg.content == prefix + "pt") {
let playTimeStats = {} //create a dictionary for the stats
con.query("SELECT DAYS,NAME,MINUTES,HOURS FROM playtimes ORDER BY DAYS DESC LIMIT 10",
function(err, result) {
if (err) throw err;
Object.keys(result).forEach(function(key) {
var row = result[key];
fs.appendFileSync(playtimes, "Player Name: " + row.NAME + " Days: " + row.DAYS + " Hours: " + row.HOURS + " Minutes: " + row.MINUTES + "\r\n")
var file = fs.readFileSync(playtimes)
playTimeStats[row.NAME] = {
"Days": row.DAYS,
"Hours": row.HOURS,
"Minutes": row.MINUTES
} //add the stats to the dictionary
})
}
);
//make an embed here for the stats, and then send it
}
});
我还没有为你写好所有的代码,但是我已经添加了我认为你需要开始的东西...我已经添加了字典和如何添加元素到它,你只需要制作和发送嵌入。希望这有帮助!
如何在一条消息中发送多个嵌入?像这样发送多个: 输出: 我找不到任何关于发送多个嵌入的文档,在discord.js文件中提到了它,发送了一个嵌入列表。虽然我试过这个,但它也不起作用。
我试着用阿凡达和它对我的TypeError:guildMember说的话来嵌入欢迎信息。displayAvatarURL不是一个函数
我想为我的存储库创建集成测试。生产数据库是 Sybase,它由多个目录组成,其中有多个模式。 在我的代码中,我使用多个查询,在不同的目录中选择数据: 因此,对于测试,我想创建嵌入式数据库,如H2、HSQLDB或其他不同的数据库。我试图找到一种可以让我用多个目录来模拟prod数据库的方法,但我无法实现。请提供建议并提出解决方案。 我正在用java / spring编写应用程序。这里的另一个技巧是我的
这是我到目前为止的代码,但atm我在“.settitle”oor处出现了“Expression expected”的问题,只是在嵌入的第一节。我不知道它想让我把什么放在上面。 完整代码: 我放入了完整的代码,因为它与原始代码(https://github.com/richardkriesman/discord-logger/blob/master/server.js)有些不同,但目前的主要问题是“
我只是想给加入服务器的新成员写一封欢迎信。我想在每次新成员加入时发送嵌入。但是,未发送嵌入。有人能帮我吗? 这是我的代码: 谢谢
问题内容: 我有一个sqlhelper类,其中包含一个重载的ExecuteNonQuery:一个仅包含一个参数(commandText),另一个仅包含两个参数(commandText,SqlParameter [])。 假设我有一个没有用户交互的独立控制台应用程序,并且我将调用一个存储过程,该存储过程将仅使用3个参数更新一个表,如果我可以轻松地构建字符串并使用SqlParameter[],有什么好