#javascript-typescript
1 messages · Page 74 of 1
Alors ....
Est-ce que tu peux log response.current
Et voir ce que renvoit la collection
meme erreur
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 ?
bah en soit a rien car je l'iniatiliser en gros au .then
c'etait .then(a => a.json())
.then(response => { }
response.json().current maintenant ?
attend j'avais mal taper
je récupére bien les données mais c'est l'icon qui pose soucis
Parfait donc ça fonctionne très bien mais
Ta promise est en pending
console.log(await response.json().current)
ca marche plus
Erreur ?
same weather_icon
Screen ta console
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
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
Screen code
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
ca marche impec la ^^
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 ...
ouaip mais du coup dans cette configuration avec une autre fonction je peux tout de meme recup la donné "response.current.weather_descriptions[0]" ?
Ah oui tout à fait
pour changer justement les noms d'anglais a francais
Puisque c'est un array
ok ok ^^
Par précaution, tu peux console log response.current.weather_descriptions[0]
Et voir s'il récupère ce que tu veux
mais est ce que ma ligne " var nom = document.getElementById("output").value[0]" le fait bien ?
ok
Le console log et js c'est une grande histoire d'amour
Il faut profiter d'avoir un debuggueur puissant ^^
oui ^^
donc elle marche c'est ca ? ^^
Et bien ça récupère bien la valeur que tu veux modifier non ? ^^
oui ^^
Donc, ça fonctionne ;)
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
Mais tu m'embêtes pas du tout
d'accord ^^
Tu deviendras autodidacte plus tard, tu débutes
En attendant tu peux t'appuyer sur d'autres personnes
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)
Oh c'est vrai ?
oui
Intéressant tout ça, tu peux passer en MP ? ( c'est hors-sujet du channel )
je suis un peu rincé en dev car bon les cours en distanciel mon pas trop aidé
Tu fera gaffe ta laisser ton token visible 👀
je pense que tout le monde s'en fou mais on sait jamais
@dapper coral C'est du readOnly pas trop d'importance
Oui c'est bien ce qu'il me semblait mais quand même
un ptit escape et voila :p
apres c'est facile a retrouver tu fait la fonction inverse et voila x)
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
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
j'aurais aimé être assez chaud pour pouvoir aider mais bon la j'ai pas encore le niveau pour aider déso 😦
Tkt
@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 ?
Yo! Tu veux récupérer un embed déjà envoyé, récupérer sa date d'envoi, et l'appliquer sur un nouvel embed ?
alors npm marche pas chez moi 😦 j'ai pourtant essayer bcp de chose
enfaite je veux que la date change quand on change de jours par exemple si l'embed est envoyé le 28 et qu'on est le 29 alors sa nous met envoyé le 28
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)
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 
Ok nickel ça marche merci
hello, j’utilise perso un package de l’api google, ils ont contourné le truc pour qu’on puisse l’utiliser, j’ai pas le package en tête je regarde ça quand j’ai 2 minutes
Bonjour, sur mon bot quand je veux skip il me dit ça
tu as dev le bot ?
si je me trompe pas ca veut dire qu'il arrive pas a chopé les valeur attribué a play
ah
genre pour lui c'est pas défini
tu as fait un fonction async ?
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
oui regarde bien ton await est souligné c'est a dire qu'il a une erreur
de rien content d'avoir pu aider avec mon niveau x)
j'ai un autre problème xD
ah bah je vais manger je t'aide dans la mesure du possible apres 🙂
ok bonne app
merci ^^
Et ça changera quoi ?
Bonjour, quelqu'un peux m'aider car je c'est pas comment régler ce problème
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
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
je te l'avais dit en plus ce que voulais dire l'erreur x)
j'ai pas réussie à régler xD
meme s'y je pense pourrais pas trop aider a cause de mes connaissances pas encore assez developper
balance le code
bah le code code x)
le code code j'ai plusieurs fichier xD
ah bah balance play
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
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:");
}
}```
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
ah
ok
peut pas t'aider pour ca pas encore attaquer aux discord bot
okay pas grave
connections ca sera pas sans s ?
x)
c'est le s
je suis trop fort wollah XD
xD
c'est faux
mais comme quoi moi j'etait bloquer pendant toute une matinée pour une erreur de frappe
donc je connais x)
okay merci
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
fais une regex pour juste les caractères alphanumeric
par contre vérifie aussi qu'il ne reste pas rien à la fin 
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
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
C'est ce que je faisais déjà, j'avais justement comme objectif de le changer vu comment c'est moche
oauip xd
bonjour je travaille sur un projet sur eclipse mais j'arrive pas à lancer l'app de puis l'application
bonjour ok
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 !
👀
Go les renommer à leurs arriver sinon 
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
Comment je peut utilisé des modules node.js sur du HTML ?
EJS
cf: https://ejs.co
Comment je le setup ?
.
Tu installes le module via npm i ejs je crois
Et après tu changes l'extension de ton html ou htm par ejs
Dac merci
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
Les erreurs ?
Je ne suis pas devin personnelement
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:
tu mets tes fichiers ça va plus vite
C'est toute l'erreur ?
https://www.npmjs.com/package/github si c'est ce package là aucun problème de dl pour ma part
Après il a été rename donc tu peux essayer de test avec l'autre nom
Bah nan pas trop vu que si tu fais ça le package.json n'est pas mis à jour
Non mais je pensais que c'était pour mettre son code sur github je me suis trompé
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 😦
La dernière version correspond à celle présente dans ton package ?
càd ?
C’est du ES5, tu vas devoir utiliser ES6 probablement
Bah si l'erreur vient du package évite de toucher ça pourrait empirer
envoie ton package sur https://npmjs.com
je vais essayer de le dl
j'ai rien touché 🙂 j'ose pas 😆
Impossible que ça vienne de node
peut etre apres node je l'ai dl hier donc ca serait bizarre que ma version soit out dated 🙂
Il aurait une erreur de type
Moi ça m'est déjà arrivé
Tu as beau avoir dl Node il y a 30 s c’est pas forcément la LTS
Ouep tu es en 15.14.0
Lis le message qui suit
Ouais mais moi j'étais sur la v12.18.1
Et à l'heure actuelle on est bien montés xD
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
oui je m'identifie car j'ai jamais use npm avant 🙂
ok
alors ca marche comment x)
npm publish
Sinon la vente sur Discord est interdite par les ToS si je dis pas de bêtises 
D’accord
Check quand même au cas où ^^
npm publish + lien git ?
C’est pas le sujet et l’endroit pour
il faut que le package .json ?
bah j'ai mis le chemin justement et ca refait une erreur
Ah mais
Tu l’installes depuis GitHub ?
Si c’est le cas c’est pas la bonne syntaxe
bah j'ai deja fait un npm install + liens github de mon repository ca ma fait justement l'erruer ENOPENT
Regarde comment installer un package provenant de GitHub
mais ca ma quand meme cree le pacquet dans node_module
¯_(ツ)_/¯
justement j'ai fait mais ca marchait pas x)
Et dans ton pkg.json t’as aussi la dépendance ?
de ?
Bah de ton package
je sais pas ou tu vois ca
Bah dans ton package.json ?
bah j'y suis dedans mais je suis censé trouvé le liens git ?
Non
Juste s’il y a des dépendances d’installer
Qui correspondent au nom du package
https://www.npmjs.com/package/google-translate-api oh mon dieux désolé d'être con j'avais pas vue qu'il avait un link npm
J'ai réussi à le dl
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
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
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);
})
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
nn je voudrais montionner une personne qui vient de rejoindre par exemple
Parce que var c'est un peu obsolète et tu ne dois rien mettre dans les parenthèses du Discord.MessageEmbed()
alors je fais comment pour set user ?
C'est parce que c'est dans ton title
Att je vais te faire un truc efficace
Ok mrc
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
Ok merci je test
Attend deux secondes
j'ai toujours la même erreur
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
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
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') ```
Montre la ligne 13
Ha et je fais comment ?
ouais ok mais quand tu l'envoies
let user = message.author;
non mais tu l'envoies dans quel event
Il faut que tu déclares message
normalement je viens de corriger
client.on("guildMemberAdd", member => {
member.send(embedmp)
member.guild.channels.cache.get('837024182600335410').send(embed);
})
essaye ça dans ton event pour remplacer
bah ton embed tu le mets dedans
nn marche pas
montre tout ton code
je le met dans guildmemberadd ?
long comme truc
ouf
ouais je sais c'est le bordel
ouais bah normal que ça marche pas
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à
tes embed tu le fous dans ton guildMemberAdd
A condition d'avoir déclaré Discord
sinon tu le mets en objet puis voilà
member.send({embed: {
color: tata,
title: "tatata"
}})
en objet ?
Cliquez sur [📝](#javascript-typescript message) pour accéder au message
member.send({embed: {
color: tata,
title: "tatata"
}})
sa veux dire quoi en objet (je débute)
je le met où ?
Tu peux faire aussi une fonction embed et tu créais ton embed en fonction des paramètres de ta fonction
Tu sais pourquoi ça marche pas quand je fais ça :
ctx.front = '700px sans serif Not-Rotated' ```
et mon texte reste tout petit alors que je l'ai augmenté sévère ?
front ?
Je suis avec canvas
ctx.font
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') }}); }) ?
ton member.send() tu l'enlèves
je l'ai enlevé mais j'ai des errors
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')
}});
}) ```
normal
ha
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à
plus d'error donc je vais test mais j'ai pas réellement compris l'error
.setTitle() etc ne fonctionne pas en objet
etc
je t'avais montré l'exemple
Et tu peux pas faire member.send(embedmp)
oui celui ci
si tu déclares ton embedmp en dessous
ha d'accord c'étais pas dans le bonne ordre
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']
}) ```
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
bah je opense il te manque le data
Cimer ça marche
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]
@keen narwhal La raison :
On parlait pas de cette raison là
mais le truc juste en dessous
Je parle de ça moi
en fait c'est bon j'ai régler mon problème 🙂
Hello quelqu'un sait comment on récup le lien d'un message discord ?
Clic droit -> copier le lien du message

sinon ta message.url
c'est écrit dans la documentation de djs
ok cimer
Je viens de découvrir les labels en JS
👍
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>");
}
});
}
pourquoi tu les mets pas dans un seul fichier
🤔
Perso je sais pas mais je sait si tu a remarqué dans le JS #1 il demande un module qui s'appelle net c'est pour ça que je demande comment je peut relié mon HTML actuelle avec du npm
Sinon le module ce lance pas et le .js ne marche pas
bah deja ton JS #1 c'est bien un fichier .JS non ?
Oui
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 ^^
et sinon bah pour appeler un .js dans un html c'est <script src = "nom fic.js"></script>
est-ce que c'est possible de start toute un dossier node_module dans html ?
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 .
D'accord donc ça veut dire qu'il faut que je trouve le package de ça : const net = require('net');
pour pouvoir lancé mon js ?
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
ah xD
si ton truc est activé
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 {...}
fais juste un .find sur ton tableau
oui sinon
meme si le .find reste une boucle ce sera plus lisible
okk
Mais après est ce que en faisant ça, ça ne bannera pas les id qui sont dans la blacklist mais genre en false ?
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
ça c’est pour find si quelqu’un y est
en partant du principe que array c'est ta blacklist
tu check avec ça juste
ok
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",
}
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
ce que ta mit
sauf que dans ton event message == null
puis member.guild etc non ça ne correspond pas à ça
ouais c pour la suite
donc member.guild.roles....
client.on('guildMemberAdd', member => {
member.roles.add(settings.rolehello);
});
c pour quand il join
que sa lui mette ce role
oui j'avais compris xd
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 ?
ça a l'air ouais
@oak turret sa add pas de role 😭
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é
tu peux faire response.list[0].rain['3h']
oh O_O bah merci du coup ^^
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
Tu peux vérifier si le message est bien un message de ton bot et que le titre du message correspond à celui de ton embed
Salut, alors oui ce sont ces deux events, dans un exemple simple :
tonevent.... (reaction, user)
if ( reaction.emoji.name === "emoji" && !user.bot && reaction.message.channel.id === "id_channel" ) {
// todo
}
ok merci à vous
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)";
}
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();
@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
cf: https://github.com/discordjs/Commando/blob/02be96bc92ac3c982a5acc4f7e81e71bfd587c95/src/client.js#L10 Tu vois qu'ici, Commando étend le client Discord.
très bien merci !
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)
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 })
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 ?
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é
Je vois, c'est plus clair, merci !
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 😦
Explique
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
oui car response c'est une constante qui recupérer un APi
j'ai juste mis une ptite partie du code
C'est un tableau ducoup response
Avec dedans un dictionnaire indéxé par des entiers
car je voudrais juste savoir comment je peux chopé ce que retourne jour hors du for Each
Tu déclares une variable en dehors du foreach et tu assignes jour à cette variable
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
ok
Aufait c'est conseillé de faire
let semaine = [];
que de faire
let semaine = new Array();
tu pensais a ça ?
Bah enfait je comprend pas trop ce que tu veux faire donc c'est compliqué de bien cerné
car ci jour n'est pas défini hors du forEach je ne peux pas l'assigner a une variable
Tu l'assignes dans le foreach
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
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
For ( const values in array ) return values;
alors ca retourne pas d'erreur mais ca retourne rien non plus dans la console en tous cas
A aucun moment tu lui dit d’afficher les valeurs, normal
x) ce truc me fait tellement chier que j'arrive plus a reflechir ca me fumes XD
tu parles du console log ?
Oui je t’ai juste return values de sorte a te dire que tu vas devoir retourner values quelque part dans ta scope
je viens de console.log mais en gros ca fait ce que j'ai demandé mais je me suis mal exprimé x)
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
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)
tu peux juste refaire un .map sur la liste réduite non? ou alors j'ai pas compris ce que tu voulais faire
Le problème c’est que j’ai pas compris ce qu’il souhaite faire
ouais dur a expliqué x)
commence par ce que tu as dans response, et par ce que tu veux obtenir à la fin
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[]
Donc
Mince raté
ah genre avoir un array de dt, un array de weather, etc?
.
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
si c'est juste obtenir les valeurs effectivement tu peux faire une boucle
mais je confirme j'ai rien compris haha
oui je me comprends mais j'arrive pas a le faire comprendre x)
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 
du style un boucle qui incrémenterais le response.list[] a chaque tour de boucle ?
Par exemple
ok ok ^^

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
si t'es confirmé dev js c'est pas moi qui pourrais t'aidé 😦
Pas de soucis
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
@weak grove Le code ?
compliquer a dire sans le code ouai
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
A chaque fois que tu reçois une réponse tu fais un https://www.w3schools.com/jsref/jsref_push.asp#:~:text=The push() method adds,use the unshift() method sur un tableau et après tu fais un forEach du tableau et tu affiches
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
Je comprends pas la fin
c'est grave je sais pas expliqué 
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
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}\``)
})
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
@oak turret La meme ^^
Yo, je croit avoir déjà poser la question mais j'ai totalement oublier
Comment je peut recuperer le username svp ?
bah const user_name = await client.users.fetch("id");
console.log(user_name?.username);
Ah ouai merci wtf je pensait que faire await client.users.fetch("id").username marcherais mais non
xd tqtt
tu peux faire const { username } = await.... direct si tu veux
tu parle de sa ? new mysql.createConnection
oauip
👍
quelqu'un à une idée non ?
à priori ça passera par ça : https://www.typescriptlang.org/docs/handbook/declaration-merging.html
c'est pas le cas d'utilisation que j'ai le plus souvent mais c'est par là que je commencerais
How merging namespaces and interfaces works
j'ai trouvé un git qui explique le principe de base : https://github.com/3mard/ts-node-example
ça réfère à cette section en particulier de la page de doc que j'ai envoyé avant : https://www.typescriptlang.org/docs/handbook/declaration-merging.html#module-augmentation
How merging namespaces and interfaces works
voilà je sais pas si ça peut t'aider mais j'en sais honnêtement pas plus @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
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
je viens de trouver ce truc sur stackoverflow https://stackoverflow.com/questions/37377731/extend-express-request-object-using-typescript
d'accord je te ferai ça ^^
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 😄
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
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
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
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
J'ai déjà fait un peu d'angular, je peux essayer de t'aider,
il est déclaré dans le app.module ?
non, dans game.module
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
pouvez vous m'aider ???
t'utilises quel package
nmp i sqlite
https://www.npmjs.com/package/sqlite celui-là ?
moi j'utilisais plutôt celui-là :
t'as lu la doc ?
...
aaah
si tu lis pas la doc tu sauras pas l'utiliser, c'est logique
mais non
ah
mais utilise plutôt le deuxième, il sera + simple à mon avis pour quelqu'un qui débute
ok merci
Bonsoir, comment je peux définir un Guild mais genre pour tous les serveurs dans mon évent ready.js?
C'est a dire quand le bot rejoins le serveur
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
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
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
message existe pas
Ah
Par contre on est d'accord que je mets ça dans ready.js ?
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
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
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
Surement je vois pas le reste de ton code, si guild n'est pas définit forcément que tu auras toujours des erreurs
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
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)
Ouais mais ça c'est pour un serveur en particulier non ?
oui
Moi je veux pour tout les serveurs
tu veux faire un bot de pub ou?
je vais pas t’aider alors lol
ha 😐
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
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
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
tu crées ton élément en js ?
oui
bah tu fais bien : document.createElement.... ?
oui
deja fait ^^
tu peux faire un .classList.add()
tu peux setAttribute class, ou meme .className = ''
plusieurs manière de faire
divMétéoSem.setAttribute('id', 'Sem'+ListJour[''+x].dt_txt);
comment je peux prendre l'id de ca ?
c'est l'élément que tu crées ?
c'est l'id que j'attribus a l'élément
alors je comprend pas ta question
pourquoi tu veux prendre l'id si c'est toi qui l'assigne
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é
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 ??
car en fait je cree plusieurs instance différentes de cette meme div qui change son id a chaque instance différente car je fais un relevé meteo sur la semaine
et une instance = un jour différent
Okay mais ca répond pas a la question de pourquoi tu veux le récupérer
Pas besoin de setatribute pour changer l'id d'un élément nan ?
Oui je me doute
Car la il veut le créer pas le changer donc c'est pas bien grave
Bah ça revient au même nan ?
Oui donc c'est pas bien grave
Oui oui
je veux le récupérer pour ensuite changer son background-color avec un getElementById
Mais pourquoi tu le fais pas direct à la création ??
je comprend vraiment pas ce que tu cherches à faire c'est vachement bizarre
car je fait un changement de fond en fonction du temps
Bah à la création tu à accès au temps
Bah oui des que tu recois la data, donc quand tu crées ton élément set directement la bonne couleur 🤔

bah j'ai fais un switch pour gérer les différent cas météo 😦
Bah tu le mets dans la création ton switch
ok je suis débile mb XD
je mettais le switch avant la création des éléments

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 ^^
slt es ce que quelqun pourrais maider pour enregistreer les informations automatiquement
Utilise https://www.w3schools.com/js/js_htmldom_eventlistener.asp "change" pour chaque input qui est modifié
Et avant ça tu utilises https://www.w3schools.com/jsref/met_document_queryselectorall.asp pour selectionner tous les inputs et leurs assigner l'event listener
Merci
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
oauip
restcord
après ton form dans ton action tj fous la création de ton embed dedans et l’envoie de même
D'accord je vais check merci 👍
np
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 .
tu pourrais faire une lib pour le base85 en js
j'en ai pas trouvé qui marche sans node.js
(oublié de précisé un projet utile pour une entreprise) car je suis en stage 🙂
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 🤔
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)
Oui mais le but du base85 c'est d'encoder des binaires pas des chaînes de caractères
ehh
☕
bah si mais j'ai tous fais de ce qu'ils m'avaient données a faire genre j'ai realiser une maquettes de leurs site internet de fond en comble et après m'avais demandé pour avoir la météo sur la semaine et la je viens de finir mon script
du coup bah je cherche ce que je pourrais dev en 1 mois et des connaissances pas extraordinaire en js x)
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)
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 ?
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
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)
}
});
oui le nom du dossier n'a jamais été changé
Et une erreur ?
Tu mets à jour ton .json?
C’est à dire ?
Entre temps il n’est pas mis à jour lors de l’exécution de la commande, si tu parles de ça
Oui g une erreur
Il faudrait alors
Quoi ?
Dans ce cas là, quoi mettre à jour ?
(pour te dire, ce qui est enregistré dans le json c'est l'id du membre et d'autres choses peu importantes)
Ah mais alors j’ai pas compris c’est quoi ton but
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
Je suis sur tel désolé
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
pas compris ??
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
vérifie que message.content existe
Bah oui il existe j'ai utiliser ça partout XD
Après j'ai essayé avec la fonction DMChannel mais toujours pareil
log le a l'endroit ou tu l'utilises
j'ai pas capté ce que tu me dis
log message.content au niveau de ta condition (juste avant) voir si il existe bien
ok donc console.log(message.content) ?
ui
si je le met avant il s'execute pas parce que c'est un bot.on('message')
Non c'est pas le startswith qui plante
C'est le dernier code
Il plante car le message.content ne doit pas exister
ça me met undefined
ok
Oui car tu essayes d'utiliser sur un élément undefined
Et c'est quoi cet élément ?
c'est quoi ces conditions spaghettis
Des spaghettis à la bolo précisemment
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
OK
essaye de faire ta commande qui plante et regarde si tu as bien tout et voir quel startsWith plante
C'est le dernier je t'ai dit
Les autres se font sur serveur et pas en mp
C'est à partir de kj name
c'est un sacré sacré bordel je viens de relire waouh
lol
Oui mais mp ou non, essaye juste de log le message.content
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
c'est le quel startsWith qui merde ?
le dernier !!
ca doit etre celui du channel.name car y a pas de name en mp
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 ???
Oui sorry je reviens juste après
OK
@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 ?
tu veux faire quoi concrètement
je veux que ma commande s'execute en mp
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
Oops sorry oubliez de regarder
tu as toujours ton soucis ?
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 ?
Oui
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
ligne 3000
ca en fait
j'y ai remplacé avec un ticket mais je préfererai avec mp
Lol
Du coup quand tu
kj name
c'est mon premier bot et j'ai vraiment la flem de refaire XD
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
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
bah y a pas de ligne je vois pas où
le quel if ?
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
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 ??
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
J'ai mis un bot.on('message', async message => {
Oui mais après
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
Ouais c'est ce qu'on m'a dit XD
Normalement tu as la ligne a la quelle tu as l'erreur dans ta console ce sera plus simple
tu comprends ton code ?
ligne 1528
if(message.channel.name.startsWith('vérification-')){
oui
c'est un bordel ouf
Mais je m'y retrouve
On m'a dit hier de mettre return à la place du else et des {}
mon système ?
oui ca sert a rien de else pour return
ctrl + F
xd
Je sais mais je me suis fait un kiff
🙂
😉
^^ bon courage pour t'y retrouver alors
compliqué de t'aider si on s'y retrouve pas nous ^^
merci XD
Je sais et ça m'énerve
?

tu devrais revoir la logique de ton code je pense
Oui peut être mais je fais comme je veux après tout
j'te donne un conseil
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
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 :
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
c'est de l'hexadécimal
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 ⬇️
Yo! Possible que tu ai un caractère invisible qui foire ton code à cet endroit, je te conseille de supprimer toute la ligne et de la recopier à la main.
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)
}
});
🆙
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
Il y en a pas certaines devs nestjs qui ont ce même problème je pense que ca viens du module en lui même mais j'en sais pas plus
j'ai bien recopier la ligne de code qui ne marche pas comme tu me la dit sauf que ça ne marche pas
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 ^^'
@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)
}```
@hazy mirage Tu n'étais pas sur de comprendre et pourtant ça fonctionne comme je le souhaitais !
👍 niquel alors :)
Merci ! :p
@hazy mirage ça ne marche toujours pas j'ai tout ce qui faut, j'ai regardé sur https://discordjs.guide/command-handling/#individual-command-files
Mais ça ne marche toujours pas
envoei ton fichier
Nan mais en ``````
Parce que avec ça on peut pas voir enfin sur tel
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)
merci
Merci mec
c'est ça qui ne marche pas const command = require(`./commands/${file}`);
C'est le bon nom de fichier ( on sait jamais )
oui c'est le bon
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
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
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
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
OK merci
ça marche toujours pas
tu fais quoi
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)
}
}
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
ok je vais essayer
J'aimerai savoir comment on fait pour stopper un intervalle ?
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
(j'ai pas trouvé d'autres alternatives pour envoyer)
