Skip to content
Advertisement

Discord.py bot ignoring channel.message.id

I have a bot that every 1 to 12 hours sends a random message into a specific channel (the channel that the command !random is used in). A certain handful of these message are yes/no questions, and I want to make it that the bot will respond if somebody says yes/no.

The code works, the issue is I want the bot to respond ONLY if the person answered yes/no in the same channel the bot sent the original message, not just any channel (because this may disrupt other actual conversations).

The issue is, the bot seems to always think the id entered for message.channel.id is wrong. I’ve triple checked and it is indeed the correct channel where I used the command and the bot is sending the messages there, it is also where I’m replying to the bot as I would want for the “if” condition to work. Here’s the code:

JavaScript

Like I said, the code before I added message.channel.id worked fine, except that if I answered the bot in a different channel, it would answer me back in that new channel instead of not reading the message at all (which is what I want, hence this code).

But, even though I’m keeping it to the correct channel, my terminal keeps printing “nothing to say!”, meaning it’s passing over those two if statements now.

I’ve tried making it 2 separate if statements (if ‘no’: if in channel: etc) but that doesn’t work either.

tldr how do I make a bot respond only if a user’s message is sent to a specific channel?

Advertisement

Answer

Ah, turns out I’m stupid lol. I had to do what @anoor1234 suggested but make it a separate if function

JavaScript

This fixed it.

User contributions licensed under: CC BY-SA
2 People found this is helpful
Advertisement