Discord.py Listening for a Message after a Command
Solution 1:
So, what you want is to store the user's input data and append them as like an interview form:
It takes the user's input messages and appends them to the message they answered like:
q_list = [
'Your question 1',
'Your question 2',
'Your question 3']
a_list = []
@client.command()
async def create(ctx):
await ctx.send("You will be asked a series of questions to create your Profile. If you accidentally typed this wait 15 seconds for it to cancel.")
a_list = []
submit_channel = client.get_channel(CHANNEL_ID_FOR_SUBMISSIONS)
channel = await ctx.author.create_dm()
def check(m):
return m.content is not None and m.channel == channel
for question in q_list:
await asyncio.sleep(3)
await channel.send(question)
msg = await client.wait_for('message', check=check)
a_list.append(msg.content)
submit_wait = True
while submit_wait:
await channel.send(
'You have completed the interview, type ``submit`` to confirm')
msg = await client.wait_for('message', check=check)
if "submit" in msg.content.lower():
submit_wait = False
answers = "\n".join(f'{a}. {b}' for a, b in enumerate(a_list, 1))
submit_msg = f'''**Submission - Created by {msg.author.mention}** \n{answers}'''
await submit_channel.send(submit_msg)