Partage
  • Partager sur Facebook
  • Partager sur Twitter

Bot Discord python problème import discord_slash

ModuleNotFoundError: No module named 'discord_slash'

Sujet résolu
    1 février 2024 à 11:22:19

    Bonjour à tous, c'est la première fois que j'écris dans un forum d'aide, mais j'ai besoin d'aide !

    Je développe un bot discord pour un serveur GTA RP. Je voudrais mettre en place un système d'annonce leboncoin géré par mon bot.

    A la compilation, j'ai une erreur que voici :

    Traceback (most recent call last):
      File "d:\Cours\Master1\Ydays GTARP\bot\leboncoin\leboncoin.py", line 4, in <module>
        from discord_slash import SlashCommand, SlashContext    
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ModuleNotFoundError: No module named 'discord_slash'

    Voici mon code :

    import discord
    from discord.ext import commands
    from discord_slash import SlashCommand, SlashContext   #ICI discord_slash n'est pas reconnu
    from discord_slash.model import ButtonStyle            #ICI aussi
    
     
    
    intents = discord.Intents.default()
    intents.message_content = True
    intents.guilds = True
    intents.members = True
    
    bot = commands.Bot(command_prefix='/', intents=intents)
    slash = SlashCommand(bot, sync_commands=True) 
    
    @bot.event
    async def on_ready():
        print(f'Logged in as {bot.user.name}')
    
    @slash.slash(name='create_annonce', description='Créez votre annonce')
    async def create_annonce(ctx: SlashContext):
        
        embed = discord.Embed(
            title="Créer votre annonce",
            description="Cliquez sur le bouton ci-dessous pour commencer la création de votre annonce.",
            color=discord.Color.blue()
        )
    
        components = [create_button(style=ButtonStyle.blue, label="Commencer", custom_id="start_creation")]
        await ctx.send(embed=embed, components=[components])
    
    @bot.event
    async def on_button_click(interaction):
        if interaction.custom_id == "start_creation":
            
            await interaction.followup.send("Quel est le titre de votre annonce ?", ephemeral=True)
            titre_response = await bot.wait_for('message', check=lambda m: m.author == interaction.user, timeout=60)
    
            await interaction.followup.send("Quel est le prix de votre annonce ?", ephemeral=True)
            prix_response = await bot.wait_for('message', check=lambda m: m.author == interaction.user, timeout=60)
    
            await interaction.followup.send("Décrivez votre annonce.", ephemeral=True)
            description_response = await bot.wait_for('message', check=lambda m: m.author == interaction.user, timeout=60)
    
            await interaction.followup.send("Quel est votre pseudo pour le contact ?", ephemeral=True)
            contact_response = await bot.wait_for('message', check=lambda m: m.author == interaction.user, timeout=60)
    
            titre = titre_response.content
            prix = prix_response.content
            description = description_response.content
            contact = contact_response.content
    
            embed = discord.Embed(
                title=f"Annonce de {interaction.user.display_name}",
                description=f"**Titre:** {titre}\n**Description:** {description}\n**Prix:** {prix} €\n**Contact:** {contact}",
                color=discord.Color.green()
            )
    
            leboncoin_channel = bot.get_channel(1200813597455024298)
            if leboncoin_channel:
                await leboncoin_channel.send(embed=embed)
                await interaction.followup.send("Annonce publiée avec succès!", ephemeral=True)
            else:
                await interaction.followup.send("Erreur : Impossible de trouver le canal.", ephemeral=True)
    
    bot.run('YOUR_TOKKEN_BOT')


    En regardant sur différents forums, en discutant avec chat GPT etc, la solution est apparemment de faire un simple pip install -U discord-py-slash-command  

    chose faite et sans réussite...

    Voici mes librairies discord d'installées (avec pip list) :


    discord-ext-menus                           1.1
    discord.py                                        2.3.2
    discord-py-interactions                     5.11.0
    discord.py-message-components     2.0a643+g33f5246
    discord-py-slash-command              4.2.1
    discord-typings                                0.7.0


    Merci d'avance pour votre aide !

    • Partager sur Facebook
    • Partager sur Twitter
      1 février 2024 à 12:15:57

      à regarder si c'est bien installer dans le bon environnement (version de python, x32/x64) ou que le script soit lancé dans ce même environnement
      • Partager sur Facebook
      • Partager sur Twitter
        1 février 2024 à 13:03:31

        umfred a écrit:

        à regarder si c'est bien installer dans le bon environnement (version de python, x32/x64) ou que le script soit lancé dans ce même environnement


        Oui, ça l'est. J'ai essayé de désinstaller/ réinstaller python, je suis sous Python 3.11.7

        J'ai tester cette commande également :

        pip show discord-py-slash-command
        Name: discord-py-slash-command
        Version: 4.2.1
        Summary: Easy, simple, scalable and modular: a Python API wrapper for interactions.
        Home-page: https://github.com/interactions-py/library
        Author: goverfl0w
        Author-email: james.discord.interactions@gmail.com
        License: GPL-3.0 License
        Requires: aiohttp
        Required-by:

        On peux voir que j'ai la dernière version de discord-py-slash-command
        • Partager sur Facebook
        • Partager sur Twitter
          1 février 2024 à 14:47:50

          a priori, un petit souci de mise à jour de la doc. Il semble que depuis la version 4, il faille faire un "import interactions"

          https://stackoverflow.com/questions/72547116/modulenotfounderror-no-module-named-discord-slash

          • Partager sur Facebook
          • Partager sur Twitter
            5 février 2024 à 14:21:14

            Enfaite c'était une histoire de version en effet, j'ai essayé avec la version précédente de discord-py-slash-command (3.0.3) et mes import étaient reconnu. Le "import interactions" dont @umfred parlait fonctionnait également, mais ensuite les commandes à utiliser n'étaient plus les mêmes. Je vous remercie.
            • Partager sur Facebook
            • Partager sur Twitter
              29 mars 2024 à 0:38:35

              Bonsoir, actuellement en train de coder un bot python, et j'ai cette même erreur, hors j'ai essayé la version inférieur que celle installée de base , mais ça ne fonctionne pas, dois je avoir forcément discord interaction?
              • Partager sur Facebook
              • Partager sur Twitter

              Bot Discord python problème import discord_slash

              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
              • Editeur
              • Markdown