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

问题描述 投票:0回答:1

所以,我又有一个关于discord.js的下一个问题,所以我试图使用一个命令使用lowdb保存公会ID和频道ID,但是当我使用var server = client.guilds.get(message.guild.id).id;时出现错误,提示无法读取属性未定义的“获取”。而且我不知道为什么。

我还会说我是机器人开发的新手,我仍在学习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)

如果您知道怎么了,请帮助

discord.js var
1个回答
0
投票

如果使用的是discord.js@v12,则应记住您应该通过.cache属性来使代码正常工作。您可以通过查看Client.guilds的文档自行检查。同样,您不需要从它们的ID中获取频道和行会,因为您已经将它们存储为消息属性。这是我的处理方式:

Client.guilds

为了公平起见,我将无法解释为什么会出现该错误。

© www.soinside.com 2019 - 2024. All rights reserved.