#javascript-typescript

1 messages · Page 81 of 1

slim anvil
#

Si tu console.log compteur dans ta boucle tu as quoi comme résultat ?
Idem log ton json.players voir que tu récupères bien ce que tu veux

#

Je pense que tu as un soucis là dessus

uneven kayak
#

J'ai tout pour le compteur

0
1
2
3
4
5
6
7
8
9```
slim anvil
#

Okay top sur ça et au niveau du json.players tu as bien ton array ?

uneven kayak
#

Oui

[
  { votes: 2, playername: 'Luck' },
  { votes: 2, playername: 'Sarbatore' }
]

(x10 comme je l'ai log dans la boucle)

slim anvil
#

okay et tout bêtement tu peux log typeof json.players please

uneven kayak
#

C'est un Object

slim anvil
#

okay donc ça c’est Good

#

Donc c’est bien dans la boucle tu peux log pseudo à chaque fois

#

Voir c’est le quel item qui plante

#

Sorry je suis sur téléphone donc la lisibilité du code que t’as envoyé est pas dingue donc je vais petit à petit

uneven kayak
#

Je fais ça, pas de soucis pour ça!

#

ça me log les 10 plus grands voteurs pourtant

slim anvil
#

y en a un vide normal ?

uneven kayak
#

C'est parce que quelqu'un n'a pas mis son pseudo donc je pense pas que ça impacte

slim anvil
#

Yes à tous les coups

#

Rajoute juste un ?. avant playername

uneven kayak
#

Avant le point ?

slim anvil
#

json.players[compteur]?.playername

#

Pour vwar

uneven kayak
#
var pseudo = json.players[compteur]?.playername;
                                        ^

SyntaxError: Unexpected token '.'```
Une erreur de Syntax au lancement du bot
slim anvil
#

snif t’es sûr qu’elle version de node

#

Sinon rajoute de ton côté des conditions pour vérifier que le players existe

#

Ce sera suffisant

#

if(json.players[compteur])

uneven kayak
slim anvil
#

Et dedans ton .playername et .votes

uneven kayak
#

Je met la condition dans la boucle ?

slim anvil
#

oui comme ça il ira chercher le pseudo et vote que si le player existe

uneven kayak
#

Merci ! La condition a tout changé, par contre tu saurais remplacer les pseudo non définis par : Inconnu par exemple ?

slim anvil
#

Sois tu met un else avec le inconnu sois tu l’enlèves et tu rajoutes ça (a voir si ce sera ok)
const pseudo = json.players[compteur].playername ?? ´Inconnu’

uneven kayak
#

J'ai toujours une erreur de syntaxe avec les "?"

slim anvil
#

trop bizarre thinkintense c’est censé être inclus dans les nouvelles nodejs

#

Tu peux faire node -v please

uneven kayak
#

J'ai la v12.18.3

slim anvil
#

Je veux voir ce que tu appelles la dernière

#

Ah oui pas la dernière du coup harold

uneven kayak
#

Ah !

#

Je pensais x)

slim anvil
#

du coup laisse tombe compatible à partir de la 13

#

Après tu peux upgrade

#

Ça devrait rien craindre

timid loom
#

la dernière c'est la 16.5.0
et en vrai la LTS c'est la 14.17.3

slim anvil
#

Ouais

#

met a jour c’est mieux

timid loom
#

donc on est loin d'être sur la dernière là haha

slim anvil
#

prend la LTS

uneven kayak
#

Ah j'ai beaucoup de retard enfaite

slim anvil
#

un train ou 2 t’inquiete

timid loom
#

si t'es sur windows je te conseille d'utiliser nvm-windows

slim anvil
timid loom
#

sinon y a un autre nvm sur linux mais il est un peu moins bon

timid loom
slim anvil
#

Ah t’en conseille un en particulier ??

#

ah okay

uneven kayak
#

On fait comment pour choisir quelle version upgrade?

timid loom
slim anvil
#

{macos user dsl}

#

nvm install [version]

#

Puis tu use

timid loom
slim anvil
#

si tu veux faire ça plus tard @uneven kayak tu peux juste else{} pour le moment mais pense quand même à upgrade

uneven kayak
#

Perso je suis windows je prends la 14.17.3 ducoup ?

slim anvil
#

oui

#

Tainkafaire

uneven kayak
#

J'espère juste que je vais pas devoir modifier tout mes codes x)

timid loom
slim anvil
#

non normalement c’est ok je pense

uneven kayak
#

ça va être très long sinon

slim anvil
#

non l’écoute pas part sur la LTS

timid loom
#

si tu veux vraiment être à la pointe

uneven kayak
#

Je pars sur LTS alors x)

slim anvil
#

va y avoir combat kappo

timid loom
#

ouais LTS en général c'est mieux, cela dit pour être honnête y a rarement des problèmes sur la current

slim anvil
#

c’est sur mais tu vois si jamais y a un truc il nous accusera pas

uneven kayak
#

Euh c'est normal ? ma version: 6.14.6

timid loom
#

on recommande LTS parce que c'est mieux supporté sur les hébergeurs récents

timid loom
slim anvil
#

C’est ta version npm

#

Oui voilà

uneven kayak
#

exact

timid loom
#

;)

slim anvil
#

vaut mieux sinon c’est la merde

#

là tu es sûr que plus rien ne marchait pepe_chock

uneven kayak
#

Bon. J'arrive pas à upgrade

#

c'est npm i <version> on est d'accord ?

timid loom
#

nan

#

nvm install <version> puis nvm use <version>

#

nvm et npm sont deux choses différentes

slim anvil
#

Yes et pense même à la mettre en default

#

Sinon tu vas devoir use à chaque fois

#

et tu peux être sûr que tu vas oublier les premières fois

timid loom
#

un bon réflexe c'est de toujours vérifier sa version de node

uneven kayak
#

Le therme nvm n'est pas reconnu chez moi

timid loom
#

hum tu es sûr de l'avoir installé?

#

attends

#

nvm-setup.zip

#

hésite pas à vérifier la checksum aussi d'ailleurs

uneven kayak
#

ça sert à quoi enfaite nvm ? je suis vraiment perdu

timid loom
#

nvm -> installer différentes versions de node
npm -> installer des packages pour les projets

#

c'est un peu confus au début mais on s'y fait

#

respectivement, nvm et npm veulent dire Node Version Manager et Node Package Manager

uneven kayak
#

Oh d'accord je vois

timid loom
#

nvm ne fait pas vraiment partie du truc officiel de nodejs donc c'est pour ça que c'est pas installé par défaut

#

mais c'est un peu essentiel vu que l'alternative c'est de désinstaller et réinstaller à chaque fois node et npm

#

dans l'idée c'est ce que fait nvm, mais il le fait juste automatiquement

uneven kayak
#

Il aurait pas pu tout faire avec npm au lieu de séparer tout ?

timid loom
#

bah le truc c'est que c'est pas la même chose

#

node c'est le programme qui interprète le javascript comme du langage serveur
npm s'occupe d'installer des packages
et nvm ne fait même pas partie du truc de base

#

un des principes de base en logiciel c'est de se tenir à un rôle par logiciel

uneven kayak
#

C'est vrai chacun a son utilité mais bon

timid loom
#

si tu veux tout faire dessus tu finis par te retrouver avec 50000 applications qui sont beaucoup trop lourdes pour rien

uneven kayak
#

C'est pas faux quand on y pense x)

timid loom
#

après c'est vrai que pour les mises à jour c'est moins pratique (surtout sur windows) mais ça c'est un élément classique sur des programmes de ce type (t'as pareil avec python par exemple)

uneven kayak
#

Pareil pour DiscordPy ?

timid loom
#

bah pour le coup python c'est vraiment pareil parce que eux ils ont un autre gestionnaire de packages qui s'appelle pip

#

il est juste un peu moins bien fait que npm

#

un peu moins complet en tout cas

uneven kayak
#

J'ai jamais essayé le py pour Discord, c'est pas trop tentant

timid loom
#

bah pour le coup c'est une question de préférence vu que de manière générale l'api est la même

#

je conseille de rester sur du js parce que c'est là que le support est le meilleur

#

et puis discord.js est sans doute la meilleure librairie autour de l'api discord que ce soit du point de vue de la documentation ou de la rapidité de mise à jour

#

ils sont très proches des mises à jour de l'api en vrai

uneven kayak
#

Sûrement oui

timid loom
#

même si ces derniers temps ils ont pris un peu de temps pour leur v13 qui est toujours pas sortie sur le canal stable

uneven kayak
#

Petite question au passage avec les "?" c'est possible de remplacer une string vide par autre chose ?

timid loom
#

genre const test = emptyStr ?? 'Hello world!' ?

timid loom
uneven kayak
timid loom
#

nan c'est pas bon c'est pour ça

uneven kayak
#

Je l'ai fait comme Enzo m'a indiqué
var pseudo = json.players[compteur].playername ?? 'Inconnu';
Mais ça me laisse une vide

timid loom
#

je crois que si tu remplaces ?? par || ça fonctionne mais au pire tu peux faire une ternaire :

const value = possiblyEmpty ? possiblyEmpty : 'valeur si vide'
#

mais si les deux barres fonctionnent utilise plutôt ça c'est plus lisible

uneven kayak
#

Bien vu ça fonctionne mieux merci

timid loom
#

t'as fait const value = possiblyEmpty || 'valeur si vide' ?

uneven kayak
#

Avec les "?", ça m'apprend en même temps comme je connaissais pas cette façon de faire

timid loom
#

au début c'est un peu perturbant les ternaires mais en gros c'est tout bête :

const variable = condition ? valeurSiConditionVraie : valeurSiConditionFausse

donc pour traduire : on assigne à la variable une valeur qui dépend de si la condition est vraie ou fausse

#

c'est comme un if ... else

#

en beaucoup plus concis

uneven kayak
#

C'est + opti qu'un if else alors ?

timid loom
#

nan c'est pareil, c'est juste plus concis

uneven kayak
#

ça prend moins de ligne c'est déjà ça

timid loom
#

de manière générale en voyant des conditions tu t'attends à carrément une différence de comportement, donc utiliser autre chose ça permet de mieux s'y retrouver

#

la différence avec || ou ?? c'est que ces deux autres trucs testent quelque chose de différent, et assignent la valeur à droite si ce test passe
en gros || vérifie que la valeur semble fausse (donc égale à false, 0, null, undefined ou la chaîne vide) tandis que ?? vérifie que la valeur est null ou undefined seulement

#

les ternaires sont plus flexibles mais plus longues

uneven kayak
#

Ok je note ça, ça peux m'être utile

timid loom
keen narwhal
#

@timid loom question juste

#

ça s'appelle comment ceci

#

json.players[compteur]?.playername;

#

le

#

?.

timid loom
#

c'est du optional chaining

keen narwhal
#

je use jamais

#

je use surtout ? :

#

ou ?? ||

timid loom
#

c'est très pratique dans les conditions

keen narwhal
#

jvais check

#

j'ai vu tkt

timid loom
#

tu peux l'utiliser dans plein de cas et c'est globalement pareil que ?? sauf que tu peux l'utiliser de façon plus précise

keen narwhal
#

ta un exemple pour voir

timid loom
#

ça raccourcit les conditions typiques du genre if (player && player.name) return player.name.toLowercase()

#

tu peux juste faire if (player?.name) return player.name.toLowercase()

#

voire vu qu'on est dans un cas assez pratique pour cet exemple : return player?.name?.toLowercase()

#

même si la seconde version part du principe que name peut être null

#

bref

keen narwhal
#

en sois

#

c pratique

#

pour évité les erreur

timid loom
#

c'est bien pour éviter les conditions à rallonge permettant d'empêcher les typiques cannot access property name of undefined

keen narwhal
#

ouais voila

timid loom
#

c'est vraiment pareil que ?? mais tu peux l'utiliser pour chaîner facilement

#

tu peux même en utiliser plusieurs

keen narwhal
#

bah le truc

#

c que ?? c'est plus chiant

#

alors que la imagine

#

dans ton json

#

exemple

timid loom
#

et en gros la valeur de l'expression finale sera null (je crois) si ça passe pas tous les opérateurs

keen narwhal
timid loom
#

ouais par exemple

keen narwhal
#

en mode c'est pratique

#

pas de check avant a faire

#

si name = null bah ça fou pas une erreur

#

ça compte direct comme undefined

timid loom
#

ouais, c'est vraiment un truc très pratique de la v14 de node

#

et globalement ça marche un peu partout sur les navigateurs récents

keen narwhal
#

je dev pas bcp en navigateur je t'avoue

#

je suis bcp plus nodeJs

#

backend etc

timid loom
keen narwhal
#

j'avoue

timid loom
#

ouais bah globalement les dernières versions de nodejs sont pas mal mais ça arrive pas à la cheville des mises à jour v13 et v14 de node

keen narwhal
#

yes

#

par contre djs

#

v13

#

BERK

timid loom
#

juste pour ça c'est des mises à jour essentielles

#

ah pas essayé

keen narwhal
#

bah deja

#

j'ai pas compris

#

il on fait jsp quoi

timid loom
#

flemme ça peut trop changer encore

keen narwhal
#

look deja

#

mdr

#

je t'avoue que bon

timid loom
#

haha normal c'est pull depuis git

keen narwhal
#

jss

#

mais ça soule

#

mdr

#

y'a des truc

#

qui mange

#

pas de types

#

etc

#

des bug

#

etc

#

après c une version dev

#

donc logique

timid loom
#

ils avaient pas le @next à mettre derrière la version?

keen narwhal
#

jsp du tout

timid loom
#

me souviens plus

keen narwhal
#

y'a le @dev

timid loom
#

ah ptet ça

dire latch
#

Sa sert à rien les versions dév mdrr

#

Tu esquives tout les bugs

timid loom
#

bah c'est bien pour se préparer à la suite quoi mais c'est globalement inutilisable

keen narwhal
#

bah si ?

#

@dire latch c faux

#

y'a les buttons

#

les menu

#

c pratique

#

maintenant des thread jsp quoi

timid loom
#

ah les threads ça va bientôt arriver ça

#

ça sera marrant personne va aimer

keen narwhal
#

j'ai pas testé

dire latch
#

Ba tu met la v13

keen narwhal
#

la v13 c la dev

dire latch
#

Pas une version dév 🤔

keen narwhal
#

elle est pas sortie en officiel encore je crois

#

y'a pas de

#

13.0.0

timid loom
#

nan elle est pas stable

keen narwhal
#

c que des version dev

#

que du master

timid loom
#

c'est des pre release pour l'instant

#

et encore je suis même pas sûr

keen narwhal
#

nop

#

jcrois pas

timid loom
#

ptn dur haha

keen narwhal
#

jsp du tout

#

mais en sois

#

les thread

#

jvois pas ce que ça va changé

#

mdr

timid loom
#

les thread c'est ce qui va remplacer les réponses actuelles

#

c'est un bon ajout en vrai

keen narwhal
#

mais quand il parle de thread

timid loom
#

mais c'est sur l'api de discord ça

keen narwhal
#

HAHAH

#

MAIS ATTEND

#

C LES THREAD CHANNEL ?

#

ahhh

#

mais pt

timid loom
#

bah je pense oui

keen narwhal
#

jsuis teubé

#

jpp

#

j'ai capté

#

yes

timid loom
#

ou alors si tu peux me link sur autre chose

#

ouais je crois bien haha

keen narwhal
#

nan tkt je vois c'est quoi

#

jsuis sur la beta j'ai accès sur mon autre compte

#

mais en mode

#

quand j'ai vu thread j'ai pensais a du Java

#

je me suis dit thread api

#

MDMRMR

#

ça aurais bien

dire latch
#

C'est quoi au juste ?

keen narwhal
#

tient

#

stuv je te montre

timid loom
#

oula faire des threads ça aurait été spécial sur du discordjs mdr

keen narwhal
#

c comme guilded

#

en gros des salon dans des salon

keen narwhal
#

il reduis la limiterate

timid loom
#

c'est le même système de réponse que slack en gros @dire latch

keen narwhal
#

wlh ça serais le feu

#

jte jure

timid loom
#

cépafo

dire latch
#

C'est quoi slack? 😅

timid loom
#

discord pour les pros en gros

#

les boutons etc ça existe depuis une éternité sur slack

keen narwhal
#

au pire

#

c comme guilded

timid loom
#

et ça arrive que mtn sur discord

keen narwhal
#

nan

#

mais

#

discord copie guilded

#

surtout

#

car guilded est de basse

#

discord

timid loom
#

ouais mais guilded pareil faut connaître

keen narwhal
#

le dev de guilded c'est un dev de discord

#

qui c'est fait licencié

#

il a pris les sources de discord

#

est a crée guilded

dire latch
#

Ah slack c'est une appli ?

timid loom
#

je pensais que slack lui parlerait davantage

keen narwhal
#

jsp du tout

timid loom
keen narwhal
#

@timid loom tu t'occupe des validation dev ?

timid loom
#

nan

keen narwhal
#

car t'es pote la

#

j'ai deja demandé

timid loom
#

j'aide parfois mais c'est zaros et enzo

keen narwhal
#

il veulent des code

#

et dsl

#

mais je peu pas les donné mdr

timid loom
#

ah bah logique en même temps

keen narwhal
#

je donne pas mes gros code

#

ouais mais tu capte ?

dire latch
#

@timid loom connaissais pas pour le coups

keen narwhal
#

je donne pas des code a 700euro

#

mdr

dire latch
#

Des codes de quoi ?

timid loom
#

ouais enfin tu sais on a autre chose à faire de nos vies que prendre des codes de ce type

keen narwhal
#

je suis fonda d'un serveur a 40k et 200 voc premier fr commu donc bon

#

les bot dessus sont les miens

#

et ça veut me payer 400 euro le code

#

donc je peu pas drop comme ça

#

je pense que ça ce comprend ?

#

meme tu capte ?

dire latch
#

Ils font quoi tes codes ?

keen narwhal
#

le code c'est comme un morceaux de sois meme

timid loom
#

après je comprends perso je te conseille de faire un petit bot qui permet juste de montrer tes compétences et ça passe hein

keen narwhal
#

@timid loom bah j'ai drop un code

dire latch
#

Car bon, que tu as 20 membres ou 250k, sa change rien 😂

timid loom
#

un truc open source pour soutenir la commu tkt

keen narwhal
#

@dire latch bah en sois

#

j'ai buzz

#

avec donc bon

#

un botCoins

#

mais comment expliqué

#

c'est complexe

#

stuv y'a des video

#

presentation ?

timid loom
#

je sais pas j'ai pas vu ce que tu nous a passé

dire latch
#

Botcoins c'est facile un peu quoi 🤔

keen narwhal
#

@timid loom c'était un vieux bot ticket relier a un site pour les historique

timid loom
#

ouais voilà pas ouf non plus

keen narwhal
#

@dire latch nan mais c pas un bot coins normal mdr

#

@timid loom je peut envoyé une video de presentation ?

#

0 pub juste qu'il check je delete après

keen narwhal
#

azi

#

@dire latch add

#

@timid loom tu coco les commu discord ou pas du tout ?

timid loom
#

tin t'as carrément fait une vid de présentation mdrr

dire latch
#

Envoi mes mp sont ouvert

keen narwhal
#

tu coco

timid loom
#

on est 3 ici donc le peu de temps que je passe à m'intéresser à la commu c'est ici

keen narwhal
#

Lysa ?

timid loom
#

euhhhhhhhh

keen narwhal
#

Lysa, Rosa ?

timid loom
#

nan je connais un jeu qui s'appelle LISA mais c'est tout

keen narwhal
#

ok ok

#

tkt

timid loom
#

@hazy mirage t'avais pas testé la v13 de discordjs toi ?

hazy mirage
#

non pourquoi ?

timid loom
#

ah je sais pas t'en parlais l'autre jour

keen narwhal
#

@timid loom j'ai dev un bot musique

#

je me suis gavé

#

mdr

hazy mirage
#

je sais simplement qu'elle était prévue pour fin juin et qu'elle a été reportée avec toutes les maj de discord qui sont arrivées mi/fin juin

timid loom
#

je me demandais comment tu l'avais utilisé en gros

hazy mirage
#

tu prend juste la branche master kappa

timid loom
keen narwhal
#

non v12

#

mais en mode

timid loom
#

ah

keen narwhal
#

il est spécial

timid loom
#

j'ai eu peur mdr

dire latch
#

Ya même la v14 @timid loom mdr

keen narwhal
#

tient un screen

#

en mode

#

ça c'est le

#

.nowplaying

timid loom
#

ah genre ça te fait une image

keen narwhal
#

yes

#

canvas tu coco

#

mdrr

#

je me suis fait chié aveec le design

timid loom
#

je préfère la version de rythm en vrai

keen narwhal
#

c chiant mdr

#

il on fait un panel web

timid loom
#

c'est simple mais ça permet d'éviter le load de l'image du coup

keen narwhal
#

c un panel c sa ?

timid loom
#

ah ils ont changé depuis?

dire latch
#

Le panel est bug nan ?

keen narwhal
#

euh non c tjr un panel

#

il est clean

dire latch
#

Non @keen narwhal avant yavais pas de panel

keen narwhal
#

oui jss

#

c nouveau

timid loom
#

il me semblait que ça faisait genre un embed avec la barre de progression là

keen narwhal
#

mais ça fait deja un moment

#

ah oui mais c connu

#

mtn y'a un panel

#

de gestion etc

#

c grave propre

timid loom
#

ah oui ok

dire latch
#

Leur panel buggé surtout

timid loom
#

haha

dire latch
#

Je met une musique, sur le panel, ya que dal

keen narwhal
#

moi ça marche perso

dire latch
#

Pas moi

timid loom
#

sinon le classique c'est groovy

dire latch
#

Je préfère Rythm

keen narwhal
#

groovy >> all

#

après perso je use plus de bot musique

#

j'ai mon bot qui gère les musique sur des selfbot

#

pratique pour écouté de la musique dans plusieur salon

dire latch
#

Selfbot 🤔

keen narwhal
#

oui fin bon

#

self de musique

#

donc bon

dire latch
#

Pas très bien ça

timid loom
#

t'as de la chance que je sois pas sur la page de report...

keen narwhal
#

tu peut pas report

#

sans preuve et surtout

#

meme avec des preuves tu pourrais pas

#

car les report selfbot fonctionne que sur des preuves message

timid loom
#

ah bah j'aurais juste link le msg en soi après osef hein je t'avoue

keen narwhal
#

et preuve vocal ne sont pas valide

#

non mdr

#

ça aurais pas sauté

#

mais tkt

#

je m'en fiche aussi mdrr

dire latch
#

Ils auraient vérifier

#

Et boum tes mort

keen narwhal
#

nannn

#

tkt pas

dire latch
#

Sisi

#

Comme pour les pubs mp

#

Hop sa dégage

keen narwhal
#

mdrrr

#

tkt

#

jee connais bien cela

#

tkt pas

keen narwhal
#

Salut, j'ai suivi un tutoriel sur ytb et à un moment, le mec fais ça

#

Donc je recopie sauf que moi le code a cette couleur la

#

Je comprends donc que mon ${res.url} n'est pas interprété comme sur le tutoriel, et je ne comprends pas pourquoi

#

Le tutoriel date de décembre 2020 donc je ne sais pas si il y a eu de changement ces derniers temps 🤷‍♀️

spring dock
#

Il faut mettre des ` et pas des ' si tu veux faire ça

keen narwhal
#

oh

#

Merci x)

#

Bon du coup j'ai suivi le tutoriel et fait ça

#

Donc en gros y'a une image et un texte choisi au hasard dans le fetch

#

Mais la taille de l'image de fond fait qu'il y à des bordures blanches sur les cotés

#

alors à la place de 1600 et 1000 j'ai mis 100% et 100vh mais la l'image ne s'affiche plus

timid loom
#

picsum.photos c'est un site qui permet d'avoir des images aléatoires de la taille que tu lui demande

#

si tu veux changer la taille tu dois le faire dans le css ou dans le tag lui même

#

la taille sur picsum.photos est forcément en pixels

keen narwhal
#

ah mais du coup on peut pas faire en fonction de la taille de l'écran de l'utilisateur

bold sparrow
#

Si

#

Tu fais en fonction du window.height et windows.width

#

Informations que tu récupères dynamiquement

#

Et tu match les résultats

keen narwhal
#

window.height et width dans le fichier js ?

bold sparrow
#

C'est en JS que tu vas gérer ça oui

#

Tu créer des variables dynamiques qui récupèrent ses informations en direct.

#

Ensuite tu les déclares pour width et height

uneven kayak
#

Bonjour bonjour, il existe un module pour faire des graphiques pour les bots Discord ?

uneven kayak
#

Ça fait pas les courbes, si ?

timid loom
#

si

uneven kayak
#

Super merci

uneven kayak
#

Je pensais que ça aurait été compliqué à faire mais c'était très simple au final

oak turret
#

gg yeah

keen narwhal
#

je viens de dev une libs pour les connexion discord en vueJs

#

pour que ça sois plus rapide a faire mdr

#

c stylax

spring dock
#

bravo

keen narwhal
#

c'est simple a faire

#

c surtout pratique

hazy mirage
#

bravo Clap

keen narwhal
#

salut j'ai fait une cmd de kick ```const config = require('../../config.json')

module.exports.run = (client, message, args) => {
if (!message.member.hasPermission('KICK_MEMBERS')) return message.channel.send('Vous n'avez pas la permission d'utiliser cette commande.')
const member = message.mentions.members.first()
const modo = message.author
if (!member) return message.channel.send('Veuillez mentionner le membre à exclure.')
if (member.id === message.guild.ownerID) return message.channel.send('Vous ne pouvez pas exclure le propriétaire du serveur.')
if (message.member.roles.highest.comparePositionTo(member.roles.highest) < 1 && message.author.id !== message.guild.ownerID) return message.channel.send('Vous ne pouvez pas exclure ce membre.')
if (!member.kickable) return message.channel.send('Le bot ne peut pas exclure ce membre.')
const reason = args.slice(1).join(' ') || 'Aucune raison fournie'
member.send("Vous avez été exclu de pour la raison : " + (reason)).catch(() => {
member.guild.channels.cache.get(config.logsbot).send('Je n'ai pas réussi a prévenir l'utilisateur de sa sanction, il a surement fermé ses mp ou bloqué le bot ')
})
member.kick(reason)
}

module.exports.help = {
name: 'ping',
description: 'Expulse un utilisateur du serveur.',
aliases: ['kick'],
usage: '.kick <user> [raison]',
permissions: true,
args: false
}``` mais quand je fais .kick @user raison j'ai rien, il n'est pas kick le bot reznvoie rien et rien dans la conspme

idle ice
keen narwhal
#

Salut, j'essaye d'afficher une sidebar mais ça ne marche pas

#

Quand j'appuie sur le toggle-button le code javascript est sencé ajouter la class .active a la sidebar, mais il ne le fait pas

keen narwhal
keen narwhal
#

module.exports.run = (client, message, args) => {
    if (!message.member.hasPermission('KICK_MEMBERS')) return message.channel.send('Vous n\'avez pas la permission d\'utiliser cette commande.')
    const member = message.mentions.members.first()
    const modo = message.author
    if (!member) return message.channel.send('Veuillez mentionner le membre à exclure.')
    if (member.id === message.guild.ownerID) return message.channel.send('Vous ne pouvez pas exclure le propriétaire du serveur.')
    if (message.member.roles.highest.comparePositionTo(member.roles.highest) < 1 && message.author.id !== message.guild.ownerID) return message.channel.send('Vous ne pouvez pas exclure ce membre.')
    if (!member.kickable) return message.channel.send('Le bot ne peut pas exclure ce membre.')
    const reason = args.slice(1).join(' ') || 'Aucune raison fournie'
    member.send("Vous avez été exclu de pour la raison : " + (reason)).catch(() => {
        member.guild.channels.cache.get(config.logsbot).send('Je n\'ai pas réussi a prévenir l\'utilisateur de sa sanction, il a surement fermé ses mp ou bloqué le bot ')
    })
    member.kick(reason)
}

module.exports.help = {
    name: 'kick',
    description: 'Expulse un utilisateur du serveur.',
    aliases: ['kick'],
    usage: '.kick <user> [raison]',
    permissions: true,
    args: true    
}``` ```Uncaught ReferenceError: channel is not defined```
#

j'ai cette erreur sur ma commande de kick

young holly
#

Essaie de faire un console.log de message

timid loom
keen narwhal
#

ui

timid loom
#

quelle ligne il te dit là parce que je vois pas

keen narwhal
#

aucune

timid loom
#

bizarre alors hein

#

la commande tu l'as où?

keen narwhal
#

?

timid loom
#

l'erreur*

#

pardon

keen narwhal
#

j'ai screen ma console

timid loom
#

fais le en dehors du debugger

keen narwhal
#

genre node index

timid loom
#

regarde le terminal

keen narwhal
#

ok

blazing wadi
#

c'est où que ça plante ?

keen narwhal
#

quand e fais via le terminal je n'ai pas d'erreur

#

mais personne n'est kick

timid loom
#

bah tu lance pas via le terminal?

keen narwhal
#

non en faisant f5

timid loom
#

ahh ok

#

essaie de le lancer via le terminal directement alors

#

en faisant node index.js (ou peu importe le nom de ton fichier)

keen narwhal
#

c'est ce que j'ai fait

#

et quand je fais ça j'ai aucune erreur

timid loom
#

mais ça kick pas

#

perso je pense pas que ça vient de ta commande

#

ça vient d'autre chose

keen narwhal
#

de quoi

timid loom
#

bah je sais pas trop, c'est bizarre que ça te fasse pas d'erreur

keen narwhal
#

ui

timid loom
#

tu peux faire un log quelque part dans ta commande pour vérifier qu'elle se lance bien?

keen narwhal
#

ou ça

timid loom
#

parce que dans ce cas c'est juste une condition qui passe pas

#

euh au début par exemple

keen narwhal
#

genre juste avant la verification si le membre a les perms ?

timid loom
#

oui par exemple

keen narwhal
#

et je console.log quoi ?

#

message ?

timid loom
#

console.log('salut!')

#

par exemple

#

juste pour vérifier que ça s'exécute

keen narwhal
#

ok

#

rien

#

ça doit être la verif des perms dcp

timid loom
#

rassure moi ça te log bien le "connecté"

keen narwhal
#

ui

timid loom
#

ok

#

dans ce cas ouais c'est ptet les perms (mais si tu l'as mis au dessus de la condition ça devrait pas le faire) mais sinon ça serait plus lié à ton handler

keen narwhal
#

je l'envoie ?

timid loom
#

si tu veux

keen narwhal
#

prsq il marche bien avec les autres commandes

timid loom
#

genre toutes les commandes fonctionnent là?

keen narwhal
#

ui

#

fin 2/3 😅

#

j'en ai que 3 en comptant le kick

timid loom
#

ouais ok fin du coup toutes les commandes à part le kick

#

okk bah vas-y envoie on sait jamais

keen narwhal
#
  readdirSync(dir).forEach(dirs => {
    const commands = readdirSync(`${dir}/${dirs}/`).filter(files => files.endsWith('.js'));

    for (const file of commands) {
      const getFileName = require(`${dir}/${dirs}/${file}`);
      client.commands.set(getFileName.help.name, getFileName);
    };
  });
};

loadCommands();
#

et mon event message ```client.on('message', message => {
if(message.author.bot || !message.content.startsWith(config.prefix) || message.type !== 'DEFAULT') return;

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

const command = client.commands.get(commandName) || client.commands.find(cmd => cmd.help.aliases &&  cmd.help.aliases.includes(commandName));
if (!command) return;

if (command.help.permissions && !message.member.hasPermission('BAN_MEMBERS')) return channel.send('Vous n\'avez pas la permission d\'utiliser cette commande.')

if (command.help.args && !args.length) {
  let noArgsReply = `Il faut des arguments pour cette commande, ${message.author} ! `;

  if (command.help.usage) noArgsReply += `\nVoici comment utiliser la commande: \`${config.prefix}${command.help.name} ${command.help.usage}\``

  return message.channel.send(noArgsReply);
}



command.run(client, message, args);

});

timid loom
#

et t'es sûr qu'il est bien dans client.commands ?

#

ok nan j'ai trouvé

#

en gros là channel il vient de nulle part

#

c'est message.channel que tu veux mettre

keen narwhal
#

ah

#

je suis betee

#

surtout que cette ligne sert à rien

#

@timid loom j'ai un autre erreur : sur cette ligne : client.commands.set(getFileName.help.name, getFileName); le set est undefined

cyan iron
#

define le

keen narwhal
#

comment ?

cyan iron
#

le set ne peut pas être undefined

#

Montre l'erreur

#

C'est que c'est pas une collection

timid loom
#

t'as déjà défini client.commands en new Collection() ?

keen narwhal
#

ui

timid loom
#

il faut que tu le fasse dans le ready par exemple

keen narwhal
#

const commands = new Collection();

timid loom
#

ouais ok

cyan iron
#

client

dire latch
#

Oula nan

cyan iron
#

client.commands

#

pas commands

keen narwhal
#

ah ok

timid loom
#

mais tu l'as pas mis sur client

dire latch
#

C'est quand il fait une commande qui n'est pas bien définis dans son fichier

cyan iron
#

set pas get

keen narwhal
#

const client.commands = new Collection(); c'est bien ?

cyan iron
#

Non tu peux pas faire ça

timid loom
#

pas de const

cyan iron
#

client.commands = new Collection()

keen narwhal
#

ok

#

n'empeche mn kick marche tjrs pas 😅

timid loom
#

t'as plus d'erreur là?

dire latch
#

message.guild.member(member).kick(reason)

#

@keen narwhal

timid loom
#

?? wat

#

members à la limite

dire latch
#

?

#

C'est ça 👍

timid loom
#

et non il l'a déjà bien fait en fait

ancient sonnetBOT
#
Citation de Dafaba5654 posté dans #javascript

Clique sur [📝](#javascript-typescript message) pour accéder au message
QuoteS```const config = require('../../config.json')

module.exports.run = (client, message, args) => {
if (!message.member.hasPermission('KICK_MEMBERS')) return message.channel.send('Vous n'avez pas la permission d'utiliser cette commande.')
const member = message.mentions.members.first()
const modo = message.author
if (!member) return message.channel.send('Veuillez mentionner le membre à exclure.')
if (member.id === message.guild.ownerID) return message.channel.send('Vous ne pouvez pas exclure le propriétaire du serveur.')
if (message.member.roles.highest.comparePositionTo(member.roles.highest) < 1 && message.author.id !== message.guild.ownerID) return message.channel.send('Vous ne pouvez pas exclure ce membre.')
if (!member.kickable) return message.channel.send('Le bot ne peut pas exclure ce membre.')
const reason = args.slice(1).join(' ') || 'Aucune raison fournie'
member.send("Vous avez été exclu de pour la raison : " + (reason)).catch(() => {
member.guild.channels.cache.get(config.logsbot).send('Je n'ai pas réussi a prévenir l'utilisateur de sa sanction, il a surement fermé ses mp ou bloqué le bot ')
})
member.kick(reason)
}

module.exports.help = {
name: 'kick',
description: 'Expulse un utilisateur du serveur.',
aliases: ['kick'],
usage: '.kick <user> [raison]',
permissions: true,
args: true
} Uncaught ReferenceError: channel is not defined```QuoteE

timid loom
#

le problème est pas là

keen narwhal
timid loom
#

et le kick fonctionne toujours pas?

keen narwhal
#

non

timid loom
#

t'es sûr que c'est bien enregistré dans le bot? tu peux log client.commands?

keen narwhal
#

je vais essayer

#

Collection(0) [Map] {}

#

ça c le console.log(client.commands)

timid loom
#

elle est vide ta collection là

keen narwhal
#

oui

timid loom
#

loadCommands il est exécuté quand?

#

juste dans ton index.js ?

keen narwhal
#

ui

timid loom
#

essaie de l'utiliser dans client.on('ready')

dire latch
#

🤦‍♀️

#

Tu peut montrer ton index @keen narwhal

keen narwhal
#
const config = require('./config.json')
const { readdirSync } = require('fs');
const { inflate } = require('zlib');

const client = new Client();
client.commands = new Collection(); 
console.log(client.commands)

const loadCommands = (dir = './commands/') => {
  readdirSync(dir).forEach(dirs => {
    const commands = readdirSync(`${dir}/${dirs}/`).filter(files => files.endsWith('.js'));

    for (const file of commands) {
      const getFileName = require(`${dir}/${dirs}/${file}`);
      client.commands.set(getFileName.help.name, getFileName);
    };
  });
};

loadCommands();

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

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

    const command = client.commands.get(commandName) || client.commands.find(cmd => cmd.help.aliases &&  cmd.help.aliases.includes(commandName));
    if (!command) return;

  
    
    if (command.help.args && !args.length) {
      let noArgsReply = `Il faut des arguments pour cette commande, ${message.author} ! `;

      if (command.help.usage) noArgsReply += `\nVoici comment utiliser la commande: \`${config.prefix}${command.help.name} ${command.help.usage}\``

      return message.channel.send(noArgsReply);
    }


 
    command.run(client, message, args);

});

client.on('ready', () => {
  console.log(`Connecté à ${client.user.tag} !`);
});
client.login(config.token);```
timid loom
#

et tu peux nous montrer l'arborescence de tes fichiers aussi?

keen narwhal
#

ok

dire latch
#

loadCommands(client)

timid loom
dire latch
#

Si

timid loom
#

donc toi tu mets client dans dir

#

à la place d'une string

#

ok

spring dock
#

perso je fait pareil

dire latch
#

Ba c'est comme ça qu'on fais

timid loom
#

ouais ok d'accord

keen narwhal
#

index config.json package.json package-lock.json
commands assets node_modules
(dans commands) moderation utile fun (assets est vide) (node_modules bah ya tt les modules)
(dans moderation) kick.js (dans fun) dice.js (dans utile) ping.js

dire latch
#

Essaye de faire la modification que je t'ai donné @keen narwhal

spring dock
timid loom
#

ouais et une fois que t'auras essayé je te dis le vrai truc à faire deux sec

dire latch
keen narwhal
#

et pour mon handler pour etre honnete il vient de ytb

#

je connais vraiiiiiment pas en handler

dire latch
#

Pour ça que mon bot fonctionne sans soucis 🤔

timid loom
#

ah je sais en gros enlève le '/' après commands là

#

tu sais quand tu fais dir = './commands/'

keen narwhal
#

ok

#

ma collection est tjrs vide

spring dock
dire latch
timid loom
#

nan mais relis le code deux secondes stp

#

juste

queen ocean
#

@dire latch c'est toi qui dit de la merde

dire latch
#

Et pourquoi mon bot fonctionne alors si je dis nimp ? 🤔

timid loom
#

regarde ce que tu dis en fait

#

là tu veux readdir sur un client

#

réfléchis deux secondes

queen ocean
dire latch
#

Si tu le dis

queen ocean
#

Heureusement que c'est le bot qui est certifié et pas le dev KaPOP

dire latch
#

Tu penses savoir ce que j'ai dans mon code donc bon

#

Tu dois avoir des super pouvoir 🤷‍♀️

timid loom
#

nan mais s'il te plaît je t'en prie lis le code

queen ocean
spring dock
slim anvil
#

Donc dans ton cas ca marche avec client tant mieux mais c'est pas le sujet du tout, c'est toi qui dit "chez moi ca marche" oui mais y a plusieurs manière de faire les choses, pas une seule

keen narwhal
#

et donc je fais comment ?

slim anvil
#

et là vous avez pas la même

timid loom
keen narwhal
timid loom
#

j'ai enlevé le / après commands

keen narwhal
#

je vais re tester j'ai deja oublie kappa

timid loom
#

tu peux rajouter console.log(commands); en dessous de ton const commands là ?

keen narwhal
#

commands is undefined

timid loom
#

t'es sûr de toi? genre ici?

keen narwhal
#

autant pour moi

#

Collection(0) [Map] {}
[ 'kick.js' ]
[ 'ping.js' ]
[ 'dice.js' ]
Connecté à Le bot du Phénix#1134 !

#

là c ma console

hybrid berry
#

tfacon vous êtes des noobs en javascript

#

moi je suis le plus fort

timid loom
#

perso ça fonctionne, juste ton log de client.commands tu devrais le faire après la ligne loadCommands()

#

parce que là tu le mets juste après l'avoir créé donc fatalement il est vide à ce moment là

keen narwhal
#

[ 'kick.js' ]
[ 'ping.js' ]
[ 'dice.js' ]
Collection(3) [Map] {
'kick' => {
run: [Function (anonymous)],
help: {
name: 'kick',
description: 'Expulse un utilisateur du serveur.',
aliases: [Array],
usage: '.kick <user> [raison]',
permissions: true,
args: true
}
},
'ping' => {
run: [Function (anonymous)],
help: {
name: 'ping',
description: 'Renvoie pong',
aliases: [Array],
usage: '.ping',
args: false
}
},
'dice' => {
run: [Function (anonymous)],
help: {
name: 'dice',
description: 'Cette commande permet de lancer 6 dés à la fois',
aliases: [Array],
usage: '.dice',
args: false
}
}
}
Connecté à Le bot du Phénix#1134 !

#

là c tt ma console

timid loom
#

ok on dirait que ça marche bien

#

donc ta commande s'exécute toujours pas quand tu fais !kick là ?

keen narwhal
#

non

timid loom
#

c'est bizarre perso ça fonctionne

keen narwhal
#

ah si

#

ça marche quand je fais.kick

#

mais quand je mets .kick @user la personne n'est pas kick

timid loom
#

ah oui pardon je mets juste tt le temps ! pas . perso

#

ok

#

alors ça on va voir aussi

#

on progresse au moins

#

ok c'est bon je sais pk

#

au niveau des args

keen narwhal
#

ui

timid loom
#

ta regex tu peux enlever un espace après

keen narwhal
#

?

#

ola

#

c quoi un regex

timid loom
keen narwhal
#

ui

#

je fais juse (/+/)

timid loom
#

enlève l'espace que tu as après le +

keen narwhal
#

et j'ai retiré cette ligne du kick.js : if (!member) return message.channel.send('Veuillez mentionner le membre à exclure.') car j'ai déjà mis un trcu qui fait pareil dans l'index

keen narwhal
timid loom
#

nan mais bien sûr que si y en a un

#

je l'ai enlevé moi mais je peux te dire qu'il y était avant

keen narwhal
#

ah ok

timid loom
#

ici là

keen narwhal
#

ui

timid loom
#

le truc avec les / c'est une regex, et ça sert à détecter des patterns dans du texte

keen narwhal
#

ah ok

timid loom
#

donc là si tu rajoute un espace il s'attend à ce qu'il y ait au moins deux espaces

keen narwhal
#

ça marche !

#

la personne est kick

timid loom
#

voilà bonne chance

keen narwhal
#

comment ça ?

timid loom
#

je t'invite à te renseigner sur les collections, les messages, et les regex

#

bah bonne chance pour ton bot si tu le continues

keen narwhal
#

ah merci 🙂

#
        member.guild.channels.cache.get(config.logsbot).send('Je n\'ai pas réussi a prévenir l\'utilisateur de sa sanction, il a surement fermé ses mp ou bloqué le bot ')
    })``` @timid loom tu vas rire mais le send de member.guild.cache.get(config.logsbot).send est undefined 😅
timid loom
#

bah pour le coup là l'erreur elle est claire, c'est member.guild.channels.cache.get(config.logsbot) qui est undefined

#

donc t'as juste à vérifier qu'il est bien défini avant de .send dessus

keen narwhal
#

@timid loom c peut etre que je kick un bot xd

#

j'vais essayer de kick un dc

#

ah bah non

#

car vu qu'il peut pas dm le bot il active le catch

#

@timid loom je comprends pas pk send est undefined

#

car le member.guild.channels.cache.get(config.logsbot) est defini

timid loom
#

manifestement non

keen narwhal
#

mais comment je pourrais le definir ?

timid loom
#

bah t'es sûr qu'il le trouve bien ? au pire tu fais juste une condition où tu vérifies que ça existe bien

keen narwhal
#

c bon j'ai trouve un autre solution

ashen aspen
#

bonsoir les gens js,
je suis dans l'optique de m'initier à un framework js.
Je suis partagé entre angular et react. L'un étant un vrai et l'autre encore qu'un bibliothèque (de ce que j'ai pu en lire).
Voici donc mes questions:
Est il vraiment interressant d apprendre comme premier framework js angular pour son côté fullstack alors qu'il est en perte de vitesse ?
A ce que j'ai compris React est pour le moment que oriente front. Est ce bien le cas ? Si oui, comment je fais pour le completer au niveau du back? Node js ?
merci par avance de vos réponses ^^

ruby adder
slim anvil
#

Oui quitte à choisir entre les 2 pars sur React il est bcp plus utilise

#

Et tu trouveras bcp plus de complément de lib associé à react que à angular (comme Storybook etc)

ruby adder
ashen aspen
#

super merci à vous deux !

ruby adder
#

si tu veut des composant react

ashen aspen
#

et vous connaissez des bons cours fr comme anglais

ruby adder
#

voila je pense que ça devrais être good

ruby adder
#

mais le best pour apprendre react c'est de faire des projets 😄

ashen aspen
#

👀 merci pour tout x)

ruby adder
#

^^

#

dr

#

et si jamais tu a des questions hésite pas

#

😄

ashen aspen
#

j'hésiterais pas ^^

ashen aspen
ruby adder
#

😄

#

après en js je vois pas mieux

#

par contre si tu veut t'amuser je te conseille de faire du Go

#

😄

ashen aspen
#

ok encore merci x)

ruby adder
#

^^

slim anvil
ruby adder
#

XD

ashen aspen
timid loom
#

en tant que framework c'est vraiment complexe

#

c'est minimaliste ok mais bon avoir un truc plus dirigiste c'est mieux surtout quand on débute et sur un truc de ce type

#

j'ai de très bons retours sur nest et adonis je connais moins mais c'est mieux que rien

#

sinon chihiro en framework front t'as aussi vue mais angular commence vraiment à dater sur pas mal de points par rapport à react

ashen aspen
#

ok ok encore merci des infos ^^

keen igloo
#

Vous me conseillez de commencer par apprendre quoi entre React & Vue ?

hazy mirage
#

commence par les bases si tu les as pas

keen igloo
slim anvil
#

ce que tu sens

#

React ou Vue en fonction de tes besoins

#

Après bon faut un peu plus que les bases car sinon tu vas juste bloquer mais si t’es bien calé ça devrait le faire

bold sparrow
#

Ca revient au même, mais je trouve Angular plus intéressant

unborn knot
#

Hello quelqu'un sait cmt fix ça svp dès fois ça mentionne la personne et d'autres fois ça met leur id discord

oak turret
#

tu peux pas, je crois

bold sparrow
#

Ces personnes n'ont pas quitté le serveur ?

#

Ca dépend aussi de ta manière de faire pour les mentionner.

keen narwhal
#

Salut ! j'essaye de faire une sidebar mais je n'y arrive pas, en faite je sais pas comment structurer mon code, ma sidebar est caché à -300px (donc hors du champ de vision) et lorsqu'e l'on clique sur un bouton le style de la sidebar est sencé se mettre à 0px, sauf que je sais absolument pas comment faire, j'ai fais ça mais ça ne marche pas

bold sparrow
keen narwhal
#

sinon on peut faire avec function mais ça ne marche po

bold sparrow
#

Ou travailler avec les classes

keen narwhal
#

Oui justement les classes

bold sparrow
#

Ou alors,

spring dock
bold sparrow
#

Tu peux normalement via le DOM, get l'élément et accéder à sa propriété " style "

keen narwhal
#

J'ai fais ça mais ça ne marche pas quand meme

bold sparrow
keen narwhal
spring dock
keen narwhal
#

c'est ce que j'ai fais

bold sparrow
#

Non.

#

Tu as travaillé avec les classes

#

Je te parle d'accéder directement au style de l'élément

#

A moins que je me trompe

keen narwhal
#

ah

#

style.add ?

bold sparrow
#

Nope.

keen narwhal
#

ou style.toggle

#

ah, je crois que j'ai pas appris ça encore moi

bold sparrow
#

Tout d'abord, pour être sur de ce que dis, console.log l'élément get suivi de .style

keen narwhal
#

get ?

bold sparrow
#

Et pour modifier un style, c'est style.<propriété> = ""

#

Pas besoin de toggle ou quoi que ce soit puisque toggle n'a rien à voir

keen narwhal
#

y'a pas un toggle à mettre

#

oui mais si je clique une deuxième fois la sidebar va pas se retirer nn ?

bold sparrow
#

Tu fais une condition ternaire

keen narwhal
#

jsp ce que c'est x)

bold sparrow
#

Dans tous les cas tu devras vérifier l'état de ton élément

#

Une condition classique alors

keen narwhal
#

donc classList.style<... ?

bold sparrow
#

Non

#

document.getElementById("id").style.<prop> = ""

#

Encore une fois, ce n'est pas la classe mais l'élément

keen narwhal
#

ah

#

oui

spring dock
keen narwhal
#

dans un tutoriel, on faisait avec class

bold sparrow
#

Que ça soit class ou élément ça revient au même

#

Ce sont 2 manières différentes de faire.

keen narwhal
#

Mais sinon comme ça c'était quand meme sencé marcher nn ?

bold sparrow
#

Sauf que si tu as 2 classes

#

Lequel left est pris en compte ?

#

^^

keen narwhal
bold sparrow
#

Oui, tu actives une classe sur un élément qui possède déjà cette propriété

#

Lequel sera pris en compte ?

#

Essaye left: 0 !important

keen narwhal
#

non, mon code javascript ajoute la class ".active"

bold sparrow
#

Oui ... Je sais ...

#

Il ajoute la classe

#

ajoute

keen narwhal
#

non il le fait pas j'ai inspecter l'élément et rien ne se fait

bold sparrow
#
.active { left: 0 !important }
#

Essaye avec ça.

keen narwhal
#

ça marche toujours pas

#

mais le code javasript je l'ai pas changé

bold sparrow
#

Donc.

#

Essaye ```js
sideBar.style.left = "0"

keen narwhal
bold sparrow
#

Non

#

Tu mets pas ça dans une const

#

Ca n'a pas de sens

keen narwhal
#

dans un let ?

bold sparrow
#

Non plus, pas dans une variable

bold sparrow
#

Au lieu de sideBar.classList machin

keen narwhal
#

Comme ça ?

bold sparrow
#

Yep, 0 !important

#

Pour s'assurer

keen narwhal
#

je met !important avec ?

bold sparrow
#

oui

keen narwhal
#

avec le 0

#

ok

#

et bien ça ne marche toujours pas

bold sparrow
#

Code entier

keen narwhal
#

javascript ?

bold sparrow
#

Oui fin, ta constante sideBar et ta fonction

keen narwhal
bold sparrow
#

On va faire un test

#

function show() { console.log(1) }

#

Enlève ce qu'il y a dedans

#

Déjà pour voir si c'est pris en compte

keen narwhal
#

ah mais ptn

bold sparrow
#

Non mais sans le fonction show()

#

:/

keen narwhal
#

oh boy

#

J'ai vu j'ai vu x)

#

Le console log met rien

bold sparrow
#

Déjà, ça c'est un problème

keen narwhal
#

bon je viens de me rendre compte du pb

bold sparrow
#

C'est ?

keen narwhal
#

j'ai trop honte mdr j'ai juste oublié de mettre la balise script à mon code html

bold sparrow
#

Mais ...

#

:/

keen narwhal
#

2eme fois que ça m'arrive

bold sparrow
#

Ton truc me creusait la tête

#

C'était illogique

#

Et irationnel

keen narwhal
#

Meme pour le CSS quand j'apprenais j'oubliais aussi

#

oui bon x)

bold sparrow
#

Quand tu seras senor de dev, promets moi que tu oublieras pas ces choses là

#

xD

keen narwhal
#

Je te le promets

bold sparrow
#

Bonne soirée à toi dans ce cas

keen narwhal
#

🤞

#

eh attends

#

sinon le code que tu m'as mis, il marche quand meme pas 🧐

bold sparrow
#

Normal, il n'a pas de jambes

keen narwhal
#

x)

bold sparrow
#

Plus sérieusement

#

Le classList était une meilleure solution.

#

Ton élément n'a pas de classe

keen narwhal
#

en sois pourquoi style.toggle ... est pas plus simple ?

bold sparrow
#

Ce que je te propose c'est de créer une classe à cet élément et de travailler avec la classe

keen narwhal
#

ça éviterait de faire un code CSS ultra long

bold sparrow
#

Plutôt que l'ID

keen narwhal
#

euh

#

ouais

#

du coup ce serar getelementbyclass ?

keen igloo
bold sparrow
#

@keen narwhal J'te fais un code rapide

#

Ok ?

keen narwhal
#

ok

bold sparrow
#

Je suis d'humeur ce soir

keen narwhal
#

hehe

bold sparrow
#

Je vais utiliser une condition ternaire

keen narwhal
#

c'est quoi ?

bold sparrow
#

Tu iras regarder sur MDN ce que c'est, mais tu vas vite comprendre, d'acc ?

keen igloo
keen narwhal
#

J'ai commencer lundi, tout ce que je sais faire c'est changer la couleur d'une page web en appuyand sur un bouton donc bon x)

#

appuyant

bold sparrow
#

Bon ok je vais pas te bourrer le crâne.

keen narwhal
#

non t'en fais pas, tant qu'il y a des explications avec

slim anvil
#

Pas ouf

bold sparrow
#

function show() {
  if (sideBar.style.left === "-300 px") {
    sideBar.style.left = "0 !important";
  } else {
    sideBar.style.left = "-300px !important";
  }
}```
slim anvil
#

ça sert à quoi de faire if 0 px else 0 px svp

bold sparrow
#

J'ai foiré

#

incoming

slim anvil
#

Ok merci

#

J’avais pas lu du tout

keen narwhal
#

attents mais c'est pas plus simple de faire un toggle ???

bold sparrow
#

Attends mais ne panique pas !!!!

keen narwhal
#

oui oui x)

slim anvil
#

de toggle une class oui complètement

bold sparrow
#

Si tu toggle, faut bien remove

slim anvil
#

Bah il toggle

bold sparrow
#

Tu devras faire une if else

keen narwhal
#

C'est vrai ?

slim anvil
#

Donc c’est le principe

#

il va le remove tout seul

#

t’as juste à toggle ta class et il va gérer tout seul, donc pas besoin de condition

bold sparrow
#

Hum

keen narwhal
#

hehe

bold sparrow
#

C'est pas souvent que je fais du DOM

#

Lel

#

J'aide comme je peux

slim anvil
keen narwhal
#

c'est la première chose que j'ai appris

slim anvil
#

T’as tout ici

#

C’est pourtant la base le dom en js harold

bold sparrow
keen narwhal
#

Vous avez apprit en combien de temps js vous ?

slim anvil
#

20 minutes a peu près

bold sparrow
#

Je l'ai toujours pas appris perso

slim anvil
bold sparrow
slim anvil
#

le temps d’aller au chiotte

keen narwhal
#

😭

slim anvil
#

que tu sois dans le métier ou non tu apprends des choses tous les jours quasi

keen narwhal
#

oui enfin vous apprenez depuis combien de temps*

bold sparrow
slim anvil
#

Euh je sais pas trop la comme ça

#

Mais euh j’ai commencé le js quand jquery c’était à la mode woula

bold sparrow
#

Y'a belle lurette donc

keen narwhal
#

c'est quoi jquery

bold sparrow
#

Une lib de JS

slim anvil
#

de la merde *

bold sparrow
#

Je kiff jQuery

#

Tous les matins, un bol de jQuery

slim anvil
bold sparrow
#

Ca me fait rugir comme les Lion

keen narwhal
#

moi je commence à peine

#

y'a des choses dont je n'arrive pas, 30 minutes à essayer de corriger un code qui fonctionne pas, je viens ici et je me rends compte que lorsque quelqu'un essaye de m'aider que j'avais en fait mal orthographier un truc ou j'ai oublier une ligne de code

slim anvil
#

Normal au début t’inquiete

bold sparrow
#

Pas qu'au début t'inquiètes

keen narwhal
#

bon et sinon mon pb au dessus est réglé, je continue mon épopée périlleuse

bold sparrow
#

Haha

#

Good luck