2020-09-01 07:58:35 +00:00
import config
from discord . ext import commands
from discord . ext . commands import Cog
from helpers . checks import check_if_staff
class ModReswitched ( Cog ) :
def __init__ ( self , bot ) :
self . bot = bot
@commands.guild_only ( )
@commands.command ( aliases = [ " pingmods " , " summonmods " ] )
async def pingmod ( self , ctx ) :
2020-09-01 18:18:17 +00:00
""" Pings mods, only use when there ' s an emergency. """
2020-09-01 07:58:35 +00:00
can_ping = any ( r . id in config . pingmods_allow for r in ctx . author . roles )
if can_ping :
await ctx . send (
f " <@& { config . pingmods_role } >: { ctx . author . mention } needs assistance. "
)
else :
await ctx . send (
2020-09-01 18:18:17 +00:00
f " { ctx . author . mention } : You need the community role to be able to ping the entire mod team, please pick an online mod (not staff, please!), and ping them instead. "
2020-09-01 07:58:35 +00:00
)
@commands.guild_only ( )
@commands.check ( check_if_staff )
@commands.command ( )
async def modtoggle ( self , ctx ) :
""" Toggles your mod role, staff only. """
target_role = ctx . guild . get_role ( config . modtoggle_role )
if target_role in ctx . author . roles :
await ctx . author . remove_roles (
target_role , reason = " Staff self-unassigned mod role "
)
await ctx . send ( f " { ctx . author . mention } : Removed your mod role. " )
else :
await ctx . author . add_roles (
target_role , reason = " Staff self-assigned mod role "
)
await ctx . send ( f " { ctx . author . mention } : Gave you mod role. " )
def setup ( bot ) :
bot . add_cog ( ModReswitched ( bot ) )