首页 > 解决方案 > Discord.js:TypeError:client.channels.get 不是函数

问题描述

嘿,我尝试了很多东西,但这段代码不起作用,抱歉没有包含这么多细节,但我真的不知道这段代码有什么问题

const express = require("express");
const app = express();
const Discord = require("discord.js");
const client = new Discord.Client()
const db = require('quick.db');
client.on('ready', () => {
console.log(client.user.tag);
});
console.log(client.channels.get(`688901992826929210`))

安慰:

TypeError: client.channels.get is not a function at Object.<anonymous> (/app/server.js:9:29)
    at Module._compile (internal/modules/cjs/loader.js:759:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:770:10)
    at Module.load (internal/modules/cjs/loader.js:628:32)
    at Function.Module._load (internal/modules/cjs/loader.js:555:12)
    at Function.Module.runMain (internal/modules/cjs/loader.js:826:10)
    at internal/main/run_main_module.js:17:11

我正在使用 glitch.com 免费托管,谢谢。

标签: node.jsdiscord.js

解决方案


您似乎没有使用登录到您的客户端,client.login('INSERT TOKEN HERE')因此 client.channels 可能未定义,因此 .get() 不是函数。

此外,如果您碰巧使用的是新的 Discord.js v12,现在可以使用,client.channels.cache.get()但您仍然必须使用您的机器人令牌登录。


推荐阅读