Javascript 如何使用命令在discord.js中获取服务器id和通道id?

Javascript 如何使用命令在discord.js中获取服务器id和通道id?,javascript,discord.js,Javascript,Discord.js,我试图使用一个命令保存帮会id和频道id,使用lowdb,但当我使用var server=client.guilds.get(message.guild.id).id我得到的错误是,无法读取未定义的属性“get”。我不知道为什么 var server = client.guilds.get(message.guild.id).id; var channel = client.guilds.get(message.channel.id).id; db.get('posts') .push({

我试图使用一个命令保存帮会id和频道id,使用lowdb,但当我使用
var server=client.guilds.get(message.guild.id).id我得到的错误是,无法读取未定义的属性“get”。我不知道为什么

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)

const client=require('如果您使用的是discord。js@v12然后您应该记住,您应该通过
.cache
属性才能使代码正常工作。您可以通过查看文档来检查这一点。
此外,您不需要从他们的ID获取频道和公会,因为您已经将它们存储为消息属性。
我会这样做:

let server=message.guild.id,//发送消息的公会的id
channel=message.channel.id//发送消息的通道的id

平心而论,我无法解释为什么会出现这个错误。

好吧,那么您得到的“get”不是一个函数,因为在v12中它必须是client.guilds.cache.get(
您想放在这里的任何内容

您好,您使用的是哪个版本的discord.js?您确定事件发生后您正在运行该代码吗?我使用的是v12 discord.js,我想这可能是它的问题,但我不确定如何修复它以及如何正确设置它,我试图在文档中找到解决方案,但我无法找到。我只找到了.id以及如何使用它,但它没有解决我的问题是的,因为我在使用命令处理程序,我在文件中有所有常量,命令是激活它的,在主文件中感谢一切工作正常,现在我只需要弄清楚何时以及如何替换现有“post”的数据因此,它不会在每次有人设置频道时创建新帖子,并向一台服务器上的两个不同频道发送欢迎消息