楊魅力
2023-07-06 19:55:32
我正在嘗試制作一個不和諧機器人。我使用 AkairoClient 作為框架,其中有一個設(shè)置前綴的選項。我有以下代碼: // HANDLERS this.commandHandler = new CommandHandler(this, { prefix: msg => { let prefix; console.log('first') con.query(`SELECT * FROM info WHERE id = ${msg.guild.id}`, (err, rows) => { if (!err) prefix = rows[0].prefix; console.log('Second') }); console.log('third') return prefix ?? '!'; }, blockBots: true,/* Rest of code here ...*/ });當(dāng)我執(zhí)行此操作時,控制臺打?。旱谝坏牡谌谝坏牡谌诙诙以诶斫馊绾问蛊湔9ぷ鲿r遇到問題,因為我希望prefix獲取行的值,但在本例中prefix返回的是undefined查詢完成之前的結(jié)果
1 回答

慕俠2389804
TA貢獻1719條經(jīng)驗 獲得超6個贊
我不完全確定你的模塊是如何工作的,但這將是異步等待函數(shù)的正確語法:
this.commandHandler = new CommandHandler(this, {
prefix: async msg => {
let prefix;
console.log('first');
const rows = await con.query(`SELECT * FROM info WHERE id = ${msg.guild.id}`).catch(console.log);
console.log('Second');
if (rows) prefix = rows[0].prefix;
console.log('third');
return prefix ?? '!';
},
blockBots: true,
/* Rest of code here ...*/
});
添加回答
舉報
0/150
提交
取消