因此,我再次有一个关于discord.js的下一个问题,因此我试图使用一个命令使用lowdb保存公会ID和频道ID,但是当我使用var server = client.guilds.get(message.guild.id).id;
时出现错误,无法读取未定义的属性“ get”。而且我不知道为什么。
我还要说我是机器人开发的新手,而且我还在学习JS,所以有时我只是不知道我的代码有什么问题
var server = client.guilds.get(message.guild.id).id;
var channel = client.guilds.get(message.channel.id).id;
db.get('posts')
.push({ id: server, title: channel})
.write()
},
我编写了所有代码,我在代码开头定义了所有内容
const client = require('<there's path but I don't want to show it cuz there's my name>/my_bot.js');
const low = require('lowdb')
const FileSync = require('lowdb/adapters/FileSync')
const adapter = new FileSync('db.json')
const db = low(adapter)
如果您知道怎么了,请帮忙
答案 0 :(得分:1)
如果您使用discord.js@v12,则应记住应该通过.cache
属性来使代码正常工作。您可以通过查看http://localhost:8080/auth/admin/master/console/的文档来自己检查。
另外,您不需要从它们的ID中获取频道和行会,因为您已经将它们存储为消息属性。
这是我的处理方式:
let server = message.guild.id, // ID of the guild the message was sent in
channel = message.channel.id // ID of the channel the message was sent in
为了公平起见,我无法解释为什么会出现该错误。
答案 1 :(得分:0)
好的,所以你得到的“get”不是一个函数,因为在 v12 中它必须是 client.guilds.cache.get(whatever you wanna put here
)