Migration vers Disnake et ajout des components V2
This commit is contained in:
parent
c8c579eefe
commit
98f7501e07
47 changed files with 1196 additions and 722 deletions
|
|
@ -1,6 +1,6 @@
|
|||
import discord
|
||||
from discord import app_commands
|
||||
from discord.ext import commands
|
||||
from disnake.ext import commands
|
||||
import json
|
||||
import os
|
||||
|
||||
|
|
@ -38,7 +38,7 @@ class Blacklist(commands.Cog):
|
|||
# ---------- Slash Commands ----------
|
||||
@app_commands.command(name="blacklist", description="Blacklist un utilisateur")
|
||||
@app_commands.describe(user="Utilisateur à blacklister", reason="Raison")
|
||||
async def blacklist_slash(self, interaction: discord.Interaction, user: discord.User, reason: str = "Aucune raison fournie"):
|
||||
async def blacklist_slash(self, interaction: disnake.Interaction, user: disnake.User, reason: str = "Aucune raison fournie"):
|
||||
if not self.is_agent(interaction.user.id):
|
||||
return await interaction.response.send_message("⛔ Tu n’as pas la permission.", ephemeral=True)
|
||||
|
||||
|
|
@ -55,7 +55,7 @@ class Blacklist(commands.Cog):
|
|||
|
||||
@app_commands.command(name="unblacklist", description="Retire un utilisateur de la blacklist")
|
||||
@app_commands.describe(user="Utilisateur à retirer")
|
||||
async def unblacklist_slash(self, interaction: discord.Interaction, user: discord.User):
|
||||
async def unblacklist_slash(self, interaction: disnake.Interaction, user: disnake.User):
|
||||
if not self.is_agent(interaction.user.id):
|
||||
return await interaction.response.send_message("⛔ Tu n’as pas la permission.", ephemeral=True)
|
||||
|
||||
|
|
@ -81,13 +81,13 @@ class Blacklist(commands.Cog):
|
|||
pass
|
||||
|
||||
# --------- Boutons ----------
|
||||
class TicketButton(discord.ui.View):
|
||||
class TicketButton(disnake.ui.View):
|
||||
def __init__(self, user_id: int):
|
||||
super().__init__(timeout=None)
|
||||
self.user_id = user_id
|
||||
|
||||
@discord.ui.button(label="📩 Ouvrir une demande de déblacklist", style=discord.ButtonStyle.danger)
|
||||
async def open_ticket(self, interaction: discord.Interaction, button: discord.ui.Button):
|
||||
@disnake.ui.button(label="📩 Ouvrir une demande de déblacklist", style=disnake.ButtonStyle.danger)
|
||||
async def open_ticket(self, button: disnake.ui.Button, interaction: disnake.Interaction):
|
||||
if interaction.user.id != self.user_id:
|
||||
return await interaction.response.send_message("❌ Ce bouton ne t’appartient pas.", ephemeral=True)
|
||||
|
||||
|
|
@ -110,13 +110,13 @@ class TicketButton(discord.ui.View):
|
|||
|
||||
await interaction.response.send_message("✅ Ton ticket a été créé en MP avec le bot.", ephemeral=True)
|
||||
|
||||
class CloseTicketView(discord.ui.View):
|
||||
class CloseTicketView(disnake.ui.View):
|
||||
def __init__(self, user_id: int):
|
||||
super().__init__(timeout=None)
|
||||
self.user_id = user_id
|
||||
|
||||
@discord.ui.button(label="❌ Fermer le ticket", style=discord.ButtonStyle.danger)
|
||||
async def close_ticket(self, interaction: discord.Interaction, button: discord.ui.Button):
|
||||
@disnake.ui.button(label="❌ Fermer le ticket", style=disnake.ButtonStyle.danger)
|
||||
async def close_ticket(self, button: disnake.ui.Button, interaction: disnake.Interaction):
|
||||
agents = load_json(AGENTS_FILE, {"agents": []})
|
||||
if str(interaction.user.id) not in agents["agents"]:
|
||||
return await interaction.response.send_message("⛔ Seuls les agents Omega Kube peuvent fermer un ticket.", ephemeral=True)
|
||||
|
|
@ -124,13 +124,13 @@ class CloseTicketView(discord.ui.View):
|
|||
view = ConfirmCloseView(self.user_id)
|
||||
await interaction.response.send_message("⚠️ Veux-tu vraiment fermer ce ticket ?", view=view, ephemeral=True)
|
||||
|
||||
class ConfirmCloseView(discord.ui.View):
|
||||
class ConfirmCloseView(disnake.ui.View):
|
||||
def __init__(self, user_id: int):
|
||||
super().__init__(timeout=30)
|
||||
self.user_id = user_id
|
||||
|
||||
@discord.ui.button(label="✅ Oui", style=discord.ButtonStyle.success)
|
||||
async def confirm(self, interaction: discord.Interaction, button: discord.ui.Button):
|
||||
@disnake.ui.button(label="✅ Oui", style=disnake.ButtonStyle.success)
|
||||
async def confirm(self, button: disnake.ui.Button, interaction: disnake.Interaction):
|
||||
agents = load_json(AGENTS_FILE, {"agents": []})
|
||||
if str(interaction.user.id) not in agents["agents"]:
|
||||
return await interaction.response.send_message("⛔ Tu n’as pas la permission.", ephemeral=True)
|
||||
|
|
@ -142,12 +142,12 @@ class ConfirmCloseView(discord.ui.View):
|
|||
await interaction.channel.send("✅ Ticket fermé.")
|
||||
await interaction.channel.delete()
|
||||
|
||||
@discord.ui.button(label="❌ Non", style=discord.ButtonStyle.secondary)
|
||||
async def cancel(self, interaction: discord.Interaction, button: discord.ui.Button):
|
||||
@disnake.ui.button(label="❌ Non", style=disnake.ButtonStyle.secondary)
|
||||
async def cancel(self, button: disnake.ui.Button, interaction: disnake.Interaction):
|
||||
await interaction.response.send_message("❌ Fermeture annulée.", ephemeral=True)
|
||||
|
||||
# --------- Setup Cog ----------
|
||||
async def setup(bot: commands.Bot):
|
||||
def setup(bot: commands.Bot):
|
||||
cog = Blacklist(bot)
|
||||
await bot.add_cog(cog)
|
||||
await bot.tree.sync(guild=discord.Object(id=MAIN_GUILD_ID))
|
||||
await bot.tree.sync(guild=disnake.Object(id=MAIN_GUILD_ID))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue