#javascript-typescript

1 messages · Page 74 of 1

burnt fractal
bold sparrow
#

Alors ....

#

Est-ce que tu peux log response.current

#

Et voir ce que renvoit la collection

burnt fractal
#

meme erreur

bold sparrow
#

donc c'est current qui boude ...

#

Hum ...

#

Tu avais une première fonction promise c'était a.json() avec a en paramètre

#

Ca correspondait à quoi ?

burnt fractal
#

bah en soit a rien car je l'iniatiliser en gros au .then

#

c'etait .then(a => a.json())

#

.then(response => { }

bold sparrow
#

Hum ..

#

Console log response.json()

burnt fractal
bold sparrow
#

response.json().current maintenant ?

burnt fractal
#

attend j'avais mal taper

bold sparrow
#

Développe un peu tout ça

#

Ton result, et le proto

burnt fractal
#

je récupére bien les données mais c'est l'icon qui pose soucis

bold sparrow
#

Parfait donc ça fonctionne très bien mais

#

Ta promise est en pending

#

console.log(await response.json().current)

burnt fractal
#

ca marche plus

bold sparrow
#

Erreur ?

burnt fractal
#

same weather_icon

bold sparrow
#

Screen ta console

burnt fractal
bold sparrow
#

Donc, c'est le json() qui renvoie toutes les informations

#

Problème, la réponse n'est pas résolue

#

Une promise doit toujours être résolue.

#

Essayes response.json().current.temperature

burnt fractal
bold sparrow
#

Pourtant on await bien le fetch

#

const response2 = await response.json()

#

Pour voir ..

#

Ta promise est fulfilled, donc la réponse est résolue c'est étrange

#

Oui là l'erreur vient de toi

burnt fractal
#

oui je viens de lire x)

#

ouais non ca fait la meme erreur

bold sparrow
#

Screen code

burnt fractal
bold sparrow
#

Je vais me permettre d'utiliser un then.

#

await fetch(...).then(x => x.json() )

#

ensuite tu enlèves ton response2

#

et ton console log tu mettra response.current

burnt fractal
#

ca marche impec la ^^

bold sparrow
#

Ce qui m'embête c'est d'utiliser un then mais au moins tu en as un en moins

#

Il doit fetch l'api, faire une promise du json et ensuite récupérer les résultats ...

burnt fractal
#

ouaip mais du coup dans cette configuration avec une autre fonction je peux tout de meme recup la donné "response.current.weather_descriptions[0]" ?

bold sparrow
#

Ah oui tout à fait

burnt fractal
#

pour changer justement les noms d'anglais a francais

bold sparrow
#

Puisque c'est un array

burnt fractal
#

ok ok ^^

bold sparrow
#

Par précaution, tu peux console log response.current.weather_descriptions[0]

#

Et voir s'il récupère ce que tu veux

burnt fractal
#

mais est ce que ma ligne " var nom = document.getElementById("output").value[0]" le fait bien ?

#

ok

bold sparrow
#

Le console log et js c'est une grande histoire d'amour

#

Il faut profiter d'avoir un debuggueur puissant ^^

burnt fractal
#

oui ^^

bold sparrow
#

Impec

#

Donc tu as ta réponse !

burnt fractal
#

donc elle marche c'est ca ? ^^

bold sparrow
#

Et bien ça récupère bien la valeur que tu veux modifier non ? ^^

burnt fractal
#

oui ^^

bold sparrow
#

Donc, ça fonctionne ;)

burnt fractal
#

merci bcp

#

🙏

#

je vais eviter de trop t'importuner s'y j'ai des complications pour la suite x) je t'ai déjà bien embeter comme ca

bold sparrow
#

Mais tu m'embêtes pas du tout

burnt fractal
#

d'accord ^^

bold sparrow
#

Tu deviendras autodidacte plus tard, tu débutes

#

En attendant tu peux t'appuyer sur d'autres personnes

burnt fractal
#

apres j'avouerais que je suis en 2eme anne en DUT info et que bon le JS on en a pas fait masse mais quand meme x)

bold sparrow
#

Oh c'est vrai ?

burnt fractal
#

oui

bold sparrow
#

Intéressant tout ça, tu peux passer en MP ? ( c'est hors-sujet du channel )

burnt fractal
#

je suis un peu rincé en dev car bon les cours en distanciel mon pas trop aidé

dapper coral
# burnt fractal

Tu fera gaffe ta laisser ton token visible 👀
je pense que tout le monde s'en fou mais on sait jamais

bold sparrow
#

@dapper coral C'est du readOnly pas trop d'importance

dapper coral
#

Oui c'est bien ce qu'il me semblait mais quand même

burnt fractal
#

apres c'est facile a retrouver tu fait la fonction inverse et voila x)

burnt fractal
#

d'ailleurs quelqu'un aurait une api ou bibliothèque JS pour faire de la traduction ang / fr auto ?

#

car j'ai enfin reussis a faire la traduction mais bon si je doit gerer tout les cas possible de météo ca risque d'etre long et faire un code pas beau

wild bramble
#

Salut comment je peux faire pour récup la date d'envoie d'un embed et l'afficher dans mon embed ? Par exemple j'envoie mon embed le 28 donc le 28 ça sera marqué aujourd'hui et le 29 que ça nous marque le 28

burnt fractal
#

j'aurais aimé être assez chaud pour pouvoir aider mais bon la j'ai pas encore le niveau pour aider déso 😦

wild bramble
#

Tkt

hazy mirage
#

@burnt fractal Yo ! J'ai vu ça: https://www.npmjs.com/package/translate. Vu la doc ça a l'air d'être ce que tu cherches, mais pas spécifiquement pour la météo donc à voir si ça traduit correctement si y'a des mots techniques ?

hazy mirage
burnt fractal
wild bramble
hazy mirage
#

ah pardon

#

bah normalement ça le fait tout seul

#

🤔

#

Regarde ça c'est un embed que j'ai généré le 03/10/2020 et ça l'affiche bien (le jour même ça affichait genre Aujourd'hui à 10h30)

wild bramble
#

Alors je laisse le set.Footer vide ?

#

@hazy mirage

hazy mirage
#

euh le footer c'est différent la

#

il faut que tu utilises le .setTimestamp() sur l'embed et puis ça changera la date tout seul

#

vu que j'ai cours à côté c'est un peu compliqué de t'aider mais ping moi si tu réponds KappaLUL

wild bramble
#

Ok nickel ça marche merci

oak turret
keen narwhal
#

Bonjour, sur mon bot quand je veux skip il me dit ça

burnt fractal
keen narwhal
#

oui

#

j'ai me suis aider d'un tuto sur youtube

burnt fractal
keen narwhal
#

ah

burnt fractal
#

genre pour lui c'est pas défini

keen narwhal
#

play ici ?

burnt fractal
#

tu as fait un fonction async ?

keen narwhal
#

oui

burnt fractal
#

me semble le await de ce qu'on m'a dit ne peut pas etre en parametre

#

or tu le met

#

moi j'ai utilisé aussi un await

keen narwhal
#

ah bon

#

donc je fait comment sur la vidéo ça fonctionne

burnt fractal
#

oui regarde bien ton await est souligné c'est a dire qu'il a une erreur

keen narwhal
#

ah oui

#

je me suis tromper x)

#

merci

burnt fractal
#

de rien content d'avoir pu aider avec mon niveau x)

keen narwhal
#

j'ai un autre problème xD

burnt fractal
#

ah bah je vais manger je t'aide dans la mesure du possible apres 🙂

keen narwhal
#

ok bonne app

burnt fractal
#

merci ^^

oak turret
#

c'est pas pour toi

#

c'est pour @burnt fractal

keen narwhal
#

Bonjour, quelqu'un peux m'aider car je c'est pas comment régler ce problème

lone flax
#

Il ne sait pas récupérer la propriété play d'une variable indéfinie

#

Cherche dans ton code .play

#

L'erreur vient du fait que ce qui vient avant == nil

burnt fractal
# oak turret c'est pas pour toi

ouais j'ai vu le package google le probleme c'est que je voudrais une trad instantanné et pas via des boutons comme propose l'api google

burnt fractal
keen narwhal
#

j'ai pas réussie à régler xD

burnt fractal
#

meme s'y je pense pourrais pas trop aider a cause de mes connaissances pas encore assez developper

#

balance le code

keen narwhal
#

le code du skip ?

#

ou du play

burnt fractal
#

bah le code code x)

keen narwhal
#

le code code j'ai plusieurs fichier xD

burnt fractal
#

ah bah balance play

keen narwhal
#

le play passe pas

#

trop grand

#

euh

burnt fractal
#

attend je vais te dire comment sur discord tu va faire pour partager du code

#
tu fais trois altgr 7 suivis du langage (shift tab pour mfaire des sauts de ligne ) et fu referme par trois altfr 7 
#

tiens regarde comme ca

#

@keen narwhal tu n'avais pas un await tous a l'heure ?

#

car la il n'y est plus

keen narwhal
#

je les enlever

#
const { UserNotInVoiceChannel, BotNotInVoiceChannel } = require('../../strings.json');
const ytdl = require('ytdl-core');

module.exports = class SkipCommand extends Command {
    constructor(client) {
        super(client, {
            name: 'skip',
            group: 'music',
            memberName: 'skip',
            description: 'Saute le titre en cours de lecture.'
        });
    }

    /**
     * 
     * @param {CommandoMessage} message 
     * @param {String} query
     */
     async run(message) {
         const voiceChannel = message.member.voice.channel;
         const server = message.client.server;

        if (!voiceChannel) {
            return message.say(UserNotInVoiceChannel);
        }

        if (!message.client.voice.connections.first()) {
            return message.say(BotNotInVoiceChannel);
        }

        if (!server.queue[0]) {
            server.currentVideo = {url: "", title: "Rien pour le moment !"};
            return message.say("Il n'y a rien dans la fille d'attente");

        }

        server.currentVideo = server.queue[0];
        server.dispatcher = server.connections.play(ytdl(server.currentVideo.url, { filter: 'audioonly' }));
        server.queue.shift();

        return message.say(":fast_forward: Ignoré :thumbsup:");
    }
}```
burnt fractal
#

bah déjà s'y tu n'utilise pas await ca ne sert a rien une fonction asynchrone

#

après j'ai pas envie de dire de connerie mais il me semble que justement async on l'utilise car on veut utiliser await

keen narwhal
#

ah

burnt fractal
#

@keen narwhal bah je sais pas

#

¯_(ツ)_/¯

keen narwhal
#

ok

burnt fractal
#

peut pas t'aider pour ca pas encore attaquer aux discord bot

keen narwhal
#

okay pas grave

burnt fractal
#

connections ca sera pas sans s ?

keen narwhal
#

euh

#

je regarde

#

non y'a un s

#

je crois

#

att je test

#

Oh

#

merci

burnt fractal
#

x)

keen narwhal
#

c'est le s

burnt fractal
#

je suis trop fort wollah XD

keen narwhal
#

xD

burnt fractal
#

c'est faux

#

mais comme quoi moi j'etait bloquer pendant toute une matinée pour une erreur de frappe

#

donc je connais x)

keen narwhal
#

ah x)

#

juste pour un s mdr

burnt fractal
#

ouais c'etais aussi un s x)

#

bon bah si tu as des erreurs j'essaierais d'aider ^^

keen narwhal
#

okay merci

lone flax
#

Yop, comment je fais pour avoir le nom discord d'un utilisateur en retirant tous les trucs horriblement moches (genre les caractères spéciaux, en gras, en italique que les kikous aiment bien utiliser) svp ?

#

Histoire de créer un salon de ticket avec le nom de l'utilisateur

slim anvil
#

fais une regex pour juste les caractères alphanumeric

#

par contre vérifie aussi qu'il ne reste pas rien à la fin kapp

#

Ou tu veux les remplacer par la lettre qui lui correspond ?

#

genre α = a

#

Parce que si tu veux faire ça il va falloir que tu te fasses ton propre tableau de correspondance, ou alors que tu en trouves un déjà fait puis tu auras juste à venir le remplacer par la bonne lettre

lone flax
#

Rah ouais c'est chiant

#

Tu vois les pseudos comme ça sue

oak turret
#

j'ai voulu le faire aussi

#

j'ai eu la flemme

#

mdr

#

mais sinon

#

t'inclus l'id du mec dans le salon pour pouvoir check après avec un .includes() si tu veux check

lone flax
oak turret
#

oauip xd

dusk patio
#

bonjour je travaille sur un projet sur eclipse mais j'arrive pas à lancer l'app de puis l'application

lone flax
#

bonjour ok

molten junco
#

Bonjour est-ce que il y a quelqu'un qui serait me fournir de l'aide sur un statut de jeux sur de html je n'arrive pas a démarrer le système !

slim anvil
#

Go les renommer à leurs arriver sinon 200iq

#

De toute façon find le channel par pseudo c’est pas une bonne idée car si tu as 2 Enzo ça va devenir chiant

lone flax
#

Ouais c'est vrai

#

Fait chier

molten junco
#

Comment je peut utilisé des modules node.js sur du HTML ?

molten junco
bold sparrow
#

Tu installes le module via npm i ejs je crois

#

Et après tu changes l'extension de ton html ou htm par ejs

molten junco
#

Dac merci

burnt fractal
#

bonjour désolé de vous déranger mais j'ai un problème d'installation de pacquet github via le npm install et je ne comprends pas les erreurs et comment les régler

full scaffold
#

Les erreurs ?
Je ne suis pas devin personnelement

burnt fractal
#
pm ERR! code ENOENT
npm ERR! syscall spawn git
npm ERR! path git
npm ERR! errno ENOENT
npm ERR! enoent Error while executing:
npm ERR! enoent undefined ls-remote -h -t https://github.com/ZaikoSnoW/google-translate-api.git
npm ERR! enoent 
npm ERR! enoent 
npm ERR! enoent spawn git ENOENT
npm ERR! enoent This is related to npm not being able to find a file.
npm ERR! enoent 

npm ERR! A complete log of this run can be found in:

copper pagoda
keen narwhal
#

Après il a été rename donc tu peux essayer de test avec l'autre nom

keen narwhal
copper pagoda
#

Non mais je pensais que c'était pour mettre son code sur github je me suis trompé

burnt fractal
# keen narwhal C'est toute l'erreur ?

oui c'est toute l'erreur et non c'est pas ce package la 🙂 , en fait je cherche un API de tranlate auto donc je voulais l'essayer celui la mais quand je met l'exemple j'ai l'erreur require is not define je suis allé voir concernant le require is not define est ca disait que le require ne marchait pas dans le navigateur 😦

bold sparrow
#

La dernière version correspond à celle présente dans ton package ?

burnt fractal
#

càd ?

bold sparrow
keen narwhal
#

je vais essayer de le dl

burnt fractal
keen narwhal
#

Après il y a peut être aussi t'as version de node

#

Mais ça m'étonnerait

bold sparrow
#

Impossible que ça vienne de node

burnt fractal
#

peut etre apres node je l'ai dl hier donc ca serait bizarre que ma version soit out dated 🙂

bold sparrow
#

Il aurait une erreur de type

keen narwhal
bold sparrow
#

Tu as beau avoir dl Node il y a 30 s c’est pas forcément la LTS

bold sparrow
keen narwhal
#

Et à l'heure actuelle on est bien montés xD

bold sparrow
#

La version change pas l’erreur en cas de version obsolète

#

Bref

keen narwhal
#

Ok okkk mais du coup tu peux nous envoyer le package sur npm si il y est

#

Pour que j'essaye de mon côté

#

@burnt fractal

burnt fractal
#

oui je m'identifie car j'ai jamais use npm avant 🙂

keen narwhal
#

ok

burnt fractal
#

alors ca marche comment x)

bold sparrow
#

npm publish

keen narwhal
bold sparrow
#

D’accord

keen narwhal
burnt fractal
#

npm publish + lien git ?

bold sparrow
#

Non

#

cd vers ton dir

keen narwhal
bold sparrow
burnt fractal
#

il faut que le package .json ?

bold sparrow
#

Non

#

Il faut le dossier

#

Ou se situent les requêtes, fonctions + package

burnt fractal
#

bah j'ai mis le chemin justement et ca refait une erreur

bold sparrow
#

Ah mais

#

Tu l’installes depuis GitHub ?

#

Si c’est le cas c’est pas la bonne syntaxe

burnt fractal
#

bah j'ai deja fait un npm install + liens github de mon repository ca ma fait justement l'erruer ENOPENT

bold sparrow
#

Regarde comment installer un package provenant de GitHub

burnt fractal
#

mais ca ma quand meme cree le pacquet dans node_module

#

¯_(ツ)_/¯

#

justement j'ai fait mais ca marchait pas x)

bold sparrow
#

Et dans ton pkg.json t’as aussi la dépendance ?

burnt fractal
#

de ?

bold sparrow
#

Bah de ton package

burnt fractal
#

je sais pas ou tu vois ca

bold sparrow
#

Bah dans ton package.json ?

burnt fractal
#

bah j'y suis dedans mais je suis censé trouvé le liens git ?

bold sparrow
#

Non

#

Juste s’il y a des dépendances d’installer

#

Qui correspondent au nom du package

burnt fractal
#

bah oui ca apparait dedans

#

apres je passe au pire le liens du git

#

¯_(ツ)_/¯

burnt fractal
keen narwhal
#

J'ai réussi à le dl

burnt fractal
#

bon bah je sais pas pourquoi ca marche pas chez moi 😦

#

pourtant ce qui est bizarre ca me met le message d'erreur mais quand je vais dans le node_modules le paquet apparaît

keen narwhal
#

Bonjour sur mon bot musique je ne sais pas comment faire pour que quand il se déconnecte la file d'attente se remette à zéro

wild bramble
#

bonjour, j'ai un problème je veux mentionner une personne qui vient de rejoindre mon serveur dans un embed mais j'ai une erreur. Voici mon code :


    var embed = new Discord.MessageEmbed(user)
        .setColor('#0099ff')
        .setTitle(`${user.tag} vient de nous rejoindre !`)
        .setAuthor('Coiro RP', 'https://i.imgur.com/AgDpjQ8.jpg', 'https://discord.js.org')
        .setDescription('**Bienvenue à cette personne**')
        .setThumbnail('https://i.imgur.com/AgDpjQ8.jpg')
        .setTimestamp()



------------ guild.Member.Add



    client.on("guildMemberAdd", member => {
        member.send(embedmp)
        member.guild.channels.cache.get('837024182600335410').send(embed);
    })








keen narwhal
#

hello tu veux envoyer l'embed du dessus dans un channel et en mp @wild bramble

#
let embed = new Discord.MessageEmbed()
        .setColor('#0099ff')
        .setTitle(`${user.tag} vient de nous rejoindre !`)
        .setAuthor('Coiro RP', 'https://i.imgur.com/AgDpjQ8.jpg', 'https://discord.js.org')
        .setDescription('**Bienvenue à cette personne**')
        .setThumbnail('https://i.imgur.com/AgDpjQ8.jpg')
        .setTimestamp()
#

Pour ton embed déjà ça sera mieux

wild bramble
keen narwhal
#

Parce que var c'est un peu obsolète et tu ne dois rien mettre dans les parenthèses du Discord.MessageEmbed()

wild bramble
#

alors je fais comment pour set user ?

keen narwhal
#

Att je vais te faire un truc efficace

wild bramble
#

Ok mrc

keen narwhal
#
let user = message.author;

let embed = new Discord.MessageEmbed()
        .setColor('#0099ff')
        .setTitle(`Corio RP`)
        .setAuthor('**Bienvenue à cette personne**', user.displayAvatarURL())
        .setDescription(`${user.tag} vient de nous rejoindre !`)
        .setThumbnail('https://i.imgur.com/AgDpjQ8.jpg')
        .setTimestamp()
        .setFooter('Coiro RP', 'https://i.imgur.com/AgDpjQ8.jpg')
#

tient @wild bramble

wild bramble
#

Ok merci je test

keen narwhal
#

Attend deux secondes

wild bramble
#

j'ai toujours la même erreur

keen narwhal
#

c'est bon

#

ah att

wild bramble
#

nn 🤣

#

marche pas

keen narwhal
#

voilà réessaye l'embed et après tu veux faire quoi avec ça ?

#
client.on("guildMemberAdd", member => {
        member.send(embed)
        client.channels.cache.get('837024182600335410').send(embed);
    })```
#

Essaye ça pour ton guildMemberAdd

#

envoie l'erreur aussi ça peut être pratique

wild bramble
#

bah je veux que quand un joueur join ça met @nom a rejoints et ok j'envoie l'erreur car marche toujours pas

#

erreur :
(node:35444) UnhandledPromiseRejectionWarning: ReferenceError: message is not defined
at Client.<anonymous> (c:\Users\Admin\Desktop\bot discord\index.js:13:16)
at Client.emit (events.js:327:22)
at WebSocketManager.triggerClientReady (c:\Users\Admin\Desktop\bot discord\node_modules\discord.js\src\client\websocket\WebSocketManager.js:431:17)
at WebSocketManager.checkShardsReady (c:\Users\Admin\Desktop\bot discord\node_modules\discord.js\src\client\websocket\WebSocketManager.js:415:10)
at WebSocketShard.<anonymous> (c:\Users\Admin\Desktop\bot discord\node_modules\discord.js\src\client\websocket\WebSocketManager.js:197:14)
at WebSocketShard.emit (events.js:315:20)
at WebSocketShard.checkReady (c:\Users\Admin\Desktop\bot discord\node_modules\discord.js\src\client\websocket\WebSocketShard.js:475:12)
at WebSocketShard.onPacket (c:\Users\Admin\Desktop\bot discord\node_modules\discord.js\src\client\websocket\WebSocketShard.js:447:16)
at WebSocketShard.onMessage (c:\Users\Admin\Desktop\bot discord\node_modules\discord.js\src\client\websocket\WebSocketShard.js:301:10)
at WebSocket.onMessage (c:\Users\Admin\Desktop\bot discord\node_modules\ws\lib\event-target.js:132:16)
<node_internals>/internal/process/warning.js:32

oak turret
#

ton code

keen narwhal
#

Ah bah ouais message is not defined logique haha

#

que ça marche pas

wild bramble
# oak turret ton code

embed : ``` let user = message.author;

let embed = new Discord.MessageEmbed()
    .setColor('#0099ff')
    .setTitle(`Corio RP`)
    .setAuthor('**Bienvenue à cette personne**', user.displayAvatarURL())
    .setDescription(`${user.tag} vient de nous rejoindre !`)
    .setThumbnail('https://i.imgur.com/AgDpjQ8.jpg')
    .setTimestamp()
    .setFooter('Coiro RP', 'https://i.imgur.com/AgDpjQ8.jpg') ```
junior echo
#

Montre la ligne 13

wild bramble
#

Ha et je fais comment ?

oak turret
#

ouais ok mais quand tu l'envoies

wild bramble
#

let user = message.author;

oak turret
#

non mais tu l'envoies dans quel event

junior echo
#

Il faut que tu déclares message

keen narwhal
#

normalement je viens de corriger

oak turret
#

j'suis con

#

non

wild bramble
#

client.on("guildMemberAdd", member => {
member.send(embedmp)
member.guild.channels.cache.get('837024182600335410').send(embed);
})

keen narwhal
oak turret
#

bah ton embed tu le mets dedans

keen narwhal
#

aussi

#

Au pire att

wild bramble
#

nn marche pas

oak turret
#

montre tout ton code

wild bramble
oak turret
#

parce que bon kappa

#

oui

#

sinon logique ça marchera pas

wild bramble
oak turret
#

ouf

wild bramble
#

ouais je sais c'est le bordel

oak turret
#

ouais bah normal que ça marche pas

keen narwhal
#
client.on('guildMemberAdd', member => {

    let embed = new Discord.MessageEmbed()
        .setColor('#0099ff')
        .setTitle(`Corio RP`)
        .setAuthor('**Bienvenue à cette personne**', user.displayAvatarURL())
        .setDescription(`${user.tag} vient de nous rejoindre !`)
        .setThumbnail('https://i.imgur.com/AgDpjQ8.jpg')
        .setTimestamp()
        .setFooter('Coiro RP', 'https://i.imgur.com/AgDpjQ8.jpg') 
member.send(embed)
client.channels.cache.get('837024182600335410').send(embed)
}```
#

ça devrait le faire là

oak turret
#

tes embed tu le fous dans ton guildMemberAdd

keen narwhal
#

A condition d'avoir déclaré Discord

oak turret
#

sinon tu le mets en objet puis voilà

#
member.send({embed: {
  color: tata,
  title: "tatata"
}})
wild bramble
#

en objet ?

oak turret
ancient sonnetBOT
#
Citation de Lartaxx8301 posté dans javascript

Cliquez sur [📝](#javascript-typescript message) pour accéder au message

member.send({embed: {
  color: tata,
  title: "tatata"
}})
wild bramble
#

sa veux dire quoi en objet (je débute)

keen narwhal
#

ce qu'il vient de te montrer

#

😉

wild bramble
#

je le met où ?

junior echo
#

Tu peux faire aussi une fonction embed et tu créais ton embed en fonction des paramètres de ta fonction

keen narwhal
oak turret
#

front ?

keen narwhal
#

Je suis avec canvas

oak turret
#

ctx.font

keen narwhal
#

xd

wild bramble
#

comme ça je fais client.on("guildMemberAdd", member => { member.send(embedmp) client.channels.cache.get('837024182600335410').send({embed: { setColor('#0099ff') setTitle(`Corio RP`) setAuthor('**Bienvenue à cette personne**', user.displayAvatarURL()) setDescription(`${user.tag} vient de nous rejoindre !`) setThumbnail('https://i.imgur.com/AgDpjQ8.jpg') setTimestamp() setFooter('Coiro RP', 'https://i.imgur.com/AgDpjQ8.jpg') }}); }) ?

keen narwhal
oak turret
#

ton member.send() tu l'enlèves

wild bramble
#

je l'ai enlevé mais j'ai des errors

oak turret
#

bah normal

#

user = ?

#

donc member.user.displayAvatarURL()

#

et member.tag

wild bramble
#

ok mais j'ai toujours autant d'error

#
        client.channels.cache.get('837024182600335410').send({embed: {
            setColor('#0099ff')
            setTitle(`Corio RP`)
            setAuthor('**Bienvenue à cette personne**', member.displayAvatarURL())
            setDescription(`${member.tag} vient de nous rejoindre !`)
            setThumbnail('https://i.imgur.com/AgDpjQ8.jpg')
            setTimestamp()
            setFooter('Coiro RP', 'https://i.imgur.com/AgDpjQ8.jpg')
          }});
    }) ```
oak turret
#

normal

wild bramble
#

ha

oak turret
#

regarde mon exemple

#

...

#

je t'ai tout envoyé

keen narwhal
#
client.on("guildMemberAdd", member => {

    let embedmp =  new MessageEmbed()
        .setColor('#0099ff')
        .setTitle(`Corio RP`)
        .setAuthor('**Bienvenue à cette personne**', member.user.displayAvatarURL())
        .setDescription(`${member.user.tag} vient de nous rejoindre !`)
        .setThumbnail('https://i.imgur.com/AgDpjQ8.jpg')
        .setTimestamp()
        .setFooter('Coiro RP', 'https://i.imgur.com/AgDpjQ8.jpg')
    client.channels.cache.get('837024182600335410').send(embedmp)
    member.send(embedmp)
}) ```
#

voilà normalement ça devrait marcher là

wild bramble
#

plus d'error donc je vais test mais j'ai pas réellement compris l'error

oak turret
#

.setTitle() etc ne fonctionne pas en objet

#

etc

#

je t'avais montré l'exemple

keen narwhal
#

Et tu peux pas faire member.send(embedmp)

wild bramble
keen narwhal
#

si tu déclares ton embedmp en dessous

wild bramble
#

ha d'accord c'étais pas dans le bonne ordre

keen narwhal
#

Hello, vous savez pourquoi ça me créé le rôle mais ça me met 'new rôle' :

code : js let createrole2 = "Non vérifié" message.guild.roles.create(createrole2, { color: "#7A0A0A", permissions: ['SEND_MESSAGES'] })

#

J'ai aussi essayé comme ça mais rien

#
let createrole2 = "Non vérifié"
        message.guild.roles.create({
            name: createrole2,
            color: "#7A0A0A",
            permissions: ['SEND_MESSAGES']
        }) ```
burnt fractal
#
guild.roles.create({
  data: {
    name: 'Super Cool People',
    color: 'BLUE',
  },
  reason: 'we needed a role for Super Cool People',
})
```ce que j'ai trouvé sur le net
#

@keen narwhal

keen narwhal
#

Bah en vrai ça revient juste à mettre un data mais la raison

burnt fractal
#

bah je opense il te manque le data

keen narwhal
burnt fractal
#

de rien 🙂

#

salut désolé d'encore déranger mais j'ai changer mon API concernant mon programme , et j'ai une erreur lorsque je cherche a atteindre une donnée car elle apparait comme undefined alors que dans la requete la donnée possède une valeur donc je comprend pas trop

#
async function getWeather(){
    var ville = document.getElementById("recherche").value;
    var unités = document.getElementById("unités").value;
    const response = await fetch("http://api.openweathermap.org/data/2.5/forecast?q="+ville+"&units="+unités+"&lang=fr&appid=260134bba8cdf7681137452d2a7cc7b3")
    .then(x => x.json())
        console.log(response);
        console.log(response.list[0]);
        var icone = response.list[0].weather.icon;
        document.getElementById("image").src= "http://openweathermap.org/img/wn/"+icone+"@2x.png";
        document.getElementById("output").innerHTML="<h1>"+response.list.weather.description+"</h1>";
}
#

l'erreur en question car du coup je recupere une valeur undefined

#

la requête de la list[0]

bold sparrow
#

@keen narwhal La raison :

keen narwhal
#

mais le truc juste en dessous

bold sparrow
#

Je parle de ça moi

burnt fractal
#

en fait c'est bon j'ai régler mon problème 🙂

keen narwhal
#

Hello quelqu'un sait comment on récup le lien d'un message discord ?

copper pagoda
#

oui

#

quand tu dis le récup tu veux dire comme un message ou genre autre chose ?

spring dock
#

sinon ta message.url

#

c'est écrit dans la documentation de djs

keen narwhal
keen narwhal
#

Je viens de découvrir les labels en JS

keen narwhal
#

👍

molten junco
#

Bonjour, j'aimerais avoir de l'aide sur mon statut html j'ai juste un soucis il frauderais que j'arrive à démarrer c'est 2 .js node.js dans mon html c'est possible ?

JS #1

address = null;
port = null;
online = null;
version = null;
motd = null;
current_players = null;
max_players = null;
latency = null;

module.exports = {
    init: function(address, port, timeout, callback) {
        this.address = address;
        this.port = port;

        callback = timeout;
        timeout = 5;

        const net = require('net');
        var start_time = new Date();
        const client = net.connect(port, address, () => {
            this.latency = Math.round(new Date() - start_time);
            var buff = Buffer.from([ 0xFE, 0x01 ]);
            client.write(buff);
        });

        client.setTimeout(timeout * 1000);

        client.on('data', (data) => {
            if(data != null && data != '') {
                var server_info = data.toString().split("\x00\x00\x00");
                if(server_info != null && server_info.length >= 6) {
                    this.online = true;
                    this.version = server_info[2].replace(/\u0000/g, '');
                    this.motd = server_info[3].replace(/\u0000/g, '');
                    this.current_players = server_info[4].replace(/\u0000/g, '');
                    this.max_players = server_info[5].replace(/\u0000/g, '');
                }
                else {
                    this.online = false;
                }
            }
            callback();
            client.end();
        });
            
        client.on('timeout', () => {
            callback();
            client.end();
            //process.exit();
        });

        client.on('end', () => {
            // nothing needed here
        });

        client.on('error', (err) =>  {
            callback();
        });
    }
};
#

JS #2


function refreshServer() {
    var ltcloud = require('./assets/js/minecraftserver.js');
    ltcloud.init('XXX.XXX.XXX.XXX', 25565, function(result) {
        if(ltcloud.online) {
            $("#server-players").html(ltcloud.current_players);
            $("#server-latency").html(ltcloud.latency);

            $("#server-total-players").html(ltcloud.current_players + " <i class=\"online\"></i>");
        }
        else {
            $("#server-total-players").html("0 <i class=\"offline\"></i>");
        }
    });
}

burnt fractal
#

🤔

molten junco
#

Sinon le module ce lance pas et le .js ne marche pas

burnt fractal
#

bah deja ton JS #1 c'est bien un fichier .JS non ?

molten junco
#

Oui

burnt fractal
#

bah tu peux alors mettre ta function juste en dessous le module apres si c'est pklus facile de t'y retrouver pour toi sur deux feuille libre a toi ^^

molten junco
#

Comment je start le module net ?

#

Dans html

#

Car je croit qu'il demande juste net

burnt fractal
#

et sinon bah pour appeler un .js dans un html c'est <script src = "nom fic.js"></script>

molten junco
oak turret
#

tu ne start pas ton node_modules

#

tu start ton fichier js qui contient les require de tes packages

#

mais pour tout start c’est node .

molten junco
oak turret
#

bag

#

bah en gros

#

tu fais node .

#

ou node tonfichier.js

keen narwhal
#

Hello les gens, je suis en train de faire un système d'autoban ( En gros si une personne join, que le système est activé et que son id est blacklist ça le ban auto ) sauf que ça ne marche pas pourtant je l'ai mis dans l'event guildMemberAdd et j'ai mis ça :

 if(client.autoban.guilds.status === false) return;

   try {
       if (client.autoban.guilds.status === true) {
           if (client.db.users.state === true) {
               member.ban()
               message.channel.send('Utilisateur banni avec succès')
               console.log(error)
           }
           if (client.db.users.state === false) {
               console.log(error);
               return;
           }
       }
   } catch (e) {
       console.log(e)
   }```
#

Sauf que ça le ban pas et ça ne génère aucunes erreurs

oak turret
#

alors euh ton système est assez bizarre là

#

moi ce que je ferais perso

keen narwhal
#

ah xD

oak turret
#

si ton truc est activé

keen narwhal
#

j'ai essayé de faire un full json

#

J'avais la flemme de faire du sql

oak turret
#

je check les bans, donc un forEach et si il est pas dans les id et qu’il est blacklist alors tu le ban sinon dans le else {...}

keen narwhal
#

okkkkkk

#

je vais essayer ça

#

merciii

slim anvil
#

fais juste un .find sur ton tableau

oak turret
#

oui sinon

slim anvil
#

meme si le .find reste une boucle ce sera plus lisible

keen narwhal
#

okk

keen narwhal
slim anvil
#

no

#
array.find(arr => array.isBannable && array.author.id === member.id)
#

dans le genre

#

et il va te return l'élément concerné si il est bannable

oak turret
#

ça c’est pour find si quelqu’un y est

slim anvil
#

en partant du principe que array c'est ta blacklist

oak turret
#

tu check avec ça juste

keen narwhal
#

ok

peak cedar
#

Yo ptit question

#

client.on('guildMemberAdd', member => {

    member.roles.add(message.guild.roles.cache.get(settings.rolehello)) // Ajout du rôle définit dans les 'settings' au membre

});

#

sa peux marcher ou pas ?

#
const settings = {

    prefix: ".", // Préfix que vous souhaitez utiliser
    channel_verification: "834881173129658438", // ID du channel de vérification
    log_channel: "836980364119244850", // ID du channel dans lequel les logs seront envoyés
    role: "834865961118072945", // ID du role à ajouté lorsque le membre à réussi le Captcha
    rolehello: "834881172063911977",
}



oak turret
#

nop

#
member.roles.add("id")
ou dans ton exemple : 
member.roles.add(settings.rolehello);
#

mais faut que ton settings soit dans ton fichier soit tout en haut, soit dans ton event

#

sinon il le trouvera pas

peak cedar
#

@oak turret bas c deja fait ^^

#

je test

oak turret
#

sauf que dans ton event message == null

#

puis member.guild etc non ça ne correspond pas à ça

peak cedar
#

ouais c pour la suite

oak turret
#

donc member.guild.roles....

peak cedar
#
client.on('guildMemberAdd', member => {

    member.roles.add(settings.rolehello);

});

#

c pour quand il join

#

que sa lui mette ce role

oak turret
#

oui j'avais compris xd

peak cedar
#

Sa marche pas

#

client.on("guildMemberAdd", async(member) => {
    if (!member.user.bot) {
        member.roles.add(settings.rolehello);
        member.guild.channels.cache.get(settings.channel_verification).send(`${member}, merci de passer la vérification en envoyant \`${settings.prefix}verify\` ci-dessous ! Ensuite, suivez les étapes affichées !`)
    }

})

#

@oak turret c mieux ?

oak turret
#

ça a l'air ouais

peak cedar
#

@oak turret sa add pas de role 😭

oak turret
#

settings est o

#

burnt fractal
#

voici une requete d'un api que j'utilise et je voudrais recupérer la donnée dans le carré rouge sauf que le nom de cette donné est un chiffre comment je fais pour l'appelé ? car quand je fais response.list[0].rain.3h ca souligne mon 3h en rouge qui montre qu'il y aura une erreur donc je ne sais pas comment acceder a la donné

timid loom
#

tu peux faire response.list[0].rain['3h']

burnt fractal
#

oh O_O bah merci du coup ^^

fallen kindle
#

Hey,
Simple question, pour faire un système qui ajoute des rôles quand on réagis à un message, faut utiliser les events messageReactionAdd et messageReactionRemove puis vérifier que l'id du msg est celui de notre msg ?
Ou faut faire autrement ?
me mentionner dans la réponse svp

full scaffold
oak turret
fallen kindle
#

ok merci à vous

burnt fractal
#

j'ai un ptit soucis (oui encore x) )
alors quand j'attribut une image a une variable comment je fais pour manipulé la taille de cette dernière ? j'ai vu qu'il existé le .height ou encore .width or quand je le mets ca ne fonctionne pas car mon appel d'image entre côtes

#
changerFond = document.getElementById("container").style.backgroundColor = "rgb(238, 122, 20 ";
        if (response.list[0].weather[0].main ==  "Rain"){
            changerFond = document.getElementById("container").style.backgroundColor = "rgb(12, 72, 158 )";
        }else if (response.list[0].weather[0].main ==  "Clouds"){
            changerFond = document.getElementById("container").style.backgroundImage = "url(./imgMeteo/Thunderstorm.jpg)";
}
wet kiln
#

bonsoir, j'ai un problème.
Comment je peut faire pour ne plus avoir l'erreur que le "client est déjà définie"

const client = new CommandoClient({})

mais je le déclare aussi ici

const client = new Discord.Client();
bold sparrow
#

@wet kiln Bonsoir, normalement dans ta classe client de commando, tu as donc super() et tu peux y mettre les propriétés de ton client commando, et les propriétés de ton client classique.

#

Ca ne sert à rien d'initier un autre client, Ton CommandoClient est déjà un client que Discord va reconnaître

delicate river
#

Bonsoir, j'ai une question à propos de VueJS, est-il possible d'appeler une méthode déclarée dans une view à partir d'un component ? Je suppose que oui mais j'ai du mal à le faire auriez-vous une doc concernant ça ou alors une explication ? Merci

(Désolé si je dis des choses fausses au niveau du voc ou autre mais je débute)

slim anvil
#

Oui tu dois simplement emit au parent

#
<template>
  <my-component @update="update" />
</template>

<script>
  export default {
    methods: {
      update (data) { console.log(data) }
    }
  }
</script>
#

et dans ton "my-component"

#

tu feras un $emit('update', { name: 'Draze })

delicate river
#

Ahh oui, je viens de réussir en m'aidant de ton message, merci beaucoup ça marche parfaitement 🙂

#

Et admettons que je voulais emit au parent du parent ça pourrai fonctionner ?

slim anvil
#

Oui faut juste que ton emit appelle ton emit

#

tu peux aussi du parent appeler une methods de ton component mais pas via l'emit du coup

#

mais c'est moins utilisé

delicate river
#

Je vois, c'est plus clair, merci !

burnt fractal
#

bonjour j'aurais besoin d'aide car je planche dessus et j'y arrive presque mais il me manque qu'une chose que j'arrive pas 😦

full scaffold
#

Explique

burnt fractal
#
let semaine = new Array();
            for(let forecast = 0; forecast <= 32; forecast += 8){
                semaine.push(forecast.toString());
            }

            semaine.forEach(jour => console.log(response.list[jour]));
``` Ce code permet de me retourner en console les list aux indices 0 , 8 , 16 , 24 ,32  or  en dehors de ce code j'aimerais recupérer la partie  jour  pour l'utiliser dans le reste de mon code comme la syntaxe suivante response.list[jour] or quand j'utilise jour  hors du forEach ca me dit que la valeur Jour n'est pas définis
full scaffold
#

response = ?

#

Car là dans la code que tu montres il existe pas

burnt fractal
#

oui car response c'est une constante qui recupérer un APi

#

j'ai juste mis une ptite partie du code

full scaffold
#

C'est un tableau ducoup response

#

Avec dedans un dictionnaire indéxé par des entiers

burnt fractal
#

car je voudrais juste savoir comment je peux chopé ce que retourne jour hors du for Each

full scaffold
#

Tu déclares une variable en dehors du foreach et tu assignes jour à cette variable

burnt fractal
#

car quand je console.log response.list[jour] en console ca retourne exactement ce que je cherche mais apres j'ai l'impression que jour n'est cree que pour le forEach et apres ne peux pas etre utilisé en dehors et justement c'est ce que j'aimerais

full scaffold
#

Aufait c'est conseillé de faire

let semaine = [];

que de faire

let semaine = new Array();
full scaffold
#

Bah enfait je comprend pas trop ce que tu veux faire donc c'est compliqué de bien cerné

burnt fractal
#

car ci jour n'est pas défini hors du forEach je ne peux pas l'assigner a une variable

full scaffold
#

Tu l'assignes dans le foreach

bold sparrow
#

Normal, une variable dépend de sa scope sauf si tu utilises « var »

#

Il pourra être utilisé hors de sa scope mais bon c’est pas une super idée de l’utiliser

burnt fractal
#

bah j'ai palier au probleme avec un .map la c aaffiche ce que je veux mais maintenant faut que j'arrive a acceder a chaque valeur sans utiliser de [0] ou [1] etc

bold sparrow
#

For ( const values in array ) return values;

burnt fractal
bold sparrow
#

A aucun moment tu lui dit d’afficher les valeurs, normal

burnt fractal
#

x) ce truc me fait tellement chier que j'arrive plus a reflechir ca me fumes XD

burnt fractal
bold sparrow
#

Oui je t’ai juste return values de sorte a te dire que tu vas devoir retourner values quelque part dans ta scope

burnt fractal
#

en gros j'ai fait un .map d'une fonction pour avoir les list aux indices que je voulais or maintenant j'aimerais a acceder a cette liste réduite sans faire de response.list[0] bla bla bla , repsonse[1] bla bla bla .... etc mais faire une fonction ou autre pour faire response.list[la fonction] et que du coup ca retourne touts les données des list

bold sparrow
#

Euh ...

#

x)

burnt fractal
#

pour ca je bloque depuis 1 jour et demi sur ca car je sais absolument pas comment faire et pourtant j'en ai fait des pages des page web sur les arraylist js etc x)

timid loom
bold sparrow
#

Le problème c’est que j’ai pas compris ce qu’il souhaite faire

burnt fractal
#

ouais dur a expliqué x)

timid loom
#

commence par ce que tu as dans response, et par ce que tu veux obtenir à la fin

burnt fractal
#

en gros mon .map de la list de départ des 40 array dans List

#

c'est les 5 valeurs qui m'interesse dans la list des 40 arrays recupérer grace a mon .map or j'ai pour but d'affiché toutes ces données en meme temps ( forecast météo pour avoir une semaine de météo directement ) et donc normalement pour accéder aux données une par une faut faire un response.list[0] ( pour accéder au premier array ) etc ... or je voudrais visiter les list a la suite sans que j'ai besoin de faire 5 fois le code en changeant juste le chiffre contenu dans le response.list[]

timid loom
#

ah genre avoir un array de dt, un array de weather, etc?

bold sparrow
#

Tu créer un nouvel array en fonction du nom, ensuite tu fais une boucle pour récupérer toutes les valeurs en fonction de ce que tu demandes avant

#

Avec un filter par exemple

timid loom
#

si c'est juste obtenir les valeurs effectivement tu peux faire une boucle

#

mais je confirme j'ai rien compris haha

burnt fractal
#

oui je me comprends mais j'arrive pas a le faire comprendre x)

bold sparrow
#

Je pense avoir compris

#

Si c’est le cas je demande un Kinder country en échange

#

Et ça confirme bien la proposition de faire une boucle en fonction d’un filter

#

et dans ta scope, tu créer de nouveaux éléments HTML avec les valeurs

#

Je te conseilles EJS d’ailleurs pour faire ce genre de choses

#

Mais ça fonctionnera très bien sans yeah

burnt fractal
bold sparrow
#

Par exemple

burnt fractal
#

ok ok ^^

bold sparrow
rustic shore
#

bonsoir, j'ai un problème pour les devs typescript j'essaye d'extends une propriété et l'inclure dans express donc je déclare le namespace Express et après je mets l'interface Request sauf qu'il ne le prends pas en compte est ce quelqu'un a une idée pingez moi si vous avez une idée

burnt fractal
rustic shore
#

Pas de soucis

weak grove
#

Salut, savez vous pourquoi j'ai cette erreur (donc mon bot crash), il crash aléatoirement en mettant a chaque fois cette erreur mysql, j'ai chercher par tout les moyen je n'ai trouver aucune solution (discord jsv12)

events.js:174
      throw er; // Unhandled 'error' event
      ^

Error: read ECONNRESET
    at TCP.onStreamRead (internal/stream_base_commons.js:111:27)
Emitted 'error' event at:
    at Connection._handleProtocolError (/home/rytrak/recrutement/node_modules/mysql/lib/Connection.js:423:8)
    at Protocol.emit (events.js:198:13)
    at Protocol._delegateError (/home/rytrak/recrutement/node_modules/mysql/lib/protocol/Protocol.js:398:10)
    at Protocol.handleNetworkError (/home/rytrak/recrutement/node_modules/mysql/lib/protocol/Protocol.js:371:10)
    at Connection._handleNetworkError (/home/rytrak/recrutement/node_modules/mysql/lib/Connection.js:418:18)
    at Socket.emit (events.js:198:13)
    at emitErrorNT (internal/streams/destroy.js:91:8)
    at emitErrorAndCloseNT (internal/streams/destroy.js:59:3)
    at process._tickCallback (internal/process/next_tick.js:63:19)
[root@srv recrutement]# node index.js
(node:1212886) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 message listeners added. Use emitter.setMaxListeners() to increase limit
peak cedar
#

@weak grove Le code ?

dapper coral
#

compliquer a dire sans le code ouai

burnt fractal
#

Bonjour voici le résultat de ma requete c'est a dire est ce que pour mettre les valeurs dans la deuxieme partie de la console dans un <table></table> un .forEach serait utile pour les traité au cas par cas au lieu de tous d'un coup ?

#

forEach c'est pour un array je sais

#

car en fait mon programme la prend toutes les valeurs d'un coup et me retourne la derniere dans l'affichage or je voudrais que chacune des valeurs soit affiché a l'ecran

full scaffold
burnt fractal
#

justement initialement j'ai une requete API de 40 data dans list donc j'ai cree une liste vide qui selectionne les 5 valeurs que je veux sauf qu'au lieu d'un forEach j'ai fait un .map pour avoir une nouvelle liste avec les valeurs que je voulais et ensuite un for values in array pour avoir cette liste sous forme d'objet distinct sauf que j'aimerais justement prendre ces objects distinct et les traité au cas par cas pour avoir un affichage de toutes les valeurs et non la derniere

full scaffold
#

Je comprends pas la fin

burnt fractal
#

c'est grave je sais pas expliqué sadgun

#

x)

#

attend je sais j'envoie mon code

#

et en gros je vais résumé a mort je cherche a affiché toutes mes valeurs sur l'écran pour présenté une météo sur la semaine au lieu d'avoir une valeur qui montre le jour d'aujourd'hui car actuellement mon code marche mais affiche que la derniere valeur

weak grove
# peak cedar <@!283315291986067457> Le code ?

Ma connexion :

const mysql = require('mysql');

const db = new mysql.createConnection({
host: "",
password: "",
user: "",
database: ""
}) (bien évidemment avec les password etc)
puis je l'utilise sur des commande pour récupérer une donnée

db.query(`SELECT * FROM users WHERE identifier = ${user.id}`, async (err, req) => {
                if(err) throw err;
                message.channel.send(`Le numéro de ${user.displayName} est le \`${req[0].phone_number}\``)
            })
oak turret
#

perso je fais une pool à la place d'une connexion

#

ça évite de pas devoir faire un .connect() et un .end() fin j'ai l'habitude de ça, et j'ai jamais eu 0 pb :p

peak cedar
#

@oak turret La meme ^^

dapper coral
#

Yo, je croit avoir déjà poser la question mais j'ai totalement oublier

#

Comment je peut recuperer le username svp ?

oak turret
#

bah const user_name = await client.users.fetch("id");
console.log(user_name?.username);

dapper coral
#

Ah ouai merci wtf je pensait que faire await client.users.fetch("id").username marcherais mais non

oak turret
#

xd tqtt

slim anvil
#

tu peux faire const { username } = await.... direct si tu veux

weak grove
oak turret
#

oauip

weak grove
#

👍

timid loom
#

voilà je sais pas si ça peut t'aider mais j'en sais honnêtement pas plus @rustic shore

rustic shore
#

merco Taink d'avoir répondu, j'esseyerai tout ça demain j'ai commencé à regarder l'exemple que tu m'as donné je vais essayer de reprendre ça et voir ce que je peux faire

timid loom
#

honnêtement de mémoire c'est assez chiant à faire marcher mais si tu y arrives essaie de détailler la méthode je suis curieux de savoir

rustic shore
#

d'accord je te ferai ça ^^

rustic shore
#

je viens d'essayer ça marche nickel un grand merci Taink

#

l'exemple est bon

cursive surge
#

Hello Hello,

Admettons que je souhaite mettre en place une plateforme web en ReactJS mettant en place un univers de co-working virtuel dans un navigateur.
L'idée, c'est de le faire comme si c'était un jeu (un personnage qui peut être bougé dans un bureau par exemple pour aller s'asseoir à une table ou ce trouve d'autre dev/collègues afin de discuter d'un projet etc..)
Pour le style je pense à un style comme les images ci-joint.
J'aimerais savoir si vous aviez des librairies/framework à proposer qui serait capable d'effectuer ce genre de projet,

Merci 😄

slim anvil
#

En web pour du temps réel tu vas surement devoir passer par des websockets pour communiquer aux autres joueurs tes coordonnées x et y pour leur donner l'impression d'un déplacement, idem pour les messages envoyés

cursive surge
#

Yes j'ai déjà utilisé quelques fois socket.io notamment

#

Mais la c'est plus pour mettre en place tout le système visuel etc..
J'ai trouvé quelques moteur de jeu react mais je ne sais pas si il y en a un à choisir en priorité ou alors peut-être faire sans

slim anvil
#

Ah pour ça, tu as phaser sinon

#

Qui est un des plus gros je pense donc même si tu as un soucis tu auras la doc et la communauté nécessaire

lapis onyx
#

Du monde qui s'y connait en Angular ? J'ai crée un module 'game' qui contient 2 components 'lobby' et 'lobby-player' seulement quand je fais appel à 'lobby-player' dans 'lobby' j'ai une errreur

cursive surge
#

J'ai déjà fait un peu d'angular, je peux essayer de t'aider,
il est déclaré dans le app.module ?

lapis onyx
#

non, dans game.module

white sedge
#

bonjour en ce moment je cree mon bot pour mon serveur avec une DB mais il refuse de lire cette derniere et me met que des erreurs
Voici ce que ça me donne

white sedge
#

pouvez vous m'aider ???

oak turret
#

t'utilises quel package

white sedge
#

nmp i sqlite

oak turret
#

moi j'utilisais plutôt celui-là :

white sedge
#

le premier

#

pk ça change qlq chose ?

oak turret
#

t'as lu la doc ?

white sedge
#

hum

#

😅

oak turret
#

...

white sedge
#

aaah

oak turret
#

si tu lis pas la doc tu sauras pas l'utiliser, c'est logique

white sedge
#

ok

#

je dois installer les deux

#

ok

oak turret
#

mais non

white sedge
#

ah

oak turret
#

mais utilise plutôt le deuxième, il sera + simple à mon avis pour quelqu'un qui débute

white sedge
#

ok merci

blazing wadi
#

Bonsoir, comment je peux définir un Guild mais genre pour tous les serveurs dans mon évent ready.js?

copper pagoda
#

C'est a dire quand le bot rejoins le serveur

blazing wadi
#

En gros je veux qu'il envoie un message toutes les 12h

#

Dans channel défini

#

Et sur n'importe quel serveur où il est

oak turret
#

faut que sur tous les serveur le channel s'appelle de la même façon

#

je te donne la logique

#

il faut que tu get tous les serveurs où ton bot est présent, de là tu fais un .find sur les channels en trouvant le nom, si y en a un tu prends l'id et tu envoies un message dedans

#

pour toutes les 12h tu peux faire un scheduler

blazing wadi
#

Hello, j'ai un problème en gros quand je veux que mon bot envoie un message de pub dans un channel sur chaque serveur et bien ça me met ça

#
const embed = new MessageEmbed()
        .setColor('ORANGE')
        .setTimestamp()
        .setTitle('test')
        const channele = message.guild.channels.cache.get(channel => channel.name === 'pub')
        setInterval(() => {
            channele.send(embed)
        }, 6000 )```
#

Voici le code

#

Genre en gros, il est censé envoyer un message toutes les 6 secondes dans tous les channels avec le nom pub sur chaque serveur où le bot est

#

Mais ça ne marche pas

slim anvil
#

message existe pas

blazing wadi
#

Par contre on est d'accord que je mets ça dans ready.js ?

slim anvil
#

je ne sais pas comment est la structure de ton bot

#

Mais si tu veux récupérer message ce sera pas dans l'event ready

blazing wadi
#

Ah

#

Dans l'event message du coup ?

slim anvil
#

Bah du coup si tu veux que ca se run au lancement du bot non

#

Juste tu peux pas utiliser message car il est pas définit

blazing wadi
#
const embed = new MessageEmbed()
        .setColor('ORANGE')
        .setTimestamp()
        .setTitle('test')
        const channele = guild.channels.cache.get(channel => channel.name === 'pub')
        setInterval(() => {
            channele.send(embed)
        }, 6000 )```
#

J'ai enlevé message mais j'ai toujours la même erreur

slim anvil
#

Surement je vois pas le reste de ton code, si guild n'est pas définit forcément que tu auras toujours des erreurs

blazing wadi
#
const Logger = require('leekslazylogger');
const { MessageEmbed } = require('discord.js')
const log = new Logger();
const config = require('../../user/' + require('../').config);

module.exports = {
    event: 'ready',
    execute(client, [message]) {
        log.success(`Authenticated as ${client.user.tag}`);

        const updatePresence = () => {
            const presence = config.presences[Math.floor(Math.random() * config.presences.length)];
            let activity = presence.activity + config.append_presence;
            activity = activity.replace(/%s/g, config.prefix);
            client.user.setPresence({
                activity: {
                    name: activity,
                    type: presence.type.toUpperCase()
                }
            }).catch(log.error);
            log.debug(`Updated presence: ${activity} ${presence.type}`);
        };

        updatePresence();
        setInterval(() => {
            updatePresence();
        }, 60000);

        
        const embed = new MessageEmbed()
        .setColor('ORANGE')
        .setTimestamp()
        .setTitle('test')
        const channele = guild.channels.cache.get(channel => channel.name === 'pub')
        setInterval(() => {
            channele.send(embed)
        }, 6000 )
    }
};```
#

C'est mon code de ready

oak turret
#

t’as pas besoin de message déjà dans readt

#

ready

#

te suffit de faire

#

client.guilds.cache.get("id_serv").channels.cache.get("id").send(embed)

blazing wadi
#

Ouais mais ça c'est pour un serveur en particulier non ?

oak turret
#

oui

blazing wadi
#

Moi je veux pour tout les serveurs

oak turret
#

tu veux faire un bot de pub ou?

blazing wadi
#

Ouais en gros haha

#

Je veux surtout me train en fait vu que je débute

oak turret
#

je vais pas t’aider alors lol

blazing wadi
oak turret
#

je l’ai déjà dis à quelqu’un la logique d’envoyer un message sur tous les serveurs

#

mais pour faire des pubs pour faire chier les gens, personne t’aidera

#

si tu veux te train fais quelque chose de cool mais pas ça après comme tu veux

copper pagoda
# blazing wadi ha 😐

Un conseil si tu fais des pubs sur ton bot ça servira à rien car les gens pourront supprimer ton salon et ils ne garderont pas ton bot dans leurs serv donc la pub ne marcheras pas autant le faire avec un système de boutique ou autre chose

#

Perso je serai faire mais c'est un conseil de ne pas le faire car ton bot serviras à rien à part à faire chier les gens avec des pubs

burnt fractal
#

BOnjour Bonjour , je voulais savoir comment peut-on assigné un background-color a une div que l'on crée automatiquement ? d'ou les id sont crée par le JS

slim anvil
#

tu crées ton élément en js ?

burnt fractal
#

oui

slim anvil
#

bah tu fais bien : document.createElement.... ?

burnt fractal
#

oui

slim anvil
#

tu peux juste l'assigner à une variable

#

const myDiv = document.createElement.....

burnt fractal
#

deja fait ^^

slim anvil
#

tu peux faire un .classList.add()

#

tu peux setAttribute class, ou meme .className = ''

#

plusieurs manière de faire

burnt fractal
#
divMétéoSem.setAttribute('id', 'Sem'+ListJour[''+x].dt_txt);
#

comment je peux prendre l'id de ca ?

slim anvil
#

c'est l'élément que tu crées ?

burnt fractal
#

c'est l'id que j'attribus a l'élément

slim anvil
#

alors je comprend pas ta question

#

pourquoi tu veux prendre l'id si c'est toi qui l'assigne

burnt fractal
#
const divMétéoSem = document.createElement('div');
                        const divImgSem = document.createElement('div');
                        const divInfosSem = document.createElement('div');
                        const imgSem = document.createElement('img');
                        const divNomVille = document.createElement('div');

                         
                        
                        container.append(divMétéoSem);
                        divMétéoSem.append(divNomVille);
                        divMétéoSem.append(divImgSem);
                        divMétéoSem.append(divInfosSem);
                        divImgSem.append(imgSem);


                        divMétéoSem.setAttribute('id', 'Sem'+ListJour[''+x].dt_txt);
                        divNomVille.setAttribute('id','Nv'+ListJour[''+x].dt_txt);
                        divImgSem.setAttribute('id', 'Img'+ListJour[''+x].dt_txt);
                        divInfosSem.setAttribute('id','Info'+ListJour[''+x].dt_txt);
                        imgSem.setAttribute('id','img'+ListJour[''+x].dt_txt);
``` en gros la je cree les elements et je voudrais savoir comment récupérer l'id  de la ligne que j'ai envoyé
slim anvil
#

SetAttribute avant de append ca parait plus logique
Evite aussi les accents sur le nom de tes variables

Et je comprend toujours pas, l'id tu l'as en dur dans ton code la pourquoi tu veux le récupérer à ce même moment ??

burnt fractal
#

et une instance = un jour différent

slim anvil
#

Okay mais ca répond pas a la question de pourquoi tu veux le récupérer

full scaffold
#

Pas besoin de setatribute pour changer l'id d'un élément nan ?

slim anvil
#

sachant que tu l'as deja a ce moment

#

y a plusieurs façon de faire firyo

full scaffold
#

Oui je me doute

slim anvil
#

Car la il veut le créer pas le changer donc c'est pas bien grave

full scaffold
#

Bah ça revient au même nan ?

slim anvil
#

Oui donc c'est pas bien grave

full scaffold
#

Oui oui

burnt fractal
slim anvil
#

Mais pourquoi tu le fais pas direct à la création ??

#

je comprend vraiment pas ce que tu cherches à faire c'est vachement bizarre

burnt fractal
#

car je fait un changement de fond en fonction du temps

full scaffold
#

Bah à la création tu à accès au temps

slim anvil
#

Bah oui des que tu recois la data, donc quand tu crées ton élément set directement la bonne couleur 🤔

full scaffold
burnt fractal
#

bah j'ai fais un switch pour gérer les différent cas météo 😦

full scaffold
#

Bah tu le mets dans la création ton switch

burnt fractal
#

ok je suis débile mb XD

#

je mettais le switch avant la création des éléments kappo harold

#

donc logique que quand je mettais dans le getelemmentbyid 'Sem'+ListJour[''+x].dt_txt ca me retourne peux pas set le .style d'une valeur null

#

merci en tous cas ^^

steep stag
#

slt es ce que quelqun pourrais maider pour enregistreer les informations automatiquement

full scaffold
steep stag
#

Merci

weak grove
#

Hello savez vous si il est possible de manière optimiser envoyer une requête php par exemple la création d'un embed pour le mettre sur le BOT Discord comme #demande-de-dev

oak turret
#

oauip

#

restcord

#

après ton form dans ton action tj fous la création de ton embed dedans et l’envoie de même

weak grove
#

D'accord je vais check merci 👍

oak turret
#

np

burnt fractal
#

Bonjour ,
quelqu'un aurais une idée de projet Javascript ? car je viens de finir le miens et il m'en faudrait un autre 🙂
merci a ceux qui me proposerons des idées .

south steppe
burnt fractal
#

(oublié de précisé un projet utile pour une entreprise) car je suis en stage 🙂

spring dock
#

Bah dans ce cas c'est ton employeur qui dois te donner quelque chose à faire et si ce n'est pas le cas, dans tout les cas, comment veux tu qu'on te donne une idée de projet utile pour l'entreprise dans laquelle t'es si on ne sait même pas ne serait ce que ce de quoi cette entreprise traite 🤔

burnt fractal
#

après l'entreprise n'est pas spé dans l'informatique donc ils ont pas masse d'idées ( c'est une entreprise de vente de matériel agricole )

#

je leur avait proposé de faire un site "copie de youtube" qui serait un show room de leurs vidéos de présentations d'outils le problème c'est qu'ils ont presque pas de vidéos x)

south steppe
spring dock
#

ehh

slim anvil
#

et t'as pas des missions à réaliser durant ton stage ?

#

à part les photocopies kapp

full scaffold
#

burnt fractal
#

du coup bah je cherche ce que je pourrais dev en 1 mois et des connaissances pas extraordinaire en js x)

slim anvil
#

Essaye de refaire ton script météo

#

de le rendre + opti par ex

burnt fractal
#

je suis bien sad qu'ils aient pas bcp de vidéos sur leurs matériels agricoles car j'aurais trop kiffé faire un site show room avec des vidéos etc j'avais des idées en tete en plus x)

burnt fractal
# slim anvil de le rendre + opti par ex

mais de toutes facons la il y a un soucis c'est d'appeler les images de leur FTP et les chargé dans le script x) donc ca va me redonner du taff certes pas long je penses mais quand meme

#

et on est d'accord un script passe pas dans de l' E-mailing ?

white sedge
#

hey
avant d'avoir réinstaller mon os (ubuntu) ce bout de code marchait très bien mais apres ça me met une erreur

#

PS j'ai réinstallé tous les pakages demandé pour le bot discord

half osprey
#

Le nom du dossier est toujours le même ?

#

Tu as une erreur ?

keen narwhal
#

Yop !

J'ai un petit soucis au niveau de l'utilisation d'un roles.cache.has.

Pour vous expliquer, j'arrive à avoir le résultat attendu lorsque les personnes visées ont le rôle (un embed par membre log dans un .json), cependant lorsque je retire le rôle à une des personnes visées, la commande affiche toujours les mêmes valeurs (alors que l'objectif est d'afficher le contenu des joueurs qui ont les rôles, il faut un restart du bot pour que ça s'update).

Je sais pas si c'est compréhensible, dites moi si besoin de + d'infos.

                if (data[member]) {
                    const embedTableau = new Discord.MessageEmbed();
                    guild.members.fetch(member).then(members => {

                        if (!members.roles.cache.has(config.roleSs)) { return }
                        // console.log(members)
                        let serviceTotal = data[member].service;
                        let value = 0;

                        serviceTotal.forEach(e => {
                            value += Number(e);
                            if (data[member].timeRemoved) {
                            value = (value - data[member].timeRemoved)
                            }
                        });
white sedge
half osprey
keen narwhal
#

Entre temps il n’est pas mis à jour lors de l’exécution de la commande, si tu parles de ça

white sedge
half osprey
keen narwhal
#

(pour te dire, ce qui est enregistré dans le json c'est l'id du membre et d'autres choses peu importantes)

half osprey
#

Ah mais alors j’ai pas compris c’est quoi ton but

keen narwhal
#

En gros, je pense que j’utilise mal mon roles.cache.has parce qu’il ne fonctionne plus correctement. Possible de t’envoyer une grosse partie du code en MP ?

#

Ou screen sinon ?

#

@half osprey

half osprey
#

Je suis sur tel désolé

copper pagoda
#

Salut j'aurai besoin j'aide je suis actuellement entrain de faire en fonction qu'on puisse exécuter mes commandes en mp mais le problème c'est que ça me met que startsWith n'est pas défini

slim anvil
#

pas compris ??

copper pagoda
#

En gros je veux faire une commande qui s'execute en mp et j'ai mis un

if(message.content.startsWith('kj name'){

Mais ça me met une erreur :
Uncaught TypeError: Cannot read property 'startsWith' of undefined

slim anvil
#

vérifie que message.content existe

copper pagoda
#

Bah oui il existe j'ai utiliser ça partout XD

#

Après j'ai essayé avec la fonction DMChannel mais toujours pareil

slim anvil
#

log le a l'endroit ou tu l'utilises

copper pagoda
#

j'ai pas capté ce que tu me dis

slim anvil
#

log message.content au niveau de ta condition (juste avant) voir si il existe bien

copper pagoda
#

ok donc console.log(message.content) ?

slim anvil
#

ui

copper pagoda
#

ça m'affiche rien car ça arrête mon code

#

quand je le fais en mp

slim anvil
#

Met le avant

#

pas après

copper pagoda
#

si je le met avant il s'execute pas parce que c'est un bot.on('message')

slim anvil
#

Montre ton code je comprend pas là

#

avant ton if qui plante

copper pagoda
#

C'est pas un handler

#

C'est le startsWith qui plante

slim anvil
#

Non c'est pas le startswith qui plante

copper pagoda
#

C'est le dernier code

slim anvil
#

Il plante car le message.content ne doit pas exister

copper pagoda
slim anvil
#

Oui car tu essayes d'utiliser sur un élément undefined

copper pagoda
#

Et c'est quoi cet élément ?

slim anvil
#

c'est quoi ces conditions spaghettis

copper pagoda
#

Des spaghettis à la bolo précisemment

slim anvil
#

Ah oui carrément on y comprend rien là
Essaye juste de log du coup message.content dans ton event au tout début si tu veux

copper pagoda
#

OK

slim anvil
#

essaye de faire ta commande qui plante et regarde si tu as bien tout et voir quel startsWith plante

copper pagoda
#

C'est le dernier je t'ai dit

#

Les autres se font sur serveur et pas en mp

#

C'est à partir de kj name

slim anvil
#

c'est un sacré sacré bordel je viens de relire waouh

copper pagoda
#

lol

slim anvil
#

Oui mais mp ou non, essaye juste de log le message.content

copper pagoda
#

j'ai essayé et ça me mettais la commande sauf pour le dernier en mp mais sur un serveur ça marche nikel

#

dès que c'est en mp ça foire mais pas sur un serveur

slim anvil
#

c'est le quel startsWith qui merde ?

copper pagoda
#

le dernier !!

slim anvil
copper pagoda
#

non

#

Celui-ci

if(message.content.startsWith('kj name')){
        let name = message.content.slice(7);
        if(voc['etape'] != 2){
            message.author.send('Tu as déjà fait cette étape ou tu as oublié une étape !')
        }
        if(voc['etape'] == 2){
            if(name){
                if(voc['choix'] == 1){
                    message.author.send(`Le nom du vocal est bien configurer !\n\nFait \`kj pass\` pour choisir le mot de passe du vocal !`)
                    voc['name'] = name, true;
                    Savevoc();
                }
                if(voc['choix'] == 2){
                    message.author.send('Le nom du vocal est bien configurer !\n\nFait \`kj max\` pour donner une limite de membres (Optionnel)')
                    voc['name'] = name, true;
                    Savevoc();
                }
            }
        }
    }
#

Oula je viens de voir un truc et je sais pas comment j'ai fais what

#

Ah si j'ai compris

#

@slim anvil ???

slim anvil
#

Oui sorry je reviens juste après

copper pagoda
#

OK

copper pagoda
#

@slim anvil j'ai regardé la doc et je pense que avant le message.content.startsWith il faudrait que je récupère les messages dans les DM . Tu en penses quoi ?

oak turret
#

tu veux faire quoi concrètement

copper pagoda
#

je veux que ma commande s'execute en mp

white sedge
#

bonjour il y a quelque jours j'ai fais ine demande d'aide, j'ai cherché dans mon coin sauf que j'ai rien trouvé, je pense que ça viens de mon os. J'ai conservé mon ancien os dans un disque dur qui contiens le code qui marche ,je l'ai testé sur mon os actuel, ce bout de code devait marchait sauf que là il ne marchait pas.
Donc comme j'ai dit cela je pense que ce problème viens de mon os (Ubuntu) .
J'ai toujours la même erreur celle ci ⬇️

#

mon token n'a jamais changé

#

je l'ai vérifié et c'est le bon

slim anvil
#

tu as toujours ton soucis ?

copper pagoda
#

OUI

#

Et j'en ai un autre aussi mais on verra après

slim anvil
#

Okay, donc du coup ton code quand tu l'executes sur le serveur c'est ok, et quand tu essayes en mp tu as un bug c'est ça ?

copper pagoda
#

Oui

slim anvil
#

Ok tu peux me renvoyer rapidement l'erreur exact (envoie un screen direct) que tu reçois ? en vérifiant bien le numéro de ligne etc et du coup le code concerné en screen aussi comme ca j'aurai la colorisation syntaxique

copper pagoda
#

C'est bon @slim anvil

#

du coup j'ai modifié des choses

slim anvil
#

ligne 3000 sue ca en fait

copper pagoda
#

j'y ai remplacé avec un ticket mais je préfererai avec mp

copper pagoda
slim anvil
#

Du coup quand tu
kj name

copper pagoda
#

c'est mon premier bot et j'ai vraiment la flem de refaire XD

slim anvil
#

c'est censé pouvoir rename le channel c'est ça ?

#

enfin son channel vocal

copper pagoda
#

En gros je créer un channel vocal avec le nom que tu donnes quand tu fais kj name

#

en gros tu fais kj name TON_NOM

slim anvil
#

Okay donc t'as l'erreur quand tu fais cette commande là
donc sur sur que ce soit là ?

#

tu peux ajouter un console.log(message.content) juste avant ce if et réessaye ta commande en mp please

copper pagoda
#

bah y a pas de ligne je vois pas où

slim anvil
#

Dans ton erreur il est censé de renseigner d'ou vient l'erreur

#

Bah celui ou y a l'erreur du coup moi la je peux pas savoir

#

Celui avant l'erreur du startsWith

copper pagoda
#

ok

#

ça a juste remis l'erreur

#

Et ça me fait pareil pour toutes les commandes donc il doit y avoir un truc qui fait buger.

En gros tu fais n'importe quel commande en mp sur mon bot il se déco

#

t la ????

#

@slim anvil ??

slim anvil
#

Oui doucement je fais aussi autre chose
Regarde dans ton event message tu dois avoir un bout de code qui passe pas

#

Screen si tu veux pour voir

copper pagoda
slim anvil
#

Oui mais après

copper pagoda
#

c'est que des if(message.content.startsWith

slim anvil
#

le truc c'est que je veux bien t'aider mais là c'est trop le bordel de s'y retrouver avec tout tes if imbriqués

copper pagoda
#

Ouais c'est ce qu'on m'a dit XD

slim anvil
#

Normalement tu as la ligne a la quelle tu as l'erreur dans ta console ce sera plus simple

copper pagoda
#

Bah je l'ai pas

#

ça ma mis une ligne en spammant la commande XD

oak turret
#

tu comprends ton code ?

copper pagoda
#

ligne 1528
if(message.channel.name.startsWith('vérification-')){

copper pagoda
oak turret
#

c'est un bordel ouf

copper pagoda
#

Mais je m'y retrouve

oak turret
#

plus ça va aller moins tu vas t'y retrouver

#

c'est quoi ton système ?

copper pagoda
#

On m'a dit hier de mettre return à la place du else et des {}

copper pagoda
slim anvil
#

oui ca sert a rien de else pour return

copper pagoda
oak turret
#

xd

copper pagoda
#

🙂

#

😉

slim anvil
#

^^ bon courage pour t'y retrouver alors

oak turret
#

compliqué de t'aider si on s'y retrouve pas nous ^^

copper pagoda
#

Je sais et ça m'énerve

oak turret
#

?

oak turret
copper pagoda
#

Au pire des cas j'y laisse dans un ticket comme ça y aura pas de problème

oak turret
#

tu devrais revoir la logique de ton code je pense

copper pagoda
oak turret
#

j'te donne un conseil

rustic shore
#

Bonjour j'ai un petit problème avec mes schémas class avec mongodb en nestjs je ne comprends pas depuis que j'ai fais ça j'ai une très grande erreur est ce que quelqu'un aurai une idée parce que la connexion mongo marche bien j'ai import mes schémas dans le app.module.ts tout est bon pour que ça marche mais rien à changer je ne comprends pas

covert crown
#

Yo, j'essaie de lire les messages d'un canal de texte spécifique puis de réutiliser le nom de la personne pour lui attribuer des coins dans un autre canal de texte.
Le problème c'est que c'est un webhook qui renvoie une chaîne de caractère de taille variable (vu que le @ des gens peuvent avoir une taille différente d'un user à un autre)
Du coup var usr = msg.author est invalide

//Condition 1 : On est bien dans le canal de texte spécifié
//Condition 2 : Le message contient le caractère #
//Condition 3 : Le message contient la chaine "vient de voter pour le serveur !"
    if(msg.channel.id === idVote && msg.content.includes("#") && msg.content.includes("vient de voter pour le serveur !")){
        //On récupère le nom du user
        var usr = msg.author;
        //Ecriture d'un message dans le canal de commandes-bots
        client.channels.get(idComBot).send('!give-coins @'+ usr +' 50');
    }

Exemple :

oak turret
#

Ce que tu peux faire c'est fetch les messages du channel

#

les log

#

et voir ce que ça te return

#

ça devrait te return le mec qui l'a fait mais si c'est un webhook je sais pas, et vu qu'il change de nom je sais pas si il bypass le nom de base, à check

covert crown
#

okok

#

je vais aller tester ça

covert crown
#

c'est de l'hexadécimal

white sedge
#

mon token n'a jamais changé
je l'ai vérifié et c'est le bon

#

bonjour il y a quelque jours j'ai fais ine demande d'aide, j'ai cherché dans mon coin sauf que j'ai rien trouvé, je pense que ça viens de mon os. J'ai conservé mon ancien os dans un disque dur qui contiens le code qui marche ,je l'ai testé sur mon os actuel, ce bout de code devait marchait sauf que là il ne marchait pas.
Donc comme j'ai dit cela je pense que ce problème viens de mon os (Ubuntu) .
J'ai toujours la même erreur celle ci ⬇️

covert crown
#

dcode hexa

#

ou tu tapes un truc genre "hexa ascii"

hazy mirage
keen narwhal
ancient sonnetBOT
#
Citation de Stanislas ☂6242 posté dans javascript

Cliquez sur [📝](#javascript-typescript message) pour accéder au message
Yop !

J'ai un petit soucis au niveau de l'utilisation d'un roles.cache.has.

Pour vous expliquer, j'arrive à avoir le résultat attendu lorsque les personnes visées ont le rôle (un embed par membre log dans un .json), cependant lorsque je retire le rôle à une des personnes visées, la commande affiche toujours les mêmes valeurs (alors que l'objectif est d'afficher le contenu des joueurs qui ont les rôles, il faut un restart du bot pour que ça s'update).

Je sais pas si c'est compréhensible, dites moi si besoin de + d'infos.

                if (data[member]) {
                    const embedTableau = new Discord.MessageEmbed();
                    guild.members.fetch(member).then(members => {

                        if (!members.roles.cache.has(config.roleSs)) { return }
                        // console.log(members)
                        let serviceTotal = data[member].service;
                        let value = 0;

                        serviceTotal.forEach(e => {
                            value += Number(e);
                            if (data[member].timeRemoved) {
                            value = (value - data[member].timeRemoved)
                            }
                        });
keen narwhal
#

🆙

oak turret
#

log members

#

et look

keen narwhal
#

De mémoire ça return l’id des membres

#

Je re-essaye demain et je te dis, mais si je ne me trompe pas sur le discord il y’avait:
2 bots, 2 membres et ça a return deux id

rustic shore
white sedge
bold sparrow
#

Hello

#

Comment je peux modifier la value d'un objet Map ?, J'ai une map ( Collection avec djs ), je cherche à savoir si la collection a une clé précise, si elle l'a, j'aimerais modifier sa valeur. Je suis bloqué sur le fait de modifier sa valeur, set ça remet à 0, non ?

#

Pour être plus précis, ma collection a une clé ( String ) et une valeur ( Number ), cette valeur est à 0 mais si la clé est déjà présente, augmenter 0 de 1 ( une sorte de boucle i++ ) Mais je ne vois pas trop comment faire ^^'

hazy mirage
#

@bold sparrow je suis pas sûr de comprendre 🤔 Ça ça irait pas ?

const data = map.get("key")
if (data) {
    map.set("key", data + 1)
}```
bold sparrow
#

@hazy mirage Tu n'étais pas sur de comprendre et pourtant ça fonctionne comme je le souhaitais !

hazy mirage
#

👍 niquel alors :)

bold sparrow
#

Merci ! :p

white sedge
hazy mirage
#

envoei ton fichier

white sedge
#

ok

#

en mp

keen narwhal
#

@white sedge Envoie le ici au pire

#

Comment ça on peut tous t'aider

white sedge
keen narwhal
#

Nan mais en ``````

white sedge
#

aah

#

ok

keen narwhal
#

Parce que avec ça on peut pas voir enfin sur tel

spring dock
#
const fs = require('fs');
const Discord = require('discord.js');
const { prefix, token } = require('./config.json');
const { ServerResponse } = require('https');

const client = new Discord.Client();
client.commands = new Discord.Collection();

const commandFiles = fs.readdirSync('./commands').filter(file => file.endsWith('.js'));

for (const file of commandFiles) {
    const command = require(`./commands/${file}`);
    client.commands.set(command.name, command);
}

client.on('ready', () => {
  console.log('Le bot est connecté !')
  client.user.setActivity('rajoute des commandes', {
      type: 'WATCHING'
  })
});

client.on('message', message => {
  console.log(message.content);
    if (!message.content.startsWith(prefix) || message.author.bot) return;

    const args = message.content.slice(prefix.length).trim().split(/ +/);
    const command = args.shift().toLowerCase();

    if (!client.commands.has(command)) return;

    try {
        client.commands.get(command).execute(message, args);
    } catch (error) {
        console.error(error);
        message.reply('Une erreur est présente');
    }
});


client.login(token)
white sedge
#

merci

keen narwhal
#

Merci mec

white sedge
#

c'est ça qui ne marche pas const command = require(`./commands/${file}`);

keen narwhal
#

C'est le bon nom de fichier ( on sait jamais )

white sedge
#

oui c'est le bon

keen narwhal
#

T'es sûr que c'est commands et pas commandes ou Commands

#

Ok

white sedge
#

c'est le bon nom

#

j'ai tout verifié

covert crown
#

Salut les gens, je suis en train de faire un bot qui identifie un utilisateur discord à partir de la chaine d'un webhook
Je force les votants à mettre pseudo + # pour les identifier
Avec msg.author.username, ça marque correctement les personnes mais ça ne ping pas
Avec msg.author.id, ça récupère l'id du webhook, ça le ping mais du coup c'est pas ce que l'on veut
C'est pour utiliser la commande d'un autre bot

client.on("message", msg => {
    /******************************************** */
    if(msg.channel.id === idVote && msg.content.includes("#") && msg.content.includes("vient de voter pour le serveur !")){
        const usr = msg.author.id;
        client.channels.cache.get(idComBot).send(`!give-coins <@${usr}> 50`);
    }
    /******************************************** */

msg.author.username

#

le webhook d'où on veut tirer l'information

half osprey
#

parce que c'est soit <@ID> soit @username#0000

#

et si tu essaies de faire une commande d'un autre bot avec un bot ça marche pas normalement

copper pagoda
#

Bon j'ai un problème avec mon code encore une fois mais je sais pas si je vais avoir de l'aide mon code n'est pas simplifié

#

Quand je créer mon vocal j'aimerai mettre dans mon code un intervalle pour voir si il y a une personne dans la voc et si il y en a pas supprimé le vocal

#

Mais quand je créer le voc et que je le rejoins à la fin de l'intervalle ça supprime le voc alors que je suis dedans

#

Voici mon intervalle

const VoiceChannel = message.member.voice.chan;
setInterval(() => {
      if(message.channel.name != (':musical_note: Musique:musical_note:') || (':telephone_receiver: discussion :telephone_receiver:') || (':eye:AFK:eye:') || ('LIVE') || ('Voc Travail')){
            if(!VoiceChannel){
                    chan.delete()
                    voc['id'][message.author.id] = 0;
                    voc['mdp'][msg] = 0;
                    voc['ID'][msg] = 0;
                    voc['owner'][message.author.id] = 0;
            }
       }
}, 60000)
#

et aussi pour info chan c'est le vocal qui vient d'être créer avant

timid loom
#

tu dois revérifier la condition à chaque fois que tu run l'intervalle pour que ça fonctionne, là VoiceChannel contient la valeur à la création
accessoirement je te conseille de clear ton interval après quand tu delete du coup, sinon toutes les 60s il va run sur un channel qui n'existe plus

copper pagoda
#

OK merci

timid loom
#

tu fais quoi

copper pagoda
#

J'ai fait ça

const VoiceChannel = message.member.voice.chan;
if(message.channel.name != ('🎵 Musique🎵') || ('📞 discussion 📞') || ('👁AFK👁') || ('LIVE') || ('Voc Travail')){
      if(!VoiceChannel){
           setInterval(() => {
               chan.delete();
               voc['id'][message.author.id] = 0;
               voc['owner'][message.author.id] = 0;
               Savevoc();
           }, 60000)
      }
}
timid loom
#

t'as pas compris

#

le const voiceChannel tu devrais le mettre dans le set interval donc là par exemple:

#

moi je ferais carrément pas de variable mais bon

#

dans ton if tu peux juste faire !message.member.voice.chan plutôt que !VoiceChannel

#

et je sais pas si c'est voulu mais là tu vérifie pas qu'il y a quelqu'un dans le channel, tu vérifie que le membre qui a envoyé la commande est dans un channel vocal (n'importe lequel)

#

tu devrais juste vérifier que chan.members.size > 1 et ça fonctionnerait je pense

copper pagoda
#

J'aimerai savoir comment on fait pour stopper un intervalle ?

copper pagoda
#

J'aimerai savoir pourquoi ça marche pas ?

#

J'ai fait ça

setInterval((vocaux) => {
   if(chan.members.size < 1){
       chan.delete();
       ticket.delete();
       voc['id'][message.author.id] = 0;
       voc['mdp'][msg] = 0;
       voc['ID'][msg] = 0;
       voc['owner'][message.author.id] = 0;
       voc['ticket'][message.author.id] =0;
       Savevoc();
       clearInterval(vocaux);
    }
}, 60000)
#

et aucune erreur ça continue juste l'intervalle

keen narwhal
#

(j'ai pas trouvé d'autres alternatives pour envoyer)