quick.db 调平系统 - database.updateValue 不是函数
Posted
技术标签:
【中文标题】quick.db 调平系统 - database.updateValue 不是函数【英文标题】:quick.db leveling system - database.updateValue is not a function 【发布时间】:2020-03-13 23:08:19 【问题描述】:我正在尝试使用 quick.db 制作一个带有不和谐机器人的调平系统。我一直在研究这个,但无法弄清楚,所以我想我会去这里。我目前的代码是: (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`)
)
)
(messages.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 是什么或如何修复它,尽管在 google 上查找它(我知道,我是一个真正的研究人员)。所以我希望有人能帮我一把。我也找不到这个错误的例子,所以我很迷茫。
与往常一样,感谢您花时间阅读我的问题,如果我有任何术语错误,请随时问我我的意思,或者您可以称我为愚蠢。
【问题讨论】:
quick.db 没有 updateValue 功能 看来你可能想看看 .set(key, data) here 【参考方案1】:database.updateValue
不是一个函数,而是你想使用database.add
like:
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
不是函数,请使用 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
,否则它将不起作用。
谢谢, 发冷
【讨论】:
以上是关于quick.db 调平系统 - database.updateValue 不是函数的主要内容,如果未能解决你的问题,请参考以下文章
有没有办法使用 quick.db 制作 discord.js 日志系统
Discord Bot Maker - MySQL 调平系统或 Discord.js - MySQL 调平系统