[英]quick.db leveling system - database.updateValue is not a function
我正在嘗試使用 quick.db 使用 discord 機器人制作一個調平系統。 我已經研究了一段時間,但無法弄清楚,所以我想我會在這里 go 。 我當前的代碼是:(app.js)
//Message Leveling
database.updateValue(message.author.id + message.guild.id, 1).then(i => {
let messages;
if (i.value = 25) messages = 25; // Level 1
else if (i.value == 50) messages = 50; // Level 2
else if (i.value == 75) messages = 75; //Level 3
if (!isNaN(messages)) { // If messages iss STILL empty, run this
database.updateValue(`userLevel_${message.author.id + message.guild.id}`, 1).then(o => {
message.channel.send(`You sent ${messages} messages, LEVEL UP HOME BOY! level ${o.value}`)
})
}
})
(消息.js)
const db = require('quick.db');
var database = require('quick.db')
exports.run = (bot, message, args, func) => {
database.fetchObject(message.author.id + message.guild.id).then(i => {
database.fetchObject(`userLevel_${message.author.id + message.guild.id}`).then(o => {
message.channel.send('Messages sent: `' + (i.value + 1) + '`\nLevel: `' + o.value +'`');
})
})
}
現在,我得到的錯誤發生在 app.js 中,但我認為messages.js 中的代碼可能會有所幫助。 錯誤是:
[help] database.updateValue(message.author.id + message.guild.id, 1).then(i => {
[help] ^
[help]
[help] TypeError: database.updateValue is not a function
作為新手,我仍然不太了解 TypeError 是什么或如何修復它,盡管在谷歌上查找它(我知道,我是一個真正的研究人員)。 所以我希望有人能幫我一把。 我也找不到這個錯誤的例子,所以我很迷茫。
一如既往,感謝您花時間閱讀我的問題,如果我有任何術語錯誤,請隨時問我我的意思,或者您可以稱我為愚蠢。 <3
database.updateValue
不是 function,而是您希望使用database.add
,例如:
database.add(`level_${message.guild.id}_${message.author.id}`, 1).then(i => {
let messages;
if (i.value = 25) messages = 25; // Level 1
else if (i.value == 50) messages = 50; // Level 2
else if (i.value == 75) messages = 75; //Level 3
if (!isNaN(messages)) { // If messages iss STILL empty, run this
database.add(`level_${message.guild.id}_${message.author.id}`, 1).then(o => {
message.channel.send(`You sent ${messages} messages, LEVEL UP HOME BOY! level ${o.value}`)
})
}
})
對於獲取數據庫, fetchObject
不是 function,使用fetch
或get
const db = require('quick.db');
var database = require('quick.db')
exports.run = (bot, message, args, func) => {
db.fetch(level_${message.guild.id}_${message.author.id}).then(i => {
db.fetch(level_${message.guild.id}_${message.author.id}).then(o => {
message.channel.send('Messages sent: `' + (i.value + 1) + '`\nLevel: `' + o.value +'`');
})
})
}
如果您已將quick.db
定義為db
,則不要調用database
,而是調用db
,否則它將無法正常工作。
謝謝,寒戰
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.