import datetime
import discord
from discord . ext import commands
from EnsoBot import client
class CustomHelp ( commands . Cog ) :
def __init__ ( self , bot ) :
self . bot = bot
@commands.command ( )
async def help ( self , ctx ) :
author = ctx . message . author
try :
embed = discord . Embed ( title = " ```(っ◔◡◔)っ Ensō Commands``` " , colour = discord . Colour . orange ( ) )
embed . timestamp = datetime . datetime . utcnow ( )
embed . set_thumbnail ( url = " https://media.discordapp.net/attachments/683490529862090814/715010931620446269 "
" /image1.jpg?width=658&height=658 " )
embed . set_author ( name = " Hamothy " , icon_url = " https://cdn.discordapp.com/attachments/689525645734182916 "
" /718510466640642099/Rias_Gremory.png " )
embed . set_footer ( text = f " { ctx . message . author } " ,
icon_url = " https://media.discordapp.net/attachments/689525645734182916/718510466640642099/Rias_Gremory.png " )
embed . add_field (
name = " \u200b " ,
value = " ```css " +
" \n ( ͡°ω ͡°) Fun Commands ( ͡°ω ͡°) " +
" ``` " ,
inline = False )
embed . add_field (
name = " \u200b \u200b " ,
value = " **➳ ~8ball** " +
" \n Allows the user to ask a question and 8ball will give a custom response " +
" \n *(Perms: everyone)* " ,
inline = True )
embed . add_field (
name = " \u200b \u200b " ,
value = " **➳ ~owo** " +
" \n Converts the sentence typed into ' owo ' text " +
" \n *(Perms: everyone)* " ,
inline = True )
embed . add_field (
name = " \u200b " ,
value = " **➳ ~lemon** " +
" \n Allows the user to give a lemon to someone in the server " +
" \n *(Perms: Everyone)* " ,
inline = True )
embed . add_field (
name = " \u200b " ,
value = " **➳ ~flip** " +
" \n Allows the user to ' throw a coin ' and get a response with a 50/50 chance " +
" \n *(Perms: Everyone)* " ,
inline = True )
embed . add_field (
name = " \u200b " ,
value = " **➳ ~attack** " +
" \n Allows the user to throw an insult to someone in the server " +
" \n *(Perms: Co-Owner)* " ,
inline = True )
embed . add_field (
name = " \u200b " ,
value = " **➳ ~compliment** " +
" \n Allows the user to compliment someone in the server " +
" \n *(Perms: Everyone)* " ,
inline = True )
embed . add_field (
name = " \u200b " ,
value = " **➳ ~kiss** " +
" \n Allows the user to kiss someone in the server " +
" \n *(Perms: Everyone)* " ,
inline = True )
embed . add_field (
name = " \u200b " ,
value = " **➳ ~cuddle** " +
" \n Allows the user to cuddle someone in the server " +
" \n *(Perms: Everyone)* " ,
inline = True )
embed . add_field (
name = " \u200b " ,
value = " ```css " +
" \n ( ͡°ω ͡°) Waifu/Husbando Commands ( ͡°ω ͡°) " +
" ``` " ,
inline = False )
embed . add_field (
name = " \u200b \u200b " ,
value = " **➳ ~kakashi** " +
" \n Allows for a randomly generated image of Hatake Kakashi " +
" \n *(Perms: Everyone)* " ,
inline = True )
embed . add_field (
name = " \u200b " ,
value = " **➳ ~toga** " +
" \n Allows for a randomly generated image of Himiko Toga to be shown " +
" \n *(Perms: Everyone)* " ,
inline = True )
embed . add_field (
name = " \u200b " ,
value = " **➳ ~tamaki** " +
" \n Allows for a randomly generated image of Tamaki Suoh to be shown " +
" \n *(Perms: Everyone)* " ,
inline = True )
embed . add_field (
name = " \u200b " ,
value = " ```css " +
" \n ( ͡°ω ͡°) Misc Commands ( ͡°ω ͡°) " +
" ``` " ,
inline = False )
embed . add_field (
name = " \u200b \u200b " ,
value = " **➳ ~ping** " +
" \n Returns Pong! Along With The Latency in ms " +
" \n *(Perms: Co-Owner)* " ,
inline = True )
embed . add_field (
name = " \u200b " ,
value = " **➳ ~rules** " +
" \n Returns the entire ruleset for the server " +
" \n *(Perms: Everyone)* " ,
inline = True )
embed . add_field (
name = " \u200b " ,
value = " **➳ ~roles** " +
" \n Shows you how the leveling and xp system works, as well as displaying the order of leveled roles " +
" \n *(Perms: Everyone)* " ,
inline = True )
await author . send ( embed = embed )
except Exception as e :
print ( e )
# Bot ~rules command allows for an embed message about the leveled roles and xp system
@commands.command ( aliases = [ " Rules " , " rule " , " Rule " ] )
async def rules ( self , ctx , target : discord . Member ) :
try :
embed = discord . Embed ( title = " ```(っ◔◡◔)っ Ensō Rules``` " , colour = discord . Colour ( 0xFF69B4 ) ,
description = " ``` ヽ(͡◕ ͜ʖ ͡◕)ノ Please respect the following rules that are going to be listed below ヽ(͡◕ ͜ʖ ͡◕)ノ ``` " )
embed . timestamp = datetime . datetime . utcnow ( )
embed . set_thumbnail ( url = " https://media.discordapp.net/attachments/683490529862090814/715010931620446269 "
" /image1.jpg?width=658&height=658 " )
embed . set_author ( name = " Hamothy " , icon_url = " https://cdn.discordapp.com/attachments/689525645734182916 "
" /718510466640642099/Rias_Gremory.png " )
embed . set_footer ( text = f " { ctx . message . author } " ,
icon_url = " https://media.discordapp.net/attachments/689525645734182916/718510466640642099/Rias_Gremory.png " )
embed . add_field (
name = " \u200b " ,
value = " **➳ Don ' t be overly toxic/purposely problematic** " +
" \n This one is pretty self explanatory, just treat others the way you want to be treated and you ' ll get along with everyone :) " ,
inline = False )
embed . add_field (
name = " \u200b " ,
value = " **➳ Respect all admins and staff** " +
" \n They are enforcing these rules to help make and keep this server a fantastic place to hang out. " ,
inline = False )
embed . add_field (
name = " \u200b " ,
value = " **➳ Keep content organized into their respective channels** " +
" \n For example. When connected to a voice channel, all messages relating to the discussion in voice-chat should be sent in #vc-chat " ,
inline = False )
embed . add_field (
name = " \u200b " ,
value = " **➳ No advertising other servers** " +
" \n It ' s disrespectful to do that and won ' t be tolerated in this server " ,
inline = False )
embed . add_field (
name = " \u200b " ,
value = " **➳ No pornographic/adult/other NSFW material** " +
" \n This is a community server and not meant to share this kind of material. Try to stay around PG 13 as most of our users are between 13 - 16 " ,
inline = False )
embed . add_field (
name = " \u200b " ,
value = " **➳ Don ' t take insults too far** " +
" \n Poking fun at others is okay, just don ' t take it too far. Any disputes can be brought up to a staff member and they will handle it. " +
" \n If you end up causing a problem or taking things into your in hands, you will be punished " ,
inline = False )
embed . add_field (
name = " \u200b " ,
value = " **➳ Explicit Language** " +
" \n Swearing is perfectly fine as long as it ' s not in excess, with some exceptions of course. " +
" These exceptions being racial, sexual, and ethnic slurs " ,
inline = False )
embed . add_field (
name = " \u200b " ,
value = " **➳ Discord ToS** " +
" \n As well as following the rules we have set forth, please make sure to follow Discord ' s ToS https://discordapp.com/terms " ,
inline = False )
embed . add_field (
name = " \u200b \u200b " ,
value = " ```( ͡°ω ͡°) Disciplinary Actions ( ͡°ω ͡°)``` " ,
inline = False )
embed . add_field (
name = " \u200b " ,
value = " **➳ First Offense** " +
" \n Warning " ,
inline = True )
embed . add_field (
name = " \u200b " ,
value = " **➳ Second Offense** " +
" \n 1 hour mute " ,
inline = True )
embed . add_field (
name = " \u200b " ,
value = " **➳ Third Offense** " +
" \n 12 hour mute " ,
inline = True )
embed . add_field (
name = " \u200b " ,
value = " **➳ Fourth Offense** " +
" \n 24 hour mute " ,
inline = True )
embed . add_field (
name = " \u200b " ,
value = " **➳Fifth Offense** " +
" \n Kicked from the server " ,
inline = True )
embed . add_field (
name = " \u200b " ,
value = " **➳ Sixth Offense** " +
" \n Banned from the server " ,
inline = True )
embed . add_field (
name = " \u200b " ,
value = " **➳ There are, of course, exceptions to these rules based on the severity of the offense. "
" Minor offenses will play out as described but major offenses will be dealt with at the discretion of the staff member involved.** " ,
inline = False )
embed . add_field (
name = " \u200b " ,
value = f " **➳ Any disputes about a staff members choices or actions can be brought to myself, { ctx . message . author . mention } " +
f " , or my co-owner, { target . mention } ** " ,
inline = False )
await ctx . send ( embed = embed )
except Exception as e :
print ( e )
# Bot ~roles command allows for an embed message about roles
@commands.command ( )
async def roles ( self , ctx ) :
author = ctx . message . author
try :
embed = discord . Embed ( title = " ```So you wanna know how the leveled roles system works huh?``` " ,
colour = discord . Colour ( 0x30e419 ) ,
description = " ------------------------------------------------ " )
embed . timestamp = datetime . datetime . utcnow ( )
embed . set_image (
url = " https://media.discordapp.net/attachments/669812887564320769/717149671771996180/unknown.png " )
embed . set_thumbnail (
url = " https://cdn.discordapp.com/attachments/683490529862090814/715010931620446269/image1.jpg " )
embed . set_author ( name = " Hamothy " ,
icon_url = " https://cdn.discordapp.com/attachments/689525645734182916/717137453651066900 "
" /Rias_Gremory.png " )
embed . set_footer (
text = " --------------------------------------------------------------------------------- " )
embed . add_field ( name = " Cooldown " , value = " **•XP is gained every time you talk with a 2 minute cooldown.** " ,
inline = False ) ,
embed . add_field ( name = " Message Length " ,
value = " **•XP is not determined by the size of the message. You will not get more XP just because "
" the message is bigger.** " ,
inline = False ) ,
embed . add_field ( name = " Roles " ,
value = " **•As seen below, those are the colours and roles that will be achieved upon gaining that "
" amount of experience** " ,
inline = False )
await author . send ( embed = embed )
except Exception as e :
print ( e )
# Bot ~roles command allows for an embed message about roles
@commands.Cog.listener ( )
async def on_member_join ( self , member ) :
channel = client . get_channel ( 669771571337887765 )
try :
embed = discord . Embed ( title = " ```Welcome To Ensō!``` " ,
colour = discord . Colour ( 0x30e419 ) )
embed . timestamp = datetime . datetime . utcnow ( )
embed . set_thumbnail ( url = " https://media.discordapp.net/attachments/683490529862090814/715010931620446269 "
" /image1.jpg?width=658&height=658 " )
embed . set_image (
url = " https://cdn.discordapp.com/attachments/714671068941647933/717144047252275270/f4d7de6463d3ada02058a094fd6917ac.gif " )
embed . set_author ( name = " Hamothy " , icon_url = " https://cdn.discordapp.com/attachments/689525645734182916 "
" /718510466640642099/Rias_Gremory.png " )
embed . set_footer ( text = f " Hamothy#5619 " ,
icon_url = " https://media.discordapp.net/attachments/689525645734182916/718510466640642099/Rias_Gremory.png " )
embed . add_field (
name = " \u200b " ,
value = f " Hello { member . mention } ! We hope you enjoy your stay in this server! " ,
inline = False )
embed . add_field (
name = " \u200b " ,
value = f " Be sure to check out our <#669815048658747392> channel to read the rules and <#683490529862090814> channel to get caught up with any changes! " ,
inline = False )
embed . add_field (
name = " \u200b " ,
value = f " Last but not least, feel free to go into <#669775971297132556> to introduce yourself! " ,
inline = False )
await channel . send ( embed = embed )
except Exception as e :
print ( e )
def setup ( bot ) :
bot . add_cog ( CustomHelp ( bot ) )