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)