Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
326 views
in Technique[技术] by (71.8m points)

node.js - Cannot read property 'get' of undefined discord.js

I've been trying to send message to a particular text channel in a server using the channelId but I end up getting the error:

TypeError: Cannot read property 'get' of undefined
    at Object.<anonymous>

when using

  const channel = bot.channels.cache.get('711580200315650078');

here is my entire code:

require('dotenv').config();
const Discord = require('discord.js');
const bot = new Discord.Client();
const TOKEN = process.env.TOKEN;

bot.login(TOKEN);

bot.on('ready', () => {
  console.info(`Logged in as ${bot.user.tag}!`);
  const channel = bot.channels.cache.get('711580200315650078');
  channel.send('hello');
  
});
question from:https://stackoverflow.com/questions/65641927/cannot-read-property-get-of-undefined-discord-js

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

You can try:

require('dotenv').config();
const Discord = require('discord.js');
const bot = new Discord.Client();
const TOKEN = process.env.TOKEN;

bot.login(TOKEN);

bot.on('ready', () => {
  console.info(`Logged in as ${bot.user.tag}!`);
  const channel = bot.channels.get('711580200315650078');
  channel.send('hello');
  
});

This is probably because you're using Discord.js v11. You should migrate to v12, using npm install discord.js. You will then be able to use:

const channel = bot.channels.cache.get('711580200315650078');

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...