128 lines
5.2 KiB
Python
128 lines
5.2 KiB
Python
|
from discord.ext import commands
|
||
|
import discord
|
||
|
|
||
|
class Role:
|
||
|
"""Commandes role."""
|
||
|
|
||
|
def __init__(self, bot):
|
||
|
self.bot = bot
|
||
|
|
||
|
self.ARCH_ROLE = 393077257826205706
|
||
|
self.DEBIAN_ROLE = 393077933209550859
|
||
|
self.RHEL_ROLE = 393078333245751296
|
||
|
self.ANDROID_ROLE = 393087862972612627
|
||
|
self.BSD_ROLE = 401791543708745738
|
||
|
|
||
|
@commands.group(name="role", no_pm=True, pass_context=True, case_insensitive=True)
|
||
|
async def _role(self, ctx):
|
||
|
"""Affiche l'aide sur la commande role"""
|
||
|
if ctx.message.guild.id != 280805240977227776:
|
||
|
return
|
||
|
|
||
|
if ctx.invoked_subcommand is None:
|
||
|
text = open('texts/roles.md').read()
|
||
|
em = discord.Embed(title='Gestionnaires de rôles', description=text,colour=0x89C4F9)
|
||
|
await ctx.send(embed=em)
|
||
|
|
||
|
"""--------------------------------------------------------------------------------------------------------------------------"""
|
||
|
|
||
|
@_role.command(name="arch", aliases=["archlinux", "arch_linux"], pass_context=True)
|
||
|
async def role_arch(self, ctx):
|
||
|
"""Ajoute/retire le role 'Arch user'"""
|
||
|
roles = ctx.message.author.roles
|
||
|
role_id = []
|
||
|
for role in roles:
|
||
|
role_id.append(role.id)
|
||
|
|
||
|
user = ctx.message.author
|
||
|
if self.ARCH_ROLE in role_id:
|
||
|
await user.remove_roles(discord.Object(id=self.ARCH_ROLE))
|
||
|
await ctx.send(ctx.message.author.mention + " > Pourquoi tu viens de supprimer Arch Linux, c'était trop compliqué pour toi ? <:sad:343723037331292170>")
|
||
|
else:
|
||
|
await user.add_roles(discord.Object(id=self.ARCH_ROLE))
|
||
|
await ctx.send(ctx.message.author.mention + " > How un ArchLinuxien, c'est bon les ``yaourt`` ? <:hap:354275645574086656>")
|
||
|
|
||
|
"""--------------------------------------------------------------------------------------------------------------------------"""
|
||
|
|
||
|
@_role.command(name="debian", pass_context=True)
|
||
|
async def role_debian(self, ctx):
|
||
|
"""Ajoute/retire le role 'debian user'"""
|
||
|
roles = ctx.message.author.roles
|
||
|
role_id = []
|
||
|
for role in roles:
|
||
|
role_id.append(role.id)
|
||
|
|
||
|
user = ctx.message.author
|
||
|
if self.DEBIAN_ROLE in role_id:
|
||
|
await user.remove_roles(discord.Object(id=self.DEBIAN_ROLE))
|
||
|
await ctx.send(ctx.message.author.mention + " > Adieu ! Tu verras, APT te manquera ! ")
|
||
|
else:
|
||
|
await user.add_roles(discord.Object(id=self.DEBIAN_ROLE))
|
||
|
await ctx.send(ctx.message.author.mention + " > Un utilisateur de Debian, encore et encore ! <:stuck_out_tongue:343723077412323339>")
|
||
|
|
||
|
"""--------------------------------------------------------------------------------------------------------------------------"""
|
||
|
|
||
|
@_role.command(name="rhel", pass_context=True)
|
||
|
async def role_rhel(self, ctx):
|
||
|
"""Ajoute/retire le role 'rhel user'"""
|
||
|
roles = ctx.message.author.roles
|
||
|
role_id = []
|
||
|
for role in roles:
|
||
|
role_id.append(role.id)
|
||
|
|
||
|
user = ctx.message.author
|
||
|
if self.RHEL_ROLE in role_id:
|
||
|
await user.remove_roles(discord.Object(id=self.RHEL_ROLE))
|
||
|
await ctx.send(ctx.message.author.mention + " > Pourquoi tu t'en vas, il sont déjà assez seul là-bas <:sad:343723037331292170>")
|
||
|
else:
|
||
|
await user.add_roles(discord.Object(id=self.RHEL_ROLE))
|
||
|
await ctx.send(ctx.message.author.mention + " > Mais, voila quelqu'un qui porte des chapeaux ! <:hap:354275645574086656>")
|
||
|
|
||
|
"""--------------------------------------------------------------------------------------------------------------------------"""
|
||
|
|
||
|
@_role.command(name="android", pass_context=True)
|
||
|
async def role_android(self, ctx):
|
||
|
"""Ajoute/retire le role 'android user'"""
|
||
|
roles = ctx.message.author.roles
|
||
|
role_id = []
|
||
|
for role in roles:
|
||
|
role_id.append(role.id)
|
||
|
|
||
|
user = ctx.message.author
|
||
|
if self.ANDROID_ROLE in role_id:
|
||
|
await user.remove_roles(discord.Object(id=self.ANDROID_ROLE))
|
||
|
await ctx.send(ctx.message.author.mention + " > How, me dit pas que tu as compris que les Android's allaient exterminer le monde ? <:trollface:375327667160875008>")
|
||
|
else:
|
||
|
await user.add_roles(discord.Object(id=self.ANDROID_ROLE))
|
||
|
await ctx.send(ctx.message.author.mention + " > Hey, un utilisateur d'Android, prêt à continuer l'extermination de WP et iOS ? <:stuck_out_tongue:343723077412323339>")
|
||
|
|
||
|
"""--------------------------------------------------------------------------------------------------------------------------"""
|
||
|
|
||
|
@_role.command(name="bsd", pass_context=True)
|
||
|
async def role_bsd(self, ctx):
|
||
|
"""Ajoute/retire le role 'BSD user'"""
|
||
|
roles = ctx.message.author.roles
|
||
|
role_id = []
|
||
|
for role in roles:
|
||
|
role_id.append(role.id)
|
||
|
|
||
|
user = ctx.message.author
|
||
|
if self.BSD_ROLE in role_id:
|
||
|
await user.remove_roles(discord.Object(id=self.BSD_ROLE))
|
||
|
await ctx.send(ctx.message.author.mention + " > Ohhhh fait gaffe ou le démon va te piquer")
|
||
|
else:
|
||
|
await user.add_roles(discord.Object(id=self.BSD_ROLE))
|
||
|
await ctx.send(ctx.message.author.mention + " > Quelqu'un sous BSD ! Au moins il a pas besoin de mettre GNU devant son OS à chaque fois :d")
|
||
|
|
||
|
"""--------------------------------------------------------------------------------------------------------------------------"""
|
||
|
|
||
|
@_role.command(name="staff", pass_context=True, hidden=True)
|
||
|
async def role_staff(self, ctx):
|
||
|
"""Easter egg"""
|
||
|
user = ctx.message.author
|
||
|
await ctx.send(ctx.message.author.mention + " > Vous n'avez pas le rôle staff, tu crois quoi :joy:")
|
||
|
|
||
|
|
||
|
def setup(bot):
|
||
|
bot.add_cog(Role(bot))
|