Partage
  • Partager sur Facebook
  • Partager sur Twitter

Anti DM [Discord.JS]

    1 janvier 2020 à 6:07:41

    Salut, j'aimerai savoir comment faire pour mettre un anti DM comme par exemple sur mon bot :

    Utilisateur Inconnu :

    - /help

    Mon bot : 

    - Vous ne pouvez pas exécutez de commande en DM's !

    Voilà tout ;)

    • Partager sur Facebook
    • Partager sur Twitter
      1 janvier 2020 à 18:07:29

      Je ne suis pas sur d'avoir compris la question mais si tu veux bloquer les Dm entre les membres du serveur, je ne pense pas que cela soit possible, car les Dm sont privés donc n'ont aucun relation avec le serveur, en plus je n'es rien de telle sur la doc de discord.js

      -
      Edité par Binary_Serox 1 janvier 2020 à 18:10:07

      • Partager sur Facebook
      • Partager sur Twitter

      Toujours chercher par soi même avant de poser une question (selon moi)

        2 janvier 2020 à 12:03:45

        Bonjour,

        Pour simplement empêcher le bot d'effectuer les commandes dans une discutions privée il suffit de vérifier le type de salons.

        Par exemple :

        if(message.channel.type==="dm"||message.channel.type==="group") {
        	//alors je fait rien
        	return false;
        }

        Ainsi, dans une discutions privée ou un groupe de discutions privée en cas de sollicitation le bot ne répond pas, tout en continuant de répondre sur les salons de discutions.

        https://discord.js.org/#/docs/main/stable/class/DMChannel?scrollTo=type

        • Partager sur Facebook
        • Partager sur Twitter

            !

          20 novembre 2020 à 14:28:53

          Bonjour, j'aimerais bloquer l'envoie d'un message dans certains channel mais je ne trouve pas de solution
          • Partager sur Facebook
          • Partager sur Twitter
            20 novembre 2020 à 16:47:09

            Bonjour pour parcourir la liste des GuildChannel tu peut passé par le GuildManager puis pour cache Guild lire le GuildChannelManager

            puis pour  chaque GuildChannelManager tu as une propriété cache qui te renvoi une Collection<SnowFlake, GuildChannel> qui et la collection (liste) des GuildChannel de cette Guild tu peut donc les parcourir et filtré de cette façon:

            // client étant ton instance fournit par l'authentification
            // voir: <https://discord.js.org/#/docs/main/master/class/Client>
            // guildManager voir: <https://discord.js.org/#/docs/main/master/class/GuildManager>
            const guildManager = client.guilds;
            
            // lit la liste des guilds (server) disponible par ton bot
            // Collection<SnowFlake, Guild>
            // voir: <https://discord.js.org/#/docs/main/master/class/GuildManager?scrollTo=cache>
            const guildsList = guildManager.cache;
            
            // pour chaque guild (server)
            // voir: <https://discord.js.org/#/docs/collection/master/class/Collection?scrollTo=array>
            guildsList
            .array()
            .forEach( guild => {
            
            	// guildChannelManager voir: <https://discord.js.org/#/docs/main/master/class/GuildChannelManager>
            	const guildChannelManager = guild.channels;
                
                // lit la liste des channel sur chaque guild (server)
                // Collection<SnowFlake, GuildChannel>
                // voir: <https://discord.js.org/#/docs/main/master/class/GuildChannelManager?scrollTo=cache>
                const channels = guildChannelManager.cache;
                
                // pour chaque channel de chaque guild
                channels
                .array()
                .forEach( channel => {
                
                	// ici tu peut filtré les channels
                    // sur le quelle tu veut
                    // "bloqué l'envoi" d'un message
                    // de ton bot où des autres utilisateur
                    // le plus simple et de les filtré par id (SnowFlake) où par nom
                    // plusieurs channel peuvent avoir le même nom temps que tu peut filtre par id
                    
                    // ...
                
                } );
            
            } );
            

            Le code se base sur la version master de la documentation officiel

            • Partager sur Facebook
            • Partager sur Twitter

            Le code ci-dessus et une suggestion de présentation.

              21 novembre 2020 à 21:01:57

              bonjour,

              je pose ma question ici car elle est assez similaire,

              je souhaiterais savoir pourquoi les channel textuel de mon serveur sont-ils de type "dm" et lorsque pourquoi lorsque je souhaite exclure un type de channel par le biais de message.channel.type === " " Visual Studio Code dans mon cas ne propose pas "group" par exemple il me propose uniquement "dm", "text", "news". Si vous avez ne serait-ce 1 réponse a l'une des question merci de vous manifesté soi ici soit sur mon discord {skycel#1267}.
              Merci d'avance.

              • Partager sur Facebook
              • Partager sur Twitter

              Anti DM [Discord.JS]

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