ryuko-ng/robocop_ng/cogs/mod_reswitched.py

46 lines
1.6 KiB
Python
Raw Normal View History

2020-09-01 07:58:35 +00:00
from discord.ext import commands
from discord.ext.commands import Cog
from robocop_ng.helpers.checks import check_if_staff
2020-09-01 07:58:35 +00:00
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."""
can_ping = any(r.id in self.bot.config.pingmods_allow for r in ctx.author.roles)
2020-09-01 07:58:35 +00:00
if can_ping:
await ctx.send(
f"<@&{self.bot.config.pingmods_role}>: {ctx.author.mention} needs assistance."
2020-09-01 07:58:35 +00:00
)
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)
2020-11-04 16:01:19 +00:00
@commands.command(aliases=["togglemod"])
2020-09-01 07:58:35 +00:00
async def modtoggle(self, ctx):
"""Toggles your mod role, staff only."""
target_role = ctx.guild.get_role(self.bot.config.modtoggle_role)
2020-09-01 07:58:35 +00:00
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.")
async def setup(bot):
await bot.add_cog(ModReswitched(bot))