You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Enso-Bot/cogs/help/modmail.py

51 lines
1.6 KiB
Python

import datetime
import random
from discord import Colour, Embed, DMChannel
from discord.ext import commands
import settings
# Set up the Cog
class Modmail(commands.Cog):
def __init__(self, bot):
self.bot = bot
# Allows for the modmail system
@commands.Cog.listener()
async def on_message(self, message):
# Making sure that the bot doesn't reply to itself
if message.author == self.bot:
return
# Get the mod-mail channel
channel = self.bot.get_channel(728083016290926623)
if isinstance(message.channel, DMChannel):
if len(message.content) < 50:
await message.channel.send("Your message should be at least 50 characters in length.")
else:
guild = self.bot.get_guild(663651584399507476)
member = guild.get_member(message.author.id)
embed = Embed(title="**Modmail**",
colour=Colour(random.choice(settings.colour_list)),
timestamp=datetime.datetime.utcnow())
embed.set_thumbnail(url=message.author.avatar_url)
embed.set_footer(text=f"Requested by {member}")
fields = [("Member", member, False),
("Message", message.content, False)]
for name, value, inline in fields:
embed.add_field(name=name, value=value, inline=inline)
await channel.send(embed=embed)
await message.channel.send("**Message relayed to Staff! Thank you for your input!**")
def setup(bot):
bot.add_cog(Modmail(bot))