What my program should do is in a discord server the user types ~modmail. This message then arrives in their dm:
The user should then reply in the dm with the question specified. All of this information is then sent to a specifically name channel in the original server.
Now here is the problem: Global variables aren't be able to be used in the new on_message function:
name = "reports-log"
channel = get(message.server.channels, name=name, type=discord.ChannelType.text)
original = message.author
dm_embed=discord.Embed(title="Modmail/Support:", color=discord.Color.green(), description=" ")
dm_embed.add_field(name="Please declare your problem/question and send it in this channel!", value="**Question must be on one message**\n*You can make a new line if you press Shift + Enter*")
dm_embed.set_footer(text="Valid for 1 minute")
await client.send_message(message.author, embed=dm_embed)
@client.event
async def on_message(message):
if message.server is None and message.author != client.user:
global channel
global original
question = message.content
report_embed = discord.Embed(title="New Modmail:" , color=discord.Color.green())
report_embed.add_field(name="User: ", value=message.author.mention)
report_embed.add_field(name="Question: ", value=question)
await client.send_message(channel, embed=report_embed)
await client.send_message(original, embed=discord.Embed(color=discord.Color.green(), description="Your support request has been recieved, you will recieve help shortly."))
Not sure why these variables aren't able to be used in my function. Hope someone has a solution for me. Thanks.

wait_for_messageby defining newon_messageevents?