How to properly get channel ID?

Hello, all I really want to do is to get the channel ID, but I'm struggling to do so as it prints out as undefined. module.exports = async ( interaction, client, member) => { const channelID = interaction.channel?.id; console.log(channelID); /if (channel.id === '852196626138267698') { console.log('works!'); }/ }
19 Replies
d.js toolkit
d.js toolkit11mo ago
- What's your exact discord.js npm list discord.js and node node -v version? - Not a discord.js issue? Check out #other-js-ts. - Consider reading #how-to-get-help to improve your question! - Explain what exactly your issue is. - Post the full error stack trace, not just the top part! - Show your code! - Issue solved? Press the button! - Marked as resolved by staff
Danial
Danial11mo ago
How are you calling this function? Is it a guild channel or a DM channel? Does the bot have Guilds intent?
-૮૨ყ-
-૮૨ყ-11mo ago
I'm using commandkit, which is a handler for commands and events. Im trying to get the guild channel id and the bot does have the necessary intent. new CommandKit({ client, //client commandsPath: path.join(dirname, 'commands'), //path to commands eventsPath: path.join(dirname, 'events'), //path to events validationsPath: path.join(__dirname, 'validations'), //path to validations devGuildIds: ['852010387795607562'], devRoleIds: [ '852199048970108959', //loser '852213887956680795', //nsfw '884877160668602409', //manga enthusiast '852201577548742687' //anime ], skipBuiltInValidations: false, }); ^^^ The function calling for it !
d.js docs
d.js docs11mo ago
The order of function parameters must match between definition and function call.
function execute(client, interaction) { ... };
execute(interaction, client);
function execute(client, interaction) { ... };
execute(interaction, client);
- mismatch! you pass an interaction where the client is expected - mismatch! you pass the client where an interaction is expected
-૮૨ყ-
-૮૨ყ-11mo ago
I'm not quite sure but looking at commandkits docs... module.exports = (c, client, handler) => { console.log(${c.user.username} is ready!); }; "The first parameter c is the client object that was returned as a parameter when the "ready" event was triggered. The second parameter client is the Discord.js client that was instantiated in your main entry point file. Finally, the handler parameter is the current CommandKit instance." yeah, its still returning undefined.
duck
duck11mo ago
looking at the commandkit docs, it doesn't just pass the interaction as its own param examples show ({ interaction, client, handler }) => { where it's destructured
-૮૨ყ-
-૮૨ყ-11mo ago
Yup
-૮૨ყ-
-૮૨ყ-11mo ago
No description
No description
-૮૨ყ-
-૮૨ყ-11mo ago
I don't know lmao I feel like its really simple to fix but I don't understand what the issue really is from my understanding I'm not properly defining it so I'm scouring through the code to see where its not getting defined at
duck
duck11mo ago
your filepath seems to indicate that this file will have nothing to do with commands or interactions for that matter I suppose I had assumed that when you named the param interaction, that this was a command, but it appears not reactions aren't interactions <MessageReaction>.channelId doesn't exist <MessageReaction>.message.channelId does exist
-૮૨ყ-
-૮૨ყ-11mo ago
ahhh I see where could I see that on the docs? is it under messageReactions?
d.js docs
d.js docs11mo ago
property MessageReaction#message The message that this reaction refers to
-૮૨ყ-
-૮૨ყ-11mo ago
Is that the same for messageReactionadd as well>?
duck
duck11mo ago
the messageReactionAdd event emits with a MessageReaction and a User, so yes
d.js docs
d.js docs11mo ago
event (event) Client#messageReactionAdd Emitted whenever a reaction is added to a cached message.
Want results from more Discord servers?
Add your server