#javascript-typescript

1 messages · Page 8 of 1

keen narwhal
#

ouiii

glass thicket
# keen narwhal ouiii

Pour Javascript, on m'a récemment partagé cette page, en Français : https://fr.javascript.info/
Tu as cette chaîne YouTube (NetNinja), vraiment top, pour peu que tu comprennes l'anglais : https://www.youtube.com/c/TheNetNinja/search?query=javascript
FreeCodeCamp est une référence également (cours en anglais) : https://www.freecodecamp.org/learn/
Sur ce site, tu as des cours interactifs : https://scrimba.com/allcourses?price=free
Cette chaîne YouTube (en français) est pas trop mal : https://www.youtube.com/c/Formationvidéo8
Lui aussi est pas mal : https://www.pierre-giraud.com/javascript-apprendre-coder-cours/

keen narwhal
untold shale
#

13

onyx wren
#

c mieux

red torrent
# untold shale 13

Tu dois avoir une méthode has sur l'objet permission qui te permet de vérifier si la permission est comprise

untold shale
red torrent
#

Il faut suivre la documentation

untold shale
#

Faut quere regarde car je l'avais utiliser sur DJs 12 a l'époque

sullen kelp
#

C'est passé à permission.has depuis la v13

untold shale
#

Ils sont un peu chiant pour ce genre de truc

untold shale
#

Du coup jai test mais il me dit Cannot read properties of undefined (reading 'has')

if (!interaction.user.permissions.has(Permissions.FLAGS.MANAGE_CHANNELS)) {
                return interaction.reply({ content: "Cette commande est uniquement pour le staff!", ephemeral: true });
raw birch
#

essai de remplacer interaction.user par interaction.member

untold shale
#

Pourtant jai suivi la doc

red torrent
untold shale
red torrent
#

Mais un objet de type GuildMember aura toujours une propriété permissions

idle tide
#

hello ! j'ai une autre question par rapport à un addRole, j'ai écrit ça : ```js
if(message.guild.roles.cache.get(role)) return message.reply("Ce membre est déjà prévenu !")

#

si quelqu'un pourrait me corriger car j'imagine que ce n'est pas la bonne ligne à écrire, merci !

clever bane
idle tide
#

je viens de me souvenir qu'il fallait un .has

#

mais je sais pas trop quoi mettre devant

clever bane
idle tide
#

ça envoie direct le code au catch

#

ah, j'ai console/log : js TypeError: message.member.roles.get is not a function

clever bane
#

message.member.roles.cache.has

idle tide
clever bane
#

il y a même pas cette ligne dans ton pastebin

idle tide
#

je l'ai modif depuis

#

att

clever bane
#

essaye de mettre l'id du rôle au lieu de ta variable role

clever bane
#

jsp j'ai testé de mon côté ça marche très bien

idle tide
clever bane
#

oui

#

après ton truc c'est une slash command ?

clever bane
#

du coup c'est member.roles.cache.has("id")

idle tide
#

aah yes mercii

pallid plume
#

Salut salut ! J'ai une petite question sur express.

require('dotenv').config();

var express = require('express');
var router = express.Router();
var jwt = require('jsonwebtoken');

router.post('/login', function(req, res) {
  let user = req.body.username;
  let pass = req.body.password;

  let data = {username : user};
  jwt.sign(data, process.env.TOKEN_SECRET_KEY, {expiresIn: '1h'}, (err, token) => {
    res.json({
      token
    });
  });
});


// Middleware to check if the user is logged in
function verifyToken(req, res, next) {
  const authHeader = req.headers['authorization'];
  const token = authHeader && authHeader.split(' ')[1];
  if (token == null) return res.sendStatus(401);

  jwt.verify(token, process.env.TOKEN_SECRET_KEY, (err, user) => {
    if (err) return res.sendStatus(403);
    req.user = user;
    next();
  });
}

module.exports = router;

J'aimerais pouvoir utiliser le middleware dans un autre fichier router. Je suis censé export quoi ducoup ?

J'avais test

module.exports = verifyToken();
module.exports = router;
untold shale
#

Salut jai un petit problème jai fait ce code et enfaite des que j'utilise un bouton en ayant le rôle give il me met le message comme quoi jai bien reçu le role peut importe le bouton

#
async execute (interaction) {
        if (!interaction.isButton()) return;

        if (interaction.customId === 'role-kumo') {

        if(interaction.member.roles.cache.has("1013166245480239184")) return interaction.reply({ content: `Vous avez deja obtenu le role <@&1013166245480239184>`, ephemeral: true });
            else
        if(interaction.member.roles.cache.has("1013166244226142229")) return interaction.reply({ content: `Vous avez deja le role <@&1013166244226142229> donc vous ne pouvez pas obtenir le role <@&1013166245480239184>`, ephemeral: true });


            let roleToGive = interaction.guild.roles.cache.get('1013166245480239184')
            interaction.member.roles.add(roleToGive)
            interaction.reply({ content: `Vous avez reçu le role <@&1013166245480239184>`, ephemeral: true });
        } 
    }
dire latch
#

Normal, tu met le message en bas qu'il reçoit le rôle @untold shale

untold shale
dire latch
#

Jsp

#

Il a y le code entier là ?

untold shale
#

att

#
module.exports = {

    name: 'interactionCreate',

    /**
     * @param {ButtonInteraction} interaction 
     * @param {Client} client 
     */


    async execute (interaction) {
        if (!interaction.isButton()) return;

        if (interaction.customId === 'role-kumo') {

        if(interaction.member.roles.cache.has("1013166245480239184")) return interaction.reply({ content: `Vous avez deja obtenu le role <@&1013166245480239184>`, ephemeral: true });

        if(interaction.member.roles.cache.has("1013166244226142229")) return interaction.reply({ content: `Vous avez deja le role <@&1013166244226142229> donc vous ne pouvez pas obtenir le role <@&1013166245480239184>`, ephemeral: true });


            let roleToGive = interaction.guild.roles.cache.get('1013166245480239184')
            interaction.member.roles.add(roleToGive)
            interaction.reply({ content: `Vous avez reçu le role <@&1013166245480239184>`, ephemeral: true });
        } 
    }
}
#

Interaction has already been acknowledged.

#

Apres im me dit ça dans la console

dire latch
#

Jsp dutout pour le coups

shadow dew
#

bonsoir

#

je debute avec react-native

#

et j'ai essayer de faire une carte avec l'api google

#

jusqu'a la aucun probleme

#

mais le probleme vien quand j'essaye d'ajouter un marqueur sur la carte

#

je n'arrive pas a controller la taille du marqueur du coup il est trop gros

#

voila le code

#
let iconmaps = require('./assets/maps.icon.png')

export default function App() {

  const [dark, setDark] = useState(false);

  return (
    <View style={styles.container}>
        <MapView style={styles.map} provider={PROVIDER_GOOGLE} customMapStyle={dark? mapStyle : null}>
            <TouchableOpacity onPress={() => setDark(!dark)} style={{
                backgroundColor: "#fff",
                  height: 30,
                  borderRadius: 15,
                  width: 30,
                  alignItems: 'center',
                  justifyContent: 'center', 
                  position: 'absolute',
                  marginTop: 60,
                  alignSelf: 'flex-end',
                  right: 20
             }}>
                <FontAwesome name="adjust" size={30} />
            </TouchableOpacity>
             <Marker title='SiwaFive' icon={iconmaps} coordinate={{latitude:36.745874, longitude:3.056551 }} />
             </MapView>
    </View>
  )
}```
untold shale
#

Enfaire j'avais 2 fois la meme fonction qui se call en meme temps

dire latch
#

Ah ok ba good alors

keen narwhal
#

DISCORD.JS
Bonjour , est ce que c'est galère de passer de v13 => v14

queen ocean
verbal cradle
#

Salut, vous savez comment on peux gérer le cycle de vie de React, j'ai importer un objet qui se double j'ai essayer avec un useEffect mais sa change rien. J'ai mon composant dans lequel j'ai importer mon objet, j'ai essayer un console.log il se double aussi. Une idée ? Svp

past nimbus
verbal cradle
#

la c'est ou j'importe tout mes composants pour faire ma page

#

et sa la page index, désolé pour le nombre de screen

past nimbus
#

Pourquoi tu as deux React.StrictMode

Attention à l'organisation de ton code et ne pas paraphrasé le comportement de React

verbal cradle
past nimbus
#

Alors dans ce cas là utilise les Fragment, c'est fait pour ça justement (ça va pas faire une div mais ça va te permettre de grouper le retour de ton component dans créer un elem du dom en plus)

verbal cradle
verbal cradle
past nimbus
past nimbus
verbal cradle
#

Ah d'accord

untold shale
#

Bonjour j'ai un petit soucis que je n'arrive pas a résoudre
Pourtant le role de mon bot est le plus haut du serv et il a les perm admin
En vous remerciant d'avance

<rejected> DiscordAPIError: Missing Permissions
      at RequestHandler.execute (/home/container/node_modules/discord.js/src/rest/RequestHandler.js:350:13)
      at processTicksAndRejections (node:internal/process/task_queues:96:5)
      at async RequestHandler.push (/home/container/node_modules/discord.js/src/rest/RequestHandler.js:51:14)
      at async GuildBanManager.create (/home/container/node_modules/discord.js/src/managers/GuildBanManager.js:165:5) {
    method: 'put',
    path: '/guilds/1013164766333784176/bans/399502721272774657',
    code: 50013,
    httpStatus: 403,
    requestData: { json: [Object], files: [] }
  }
}  reason:  Missing Permissions
sharp grail
#

ton bot essaye de te ban

#

ce qui pose problème car je suppose que tu es l'owner du serveur

#

et l'owner ne peut pas être banni

untold shale
#

Pour moi j'avait compris que le membre de l'interaction ban le user

sharp grail
#

hm non x)

desert riverBOT
sharp grail
#

concrètement

untold shale
#

Ok ok je vais essayer de voir comment corriger

sharp grail
#

ton bot ne peut pas te faire bannir un membre du serveur (si, mais il faut qu'il ait des accès à ton compte). Donc plus simplement, tu peux éventuellement inclure le membre a l'origine du bannissement (commande) dans la raison du bannissement

sharp grail
desert riverBOT
untold shale
#

Ok ok je te remercie et je vais regarder comment faire

untold shale
#

C'est bon j'ai reussi

#

Je te remercie !

fallow light
#

Bonjour, j'ai un souci lorsque je veux lancer mon bot, cette erreur apparaît :

  return process.dlopen(module, path.toNamespacedPath(filename));
                 ^

Error: dlopen(/Users/warman/Desktop/Positivity/canvas/build/Release/canvas.node, 0x0001): tried: '/Users/warman/Desktop/Positivity/canvas/build/Release/canvas.node' (not a mach-o file)
    at Object.Module._extensions..node (node:internal/modules/cjs/loader:1177:18)
    at Module.load (node:internal/modules/cjs/loader:975:32)
    at Function.Module._load (node:internal/modules/cjs/loader:822:12)
    at Module.require (node:internal/modules/cjs/loader:999:19)
    at require (node:internal/modules/cjs/helpers:102:18)
    at Object.<anonymous> (/Users/warman/Desktop/Positivity/canvas/lib/bindings.js:3:18)
    at Module._compile (node:internal/modules/cjs/loader:1095:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1147:10)
    at Module.load (node:internal/modules/cjs/loader:975:32)
    at Function.Module._load (node:internal/modules/cjs/loader:822:12) {
  code: 'ERR_DLOPEN_FAILED'
}

Node.js v17.0.1```

> On m'a dit de réinstaller canvas, mais ça m'a dit qu'il y avait 4 vulnérabilités lorsque cela a été fait... ducoup, je sais pas si quelqu'un va pouvoir m'aider, mais je pose ça la quand même. Merci d'avoir lu et bonne journée ! (je suis sur mac, peut-être que c'est du à ça...)
sharp grail
#

Par ailleurs

#

tu ne devrais pas utiliser les versions 17.x, elles sont relativement buggés et aucune n'a pas pour but d'être stable, installe plutôt la version LTS 18.x ou (16.x)

fallow light
# sharp grail ici nécessairement tu dois réinstaller le module sinon ça ne marchera pas 🤔

J'essaye, mais cela apparaît :

npm WARN EBADENGINE   package: 'node-superfetch@0.3.3',
npm WARN EBADENGINE   required: { node: '>=18' },
npm WARN EBADENGINE   current: { node: 'v17.0.1', npm: '8.1.0' }
npm WARN EBADENGINE }

up to date, audited 590 packages in 952ms

62 packages are looking for funding
  run `npm fund` for details

4 vulnerabilities (1 moderate, 2 high, 1 critical)

To address all issues (including breaking changes), run:
  npm audit fix --force

Run `npm audit` for details.```
fallow light
sharp grail
#

npm WARN EBADENGINE required: { node: '>=18' },

#

tu dois nécessairement avoir une version de node qui soit 18 ou plus

#

donc update

fallow light
#

Okay, merci

#

Après test, ça ne fonctionne pas, même en v16.9.1 ...

dire latch
#

Il faut être en 1.18 minimum @fallow light

#

On te l'as dis...

fallow light
#

Eh bien ça ne marche toujours pas là, même en v18.3.0

sharp grail
#

C'est quoi la nouvelle erreur

fallow light
fallow light
fallow light
#

C'est tout bon au final. J'ai tout supprimé, y compris VS Code pour vraiment tout refaire et là c'est bon ! Merci encore pour votre aide

sullen kelp
hollow notch
#

Discord.js

message.guild.members.cache.filter(m => m.user.bot).size

Renvoie systématiquement 1 alors qu'il y à 5 bots sur le serveur

sharp grail
#

T'as essayé (await message.guild.members.fetch()).filter(m => m.user.bot).size ?

#

Parce que concrètement là tu te bases uniquement sur le cache de ton bot

vernal sluice
#

Bonjour, j'ai un problem.
Vous avez une solution ?

dire latch
#

C'est marqué, ping n'est pas une fonction @vernal sluice

#

Regarde la doc du module

onyx wren
#

J'ai une question, j'ai mon projet nuxt avec tailwind CSS mais j'ai une page ou je ne veux pas utiliser tailwind c'est possible de l'enlever de cette page tout en gardant les autres ?

untold shale
#

Bonjour je voudrais savoir si c'est possible de faire en sorte que si un joueur dans une phrase met un mot clé du style "je peux avoir la collection du serveur ?"
Le bot lui répond en lui donnant le lien de la collection

hollow notch
#

Ou ya search() qui fait le même boulot

hollow notch
sharp grail
#

Okay bah

#

T'as essayé (await message.guild.members.fetch({ force: true })).filter(m => m.user.bot).size ?

#

Comme ça ca devrait marcher @hollow notch

hollow notch
sharp grail
#

fin

#

fetch renvoie une promise, donc tu peux pas mettre directement filter après

hollow notch
#

C'est bien await pourtant

#

J'ai jamais vu une doc aussi naze que celle de discordjs

sharp grail
#

heu

#

tu rigoles ? x)

sharp grail
hollow notch
feral oyster
#

Bonjour, j'ai un problème avec un bot, voici l'erreur qu'il me renvoie
TypeError: event.bind is not a function

Voici le code:


module.exports = async bot => {

    fs.readdirSync("./Events").filter(f => f.endsWith(".js")).forEach(async file => {

        let event = require(`../Events/${file}`)
        bot.on(file.split(".js").join(""), event.bind(null, bot))
        console.log(`Evènement ${file} chargé avec succès! `)
    })
}
vernal sluice
untold shale
onyx wren
#

J'ai une question, j'ai mon projet nuxt avec tailwind CSS mais j'ai une page ou je ne veux pas utiliser tailwind c'est possible de l'enlever de cette page tout en gardant les autres ?

sharp grail
feral oyster
hollow notch
onyx wren
feral oyster
#

c'est pour load mes event

sharp grail
#

dans ton set name tu mets aucun await

#

et tu réutilises même pas totalbots

#

ni dans totalbots tu fais pas ça non plus

#

donc je te propose

const totalbots = (await message.guild.members.fetch({ force: true })).filter(m => m.user.bot).size

await client.channels.cache.get('id')?.setName(`[emoji] : ${totalbots}`).catch(console.error); // Fais attention si l'id n'est pas en cache ça ne marchera pas
// si ça concerne un channel dans la guild, tu peux faire ça
await message.guild.channels.edit('id', { name: `[emoji] : ${totalbots}` }).catch(console.error);
hollow notch
hollow notch
#

C'est good ty

feral oyster
sullen kelp
#

Ton fichier commads.js ligne 10

shadow dew
#

salut

#

quelqu'un sy connait en firebase v9

vernal sluice
#

Bonjour, comment je pourrai faire pour que un message contenant cette fonction se modifie tous seul toute les 1 minute avec djs

untold shale
#

Bonjour je ne comprend pas pourquoi il me met null alors que je le déclare dans la commande

#
 let WinnersCount = interaction.options.getNumber("winnners");

👥 Nombre de gagnants :**${WinnersCount}**
clever bane
keen narwhal
#

Bonjour je voulais est ce que vous avez ce code pour le système de règlement ?

red torrent
keen narwhal
#

Et après quand on accepte le règlement on est un rôle défini

red torrent
untold shale
untold shale
red torrent
red torrent
untold shale
#

Bizzare quand j'enlève le "n" ça marche 😂

vernal sluice
#

Bonjour, j'aurais une petite question comment je pourrais faire pour actualiser le paramètre surligné en jaune a chaque envoie de l'embed s'il vous plaît ?

pallid plume
#

Ce que t'as surligné en jaune ? C'est une fonction à vu d'œil ?

#

Fin si tu parle bien de ça

#

Ducoup c'est quoi que tu veux modifier la fonction à executer ou les paramètres dedans ?

vernal sluice
#

Enfaite je voudrai que sa mette a jour les valeur afficher qui sont les suivante:
(Et au passage si tu sais comment je pourrais affiché le status du serveur sa m'aiderai)

pallid plume
#

Je fais pas de discord JS mais dans l'idée ton interval est pas au bon endroit la ton resultat changera jamais c'est normal

#

Faudrait que ton interval soit au dessus de ta Promise

versed storm
#

Son embed est envoyé sur l'event ready, soit à chaque démarrage de son bot, il n'est pas modifié jusqu'au prochain appel de cet event.
Sur la doc de DiscordJS c'est précisé que un embed déjà envoyé ne peut être modifier, par contre tu peux le récupérer pour modifier son corps et l'envoyer à nouveau

const receivedEmbed = message.embeds[0];
const exampleEmbed = EmbedBuilder.from(receivedEmbed).setTitle('New title');

channel.send({ embeds: [exampleEmbed] });
const exampleEmbed = new EmbedBuilder()
    .setTitle('Some title')
    .setDescription('Description after the edit');

message.edit({ embeds: [exampleEmbed] });

https://discordjs.guide/popular-topics/embeds.html#using-an-embed-object-1

vernal sluice
#

Mais ducoup pour mettre a jour ma fonction je fait comment, prcq quand je lance le bot elle prend une valeur, mais elle la garde jusqu'au prochain redémarrage, j'avais pensé que la mettre dans la variable interval réglerai le soucis mais non, vous avez pas une idée ?

vernal sluice
versed storm
#

Si tu veux modifier les données de ton embed pour l'actualiser en temps réel, il ne faut pas qu'il fasse partie de l'event ready, mais d'un autre event qui sera appeler plus régulièrement et qui correspond plus à ton besoin, par exemple :
https://discord.js.org/#/docs/main/main/class/Client?scrollTo=e-guildMemberAvailable

#

Ou si tu veux l'update avec un interval de temps tu pourrais aussi utiliser cron
https://www.npmjs.com/package/cron

vernal sluice
#

Je viens de découvrir un autre soucis avec cette fonction je n'est plus aucune commande qui fonctionne, sa peux être réglé avec une des eux solution que tu m'as proposé ?

vernal sluice
red torrent
#

Tu dois avoir un évènement qui est déclenché quand tu es rate-limité qui t'indique pendant combien de temps tu vas l'être

charred lake
#

Hello.
J'ai une p'tite galère avec mon tsconfig, j'ai renseigné dans le compilerOptions mes assets, pour que je puisse me retrouver avec mon dossier views, qui va contenir mes fichiers .hbs pour mes e-mails :

        "**/views/**/*.hbs"
    ],```
Mais impossible de retrouver le dossier views dans mon dist quand je build. 
Si vous avez une idée je suis preneur !
past nimbus
#

Tu l'as include ?

charred lake
#

Yes

app.engine('handlebars', engine({ extname: '.hbs' }));
app.set('view engine', '.hbs');
app.set('views', path.join(__dirname, "views"));

past nimbus
#

Non dans ton tsconfig

charred lake
#

J'ai envoyé le bout du code ou je l'ai importé juste au dessus.

past nimbus
#

Lors de ton build, il ne va inclure dans le build que ce qui est import (non dynamic) et ce qui est include

J'ai jamais utilisé assets, mais je sais que include fonctionne

charred lake
#

J'essai avec include

#
"include": [
    "src/**/*.hbs",
    "src/**/*.ts",
],

Même résultat :/

past nimbus
#

Montre ton tsconfig en entier et ta structure de fichiers

charred lake
#

TSConfig :
{ "compilerOptions": { "resolveJsonModule": true, "target": "es2021" /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019' or 'ESNEXT'. */, "module": "ESNext" /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', or 'ESNext'. */, "declaration": true /* Generates corresponding '.d.ts' file. */, "sourceMap": true /* Generates corresponding '.map' file. */, "outDir": "./dist" /* Redirect output structure to the directory. */, "strict": true /* Enable all strict type-checking options. */, "moduleResolution": "Node", "baseUrl": "./", "paths": { "@/*": [ "src/*" ] }, "esModuleInterop": true, }, "include": [ "src/views/**/*.hbs", "src/**/*.ts", ], "exclude": [ "node_modules", "src/tests" ] }

#

Ma structure

past nimbus
#

mmh

charred lake
#

Après je peux toujours faire un cpx pour copier, mais je trouve ça moche

past nimbus
#

ça devrait fonctionner comme ça

#

cpx ?

charred lake
#

Ouep, mais si je peux utiliser tsconfig pour faire le boulot c'est toujours mieux

#

Mais vu que je galère, je comprends même pas d'où ça vient

past nimbus
#

C'est quoi cpx ?

charred lake
#
past nimbus
#

Euh ouais nan, si on en arrive là on peut aussi bien ne plus transpiler le code x)

#

Tu as essayer de regen le build de 0 ?

charred lake
#

Yes, j'ai essayé rien n'y fait

#

Je comprends pas

past nimbus
#

Tu transpile avec quelle commande ?

#

tsc ?

charred lake
#

Ah j'ai retiré ça :
"src/**/*.ts",
Et j'ai une erreur maintenant

#

No inputs were found in config file 'F:/Git/ALLO-MAITRE-DHO/api_amd_ts/tsconfig.json'. Specified 'include' paths were '["src/views/**/*.hbs"]' and 'exclude' paths were '["node_modules"]'.

#

Mais je pense que c'est à cause de ce retrait

#

Oui avec tsc

past nimbus
#

Ta config tsconfig est bonne, mes fichiers sont bien tous include

#

Même si ils sont pas import

charred lake
#

Comment ça ?

#

Normalement je devrais voir le /views dans mon dist non ?

past nimbus
#

Oui c'est ce que je dis ^^

charred lake
#

C'est quand même étrange

#

C'est pour ça la solution cpx, elle est bonne aussi mais bon

past nimbus
#

C'est un cache misère

charred lake
#

Pas faux, mais j'ai cherché un peu sur Google je trouve pas grand chose

past nimbus
#

ça te le fait uniquement pour le hbs ?

charred lake
#

Yes, le reste en .ts ça marche correctement

past nimbus
#

Ah mais oui dans ton cas t'as besoinde assets

#

Tu as essayer un path plus générique dans assets ?

untold shale
#

Bonjour je suis entrain de faire un système de suggestion avec un .edit et je voudrais savoir comment je peux récup le contenu de l'embed de la suggestion pour le mettre dans celui de la réponse
merci

red torrent
ocean pine
#

Bonjour, je débute en programmation et j'ai suivit le tuto de discord pour faire un bot et il s'arrête juste a des question et réponse fixe. J'essaye de faire un bot qui peut lire des video youtube sauf que je ne sais pas comment ont fait pour que la personne puisse rajouter des argument. Merci

neat lintel
#

Avec les slash-commands tu fais un array sur une clé options lors de l'enregistrement des commandes. Dans cet array tu mets des objets qui représentent des arguments sous le format suivant:

{
  name: "nom-argument",
  description: "Description de l'argument",
  type: ApplicationCommandOptionsType.String, // String, Channel, Number, Integer, User, Boolean...
  required: true // Si l'argument est indispensable ou non
}
desert riverBOT
#

Documentation suggestion for @untold shale:
:property: Message#embeds
A list of embeds in the message - e.g. YouTube Player

glass cargo
#

^^

ocean pine
neat lintel
#

Fais voir à quoi ressemble ton code

ocean pine
neat lintel
#

Avec les builders tu as une méthode addOptions

ocean pine
#

Ok je regarde ça quand j'arrive chez moi

onyx wren
#

salut, je veux upload un fichier qui est ensuite stocké dans ma db pour le réutiliser. J'utilise nuxt

#

cependant je ne parviens pas à récupérer l'image

#

alors qu'elle est bien stocké dans la db

#

je me demandais si il fallait utiliser un truc comme multer par exemple

#

alors que lorsque je choisis le fichier celui ci supload bien

#

le lien est un blob, c'est quoi?

past nimbus
#

On se stocke pas un fichier dans une db

#

C'est pas une bonne pratique

idle tide
#

Bonjour !

J'aimerai faire une commande /derank @user [grade], mais j'aimerai faire en sorte que quand je tape la commande ça me dises "Pour quelle raison voulez-vous dérank cette personne
?" et que là ça me propose un menu de plusieurs raisons (que j'ai). Si quelqu'un saurait comment faire ! Merci beaucoup

neat lintel
#

Tu as deux options Soit tu fais avec les évents donc ca aura l'avantage de fonctionner même si ton bot redémarre après avoir envoyé le select-menu soit tu passes par les collectors. Ici les collectors semblent êtres suffisants. Du coup tu peux procéder comme ca:

  • Tu réponds à l'intéraction avec un contenu de message et le select-menu (tu dois construire une ligne d'action via ActionRow et ajouter dedans le select-menu puis le mettre dans la clé components.) Tu as plusieurs exemples dans le guide
  • Ensuite tu ajoutes ton collector et dans l'évent "collect" tu peux récupérer la raison et terminer le traitement sans oublier de supprimer le collector pour libérer de la mémoire.
idle tide
#

Merci !

neat lintel
keen narwhal
#

En python : not()
En JS : ???

#

j'ai fait quelques recherche

#

mais je ne trouve pas

neat lintel
keen narwhal
#

donc si je fait !1 ça va me donner True ?!

neat lintel
#

car 1 c'est vrai si tu fais Boolean(1)

keen narwhal
#

ptn j'ai compris !!!!!!!!!!!!!!!!

neat lintel
#

en revanche ca renverra true si tu fais !0

keen narwhal
#

merciiiiiiiiiiiiiiiiiiii !!!!!!!!!!!!!!!!!!

#

je suis trop content

#

merci merci merci merci merci merci merci merci merci merci merci

neat lintel
#

pas de soucis

idle tide
onyx wren
#

et pourquoi

past nimbus
#

Car ça pose énormément de problème lié à l'exploitation

feral oyster
#

quelqu'un à une idée de code que je dois faire pour récupérer le input de mon fichier html? toute mes tentative était infructueuse

untold shale
hybrid elk
#

Hello, je veux faire un navbar avec React mais ça ne met pas correctement la classe en fonction de la page active.

Sur la page accueil ça met bien uniquement le lien "Accueil" en active mais sur la page donations ça met les deux 🤔

import React from 'react';
import { NavLink } from 'react-router-dom';

const Navigation = () => {
    return (
        <div className="navigation">
            <NavLink to="/" className={(nav) => (nav.isActive ? "nav-active" : "")}>
                <p>Accueil</p>
            </NavLink>
            <NavLink to="/donations" className={(nav) => (nav.isActive ? "nav-active" : "")}>
                <p>Donations</p>
            </NavLink>
        </div>
    );
};

export default Navigation;
#

Alors que les deux sont les mêmes

hybrid elk
#

J'ai trouvé:
Ce code fonctionne pour la version 6.2 de React mais avec la dernière version, il faut ajouter end à la fin de la balise NavLink pour éviter la propagation au voisin

import React from 'react';
import { NavLink } from 'react-router-dom';

const Navigation = () => {
    return (
        <div className="navigation">
            <NavLink to="/" className={(nav) => (nav.isActive ? "nav-active" : "")} end>
                <p>Accueil</p>
            </NavLink>
            <NavLink to="/donations" className={(nav) => (nav.isActive ? "nav-active" : "")} end>
                <p>Donations</p>
            </NavLink>
        </div>
    );
};

export default Navigation;
keen narwhal
#

Hello, je suis ce tuto (https://medium.com/@johndyer24/creating-and-deploying-an-auto-updating-electron-app-for-mac-and-windows-using-electron-builder-6a3982c0cee6) mais quand je fais npm run deploy j'ai cette erreur ⨯ GitHub Personal Access Token is not set, neither programmatically, nor using env "GH_TOKEN".

Où dois-je spécifié GH_TOKEN et regler ce problème ?

Medium

As a web developer you write code and you deploy it. If at any point later you notice a bug, you deploy an update to fix it…

hybrid elk
keen narwhal
hybrid elk
#

Dans un fichier ENV

vernal sluice
#

Bonjour/Bonsoir, j'ai un soucis mon bot se lance bien, mais ne reçoit aucune commande je ne trouve pas l'origine du soucis pouvais vous m'aidez ?

red torrent
#

Et pourquoi tu déclare ton embed avec const mais ton actionrow avec var ?

civic fractal
#

Le var c'est mal

vernal sluice
red torrent
vernal sluice
#

ok...

keen narwhal
#

j'aimerais faire un petit bouton pour mettre ma page en fullscreen

#

comment je fait pour le faire ?

keen narwhal
#

tout est bon les amis !

#

merci quand meme

keen narwhal
# hybrid elk Dans un fichier ENV

Cela ne marche toujours pas, j'ai mis GH_TOKEN = "[MON_TOKEN]" mais je toujours ceci :

  • electron-builder  version=23.6.0 os=10.0.22621
  • loaded configuration  file=package.json ("build" field)
  • writing effective config  file=dist\builder-effective-config.yaml
  • "electron-squirrel-startup" dependency is not required for NSIS
  • packaging       platform=win32 arch=x64 electron=21.2.0 appOutDir=dist\win-unpacked
  • building        target=nsis file=dist\Zikaa App Setup 0.0.3.exe archs=x64 oneClick=true perMachine=false
  • building block map  blockMapFile=dist\Zikaa App Setup 0.0.3.exe.blockmap
  ⨯ GitHub Personal Access Token is not set, neither programmatically, nor using env "GH_TOKEN"
hybrid elk
#

@keen narwhal Si tu utilise node js, tu met ton fichier ".env" à la racine de ton projet puis dans ton code:

require("dotenv").config()
// tu peux récupérer ton token avec `process.env.GH_TOKEN`
// Exemple:
console.log(process.env.GH_TOKEN) // Ca va log ton token dans la console
#

Tu dois installer dotenv avec npm i dotenv --save

keen narwhal
#

D'accord merci je vais faire ça :)

keen narwhal
#

Aurait il une personne qui pourrais m'aider à faire un auto updater sur electronjs, car je n'y arrive pas.

past nimbus
#

Tu entend quoi pas auto updater

keen narwhal
#

Je voudrais que quand mon application ce lance, elle vérifie une nouvelle mise à jour et si il y a en a une elle la télécharge, redémarre puis ouvre la page index.html par exemple.

#

Un truc comme ça

past nimbus
#

Tu as regardé la doc ? il y a une section dédiée

keen narwhal
#

Ouais mais je n'y arrive pas -_-

minor kelp
#

Tauri > Electron 🤡

neat lintel
#

Salut tout le monde, j'utilises pour la première fois jest avec vue et j'arrive pas à importer de fichier .vue dans mes fichiers de test j'ai une erreur à chaque fois:

FAIL  src/components/VBtn/__test__/VBtn.spec.ts
  ● Test suite failed to run

    ReferenceError: __importDefault is not defined

    > 1 | import VBtn from '../VBtn.vue';
        | ^
      2 | console.log(VBtn);
      3 |
      4 | /*

      at Object.<anonymous> (src/components/VBtn/__test__/VBtn.spec.ts:1:1)

J'utilises typescript mais j'ai config ts-jest

Ma config jest.config.js

/** @type {import('ts-jest').JestConfigWithTsJest} */
module.exports = {
  verbose: true,
  preset: 'ts-jest',
  transform: {
    '.*\\.(vue)$': '@vue/vue3-jest',
  },
};

Et mon fichier de test

import VBtn from '../VBtn.vue';
console.log(VBtn);

Si jamais quelqu'un a une idée je suis preneur

hard stag
#

Salut salut , pourrai-je recevoir de l’aide sur les message aléatoire Math random je suis perdue aha ^^’

worn garnet
hard stag
#

Enfaite je suis un débutant sur le codage et actuellement je suis bloquer sur les message aléatoire : en gros j’aimerais faire en sorte que si j’effectue une commande /commande le bot me répondent en embed plusieurs réponses aléatoires mais pas en même temps en mode cette commande peut donner plusieurs réponses tu vois ?

worn garnet
#

j'aurais fait un array d'object qui contitent le contenue de chaque embeb. puis tu prend un nombre aleatoire entre ton array.lenght et 0. puis tu selection l'element de l'array avec (exemple array[4])

#

et tu affiche ton embed avec les valeur

hard stag
#

Je sais pas faire 😭 j’y connais rien eft

worn garnet
#

tu peux call dans 5min ?

hard stag
#

Call ?

worn garnet
#

vocal

hard stag
#

Ah vocal oui

#

Mais vraiment j’y comprend que dalle

jolly mountain
#

Bonjour tout le monde comment allez-vous ? Je suis a la recherche d'un site capable de générer des petites animations en fond quand lance la page vous avez cela en réserve ?

copper pagoda
#

Salut, je suis actuellement en train de passer mon autocomplete en v14 de discord.js sauf qu'il me met une erreur d'interaction.

Je n'arrive pas à voir d'où cela peut venir.

Code :

    autocomplete: async (interaction, bot) => {
        const focusedValue = interaction.options.getFocused().toLowerCase();
        getGamesEurope()
        .then(async games => {
            const filtered = games.filter(game => game.title.toLowerCase().startsWith(focusedValue));
            const array = filtered.length > 10 ? filtered.slice(0, 9) : filtered;
            await interaction.respond(
                array.map(game => ({ name: game.title, value: game.title }))
            );
        });
    },
copper pagoda
red torrent
copper pagoda
#

Ah mince.

#

En v13 ça marchais bien pourtant.

copper pagoda
red torrent
#

J'ai bien peur que tu doivent optimiser ton code pour qu'il réponde plus rapidement. Si tu ne peux pas c'est que ça vient du réseau (soit celui de Discord soit celui du serveur qui héberge le bot)

copper pagoda
red torrent
#

C'est fort probable

mystic bison
#

bonsoir, désolé de vous déranger si tard. J'ai un petit problème actuellement. J'ai supprimé mes nodes modules et je suis en train de les réinstaller ave npm i. Mais j'ai remarqué que la console crash

#

l'installation se bloque

#

je comprends vraiment pas pourquoi

#

voila où j'en suis, c'est bloqué depuis 10min

spice olive
#

Salut, j'essaye actuellement d'héberger un bot discord sur ptérodactyl grâce à l'egg ATLauncher, cependant, je rencontre cette erreur lors du lancement:

spice olive
mystic bison
#

je me souviens plus exactement

spice olive
#

de ptéro ?

mystic bison
#

ye

#

yep

spice olive
#

tu veux quelle interface

mystic bison
#

ta page d'acceuil

#

avec les différents nom de fenêtre

spice olive
mystic bison
#

ok va dans settings

spice olive
mystic bison
#

c'est pas la

#

essaie startup

spice olive
mystic bison
#

clic sur docker image

spice olive
#

je peux copier le truc mais rien faire d'autre

#

il y a écrit quay.io/parkervcp/pterodactyl-images:alpine_nodejs-10

mystic bison
#

il te propose pas d'autre choix ?

spice olive
#

nop

mystic bison
#

alors essayons activity

spice olive
#

c'est les logs

mystic bison
#

ah merde

#

regarde sur google alors

spice olive
#

déjà regardé

mystic bison
#

ah mince et par rapport a la version de node ?

spice olive
#

j'ai réussi à l'édit

#

mais maintenant j'ai une nouvelle err

floral bolt
last lance
#

Hey je voudrais savoir comment je peux faire pour faire en sorte que dans ma commande /spam pendant qu'elle s'execute si il y a un message qui contient stop dans le meme channel alors elle arrete de spam

#
const spam = new SlashCommandBuilder()
    .setName("spam")
    .setDescription("This command will spam")
    
    .addStringOption(option => option
        .setName("message")
        .setDescription("Put the message !")
        .setRequired(true))

    .addIntegerOption(option => option
        .setName("number")
        .setDescription("Put the number of messages who will be spammed !")
        .setRequired(true))



---------------------------------------------------------------------------------------




if(interaction.commandName === "spam"){

            var number1 = interaction.options.getInteger("number");
            let message = interaction.options.getString("message");
            let i = 1;
            let a = 1;

            if(interaction.member.roles.cache.some(e => e.id == modoID) && message != "<@"+doughID+">" && message != "<@"+skorflexID+">" && interaction.member.id != creatopID){
                interaction.reply({content:"Asked by <@"+interaction.member.id+"> ! "+ number1 + " fois !!"});
                while(i<=number1){
                    interaction.channel.send(message);
                    i=i+1;
                    
                    if(message.content.startsWith("stop")){
                        break;
                    }
                    
                }
            }

copper pagoda
onyx wren
#

j'ai un problème avec nuxt, j'ai mon lien auth qui marchait avec suelement identify mais j'ai maintenant rajouté guilds et celui-ci apparait mais lorsque je console.log, je ne rédupère que les informations d'avant, pas les guilds

#

pourtant j'ai bien rajouté guilds dans le scope

red torrent
#

Comme dans la documentation...

onyx wren
red torrent
#

oui

spice olive
onyx wren
#

jregarde c'est bien dans la partie

floral bolt
spice olive
#

non

#

mais c'est bon j'ai trouvé

onyx wren
# red torrent oui

Franchement j'ai pas trouvé, si tu pouvais juste me donner le nom de la route please

keen narwhal
#

Bonjour, j'ai cette erreur savez vous pourquoi ?

slim crypt
keen narwhal
#

oui mais alors je mets quoi à la place de require ?

slim crypt
keen narwhal
# slim crypt Je sais pas, je sais pas ce que tu veux faire. Ton code est écrit ou ? Et tu ch...

Je veux faire un auto updater avec electron js.

Mon code :

const { ipcRenderer } = require('electron');

const select = selector => document.querySelector(selector)

let container = select('#messages')
let progressBar = select('#progressBar')
let version = select('#version')

ipcRenderer.on('message', (event, text) => {

  let message = document.createElement('div')
  message.innerHTML = text
  container.appendChild(message)

})

ipcRenderer.on('version', (event, text) => {
  version.innerText = text
})

ipcRenderer.on('download-progress', (event, text) => {
  progressBar.style.width = `${text}%`
})
slim crypt
slim crypt
slim crypt
glass cargo
#

C’est la console qui s’affiche quand tu fais F12

#

🤣

#

Fais-le sur l’app Discord, tu verras c’est la même chose

vernal sluice
#

Bonjour, est-ce possible de faire une boucle sur un setTimeout

slim crypt
vernal sluice
#

Dans l'idée il faudrait que je boucle l'envoie d'un embed djs, sauf que déjà sans le code de l'embed juste en envoyant un message un message console simple sa ne fonctionne pas

slim crypt
keen narwhal
vernal sluice
slim crypt
# keen narwhal Via electronjs donc oui

Ok, electron ne se lance pas dans ton navigateur.

Donc tu doit oublier ton navigateur.

Electron va lancer une fenêtre. Mais c'est avec NodeJs. Et pas avec ton navigateur.

slim crypt
glass cargo
#

On peut pas lancer electron dans un navigateur 🤣

slim crypt
fickle thunder
#

bonjours a tous, j'ai commencer la folle aventure de création d'un bot discord en javascript sans aucune notion de javaScript (en regardent des vidéos) et en regardent de la documentation de discordjs. Tous ça pour demander de l'aide pour une commande avec un bouton alors je ne sait pas se qu'il faut faire avec (comme dit au dessus je suis vraiment débutant et je fais beaucoup de copie) voila merci beaucoup si quelqu'un peux m'expliquer comment intégrer cette fonction

fickle thunder
#

dsl du paver

glass cargo
glass cargo
fickle thunder
glass cargo
fickle thunder
#

yep

desert riverBOT
fickle thunder
glass cargo
#

Ici, tu as tous les paramètres pour répondre à un message.

#

Celui qui correspond aux boutons et aux menus est "components"

#

Donc en utilisant un row avec un bouton, tu peux envoyer un bouton

desert riverBOT
glass cargo
#

Et

desert riverBOT
fickle thunder
#

ok car j'avais sa comme code pour l'intégration d'un bouton

glass cargo
#

Voilà

fickle thunder
glass cargo
#

Ah oui aussi x)

#

Et pour recevoir quand l’utilisateur appuie sur le bouton tu utilises un messageComponentCollector

fickle thunder
#

alors je suis dsl mais j'ai pas tous tous compris ^^

desert riverBOT
#

:guide: Popular Topics: Interaction collectors
read more

glass cargo
#

Juste ici

#

Tu as le guide pour utiliser un collector :p

vernal sluice
#

Vous avez une idée de la ou sa pourrais venir ??

fickle thunder
#

ok

red torrent
#

Mais complètement au hasard

vernal sluice
#

Nan masi oui ok mais jsp pourquoi enfaite ses surtous sa je sais ou elle sont les lignes

fickle thunder
glass cargo
fickle thunder
glass cargo
#

Okay

red torrent
vernal sluice
#

Mais ...

vernal sluice
keen narwhal
slim crypt
#

Et ton code ne peut pas fonctionner. Comme j'ai dit électron c'est pour faire une application desktop.

Electron va ouvrir une fenêtre et charger une page.

Electron se lance avec nodejs

keen narwhal
#

Tu a essayé de copier le code de la doc de elctron car moi il marche bien

#
const { app, BrowserWindow } = require('electron')

const createWindow = () => {
  const mainWindow = new BrowserWindow({
    width: 800,
    height: 600
  })

  mainWindow.loadFile('index.html')
}
 
app.whenReady().then(() => {
  createWindow()

  app.on('activate', () => {
    if (BrowserWindow.getAllWindows().length === 0) createWindow()
  })
})

app.on('window-all-closed', () => {
  if (process.platform !== 'darwin') app.quit()
})```
fickle thunder
# glass cargo Okay

ducoup j'ai pas tous compris ^^ j'ai test plein de chose et j'ai pas réussi

eager ibex
#

Bonsoir quelqu'un aurais le code complet pour la modération. Si oui possible de me l'envoyer. Bonne Soirée

keen narwhal
#

Bonjours
J'aimerais pouvoir deplacer des éléments de mon site web grace a un dashboard mais je ne sais pas comment faire donc si vous savais je suis preneur
Cordialement

keen narwhal
#

Bonsoir tout le monde, je bosse sur une page web statique en ce moment qui si on devais schématiser :
A l'ouverture de la page, texte qui apparait avec animation machine à écrire, et bouton en bas,
quand on clique sur le bouton en javascript ça change le contenu du texte et du bouton et le texte refais une animation machine à écrire
puis une autre fois et ainsi de suite
Quelqu'un aurait une idée de comment faire l'animation machine à écrire qui se refais à chaque fois que le texte change ?
Voici mon code pour l'instant (l'animation en css ne marche pas d'ailleurs) :
html :

<div class="container">            
<a id="helloWorld" class="typed-out">texte1</a>      
</div>        
<a class="bn39" onclick="start()">
<span class="bn39span" id="start">Submit</span>
</a>

Js :

function start() { 
const button = document.getElementById("start").innerHTML        if (button == "Submit") {            document.getElementById("helloWorld").innerHTML = "texte2" document.getElementById("start").innerHTML = "Suivant"        } else {           
 document.getElementById("helloWorld").innerHTML = "texte"  document.getElementById("start").innerHTML = "Suivant"    }}

css :

.typed-out{    
overflow: hidden;    
border-right: .15em solid orange;    
white-space: nowrap;    
font-size: 1.6rem;    
width: 0;    
animation: typing 1s forwards;}   
 @keyframes 
    typing {        
      from { width: 0 }        
      to { width: 100% }    }

Merci à tous ça m'aiderait de fou 🙌

floral bolt
fickle thunder
#

bonsoir tous le monde apres 4/5h de code pour un bot discord (je début vraiment dans le javascript) enfin fini le code sauf qu'il me donne une erreur help please

floral bolt
fickle thunder
fickle thunder
keen narwhal
eager ibex
#

Bonjour quelqu'un pourrait m'aider, sa met une erreur

slim crypt
keen narwhal
slim crypt
keen narwhal
keen narwhal
#

Je suis bloqué, j'ai chois Nuts comme serveur de mise à jour car il prend en charge les dépôts privés. Mais quand je fais $ export PORT=6000 ou export PORT=6000 la console me dis que l'argument $ ou export n'est pas reconnu comme nom d'applet de commande. Pourquoi ?

versed storm
glass cargo
thick gate
#

Question comment puije supprimer tous les rôles d'un user discord js v14?

keen narwhal
#

Tu recupere tout les rôles du user dans une liste puisbtu suprime les rôles du user grace a la liste

thick gate
#

oui mais comment

#

car j'arrive pas

#

Il y a une coupure avec l'API si je me trompe pas

red torrent
keen narwhal
#

Question on peut bien utilier php avec react grace a une api ?

thick gate
#

mec enfait j'ai pas idée

#

att je test

#

un truc

thick gate
red torrent
thick gate
#

okay je test

#

sa marche mrc

keen narwhal
#
const discord = require("discord.js");
const db = require("quick.db")
module.exports = async(client, message, member) => {
  
  var welcome = await db.fetch(`welcome_${message.guild.id}`)

  if (welcome == null) return

  if (welcome !== null) client.channels.cache.get(welcome).send(`${member.user.tag}`)
}```
#

quelqu’un saurait ?

versed storm
#

Vu que tu utilises un module export je suppose que c'est une commande exportée et utilisée par une fonction principale, vérifie le passage de l'attribut member, dans ton message d'erreur est indiquée comme étant undefined. L'erreur vient probablement à l'appel de cet export.

keen narwhal
versed storm
keen narwhal
#

Bonjour, je suis cette doc (https://www.electronjs.org/fr/docs/latest/tutorial/updates) pour faire un auto updater, j'ai donc choisis nuts comme serveur de mise à jour car mon répertoire est en privé. Je suis donc leur doc (https://nuts.gitbook.com/deploy.html) afin de mettre en place leur serveur mais quand je fais export PORT=6000 j'ai ceci export : Le terme «export» n'est pas reconnu comme nom d'applet de commande, fonction, fichier de script ou programme exécutable. que dois-je faire ?

mystic bison
#

Bonjour, désolé de vous déranger, je ne sais pas si c'est le meilleur salon pour mais voila, j'ai coder un site en react.js et j'ai une api en back end relier a se site. une fois le dev fini, c'est l'heure de la mise en prod !!, or je ne sais pas encore relier tout ça avec un nom de domaine etc, j'ai donc décider de demander de l'aide a un ami, et cet a fichu un peu la pagaille, il m'a setup nginx et a relier mon site et mon api a mon nom de domaine. Or le petit problème c'est qu'il a relier l'api et le front sur le meme port donc plus rien de fonctionne, il m'a donc dit de modifier dans mon code par MONPI:MONPORT, mais meme comme ca, cela ne fonctionne pas, j'ai une erreur qui s'affiche : cannot GET /

#

est ce que quelqu'un serait comment corriger ca ? merci par avance

slim crypt
keen narwhal
#

Ah oui, d'accord

#

Je vais voir si il en existe une pour windows

slim crypt
#

Dans le powershell tu tape:

wsl --install
#

En mode administrateur bien sur

keen narwhal
#

Merci du conseil

keen narwhal
slim crypt
#

Tu as accès à un Linux en tapant WSL dans le terminal

verbal cradle
#

Bonsoir, des utilisateurs de la bibliothèque Lenis ? Svp

fickle thunder
#

quelqu'un sais si c'est possible de faire un compteur de phrase ? je m'explique un script qui permettrez de compter le nombre de phrase dans un fichier

inland ocean
#

Tu comptes le nombre de points ?

#

@fickle thunder

fickle thunder
#

a j'avais pas penser a ça

#

ouais jpense que sa pourrai marcher

#

@inland ocean

#

y a t'il de la documentation pour ça ?

inland ocean
#

Tu peux utiliser.split

#

Y’a plein de technique différentes à toi de voir laquelle est la plus optimale et optimisée

fickle thunder
#

ok merci

keen narwhal
keen narwhal
glass ore
#

Il faut que tu t'inscrit

feral sorrel
#

Hello, j'ai un p'tit problème dans lequel je bloque, j'avoue que j'ai une petite colle...
Alors, le problème c'est que dans le code ci-dessous, la boucle for, ne fait que un tour au lieu de 2 tours qu'il devrait faire (car il y a deux éléments dans le guilds), donc la suite du code ne s'exécute et ne renvoie aucune erreur...
Merci de votre aide !

#
for(const guild of guilds) {
            let isPremium = await bot.db.isGuildPremium(guild)
            if(isPremium !== false) return;
            return options.push({label: bot.guilds.cache.get(guild).name, value: guild})
        }```
slim crypt
slim crypt
feral sorrel
#

Le isPremium renvoie true, false ou undefined

#

Mais a forcément besoin d'un await

#

jprécise que le console log a été déplacé avant la déclaration du isPremium)

slim crypt
#

ok, pourquoi tu fait un return ?

#

vu, c'est bizzare ?

#

surtout dans une boucle for ?

mellow parrot
fickle thunder
#

Bonsoir je voudrai faire un compteur de phrase / de . Pour mon serveur et on m'a parlé occurence je me suis renseigné mais j'avoue j'ai pas très bien compris comment cela marché et comment je pourrais l'utiliser quelqu'un pour m'expliquer ( je suis un grands débutant )

oak turret
#

un compteur de phrase ?

keen narwhal
fickle thunder
oak turret
#

bah tu peux faire par des points oui

red torrent
fickle thunder
#

d'accords peut tu m'expliquer comment cela marche ?

worn garnet
#

en js c'est simple tu peux split par character

#

donc si tu fais un split('.') il va te sortir un array de ce que tu veux

fickle thunder
#

ok

red torrent
#

Il faut penser aux autres fins de phrases que les points

fickle thunder
#

je vais regarder sa

keen narwhal
#

Qui a un hébergeur de bot discord replit

fallow light
#

Bonsoir, quelqu'un peut m'aider s.v.p, en gros, je suis en train de faire un système d'auto-rôle avec discordjs, mais l'auto-rôle me retourne Échec de l'interaction. J'ai utilisé cela pour que le rôle soit ajouté, mais ça ne fonctionne pas :

if(member.roles.cache.has("1029086504519204934")) {
            member.roles.remove("1029086504519204934")
        } else {
            member.roles.add("1029086504519204934")
        }

Merci d'avoir lu et n'hésitez surtout pas à me ping si vous avez une quelconque réponse.

versed storm
fallow light
#

Salut, oui il l'est

versed storm
#

J'ai vérifié sur la doc tu appelles pourtant les bonnes méthodes et propriétés de member, tu passes les IDs en string ce qui est bon aussi
Je vais tester rapidement si j'ai du temps avant 12h

fallow light
#

okay merci, tu m'en diras des nouvelles dans ce cas 😉

#

et prends ton temps, si tu n'as pas le temps, t'inquiètes, c'est pas pressant

floral bolt
#

Et ton bot doit être au dessus des autres rôles

versed storm
fallow light
#

okay, je vais regarder tout cela dès que je rentre chez moi. Merci, je vous donnerai des nouvelles 👌

floral bolt
#

Enfin c’est mon cas

fallow light
#

j'avais mis ça pour le reply :

await interaction.reply({ embeds: [EmbedSelfRole], ephemeral: true });

          const EmbedSuccessRoleAdd = new EmbedBuilder()
            .setColor(bot.color)
            .setDescription(
              `✅ Le rôle <@&1029086504519204934> vous a bien été ajouté !`
            );

          await interaction.followUp({
            embeds: [EmbedSuccessRoleAdd],
            ephemeral: true,
          });
        }```
fallow light
versed storm
#

La doc est la suivante, avec un type string c'est probablement son ID

wraith wren
#

Salut, j'aimerais telecharger un fichier en js depuis une url mais je sais pas comment faire

keen narwhal
#

tu crees un glob

#

tu fetch les contents

#

tu check le mime

#

tu copie dans le glob

#

et tu ouvre le glob

wraith wren
#

glob ou blob ?

#

je connais pas glob

#

comment je peux transformer ça en text ?

versed storm
# wraith wren glob ou blob ?

blob !

J'ai fait ça pour un fichier que je récupère d'une API en local

fetch(url)
.then(resp => {
  return resp.blob();
}).then(blob => {
  if (blob != null) {
  var a = document.createElement("a");
  a.href = window.URL.createObjectURL(blob)
  a.download = "file_name"
  a.click();
}}).catch(err => {
  console.error(err);
});
wraith wren
#

ahh mais enfaite je suis sur un serveur express j'ai oublié de precisé :/

#

donc je peux pas avec document il me semble

last lance
#

Hey j'aimerais savoir comment je peux faire pour changer la valeur d'une variable css dans un script js

slim crypt
#

Variable CSS

keen narwhal
wraith wren
slim crypt
slim crypt
wraith wren
#

je connais pas du tout comment je peux reconnaitre enfaite

slim crypt
#

Au lieu de demander, pose le problème ?

Vu si tu demande un expect VueJS tu limite les réponse.

#

En React il y a les state. Pour VueJS ça doit être similaire à mon avis

wraith wren
slim crypt
grim inlet
civic dragon
#

Bonjour j'ai fait un hook personnalisé pour envoyer des données en post

const useFetchData=<DataRes>()=>{
        const [res, setRes] = React.useState<resInterface|DataRes>({data: null,error:null,isLoading:false});
        const callAPI = (url:string, headers:object, payload:object):void => {
            setRes(prevState => ({...prevState, isLoading: true}));
            axios.post(url,payload).then(res => {
                console.log("res:" , res)
                setRes({data: res.data, isLoading: false, error: null});
            }).catch((error) => {
                console.log("error : =>", error)
                setRes({data: null, isLoading: false, error});
            })

        }
        return [callAPI,res] as const;
}
export default useFetchData

et je l'utilise comme ceci

 const HandleSubmit = (e: React.MouseEvent<HTMLButtonElement>) => {
        console.log("f")
        callApi(Routes.LOGIN,{},user)
        console.log(res.error)
}

seulement j'ai un soucis les données sont bien à jour .... mais je dois attendre le rerender de ma page pour recupere les state changés dans le hooks seulement j'en ai besoin dans l'action du click pour rediriger l'utilisateur si la reponse a un code 200 ....
Merci

wraith wren
#

J'ai une question, je dois effectuer un code une fois une partie finis, mais je peux pas utiliser .then je peux faire comment ?

fathom jay
fathom jay
clear geode
keen narwhal
#

Bonjour, je suis cette doc (https://www.electronjs.org/fr/docs/latest/tutorial/updates) et il faut que je mette l'url de mon site de déploiement, const server = 'https://your-deployment-url.com', j'ai choisis Nuts. Je dois mettre quelle url ?

Il y a plusieurs méthodes pour mettre à jour une application Electron. La plus simple et qui est officiellement pris en charge est de tirer parti du framework intégré Squirrel et du module autoUpdater d’Electron.

grim inlet
#

pcq ils disent de mettre une ligne, mais ou et comment ?

last lance
#

Salut ! Je débute en Js et je voulais faire en sorte que quand j'appuie sur un bouton un bout de code html se créer pour rajouter des boutons ou du texte

#

Je sais pas si c'est possible

#

Le but c'est que quand j'appuie sur du texte il rajoute un autre texte avec des autres boutons etc...

slim crypt
last lance
#

ahh okok comment ça marche ?

#

document.body

slim crypt
#

En Javascript, tu peux récupérer les élément de ton HTML ( les balise)

Puis les modifier.

slim crypt
# last lance document.body

Oui, bon autant le récupéré directement via la méthode
document.getElementById()

Si ton élément a un id que de partir et te casser la tête en partant du document.

Cette méthode te donne un object élément qui correspond à la Balise html.

last lance
#

j'avoue

granite jungle
#

qql a un code pour bot discord ticket

hazy mirage
#

Y'a des tutos youtube pour ça 😉

granite jungle
#

okay nice si ya des tutos

smoky crag
#

Salut tout le monde , j'espere que vous allez bien :: svp j'ai un soucis, je commence nodejs mais j'ai pas la suggestion de code comme les mecs du tuto. J'aimerais savoir si il y'a un moyen de changer ça, et comment le faire!!Merci d'avance ps: j'utilise vs code

open python
dire latch
last lance
#
node:events:491
      throw er; // Unhandled 'error' event
      ^
TypeError: Cannot read properties of undefined (reading 'commands')
    at Client.<anonymous> (/home/container/index.js:72:51)
    at Client.emit (node:events:513:28)
    at WebSocketManager.triggerClientReady (/home/container/node_modules/discord.js/src/client/websocket/WebSocketManager.js:385:17)
    at WebSocketManager.checkShardsReady (/home/container/node_modules/discord.js/src/client/websocket/WebSocketManager.js:368:10)
    at WebSocketShard.<anonymous> (/home/container/node_modules/discord.js/src/client/websocket/WebSocketManager.js:194:14)
    at WebSocketShard.emit (node:events:513:28)
    at WebSocketShard.checkReady (/home/container/node_modules/discord.js/src/client/websocket/WebSocketShard.js:511:12)
    at WebSocketShard.onPacket (/home/container/node_modules/discord.js/src/client/websocket/WebSocketShard.js:483:16)
    at WebSocketShard.onMessage (/home/container/node_modules/discord.js/src/client/websocket/WebSocketShard.js:320:10)
    at WebSocket.onMessage (/home/container/node_modules/ws/lib/event-target.js:199:18)
Emitted 'error' event on Client instance at:
    at emitUnhandledRejectionOrErr (node:events:394:10)
    at process.processTicksAndRejections (node:internal/process/task_queues:84:21)
Node.js v18.12.0
#

J'ai cette erreur

#

mais je comprends pas le soucis en sachant que j'ai bien invité mon bot en cochant la case

glass cargo
last lance
last lance
glass cargo
#

Yep mais à l’endroit du .commands non

last lance
#

déjà je sais pas ou il est le .commands :(

glass cargo
#

Ou alors le .get() ne renvoie rien

glass cargo
#

C’est marqué dans l’erreur

#

Je dis ça je dis rien 👀

#

index.js ligne 72

last lance
#

ah j'ai compris

#

oui tkt

#

j'avais pas capté

#

je l'ai fait ya 2 semaine le bot ducoup bah

#

et @glass cargo comment je peux créer deux commandes en même temps dans mon .commands ?

#

prsk j'ai essayé le .commands.create(thumbnail, announce, announcement) mais ça marche pas

#

ah bah si

#

jsp pourquoi ça marchais pas

desert riverBOT
glass cargo
#

@last lance :)

last lance
#

.set ducoup ?

#

mais on doit les créer

glass cargo
#

Dans la fonction, tu mets un object avec toutes les données de toutes tes commandes

glass cargo
# last lance mais on doit les créer

.set() remplace les anciennes données par celles que tu vas indiquer. Donc en plus, pas besoin de ton bout de code en commentaire pour supprimer celles qui ne vont pas :)

last lance
#

j'ai pas compris

glass cargo
#

Je t’ai passé un lien de la doc

#

T’as juste à le suivre :)

last lance
#

je comprends rien à celle la

#

pg j'ai fait ça MDRR

#

bon c'est pas grave 🤡

keen narwhal
#

Bonjour, je suis cette doc (https://www.electronjs.org/fr/docs/latest/tutorial/updates) et il faut que je mette l'url de mon site de déploiement, const server = 'https://your-deployment-url.com', j'ai choisis Nuts. Je dois mettre quelle url ?

Il y a plusieurs méthodes pour mettre à jour une application Electron. La plus simple et qui est officiellement pris en charge est de tirer parti du framework intégré Squirrel et du module autoUpdater d’Electron.

restive nymph
#

salut
je suis en train de regarder la video crée un bot discord
quand je démarre de le debogage il y a une erreur dans mon terminal

#

quelqu'un pourrais m'aider svp ?

opal harness
#

Hey,
J'ai un problème avec les slashs commands. Et je n'arrive pas à comprendre d'où vient l'erreur

#

Merci d'avance de vos réponses

leaden prism
#

hey est ce que vous savez comment je peut récupérer les roles d'un membre pour els afficher en djs?

queen ocean
leaden prism
queen ocean
#

Si c'est une slash command tu peux faire un command.member.roles.cache pour avoir la liste des rôles
En partant du principe que command est l'objet que tu recois quand la commande est exécuté

leaden prism
#

l'objet que je recoit?

#
let user
        if(args.getUser('membre')) {
            user = args.getUser('membre')
            if(!user || !message.guild.members.cache.get(user?.id)) return message.reply("je ne trouve pas le membre")
        } else user = message.user

        const member = await message.guild.members.cache.get(user.id)
        const user_embed = new Discord.EmbedBuilder()
        .setColor(bot.color)
        //.setAuthor(user.avatarUrl({dynamic: true}))
        .setTimestamp()
        .setImage(user.displayAvatarURL({dynamic: true}))
        .setTitle(`Informations de ${user.tag}`)
        .addFields([
            {name: "**ID :**", value: user.id},
            {name: "**Date de création du compte :**", value: `<t:${Math.round(user.createdTimestamp / 1000)}:F>`},
            {name: "**A rejoint le serveur le :**", value: `<t:${Math.round(member.joinedTimestamp)}:F>`}, 
            {name: "**Roles :**", value: `${member.roles.cache}`}
        ])```
opal harness
#
Uncaught ExpectedConstraintError Error: Invalid string format
    at BaseError (c:\Users\guigu\OneDrive\Documents\Personnel\Bot Dioxy\node_modules\@sapphire\shapeshift\dist\index.js:174:17)
    at BaseConstraintError (c:\Users\guigu\OneDrive\Documents\Personnel\Bot Dioxy\node_modules\@sapphire\shapeshift\dist\index.js:185:5)
    at ExpectedConstraintError (c:\Users\guigu\OneDrive\Documents\Personnel\Bot Dioxy\node_modules\@sapphire\shapeshift\dist\index.js:195:5)
    at run (c:\Users\guigu\OneDrive\Documents\Personnel\Bot Dioxy\node_modules\@sapphire\shapeshift\dist\index.js:1564:64)
    at <anonymous> (c:\Users\guigu\OneDrive\Documents\Personnel\Bot Dioxy\node_modules\@sapphire\shapeshift\dist\index.js:142:66)
    at parse (c:\Users\guigu\OneDrive\Documents\Personnel\Bot Dioxy\node_modules\@sapphire\shapeshift\dist\index.js:142:29)
    at validateName (c:\Users\guigu\OneDrive\Documents\Personnel\Bot Dioxy\node_modules\@discordjs\builders\dist\interactions\slashCommands\Assertions.cjs:11:17)
    at setName (c:\Users\guigu\OneDrive\Documents\Personnel\Bot Dioxy\node_modules\@discordjs\builders\dist\interactions\slashCommands\mixins\NameAndDescription.cjs:9:16)
    at <anonymous> (c:\Users\guigu\OneDrive\Documents\Personnel\Bot Dioxy\index.js:76:16)
    at _sharedAddOptionMethod (c:\Users\guigu\OneDrive\Documents\Personnel\Bot Dioxy\node_modules\@discordjs\builders\dist\interactions\slashCommands\mixins\SharedSlashCommandOptions.cjs:47:50)
    at addStringOption (c:\Users\guigu\OneDrive\Documents\Personnel\Bot Dioxy\node_modules\@discordjs\builders\dist\interactions\slashCommands\mixins\SharedSlashCommandOptions.cjs:36:17)
    at Addcommands (c:\Users\guigu\OneDrive\Documents\Personnel\Bot Dioxy\index.js:75:12)
    at <anonymous> (c:\Users\guigu\OneDrive\Documents\Personnel\Bot Dioxy\index.js:35:9)
Process exited with code 1
leaden prism
#

zaros en pls mdr

queen ocean
leaden prism
queen ocean
leaden prism
#

oui

#

mais en suivant un tuto

queen ocean
#

Tu sais comment faire une boucle ? 👀

leaden prism
#

euuu oui

#

en python

queen ocean
leaden prism
#

lets go en plus jvai devoir aller dormir

#

bon jferai sa demain

#

merci bcp

#

pour le nombre de fois que sa sera executé je peut faire un member.roles.length?

queen ocean
opal harness
queen ocean
leaden prism
#

merci

#

et derniere question ma boucle je peut la mettre a l'interieur du get()?

queen ocean
leaden prism
#

member.roles.cache.get()

queen ocean
#

Tu peux faire sans aussi

#

Mais c'est pas une obligation 👌

leaden prism
#

ba ma boucle je la met dans quoi dcp?

queen ocean
#

De nouveau, tout dépend comment tu vas faire 👌

#

Mais tu testeras demain directement dans ton code 😉

opal harness
# queen ocean Comment ca sans le i.name ??

Quand dans ma table options de ma commande, je ne met pas le name ça fonctionne mais dès que je met un truc ça ne fonctionne plus et quand je met quand je met juste un setName("Test")

leaden prism
#

au final g le droit a 15min de +

#
 const boucle = for(let i; i < member.roles.cache.size; i++){
            
        }```
#

jpeut faire un truc de ce genre?

#

vs code kiff pas trop mdr

queen ocean
queen ocean
opal harness
queen ocean
queen ocean
leaden prism
#

je comprend pk c toi qui a la couronne

queen ocean
#

MDR

#

Je suis pas celui qui aide le plus, et encore moins le plus compétent sue

#

Bon après, y a pire aussi, genre @hazy mirage

#

Mais on lui dira pas

leaden prism
#

ptdr

#

c pour sa que tu le ping

#

vous vous lachez des balles perdu entre admin mdr

hazy mirage
#

hm

queen ocean
#

Bon ici ca marche pas car on s'aime pas

#

Mais la phrase est cool

leaden prism
#

😅

#

t un géni mdr

ebon flume
#

exusez moi

#

sa ma fait une erreur

#

quand j'ai fait npm install

last lance
stark forge
#

Salut, ducoup tu as réussi ? Parce que moi aussi je cherche a faire ça

fallow light
#

Bonsoir,
j'aurai une question, quelqu'un sait comment faire pour que lorsqu'une interaction soit déclenchée, y'ait un rôle qui soit ajouté à la personne qui a appuyé sur celle-ci svp ? Parce que ça fait plusieurs jours que je cherche, même avoir regardé la doc de djs, ça ne fonctionne pas... Merci d'avoir lu !
(N'hésitez pas à me ping si vous avez une idée)

Voici l'interactionCreate

      } else if (interaction.customId === "role") {
        if (interaction.values == "annonce") {
          const EmbedRoles = new EmbedBuilder()
            .setColor(bot.color)
            .setTitle(`Auto - Rôles`)
            .setDescription(
              `**–––**\n\nSi vous voulez recevoir une notification lorsqu'il y a de l'activité dans le serveur, vous êtes au bon endroit.\n\nEffectivement, veuillez appuyer sur le menu ci-dessous, puis choisir les notifications qui vous conviennent le mieux !\n\nPour retirer un rôle qui ne vous plaît pas / plus, vous avez juste à ré-appuyer sur la réaction qui ne vous convient pas !\n\n**–––**`
            )
            .setTimestamp()
            .setFooter({
              text: `${bot.user.username}`,
              iconURL: bot.user.displayAvatarURL({ dynamic: true }),
            });

          const Role = new ActionRowBuilder().addComponents(
            new SelectMenuBuilder()
              .setCustomId("role")
              .setPlaceholder(
                "Sélectionnez le rôle notification de votre choix !"
              )
#
           .addOptions(
                {
                  label: `Annonce`,
                  description: `Soyez au courant de toutes les dernières annonces concernant le serveur`,
                  emoji: `🔔`,
                  value: `annonce`,
                },
                {
                  label: `Giveaway`,
                  description: `Soyez au courant de tous les concours qui arrivent prochainement`,
                  emoji: `🎁`,
                  value: `giveaway`,
                },
                {
                  label: `Sondage`,
                  description: `Soyez au courant de tous les sondages pour 
l'amélioration du serveur`,
                  emoji: `📊`,
                  value: `sondage`,
                },
                {
                  label: `Partenariat`,
                  description: `Soyez au courant de tous nos prochains partenaires`,
                  emoji: `🤝`,
                  value: `partenariat`,
                }
              )
          );

          
          
          await interaction.deferUpdate();
          await interaction.editReply({
            embeds: [EmbedRoles],
            components: [Role],
          });

const EmbedSuccessRoleAdd = new EmbedBuilder()
            .setColor(bot.color)
            .setDescription(
              `✅ Le rôle <@&1029086504519204934> vous a bien été ajouté !`
            );

          if (interaction.customId == "annonce") {
            interaction.member.roles.add('1029086504519204934')
            await interaction.followUp({
            embeds: [EmbedSuccessRoleAdd],
            ephemeral: true,
          });
    }
}

          

          
        }
      }
    }
  };
keen narwhal
#
client.on("interactionCreate", async interaction => {
    if (!interaction.isButton()) return

    if (interaction.customId == "annonce") {
        interaction.member.roles.add('role-annonce')
    } else if (interaction.customId == "giveaway") {
        interaction.member.roles.add('role-giveaway')
    } // etc..
})```
fallow light
fallow light
void spear
fallow light
#

Ah oui pas con, je vais voir ça

glass cargo
fallow light
keen narwhal
#

j'ai besoin d'aide sur la commande lock

#
const Discord = require('discord.js')

module.exports.run = async (bot, message, args) => {

    if(!message.member.hasPermission('MANAGE_MESSAGES')) return message.channel.send('Vous n\'avez pas la permission d\'utiliser cette commande !');

    let channel = message.user ? message.guild.channels.cache.get(args._hoistedOptions[0].value) : (message.mentions.channels.first() || message.guild.channels.cache.get(args[0]))
    if(!channel) return message.channel.send(`Veuillez mentionner un channel !`)

    if(channel.permissionOverwrites.cache.get(message.guild.roles.everyone.id)?.deny.toArray(false).includes("SEND_MESSAGES")) return message.channel.send(`Ce salon est déjà lock !`)

    await channel.permissionOverwrites.edit(message.guild.roles.everyone.id, {
        SEND_MESSAGES: false
    })

    await message.channel.send(`Le salon a été lock avec succès !`)

}

module.exports.config = {

    name: "lock",

}```
#

quand je fais +lock ça me met une erreur dans la console :

if(channel.permissionOverwrites.cache.get(message.guild.roles.everyone.id)?.deny.toArray(false).includes("SEND_MESSAGES")) return message.channel.send(`Ce salon est déjà lock !`)                ^
                                          

TypeError: Cannot read properties of undefined (reading 'get')
    at module.exports.run (C:\Users\DeroZzz\Desktop\Bot Discord\cmds\lock.js:10:43)
    at Client.<anonymous> (C:\Users\DeroZzz\Desktop\Bot Discord\index.js:68:33)
    at Client.emit (node:events:525:35)
    at MessageCreateAction.handle (C:\Users\DeroZzz\Desktop\Bot Discord\node_modules\discord.js\src\client\actions\MessageCreate.js:31:14)
    at module.exports [as MESSAGE_CREATE] (C:\Users\DeroZzz\Desktop\Bot Discord\node_modules\discord.js\src\client\websocket\handlers\MESSAGE_CREATE.js:4:32)
    at WebSocketManager.handlePacket (C:\Users\DeroZzz\Desktop\Bot Discord\node_modules\discord.js\src\client\websocket\WebSocketManager.js:384:31)
    at WebSocketShard.onPacket (C:\Users\DeroZzz\Desktop\Bot Discord\node_modules\discord.js\src\client\websocket\WebSocketShard.js:444:22)
    at WebSocketShard.onMessage (C:\Users\DeroZzz\Desktop\Bot Discord\node_modules\discord.js\src\client\websocket\WebSocketShard.js:301:10)
    at WebSocket.onMessage (C:\Users\DeroZzz\Desktop\Bot Discord\node_modules\ws\lib\event-target.js:132:16)
    at WebSocket.emit (node:events:513:28)```
keen narwhal
#

Bonjour une personne serais m'aider pour donner un role a une personne quand elle rejoin une vocal specifique ?

tribal kayak
#

Hey, comment je pourrais faire pour faire en sorte que le message de bienvenue soit tiré au sort aléatoirement selon la variable chance to get que j'ai mis dans l'objet svp ( ce sont plusieurs objets dans un array bien évidemment ) ?

En gros j'ai un message de bienvenue qui à 100% de chance d'être mit mais j'ai d'autres message avec moins de chance qui font gagner des choses ( ex : Nitro, prestations... ) qui peuvent être tiré au sort

hazy mirage
tribal kayak
#

Tu peux vocal que je te montre ?

floral bolt
#

Et ensuite de random tous les résultats à 100%

#

Enfin je ferais comme ça il y a peut être beaucoup plus simple

tribal kayak
#

Oui mais genre comme j'ai des trucs à 100 et d'autres à 1 faut pas faire une approximation car si c'est 49 ce sera le 1% qui serra choisi. Tu vois où je veux en venir ?

#

Mais je vois comme toi tu ferais, genre une const chance aléatoire où je récupère tout un des objets avec la chance tiré.

sharp grail
sharp grail
#

Okay alors

tribal kayak
#

Tu peux vocal sinon ?

sharp grail
#

nop désolé 😅

tribal kayak
#

D'acc pas de soucis

sharp grail
#

Tu prends ton array, tu le parcours pour additionner toutes les chances
ex : 452

Tu génères un nombre aléatoire entre 1 et 452
ex : 311

Ensuite, tu reparcours ton array, et tu additionnes les chances de chaque objet jusqu'à qu'elle soit supérieur à ton nombre tiré
exemple :

Compteur = 0
Tirage = 311

1er - chance = 10

compteur = 10
compteur < tirage

-> on continue

2er - chance = 50
compteur = 60

3er - chance = 100
compteur = 160

4er - chance = 100
compteur = 260

5er - chance = 75
compteur = 335

compteur > tirage

-> on stoppe et on renvoie la phrase

tribal kayak
#

Ah oui je vois, effectivement l'idée est bonne

#

Je vais essayer et je te dis ça 😉

sharp grail
#

Le truc c'est que du coup, plus tu augmentes le nombre de phrase et donc plus tu rajoutes des chances, plus la probabilité d'obtenir une phrase à 100 diminue

tribal kayak
#

Donc celle d'avoir une phrase à 1 aussi dcp !

sharp grail
#

yep

tribal kayak
#

Donc en soit c'est pas si mauvais 👀

sharp grail
#

oui, ça 'dilue' toutes les probabilités

sharp grail
tribal kayak
desert riverBOT
#

Documentation suggestion for @keen narwhal:
:event: (event) Client#voiceStateUpdate
Emitted whenever a member changes voice state - e.g. joins/leaves a channel, mutes/unmutes.

glass cargo
#

;)

sharp grail
tribal kayak
sharp grail
#

pas de problème x)

tribal kayak
# sharp grail pas de problème x)

Re, écoutes ça à l'air de marché, je tombe jamais sur le message et quand j'ai inversé tout les 100 par 1 et le message cadeau par 100 j'avais que le message de cadeau 😄

sharp grail
#

Cool

#

T'as essayé de faire un test a grande échelle (genre 1 million d'essai pour voir si tu arrivais à avoir le message de cadeau quand même ?

tribal kayak
ebon flume
#

j'ai une erreur sur mon bot musique je fait exemple /play jul wesh alor le bot et et quitte directement

ebon flume
#

et sa me met cette erreur dans

#

cmd

#

at Object.loader [as require] (C:\Users\acaly\OneDrive\Bureau\Music-bot-main\node_modules\prism-media\src\util\loader.js:12:9)
at loadOpus (C:\Users\acaly\OneDrive\Bureau\Music-bot-main\node_modules\prism-media\src\opus\Opus.js:17:17)
at new OpusStream (C:\Users\acaly\OneDrive\Bureau\Music-bot-main\node_modules\prism-media\src\opus\Opus.js:46:10)
at new Encoder (C:\Users\acaly\OneDrive\Bureau\Music-bot-main\node_modules\prism-media\src\opus\Opus.js:149:5)
at Object.transformer (C:\Users\acaly\OneDrive\Bureau\Music-bot-main\node_modules@discordjs\voice\dist\index.js:1756:22)
at C:\Users\acaly\OneDrive\Bureau\Music-bot-main\node_modules@discordjs\voice\dist\index.js:1936:58
at Array.map (<anonymous>)
at createAudioResource (C:\Users\acaly\OneDrive\Bureau\Music-bot-main\node_modules@discordjs\voice\dist\index.js:1936:39)
at DisTubeVoice.play (C:\Users\acaly\OneDrive\Bureau\Music-bot-main\node_modules\distube\dist\core\voice\DisTubeVoice.js:162:62)
at QueueManager.playSong (C:\Users\acaly\OneDrive\Bureau\Music-bot-main\node_modules\distube\dist\core\manager\QueueManager.js:84:25)
Unhandled 'error' event.
See: https://distube.js.org/#/docs/DisTube/stable/class/DisTube?scrollTo=e-error and https://nodejs.org/api/events.html#events_error_events

sharp grail
tribal kayak
#

<=

#

Putain y'a 1 chance sur 801 d'avoir le cadeau joyEyes

sharp grail
#

Déjà oui

#

Et ensuite

#

Paz que

ebon flume
#

alor je doiis faire quoi svp

tribal kayak
#

Where?

sharp grail
#

La ta range est entre 0 et 800

tribal kayak
tribal kayak
#

Good

sharp grail
#

Range entre 0 et 801 here

#

1 - 801 c'est pas mieux ? ;-;

tribal kayak
#

Non car le cadeau c'est 1 donc si ça tire 1 bah j'ai le cadeau 😄

sharp grail
#

Et tu peux utiliser reduce pour sum les valeurs de ton array

sharp grail
#

La t'as 2 / 801 chances

#

Fin

#

En gros si ton tirage est 0

#

Tu rajoutes une valeur artificiellement au premier obj de message

tribal kayak
#

Hein ?

#

Je peux pas tirer 0 c'est entre 0 et 802

sharp grail
#

Nan 0 est inclus

#

Car Math.floor renvoie la valeur inferieur

#

Et since Math.random() e [0;1[

#

Tu pourras jamais avoir ta valeur supérieure

#

Mais la valeur inférieure oui

tribal kayak
#

Donc faut que j'enlève le <= et que je mette juste < dcp en soit

#

J'y avais pas pensé merci

sharp grail
#

Dans ce cas la faut enlever le + 1

#

Car si tu tires 801 tu sortiras rien ~

tribal kayak
#

Ah oui pas faux

#

Je suis pas réveillé..

sharp grail
#

T'inquiète pas x)

#

Pour plus de rapidité tu peux stocker en ram le nombre total de chance mais c'est pas très important, et plus simple de ne pas le faire si ces phrases sont soumises à modification

restive nymph
#

salut

#

jetait entrain de regarder la vidéo dev un bot discord

#

mais quand je start le déboggage sa me met cette erreur

#

quelqun pourrais m’aider ? Merci

queen ocean
restive nymph
queen ocean
restive nymph
#

regarde, rien ne me semble bizzard

queen ocean
#

J'ai delete

#

y a ton tocket dessus

restive nymph
#

c'est le token de mon bot

#

je peux t'envoyer en mp ?

queen ocean
restive nymph
#

ah désolé

queen ocean
restive nymph
#

le tuto date d'il y a 3 mois sa dois etre moi

#

mais comme je debute je ne vois pas mes erreurs c'est pour ca

#

je suis pratiquement sure que c'est moi qui merde mais je sais pas ou

queen ocean
restive nymph
restive nymph
#

c'est fait

keen narwhal
#

Envoie l'erreur

versed storm
# restive nymph

il manque un s à intent

const { Client, GatewayIntentBits } = require('discord.js');

const client = new Client{(
  intents: {
    // ...
  }
)};
restive nymph
#

les 2 ?

near saddle
leaden prism
#

Hey est ce que vous savez comment je peut récupére le nombre de banni d'un serveur?

versed storm
leaden prism
#

prcq ya une version avec et une sans

restive nymph
ebon flume
#

j'ai une erreur sur mon bot musique je fait exemple /play jul wesh alor le bot rejoin le salon vocal et quitte directement et sa me met cette erreur dans cmd

#

at Object.loader [as require] (C:\Users\acaly\OneDrive\Bureau\Music-bot-main\node_modules\prism-media\src\util\loader.js:12:9)
at loadOpus (C:\Users\acaly\OneDrive\Bureau\Music-bot-main\node_modules\prism-media\src\opus\Opus.js:17:17)
at new OpusStream (C:\Users\acaly\OneDrive\Bureau\Music-bot-main\node_modules\prism-media\src\opus\Opus.js:46:10)
at new Encoder (C:\Users\acaly\OneDrive\Bureau\Music-bot-main\node_modules\prism-media\src\opus\Opus.js:149:5)
at Object.transformer (C:\Users\acaly\OneDrive\Bureau\Music-bot-main\node_modules@discordjs\voice\dist\index.js:1756:22)
at C:\Users\acaly\OneDrive\Bureau\Music-bot-main\node_modules@discordjs\voice\dist\index.js:1936:58
at Array.map (<anonymous>)
at createAudioResource (C:\Users\acaly\OneDrive\Bureau\Music-bot-main\node_modules@discordjs\voice\dist\index.js:1936:39)
at DisTubeVoice.play (C:\Users\acaly\OneDrive\Bureau\Music-bot-main\node_modules\distube\dist\core\voice\DisTubeVoice.js:162:62)
at QueueManager.playSong (C:\Users\acaly\OneDrive\Bureau\Music-bot-main\node_modules\distube\dist\core\manager\QueueManager.js:84:25)
Unhandled 'error' event.
See: https://distube.js.org/#/docs/DisTube/stable/class/DisTube?scrollTo=e-error and https://nodejs.org/api/events.html#events_error_events

queen ocean
#

@ebon flume il nous faut ton code

#

Et il manque le début de ton erreur, tu n'as pas tout copié

ebon flume
#

@queen oceand'accord je te l'envoie ici

queen ocean
ebon flume
queen ocean
#

Envoie le lien github du bot

#

@ebon flume

ebon flume
restive nymph
#

qui peut m'aider svp

queen ocean
# restive nymph

Ta variable message n'existe pas, montre les autres lignes de ton fichier

restive nymph
queen ocean
#

ha ok; ta pas mit ton code au bon endroit, ce que tu as de la ligne 31 à 37, tu dois le mettre avant la ligne 27

restive nymph
#

ligne 32 j'ai juste rajouter un + deriere le help

restive nymph
#

quand je fais la commande +help

#

sa me met cette erreur

ruby granite
#

Bonsoir je veux créer un morpion en ligne avec NodeJS, Socket.io et Boostrap (lien vidéo: https://www.youtube.com/watch?v=Mct3TqiCxLY&ab_channel=Pentiminax) mais je n'arrive pas a effectuer ma commande npm install et sa me met un message d'erreur que je ne comprends pas. A savoir que je ne comprends pas non plus tout le code du package.json donc je ne sais pas si il y a des choses a modifier, quelqu'un pourrait m'aider ? bonne soirée à vous

dire latch
#

@restive nymphTu n'as pas défini prefix

restive nymph
#

car le gars dans la vidéo n’a rien mis

acoustic smelt
#

Salut je suis nouveau en Discord JS, je suis en discord 14 et j'aimerai modifier mon Handler Event pour au lieu d'avoir ./events/file.js avoir ./events/buttons,selectmenus,modals/file. Je ne sais pas comment faire si quelqu'un pourrait m'aider.

dire latch
#

@restive nymph il l'as forcément fais

normal lichen
fiery wave
#

ou il peut juste mettre ./events/**/${file}

acoustic smelt
acoustic smelt
wheat onyx
#

Bien le bonjour, je suis entrain de faire une commande de LeaderBoard (DiscordJS v14):

        client.db.query(`SELECT * FROM moneytable WHERE guildID = '${interaction.guild.id}'`, async(err, req) => {
            if(req.length < 1) {
                return interaction.reply({ content: "Aucune personne n'a de l'argent !"})
            } else {
                const embed = new EmbedBuilder()
                    .setColor(config.embedColor)
                    .setTitle(`LeaderBoard - ${interaction.guild.name}`)
                    .setDescription("test")
            
                const memberID = req[0].memberID
                for (let i = 0; i < req.length; i++) {
                    embed.addFields(
                        { name: `${i + 1}. ${req[i].memberID}`, value: `${req[i].money}`}
                    )
                }
                return interaction.reply({ embeds: [embed]})
            }
        })

Donc j'aimerais savoir comment faire en sorte que sa mette dans l'ordre dans le sens (+ d'argent au - d'argent)
Merci d'avance

wheat onyx
fiery wave
red torrent
wheat onyx
#

J'avais pas vu les messages, oui c'est ce que j'ai fais du coup

wet kiln
#

yo, j'ai un petit problème, j'aimerai mettre à jour mon discordjs car actuellement je l'ai en 7.0 (débian).... Des connaisseurs ?

regal elk
#

yoo petit soucis,

#

`const Discord = require("discord.js");
const { SlashCommandBuilder } = require("@discordjs/builders");
const Client = new Discord.Client({
intents: [
Discord.Intents.FLAGS.GUILDS,
Discord.Intents.FLAGS.GUILD_MESSAGES
]
});

const data = new SlashCommandBuilder()
.setName("ping")
.setDescription("pong");
.addUserOption(option => option
.setName("utilisateur")
.setDescription("utilisateur que vous souhaitez mentionner")
.setRequired(false));

Client.on("ready", () => {

// Client.application.commands.create(data);
Client.guilds.cache.get("1041809873307959369").commands.create(data);

console.log("bot opérationnel");

});

Client.on("interactionCreate", interaction => {
if(interaction.isCommand()){
if(interaction.commandName === "ping"){
interaction.reply("pong");
}
}
});

Client.login("")`

#

--> quand je le start

#

j'arrive pas a start mon bot harold

keen narwhal
#

Bonjour, comment puis-je mettre une icone à mon application electronjs et dans mon BrowserWindow ?

keen narwhal
onyx wren
#

Bonjour, j'ai fait mon site internet qui est à peu près good (je vais continuer de l'opti) et je souhaite que lorsqu'un nouvel article est posté, dans un channel de mon discord, un bot ou un webhook envoie directement l'article pour en faire part aux autres membres. Seulement je ne sais pas trop comment m'y prendre, quelqu'un aurait des suggestions. (Mon site est réalisé avec nuxtjs pour le front (framework vue) et express pour le back)

floral bolt
#

Et faire une requête post via ton back

onyx wren
#

Okok je vais voir

past nimbus
#

C'est simplement de la même structure qu'un message discord (si tu as déjà fais du discordjs)
Tu peux reprendre directement la lib, elle fait 90% du boulot à ta place

onyx wren
onyx wren
past nimbus
#

Tu peux oui, sur la partie back du coup
T'aura juste à créer l'instance webhook et à .send un message (classique ou embed)

onyx wren
#

mon back est en express

#

@past nimbus sinon je ne peux juste pas créer une route qui post l'info à l'url du webhook?

#

sans utiliser discord.js dans le back

past nimbus
#

Bah si l'objectif est de send un message Discord lorsqu'un article est publié, dans ton article.service tu déclenche ton module discord-webhook pour send le message
Sachant que ton article.service lui est call normalement sur ta route de publication d'article
Pas besoin d'une route supplémentaire, ou bien j'ai pas compris la question ?

keen narwhal
#

Faut tray l'image avant

keen narwhal
#

Merci ça marche ! :)

#

J'aurais une autre question. Est ce que vous aurez un tutoriel pour faire un auto updater avec nucleus ou nuts ou encore hazel?

past nimbus
wet kiln
#

je ne m'y connais pas du tout

#

j'aimerais update mon node qui est en v12 & discord en v7

past nimbus
#

Il y a un début à tout

wet kiln
#

c'est pour ca que j'écris ici

past nimbus
#

Pourquoi tu veux l'update ?

wet kiln
#

pour mon bot discord, il ne se run pas a cause des trop vielles version obsolète

wet kiln
wet kiln
# past nimbus https://docs.npmjs.com/updating-packages-downloaded-from-the-registry pour mettr...

re, mon node s'est mit en V14 alors que je le voulait en V18.
Pour discordjs, voici ce que sa m'affiche quand je fais npm discordjs -v

ERROR: npm v9.1.1 is known not to run on Node.js v14.1.0. You'll need to upgrade
to a newer Node.js version in order to use this version of npm. This version of
npm supports the following node versions: `^14.17.0 || ^16.13.0 || >=18.0.0`. You
can find the latest version at https://nodejs.org/.

ERROR:
/usr/local/lib/node_modules/npm/node_modules/hosted-git-info/lib/index.js:63
  #fill (template, opts) {
        ^

SyntaxError: Unexpected token '('
    at Object.compileFunction (vm.js:344:18)
    at wrapSafe (internal/modules/cjs/loader.js:1106:15)
    at Module._compile (internal/modules/cjs/loader.js:1140:27)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1196:10)
    at Module.load (internal/modules/cjs/loader.js:1040:32)
    at Function.Module._load (internal/modules/cjs/loader.js:929:14)
    at Module.require (internal/modules/cjs/loader.js:1080:19)
    at require (internal/modules/cjs/helpers.js:72:18)
    at Object.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/npm-package-arg/lib/npa.js:7:19)
    at Module._compile (internal/modules/cjs/loader.js:1176:30)
root@po ~ $
past nimbus
#

...

#

Faudrait savoir, tu veux mettre à jour NodeJS ou DiscordJS

wet kiln
#

les 2

#

si possible

#

@past nimbus ?

onyx wren
wet kiln
onyx wren
#

pour installer la dernière version

#

t'es a quelle version la?

wet kiln
#

v14

wet kiln
marble mason
#

Tu peux utiliser NVM pour installer des nouvelles versions de Node et changer de l'une à l'autre facilement

leaden prism
#

hey est ce que vous savez pourquoi l'unix timestamp ne fonctionne pas?

ashen rapids
#

Hello !

Des recommandations pour une librairie Node pour modifier une image dans le code ?
Le besoin serait de récup une image via le web et la modifier

#

J'ai trouvé @napi-rs/canva mais pas l'impression qu'on puisse load une URL

past nimbus
#

Modifier c'est à dire ? Retoucher photo ? Modification couleur ?

#

Resize ?

ashen rapids
past nimbus
#

Un canva directement je pense

#

Et si tu veux utiliser une lib, tu as Jimp qui est cool

#

Mais je sais pas si ils proposent ce que tu cherches exactement

ashen rapids
#

J'regarde

#

Oue je vois, peut-être un peu lourd comme package pour ce dont j'ai besoin

past nimbus
#

Canva du coup

glass cargo
bitter heron
#

Bonsoir,
Lorsque je veux créer une nouvelle commande en / cmd, je refais la const data mais cependant lorsque je refais cette constante, le data se souligne comme etant une erreur. Pouvez vous m'aider svp

glass cargo
leaden prism
wooden compass
#

Faut pas définir data ?

bitter heron
glass cargo
wooden compass
#

ha oui sue

glass cargo
# bitter heron

Tu as déjà créé une autre variable qui s’appelle data :)

glass cargo
bitter heron
leaden prism
#

comment je peut faire?

glass cargo
bitter heron
#

Mais est ce que const c'est la meme chose que var ?

leaden prism
#

c quoi moment meme?

glass cargo
#

Un module npm

leaden prism
#

a oki mrc

#

et dcp comment je peut convert sa <t:${guild.createdAt}:d> en timestamp?

bitter heron
#

Et dcp ma commande pour clear je l'a met a l'endroit ou j'ai defini data auparavant ?

glass cargo
#
<t:${moment(${guild.createdAt}).format("x")}:d>``` de mémoire 👀
glass cargo
bitter heron
glass cargo
#

Ouaip

#

Le problème là, c’est que tu as 2 variables qui ont le même nom ^^

#

Donc il suffit de leur donner des noms différents ;)

bitter heron