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
- 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 staffHow are you calling this function? Is it a guild channel or a DM channel? Does the bot have Guilds intent?
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
!
The order of function parameters must match between definition and function call.
- mismatch! you pass an interaction where the client is expected
- mismatch! you pass the client where an interaction is expected
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.looking at the commandkit docs, it doesn't just pass the interaction as its own param
examples show
({ interaction, client, handler }) => {
where it's destructuredYup
![No description](https://cdn.answeroverflow.com/1164728888103022612/Screenshot_2023-10-19_at_17.54.07.png)
![No description](https://cdn.answeroverflow.com/1164728888434368582/Screenshot_2023-10-19_at_17.54.37.png)
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
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 existahhh I see
where could I see that on the docs?
is it under messageReactions?
Is that the same for messageReactionadd as well>?
the
messageReactionAdd
event emits with a MessageReaction
and a User
, so yes