Reputation: 27
Sorry if the title didn't make sense, I'm making a discord bot and I'm trying to make a little 8 ball command. What I'm trying to make the bot do is that after the user type "$8ball" the bot will say "What's your question?" Then wait for the user to type out their question and then respond with the array of responses I've made for it.
@client.event
async def on_message(message):
if message.author == client.user:
return
if message.content.startswith("$8Ball"):
await message.channel.send("What is your question?")
(that's all the code I have so far)
Upvotes: 2
Views: 411
Reputation: 322
Try this. question
will be what the user inputted. It waits for a message in the same channel as the orginal command and by the same user who did the command
@client.event
async def on_message(message, author):
if message.content.startswith('$8Ball'):
channel = message.channel
author = message.author
await channel.send('What is your question?')
def check(m):
return m.author == author and m.channel == channel
msg = await client.wait_for('message', check=check)
question = msg.content
Tell me how it goes :D
Upvotes: 2
Reputation: 160
You can try to store the id of the user and react to the next message of this user.
Upvotes: 1