Migration de Kuby vers disnake
This commit is contained in:
parent
dc6e235f27
commit
c8c579eefe
36 changed files with 1205 additions and 1253 deletions
|
|
@ -16,9 +16,8 @@ from PIL import Image, ImageDraw, ImageFont
|
|||
# Add parent directory to path for imports
|
||||
sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))))
|
||||
|
||||
import discord
|
||||
from discord.ext import commands
|
||||
from discord import app_commands
|
||||
import disnake
|
||||
from disnake.ext import commands
|
||||
|
||||
from .data.storage import get_storage
|
||||
from .data.models import TicketData, TicketStatus, GuildTicketConfig
|
||||
|
|
@ -31,7 +30,7 @@ class TicketAnalytics(commands.Cog):
|
|||
self.bot = bot
|
||||
self.storage = get_storage()
|
||||
|
||||
def _is_staff(self, interaction: discord.Interaction) -> bool:
|
||||
def _is_staff(self, interaction: disnake.Interaction) -> bool:
|
||||
"""Check if user is staff"""
|
||||
guild = interaction.guild
|
||||
user = interaction.user
|
||||
|
|
@ -363,9 +362,8 @@ class TicketAnalytics(commands.Cog):
|
|||
buf.seek(0)
|
||||
return buf
|
||||
|
||||
@app_commands.command(name="ticket_analytics", description="Affiche les statistiques détaillées des tickets (Staff uniquement)")
|
||||
@app_commands.describe(period="Période d'analyse (7d, 30d, 90d, all)")
|
||||
async def ticket_analytics(self, interaction: discord.Interaction, period: str = "30d"):
|
||||
@commands.slash_command(name="ticket_analytics", description="Affiche les statistiques détaillées des tickets (Staff uniquement)")
|
||||
async def ticket_analytics(self, interaction: disnake.Interaction, period: str = commands.Param(default="30d", choices=["7d", "30d", "90d", "all"], description="Période d'analyse")):
|
||||
"""Display comprehensive ticket analytics for staff"""
|
||||
await interaction.response.defer(ephemeral=True)
|
||||
|
||||
|
|
@ -405,10 +403,10 @@ class TicketAnalytics(commands.Cog):
|
|||
t.created_at >= cutoff_date for t in filtered_tickets if hasattr(t, 'response_time') and t.response_time == rt)]
|
||||
|
||||
# Create main embed
|
||||
embed = discord.Embed(
|
||||
embed = disnake.Embed(
|
||||
title="📊 Analytics des Tickets",
|
||||
description=f"Statistiques pour la période: **{period}**",
|
||||
color=discord.Color.blue(),
|
||||
color=disnake.Color.blue(),
|
||||
timestamp=datetime.now()
|
||||
)
|
||||
|
||||
|
|
@ -444,7 +442,7 @@ class TicketAnalytics(commands.Cog):
|
|||
rating_chart = self._create_rating_chart(stats['ratings'])
|
||||
await interaction.followup.send(
|
||||
"📊 **Distribution des Notes Clients**",
|
||||
file=discord.File(rating_chart, 'rating_distribution.png'),
|
||||
file=disnake.File(rating_chart, 'rating_distribution.png'),
|
||||
ephemeral=True
|
||||
)
|
||||
|
||||
|
|
@ -453,7 +451,7 @@ class TicketAnalytics(commands.Cog):
|
|||
response_chart = self._create_response_time_chart(stats['response_times'])
|
||||
await interaction.followup.send(
|
||||
"⏱️ **Temps de Réponse**",
|
||||
file=discord.File(response_chart, 'response_times.png'),
|
||||
file=disnake.File(response_chart, 'response_times.png'),
|
||||
ephemeral=True
|
||||
)
|
||||
|
||||
|
|
@ -462,7 +460,7 @@ class TicketAnalytics(commands.Cog):
|
|||
trend_chart = self._create_trend_chart(stats['tickets_by_day'])
|
||||
await interaction.followup.send(
|
||||
"📈 **Évolution des Tickets**",
|
||||
file=discord.File(trend_chart, 'ticket_trends.png'),
|
||||
file=disnake.File(trend_chart, 'ticket_trends.png'),
|
||||
ephemeral=True
|
||||
)
|
||||
|
||||
|
|
@ -471,10 +469,10 @@ class TicketAnalytics(commands.Cog):
|
|||
|
||||
# Send feedback summary if available
|
||||
if stats['feedbacks']:
|
||||
feedback_embed = discord.Embed(
|
||||
feedback_embed = disnake.Embed(
|
||||
title="💬 Commentaires Clients",
|
||||
description=f"Derniers commentaires ({min(5, len(stats['feedbacks']))} affichés)",
|
||||
color=discord.Color.green()
|
||||
color=disnake.Color.green()
|
||||
)
|
||||
|
||||
# Sort by rating (lowest first to show areas for improvement)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue