我正在尝试向config.LOG_CHANNEL内部的通道ID发送消息 当我运行ping命令时,我未记录const通道wich,因此,client.channels.cache为空
module.exports = {
name: 'ping',
description: 'This is a ping command!',
execute(message, args) {
message.channel.send('Pong');
const fs = require('fs');
const Discord = require('discord.js');
const client = new Discord.Client();
let config = JSON.parse(fs.readFileSync("./config.json"));
const channel = client.channels.cache.get(config.LOG_CHANNEL);
console.log(channel);
console.log(client.channels.cache);
}
}
这是我的控制台输出:
undefined
Collection [Map] {}
答案 0 :(得分:1)
频道ID是雪花ID吗?如果它仍然带有#或<>符号,则将无法获得您的频道。 例如。
var channelID = config.LOG_CHANNEL.replace(/<|#|>/g, "") //strip snowflake id to reference channel directly
var channel1 = message.guild.channels.cache.get(channelID)
答案 1 :(得分:0)
似乎未缓存频道。 尝试使用此:
client.channels.fetch(config.LOG_CHANNEL);