#javascript-typescript

1 messages · Page 98 of 1

slim anvil
#

j'ai testé sur un truc à moi donc adapte

bold sparrow
#

Hum spécial, j'ai essayé de pleins de façon

#

Je vais retester encore alors

slim anvil
#

mais meme avec le .trim ca fonctionne moi

#

et meme sur le innerHTML au lieu du text

timid loom
#

Oh t'en fais pas je suis tout à fait conscient que c'est pas vraiment possible partout mais en l'occurrence Discord ne peut pas fournir de données genre messages si ça a été supprimé

bold sparrow
#

C'est censé fonctionner ..

slim anvil
#

Si tu fais juste

#

DOMElement.innerHTML = 'toto'

#

il se passe quoi

#

ca fonctionne ?

bold sparrow
#

J'te dis ça

slim anvil
#

j'ose espérer que tu as quand meme checké de ce que tu recois et si ta fonction est bien appelé

#

car sur ça je peux pas le savoir harold

#

qu'il passe bien aussi dans ta condition

bold sparrow
#

Elle est bien appelée

#

Et nan ça change pas

slim anvil
#

il passe dans ta condition ?

#

value === t_subtitle

bold sparrow
#

yes il passe puisqu'il affiche rien

slim anvil
#

il affiche pas le toto ?

#

🤔

bold sparrow
#

nope

#

juste, rien

slim anvil
#

il a juste remplacer à vide ?

bold sparrow
#

yes

slim anvil
#

si tu log ton element, il existe bien on est oki ?

bold sparrow
#

Il rentre plus dans la condition attends

#

l'élément est undefined

slim anvil
#

yes donc tu as bien un soucis avant et pas sur le changement de valeur

bold sparrow
#

Je vais approfondir ça, j'te redis

#

J'ai déjà trouvé un truc, ma condition n'était pas correcte

#

Elle a fonctionné un temps, maintenant plus mais j'ai trouvé ce qui allait pas, ça c'est réglé maintenant elle passe

slim anvil
#

top

bold sparrow
#

Allez hop c'est réglé

#

Merci enzo

delicate yew
#

salut

#

excusez moi

#

j'aurai besoin d'aide svp

#

en gros

#

dans ce code

#

j'aimerai supprimé le message (embed) du bot avec le captcha et celui du membre (quand il met le code)

#

svp

#

j'y arrive pas

delicate yew
#

@ashen rapids

#

@slim anvil

#

qlq pour m'aider plz

keen narwhal
#

Hey, j'ai créé une class mais sauf que quand il faut initialiser ma class il faut un argument (un objet). Donc je me demande si c'est "propre" de vérifier les valeurs et autres éléments (length, etc) de mon argument de ma class ?

#

Je pense que c'est requis mais comment le faire de manière "propre" ?

coarse hinge
delicate yew
#

j'y arrive pas à le mettre en constante

keen narwhal
#

@delicate yew tu dois faire la même chose que ce que tu as fait pour le messages de confirmation, au lieu de send, tu await les messages en asynchrone

keen narwhal
#

Ah ok ducoup c'était ça ?

coarse hinge
keen narwhal
#

Ah ok ok 😎

#

🤔

iron elm
#

Yo pourquoi je n'arrive pas a afficher le bouton 'ajouter au panier' qui a était fait avec REACT et le petit outils JSX puis je boucle avec une boucle foreach en php comme ceci :

 <?php foreach($produit as $produits){ ?>
        <div class="col-lg-4">          
            <div class="card border-info">
                <div class="card-header py-2">
                    <h4><?php echo($produits['title']) ?>
                        <small class="badge badge-danger rounded-circle rounded-lg p-2"> - 50 %</small>
                    </h4>
                </div>
                <div class="card-body">
                    <div class="row">
                        <div class="col-lg-6"><img class="img-fluid img-thumbnail"
                                src="../photosProduits/<?php echo($produits['image'])?>"></div>
                        <div class="col-lg-6 ">
                            <h4>Title Body</h4>
                            <p><?php echo($produits['description'])?></p>
                        </div>
                    </div>
                </div>
                <div class="card-footer">
                        <!-- REACT c'est ce bouton qui ne s'affiche pas en plusieur fois -->
                        <div id="ajout_panier_button"></div> 
                </div>
            </div>           
        </div>
        <!-- Fin de la boucle Foreach  -->
        <?php }?>
#

Result :

coarse hinge
#

tu fait une boucle php dans react ??

iron elm
#

non lol dans un fichier php

#

et j'ai integrer du react dans le php

coarse hinge
#

Mmm en tout ca c'est vrai que c'est chelou ton histoire pcq tout le reste et bien boucler

coarse hinge
iron elm
#

Oui ^^ J'ai tester

coarse hinge
#

Alors la si ta autre chose qui apparais je pourrais pas t'aider de mon coter

iron elm
#

Pas de soucis 🙂

#

Je trouverai bien une soluce

coarse hinge
#

Pk ta pas tout fait en react 200iq

iron elm
#

Tout simplement je veut juste faire une fonction en js(react) pour l'ajout d'un panier

slim anvil
#

Donc t’intègre react a ton projet pour faire un ajout au panier en JS

slim anvil
#

Pourquoi tu l’as fais juste pas en JS tout court

#

Qu’est ce que react va t’apporter de plus si c’est pour si peu ? Je suis curieux

iron elm
#

Enfaite, j'arrive a faire des truc en react que j'arrive pas en php

#

et c'est mieux

#

fin voilâ ^^

slim anvil
#

pour voir vraiment l’utilité du truc car y en a peut être vraiment une

iron elm
#
'use strict';



class AjoutPanier extends React.Component {
  
  constructor(props) {
    super(props);
    this.state = { liked: false };
  }

  render() {
    if (this.state.liked) {
      return (
      <button className="btn btn-danger " onClick={() => this.setState({ liked: false }) }><i class="bi bi-cart-dash  p-1"></i>Supprimer</button>
      );
    }

    return (
      <button className="btn btn-outline-info" onClick={() => this.setState({ liked: true }) }>
          <i className="bi bi-cart-plus p-1"></i>  Ajouter au panier
      </button>
    );
  }
}
let btns = document.getElementsByClassName('ajout_panier_button');

for (var i = 0; i < btns.length; i++) {
  ReactDOM.render(<AjoutPanier />, btns.item(i));
}```
iron elm
slim anvil
#

Donc tu utilises react pour faire un onClick ?

#

oui donc c’est bien bullshit c’est alourdir ton app alors que tu peux le faire en vanilla avec un addEventListener

#

Et btw ton render est pas bon tu peux juste faire un this.setState({ liked: !this.state.liked }) au lieu d’avoir 2 fois le même élément juste pour conditionner le click

#

et tu conditionnes ta class avec

iron elm
# slim anvil et tu conditionnes ta class avec

Mais toi t'a l'air d'être un pro de sa mdrr , je connais pas les tecno que ta citer plus haut . Mais j'utilise react avec php , qui ce marie bien avec par exemple "Symfony" et "react"

#

Pourtant symfony c'est du php

#

J'utilise react pck je le maitrise plutot bien

slim anvil
#

Bah enfaite dans ton cas là pour éviter d’utiliser un truc aussi lourd que React pour si peu, tu pouvais juste faire un onClick sur ton bouton avec une fonction en JavaScript qui venait faire ce que tu voulais( donc changer la class de info à danger par exemple)

ember quail
#

slt, j'essaye de faire une vérif de double compte sur un bot mais j'ai une erreur (c'est tout fais a partir de tuto youtube) qqn peut m'aider svp ?

ashen rapids
#

Explique ton soucis et ce que tu essaie de faire

ember quail
#

ok ok

#

en gros j'essaye de faire une vérif de double compte et ca me dit : TypeError: Cannot read properties of undefined (reading 'get') quand un double compte rejoin

#

si faut que j'envoie le code je le ferais

dire latch
#

Comment tu peut savoir que c'est un double compte 🤔

ember quail
#

si il date de moins de 10j j'ai mis que c'etait considéré comme un double compte

oak turret
#

ça veut rien dire

dire latch
#

Je trouve sa useless perso

fierce plank
#

Hello

ember quail
#

mhh ouais c sur et j'ai le meme probleme pour un anti add bot ca me met ReferenceError: message is not defined

dire latch
#

Ba ta pas définis mesage

fierce plank
#

Je suis entrain de faire un dashboard avec react et je voudrais savoir comment je peux regler cette erreur

#

voici le code

dire latch
#

L'erreur est dans le message d'erreur quoi mdr

fierce plank
#
import React, { Component } from 'react';
import axios from 'axios';


class Login extends Component {
  constructor(props) {
    super(props);
    this.state = {
      email: '',
      password: '',
      error: ''
    };
  }

  change(e) {
    this.setState({
      [e.target.name]: e.target.value
    });
  }

  submit(e) {
    e.preventDefault();
    axios.post('http://localhost:3020/auth/getToken', {
      email: this.state.email,
      password: this.state.password
    }).then(res => {
      localStorage.setItem('example-jwt-jwt', res.data);
      this.props.history.push('/fileManager')
    }).catch(() => this.setState({
      error: true
    }));
  }

  render() {
    const { error } = this.state;

    return (
      <div>
        <form onSubmit={e => this.submit(e)}>
          <label>email</label><input type="text" name="email" onChange={e => this.change(e)} />
          <label>password</label><input type="password" name="password" onChange={e => this.change(e)} />
          <button type="submit">Submit</button>
        </form>
        {error && <p>Invalid credentials</p>}
      </div>
    );
  }

}

export default Login;
dire latch
ember quail
dire latch
#

Ah

#

Ba là, faut apprendre

ember quail
#

ah bah rip

dire latch
#

Faut pas se lancer sur un truc que tu connais pas un minimum

ember quail
#

ouais je sais mais je me suis dit

#

avec youtube on peut trouver sans savoir

dire latch
#

Ba tu peut apprendre avant

ember quail
#

c dur ?

dire latch
#

Non

ember quail
#

mh

#

je vais m'y mettre alors

dire latch
#

Dac

cyan iron
#

Bonne chance soldat

ember quail
#

mrc et dsl du dérangement

dire latch
#

Np tkt

#

En apprenant, tu pourras régler ce genre d'erreur solo 🙂

fierce plank
dire latch
#

Nope sorry, je ne fais pas de web

fierce plank
#

Ah ok KappaRetard

#

Probleme réglé c est obn

fierce plank
#

Un ptite question comment je peux faire pour refresh apres avoir cliqué sur un lien avec react ?

#

car le ```js
window.location.reload();

#

il spam

slim anvil
#

tu l'as bien mis dans une fonction ton window location reload ?

#

une fonction appelé uniquement au click ?

#

après je connais pas le besoin, mais sur react il suffit juste de mettre à jour ton state pour refresh ton composant ou page

fierce plank
#

sauf que ca me return une erreur par rapport au boucles infines

slim anvil
#

Je comprend pas trop l'intérêt du mettre à true puis false dans le callback mais normalement ca devrait quand meme pas boucler
ta fonction refreshPage est appelé comment/a quel moment

fierce plank
slim anvil
#

bah oui mais là tu appelle ta fonction tant que tu as pas de user

#

mais si tu en as jamais forcement le setState re-render ton composant donc il appelle en boucle ton setState

#

et donc boucle infini

fierce plank
#

ok

#

JE SUIS CON C TOUT

slim anvil
#

Mais non ça arrive haha

#

Le mieux dans ton cas ce serait de faire un middleware pour les pages auxquels il n'a pas accès si il n'est pas log

fierce plank
#

Bah c cette class pr le coup

#
import React, { Component } from 'react';
import axios from 'axios';
import { withRouter } from 'react-router-dom';
import { getJwt } from '../../helpers';

class AuthComponent extends Component {
  constructor(props) {
    super(props);
    this.state = {
      user: undefined,
    };
  }

  componentDidMount() {
    this.getUser();
  }

  refreshPage = () => {
    this.setState(
        {reload: true},
        () => this.setState({reload: false})
    )
  }

  getUser() {
    const jwt = getJwt();
    if (!jwt) {
      this.setState({
        user: null
      });
      return;
    }

    axios.get('http://localhost:3020/auth/getUser', { headers: { Authorization: getJwt() } }).then(res => {
      this.setState({
        user: res.data,
      })
    });
  }

  render() {
    const { user } = this.state;
    if (user === undefined) {

      return (
          <div>
            Loading...
          </div>
      );
    } else {
      this.refreshPage()
    }

    if (user === null) {
      this.props.history.push('/login');
    }

    return this.props.children;
  }
}

export default withRouter(AuthComponent);
slim anvil
#

Ah yes okay

fierce plank
#

Mais dcp je ne sais pas comment faire

slim anvil
#

Fait le juste dans ta fonction getUser

#

si il y a pas de user tu rediriges sur la page de connexion

#

Ça peut être aussi simple que ça

fierce plank
#

ok ja i fait a

slim anvil
#

Non non tu peux enlever tes setState et juste le faire au componentdid mount

#

Ou appeler ta fonction dans ton render à toi de voir

fierce plank
#
getUser() {
    const jwt = getJwt();
    if (!jwt) {
      this.setState({
        user: null
      });
      return;
    }

    this.refreshPage()

    axios.get('http://localhost:3020/auth/getUser', { headers: { Authorization: getJwt() } }).then(res => {
      this.setState({
        user: res.data,
      })
    });
  }
#

mais ca ne refresh pas

slim anvil
#

Non non

fierce plank
#

?

slim anvil
#

Attend

#
import React, { Component } from 'react';
import axios from 'axios';
import { withRouter } from 'react-router-dom';
import { getJwt } from '../../helpers';

class AuthComponent extends Component {
  constructor(props) {
    super(props);
  }

  componentDidMount() {
    this.getUser();
  }

  getUser() {
    const jwt = getJwt();
    if (!jwt) {
       // jwt doesn't exist, do someting here (router.push or other)
      return //
    }

    axios.get('http://localhost:3020/auth/getUser', { headers: { Authorization: getJwt() } })
    .then(res => {
      this.setState({
        user: res.data,
      })
    })
    .catch(() => {
      // catch error, maybe not authorized or other
    })
  }

  render() {
    return this.props.children;
  }
}

export default withRouter(AuthComponent);
#

en gros pour moi si tu check juste que ton user existe, tu peux juste faire ça

#

ici a la place du return tu peux router.push pour rediriger sur /login

#

et au lieu de faire un .catch() sur ton axios.get, tu peux le faire dans un interceptor d'error axios, comme ca toutes les erros 401, 403 tu les gères au meme endroit

fierce plank
#

oki

#

Mais je ne sais pas trop si tu voit ce que je veux faire

#

En gros ce qu'il ce passe c que quand je change de lien donc fileManager -> ignore par exemple et bah ca reste sur le precedent

#

et si je refresh ca me met sur le bon

keen narwhal
#

hey

!eval  ["934361292314124338", "932037288362393612"].map(id => message.guild.leave(id)).then(b => message.channel.send("J'ai quitter tout les serveurs avec succès"))

tu serais pourquoi sa quitte que mon serveur et sa ne fonctionne pas sur les serveur

sharp grail
#

la raison

desert riverBOT
sharp grail
#

la méthode leave ne prend pas d'argument et leave la guild de ton objet guild

#

et en plus tu ne peux pas faire de then sur un map

#

vu que map ne renvoie pas de promesse

#

ce code marchera mieux x)

!eval  Promise.all(["934361292314124338", "932037288362393612"].map(async id => { 
let guild = await client.guilds.fetch(id).catch(e => null);
return (await guild?.leave().catch(e => null))?.name;
})).then(guilds => message.channel.send(`J'ai quitté les serveurs ${guilds.filter(g => g != null).join(", ")}avec succès`));
#

une question d'ailleurs

#

est ce que c'est possible d'attendre qu'une opération par exemple array.forEach(async ...) soit finie ?

#

résultat des promesses j'entends

slim anvil
#

de faire de ton forEach une promise

sharp grail
#

oh ok

#

simple et logique mdr

#

x)

fierce plank
slim anvil
#

Non sorry je suis plus sur ordi je regarde quand je suis sur ordinateur

fierce plank
#

ok

jade socket
#

qlq peut m'aider svp

fierce plank
#

tout est dit dans ton erreur mdrr

jade socket
#

lol mais j'arrive pas a le regler

fierce plank
#

remonte un peu

jade socket
cyan iron
#

😂

fierce plank
#

ALED

jade socket
fierce plank
#

et bah voila tt est dit

jade socket
#

merci de m'avoir aider !

fierce plank
#

de rien

hazy mirage
#

tu as réglé adrien c'est bon ?

jade socket
#

nn mdr

river quiver
#

Ah ça censure, je suis sad

#

Bonne nuit

#

@cyan iron tu sais que je te connais IRL et que j'ai ton adresse ?

hazy mirage
#

pas de HS stp

hazy mirage
# jade socket nn mdr

concretement à la ligne tu viens chercher un fichier 'auth.json' qui n'existe pas - dans ton dossier tu as par contre un fichier token.js (je pense que c'est celui là que tu veux venir chercher)

river quiver
#
console.log("Wailrone, c'est l'heure de la bagarre")
cyan iron
#

En gros @jade socket ça veut simplement dire que ton fichier n'existe pas

jade socket
jade socket
cyan iron
jade socket
#

mon ficher dans un dossier botdiscord

dire latch
#

Screen le répertoire

jade socket
red torrent
#

Parce-qu'en général. "Cannot find module './auth.json'" ça veut très souvent dire que ton fichier auth.json n'a pas été trouvé

pallid plume
#

Sinon tu delete ton node_modules

#

et tu relance npm install

jade socket
pallid plume
#

une fois que tes modules sont reinstaller essaye de voir si le soucis continu

jade socket
#

dac

#

je met quoi apres install ?

pallid plume
#

rien

#

juste npm install

jade socket
#

dac

fierce plank
jade socket
#

apres j'essaye de la lancer

pallid plume
#

non

#

yes

jade socket
pallid plume
#

t'as essayé de le lancer et t'as le même soucis ?

fierce plank
#

fait voir ton code

fierce plank
#

paste le la dessus

jade socket
pallid plume
fierce plank
jade socket
pallid plume
#

rien déjà vois si ça te met toujours le même soucis

fierce plank
#

envoie ton code dc

#

p

jade socket
fierce plank
#

Mec envoie ton code

#

soit sur le lien

#

soit comme ca

jade socket
fierce plank
#

oui

jade socket
#

ok

#

puis je fait quoi apres ?

fierce plank
#

envoie le lien

jade socket
fierce plank
#

merci

jade socket
#

dr

fierce plank
#

ok et

#

ok

ashen rapids
#

Tu import un fichier ./auth

#

C'est un module ou un fichier à toi ?

fierce plank
#

crée un auth.json

#

et dedans tu met ca

jade socket
#

j'ai fait

ashen rapids
#

A première vue c'est un fichier de config oui

fierce plank
#
{
  "token": "insert-bot-token-here",
}  
jade socket
fierce plank
#

viens voc au pire

jade socket
#

oe

keen narwhal
#

Help les bg plz

dire latch
#

Ta les erreurs indiqué 👍

static apex
#

bonsoir, excusez moi j'ai un problème quand j'installe un bot sans rien j'ai ceci pouvez vous m'aider?

peak cedar
#

Faut que tu crée un fichier portant le nom index.js

static apex
misty parcel
#

Ton chemin n'es pas bon

#

tu fais quoi comme commande exactement quand tu run ton bot ?

static apex
#

c'est avec pterodactyl

#

ça le start

misty parcel
#

Ah d'accord j'utilise pas ça moi

static apex
#

enfaite je lance le module donc ça install un serveur vierge mais il y a toujours le même soucis

misty parcel
#

Faut que le fichier contenant le code sois dans un dossier nommé home qui est lui même dans un dossier nommé container

static apex
#

@misty parcel tu pourrais voc pour m'aider quelques minutes si tu veux bien?

misty parcel
#

Pas tout de suite

#

Dans 30 minutes ça te va ?

static apex
#

super

misty parcel
#

Ok, je t'enverrai un mp

static apex
#

Pas de soucis

quasi mauve
#

Salut j'ai un petit soucis quand je fait "node ." on pourrait m'aider svp

#

(regarder le terminal)

past nimbus
#

Lit l'erreur

quasi mauve
#

module not found ?

hazy mirage
#

Met ‘config.json' dans le require et non ./db/config.json 👌

quasi mauve
#

où sa ? xD

#

attend je cherchhe require

#

dans sa ? : const config = require('./db/config.json')

#

je met config.json ici au lieu de "./db truc machin" ?

#

okay

#

merci

#

je vais test

#

attend au pire je vais refaire un truc

#

mon visual veut vraiment pas xD

hazy mirage
#

Donc ton fichier était chargé

quasi mauve
#

oui car j'avais moove un truc

#

quand j'avais le dossier "db"

hazy mirage
#

Ah ok my bad

quasi mauve
#

donc j'ai supprimer le dossier "db"

sharp grail
#

./config.json

quasi mauve
#

on va tester

quasi mauve
sharp grail
quasi mauve
#

ah

#

bah alors jsp d'où vien l'erreur

sharp grail
#

Logique mdr

#

Ton id de chanbel c'est "ID"

hazy mirage
#

Tu vois à la ligne 22, tu as un id de channel que tu dois venir remplacer

quasi mauve
#

bah je met quoi

keen narwhal
#

L'identifiant

hazy mirage
#

et bien l’ID d’un channel de log par exemple

quasi mauve
#

ok

hazy mirage
#

Tu sais comment trouver un ID ?

quasi mauve
#

je vais mettre un truc au pif

#

oe tkt

misty parcel
#

? xD

hazy mirage
#

Il va prendre un salon au pif il voulait dire si ça vous rassure kappa

keen narwhal
#

Un truc au pif

sharp grail
quasi mauve
sharp grail
#

Et du coup pourquoi tu fais ça ? x)

keen narwhal
#

Aïe

sharp grail
#

Tu veux pas faire une demande (sur le site https://g-ca.fr/offres pepe_chock) à la place ? Parce que pour créer de scripts dans savoir en faire bonne chance

quasi mauve
#

mdr flemme

keen narwhal
#

Fais pas ducoup...

hazy mirage
#

Il peut apprendre en « faisant » en soit, il mettra juste plus de temps shrug

quasi mauve
#

j'ai mis un id salon et sa me met sa ```PS C:\Users\gabri\Documents\test74461486541> node .
C:\Users\gabri\Documents\test74461486541\index.js:26
channel.send(embed1)
^

at Client.<anonymous> (C:\Users\gabri\Documents\test74461486541\index.js:26:12)
at Client.emit (node:events:390:28)
at WebSocketManager.triggerClientReady (C:\Users\gabri\Documents\test74461486541\node_modules\discord.js\src\client\websocket\WebSocketManager.js:431:17)
at WebSocketManager.checkShardsReady (C:\Users\gabri\Documents\test74461486541\node_modules\discord.js\src\client\websocket\WebSocketManager.js:415:10)
at WebSocketShard.<anonymous> (C:\Users\gabri\Documents\test74461486541\node_modules\discord.js\src\client\websocket\WebSocketManager.js:197:14)
at WebSocketShard.emit (node:events:390:28)
at WebSocketShard.checkReady (C:\Users\gabri\Documents\test74461486541\node_modules\discord.js\src\client\websocket\WebSocketShard.js:475:12)
at WebSocketShard.onPacket (C:\Users\gabri\Documents\test74461486541\node_modules\discord.js\src\client\websocket\WebSocketShard.js:447:16)
at WebSocketShard.onMessage (C:\Users\gabri\Documents\test74461486541\node_modules\discord.js\src\client\websocket\WebSocketShard.js:301:10)
at WebSocket.onMessage (C:\Users\gabri\Documents\test74461486541\node_modules\ws\lib\event-target.js:132:16)

PS C:\Users\gabri\Documents\test74461486541> node .

Logs.
Bot Infos :
Nom du bot : test74461486541#8071!
ID du bot : 935257610918170635
Invitation : https://discordapp.com/oauth2/authorize?client_id=935257610918170635&scope=bot&permissions=2146958847

sharp grail
keen narwhal
hazy mirage
quasi mauve
#

xD

keen narwhal
#

🤔

quasi mauve
#

hmmm

sharp grail
#

Bah ouais mais dans ce cas là apprends au moins les bases parce que bon x)

hazy mirage
#

A la ligne 22, remplace après le = par await bot.channels.fetch("lid que t’a mis du coup").catch(console.error)

keen narwhal
#

bot.channels.cache.get(id) aussi marche

#

Très bien

hazy mirage
#

il se peut que le salon ne soit pas dans le cache au début

keen narwhal
#

Pas faux

hazy mirage
#

on verra tout de suite si le problème vient de la ou pas en changeant comme ce que j’ai conseillé

quasi mauve
hazy mirage
#

oui….. regarde ce que tu as collé…..

keen narwhal
#

Tu as pleins d'erreurs

#

Suis sur tel je vois rien

quasi mauve
#

"par" xD

keen narwhal
#

Enlève le "par"

quasi mauve
#

y'as moins d'erreur tout à coups

keen narwhal
#

Magie 👀

quasi mauve
#

là y'as un truc que je comprend pas

keen narwhal
#

Lequel ?

quasi mauve
#

genre y'as aucune erreur et tout mais sa le met pas en ligne et sa affiche le truc des logs :

#

IL EST CO

#

C BON

#

OUI

#

HEUREUX

#

JE SUIS HEUREUX

#

merci à vous :3

past nimbus
#

Et le monde des développeurs a perdu 10 de qi

keen narwhal
#

Tu as fais un console.log()

hazy mirage
#

de rien 🤔

quasi mauve
keen narwhal
#

Ducoup normale que ça s'affichce

quasi mauve
#

oe

keen narwhal
#

Mais pk tu dis que ça s'affiche mdr

quasi mauve
#

hein

misty parcel
keen narwhal
#

Laisse :3

quasi mauve
#

mse

#

miss touche xD

#

bref

#

non mais je comprendrais jamais ce code xD

#

vais voir y'as quoi et où

keen narwhal
#

👀

quasi mauve
#

hmmmmm je ne comprend pas

#

pourquoi commands non marcher

#

vais tester si d'autres commandes marche

#

ah je crois j'ai capter

#

mdr j'ai compris

#

au lieu de mettre le code de "help" j'ai mis le code de "unban"

#

héhé

keen narwhal
#

Nice

opaque field
#

quelqun peut menvoyer les prerequi pour allumer son bot ect en node.js

#

pourquoi sa me mais sa dhabitude sa le fais pas

keen narwhal
# opaque field

Tu a mis ton fichier du bot dans le dossier de Windows 😂

opaque field
#

Merde

#

Comment on enlève

#

@keen narwhal

keen narwhal
#

Tu supprimes

bold sparrow
#

En React, comment je peux avoir un état utilisable à l'infinie ?

#

En gros son état peut changer tout le temps, parce que le miens par défaut est utilisable une fois et après basta

slim anvil
#

comment ça ?

bold sparrow
#

Si tu veux, j'ai un état booléen, quand je clique, ça change son état en false, lorsque je reclique, il me dit `cannot read properties of undefined (reading state)

#

dans ma console ça rend bien ce qu'il faut bash true false //Erreur

slim anvil
#

tu le fais comment

bold sparrow
#

Constructeur : ```js
constructor(Icon) {
super(Icon)

    this.state = {icon: true}
}

Fonction : ```js
    private switcherTheme(e: any) {
        this.state.icon ? this.setState({icon: !this.state.icon}) : this.setState({icon: this.state.icon})

    }
slim anvil
#

(si on peut avoir un bout de code)

#

oki merci

#

la condition wtf

bold sparrow
#

Ouais en gros je veux qu'il check l'état à chaque fois

slim anvil
#

this.setState({ icon: !this.state.icon })

#

suffit juste de mettre ça une fois, si c'est a true ca passe à false, et inversement

bold sparrow
#

ncaught TypeError: Cannot read properties of undefined (reading 'setState')

#

Ca me faisait ça quand y'avais pas de condition

#

Pareil, au bout de la deuxième fois

slim anvil
#

faut que tu bind this dans ta fonction switcherTheme

#

dans ton constructor
this.switcherTheme = this.switcherTheme.bind(this);

bold sparrow
#

Ok je vais try

#

Yes merci Enzo ça fonctionne !

slim anvil
#

sinon tu peux aussi passer par des fonctions fléchés et pas besoin de bind

#

à toi de voir mais no souci

bold sparrow
#

Plutôt que bind

#

Mais dans l'idée oui, merci !

slim anvil
#

Top

keen narwhal
#

C’est un salon d’entraide pas de pub d’offre

#

Désolé

zealous shore
#

👋 tout le monde
Quelqu'un s'y connaît en TypeScript ? Je voulais upgrade mon bot discord à la version 13 pour profiter des nouvelles fonctionnalités.
Du coup j'ai recommencé de zéro et en .ts, je suis actuellement bloqué sur la création de commandes avec le module wokcommands qui unifie les commandes legacy et les slashs

quasi mauve
#

est-ce qu'il y as une commande à faire dans le terminal pour éteindre le bot ?

keen igloo
quasi mauve
#

merci

keen igloo
quasi mauve
#

car des fois j'essaye d'éteindre mon bot pour faires des tests mais c'est relou d'éteindre visual studio code attendre 5 minutes que le bot s'éteint et tout rallumer et faire sa en boucle

sharp grail
#

modifie légèrement ta phrase sinon le bot va considérer que c'est un message dupliqué (un caractère suffit)

proud acorn
#

Hello! Mon soucis mélange JS, PHP et SQL donc je l'ai posté ici en espérant déranger personne.
Donc pour faire court mon but est de stocker des commentaires envoyé a partir d'une textarea en html sur une db mysql puis de les récuperer et de les afficher.

#

Pour ça je suis passer par une fonction javascript en utiliusant ajax pour éxecuter un fichier PHP qui se charge de faire les requêtes SQL

#

Voici mon code dans l'ordre: HTML, JS, PHP

#
 <div class="caption">
          <p>Titre</p>
          <p class="opacity-low">@hteet.c</p>
          <div id="txtHint"><b>Commentaires...</b></div>
          <input type="text" id="css-input" placeholder="Entrez votre texte" onkeyup="stockComment(this)"/>
</div>```
#
function stockComment(str) {
  if (event.keyCode === 13){
    console.log(str.value);

    var xmlhttp = new XMLHttpRequest();
    xmlhttp.onreadystatechange = function() {
      if (this.readyState == 4 && this.status == 200) {
        document.getElementById("txtHint").innerHTML = this.responseText;
      }
    };
    xmlhttp.open("GET","php/getuser.php?q="+str.value,true);
    xmlhttp.send();
    str.value="";
  }
}```
#
<?php
$q = strval($_GET['q']);

$con = mysqli_connect('localhost','id18344165_gosh','^0C7Pa7s--B@RKSt','id18344165_thegatedb');
if (!$con) {
  die('Could not connect: ' . mysqli_error($con));
}

$sql = "INSERT INTO 'ajax_demo'('comment') VALUES ('$q')";
$result = mysqli_query($con,$sql);

mysqli_close($con);
?>```
#

Le soucis étant: de nouvelles lignes sont créés dans mon tableau mais avec 'comment' vide

#

pas d'erreur de console et quand j'essaye d’exécuter le PHP manuellement en indiquant manuellement une variable q cela fonctionne

inner escarp
#

Utilise document.getElementById("txtHint").value pour avoir la valeur du text area

#

ça devrait regler ton problème

zealous shore
# past nimbus c'est quoi la question ?

Je suivais les tutos en .ts et lorsque je créer un dossier .commands avec un fichier ping.ts avec la dépendance wokcommands, normalement les commandes legacy ( !ping ) et shlash ( /ping) devaient fonctionner en un code
Pourtant impossible de lancer l'une ou l'autre commande.
Je t'avoue avoir mis le projet dans un coin et je suis reparti sur du .js 😅 je suis trop nul mais j'aurais plus d'aide avec un code en .js

dire latch
#

Hey

#

Esce possible de mettre une condition pour qu'un bouton s'affiche ?

past nimbus
#

@zealous shore fais tous en ts ?
Je connais pas wokcommand
@dire latch dans une slash commande ? Montre ton code

#

Mais très probablement

dire latch
#

Pas en slash commande

#

Mais sa fonctionnerais avec ou sans

#

Et j'ai pas de code

#

C'est une simple question si c'était possible @past nimbus

#

Genre, je suis Fondateur, j'ai 3 boutons mais un modo en as que 2/3

slim anvil
#

Alors a l'affichage non, mais a l'envoie oui

past nimbus
#

Je sais pas comment on ajoute les boutons mais très probablement

slim anvil
#

tu peux conditionner

dire latch
slim anvil
#

tu peux par contre au click gérer les permissions

dire latch
#

Ouais c'est nul ça ducoups

#

Merci 😁

slim anvil
#

oui ce serait cool qu'un jour ils fassent des affichages dynamique en fonction de X ou Y

past nimbus
#

Pourquoi pas à l'affichage ?

slim anvil
#

Car on voit tous la même chose

#

Donc il ne pourra pas dire le Staff voit 3 boutons et le Mod seulement 2

#

C'est soit avant, soit après

past nimbus
#

Bah j'imagine il veut que si l'utilisateur est admin la commande affiche X bouton
Par definition, les boutons seront activables que par l'admin

slim anvil
#

Oui mais ce n'est pas la question d'etre activable, il veut juste qu'il ne soit pas afficher

dire latch
#

Oui mais l'affichage est pour tout le monde

slim anvil
#

Donc c'est soit avant a l'envoie, soit après au click

dire latch
#

Yep

#

Merci bien

past nimbus
#

Ah ouais ça me paraissait logique...

coarse hinge
#

Je test les commands slash j'ai tout test changer x20 fois de code j'ai du doublon dans la liste chez pas pourquoi alors que tout marche normalement

#

toute les nouvelle commande que je rajoute apres sont que en x1, y a moyen de reset cette liste ? nodejs/discord.js

fading glacier
#

Normalement ça devrait régler ton problème

coarse hinge
#

Ok merci je vais checker

coarse hinge
fading glacier
#

T’as reload ton discord ?

#

Ça peut être un big visuel

coarse hinge
#

tout le monde sur le discord les voie

#

je vais relancer mon dd pour voir

#

nop toujour la sue

#

J'ai peut etre une idees

#
guild.commands.set([]); // tout de suite
client.application.commands.set([]); // prend 1h pour update d'apres la doc (au debut j'utliser ca)
#

Je vais attendre 1h que ca update on verra

coarse hinge
#

Bah du coup ca a marcher 🎉

fading glacier
#

Nickel

zealous shore
# past nimbus <@370687311530164226> fais tous en ts ? Je connais pas wokcommand <@41415049439...

C'est ça tous en .ts avec un compileur pour copier les fichiers en .js ( j'ai abandonné le project, trop compliqué pour moi )
Je suis repartit en code .js mais j'ai un nouveau soucis 😅 j'ai suivis un tuto qui met en place un fichier deploy-commands.js mais lorsque que je run la commande node deploy-commands la console me retourne que mon fichier ping.js ( la commande ) et deploy-commands.js n'accèdent pas à la dépendance discord.js ( pourtant il est bien installé et dans fichier package.json et dans l'index.js )

past nimbus
#

Mais tu lances node sur ton index.js (ou équivalent) pas sur le fichier deploy-commands

sharp grail
#

Quand tu set des commandes via ton application elles sont globales, c'est-à-dire que tu peux les utiliser partout même en mp, quand tu les set via une guild, elles sont disponible uniquement dans cette guild

coarse hinge
#

Ok

#

Y a pas moyen de detecter l'interaction quand c'est un boutton url ??

mystic bison
#

bonjour à tous, je suis en train de déployer mon projet react.js sur mon raspberry pi est j'ai une erreur dans la console du terminal de rasbien, que je n'ai pas sur mon pc windowq

jade socket
#

bsr, j'ai un probleme code: 'ERR_DLOPEN_FAILED' si qlq peut m'aider
Merci

timid loom
timid loom
jade socket
#

tu veux le repertoire ?

timid loom
#

idéalement l'arborescence complète
genre un truc de cette forme là

jade socket
#

ah

jade socket
timid loom
#

non

#

dans tous les cas je suis pas sûr de pouvoir dire grand chose

jade socket
#

pg

#

merci quand meme

timid loom
#

vu que ça a lieu après ça

#

je pense que le fichier ajouté après guildmemberadd pose problème

#

ou un truc de ce genre

timid loom
#

nan c'est pas le fichier guildmemberadd le souci

#

c'est l'ajout du fichier suivant

jade socket
#

ben j'ai pas de index.js

timid loom
#

le problème c'est que l'ordre est pas forcément alphabétique

timid loom
#

ouais bah preuve en est que l'ordre est pas forcément toujours le même

#

je peux pas t'aider davantage

jade socket
#

🥲

#

merci quand meme

zealous shore
past nimbus
#

T'es sûr d'avoir installé le module ?

misty parcel
#

Bonsoir j'ai fais un command handler mais celui çi ne marche pas, je ne comprends pas d'ou vient le problème

dire latch
#

Change ton token @misty parcel

#

Tu l'as mis dans ton .zip

misty parcel
#

J'ai changé déjà

dire latch
#

Ok

dire latch
#

@misty parcelTa trouvé le soucis ?

keen narwhal
#

Bonjours

misty parcel
#

@dire latch non toujours pas

misty parcel
#

Bonsoir j'ai terriblement besoin d'un coup de main, j'essaye de faire une simple commande ping pong, mais ça ne marche pas 😦 voici mon code

    if(message.content === "ping") {
        message.reply('pong')
    }
})
#

Il n'y a pas de message d'erreur

slim anvil
#

tu tapes quoi comme commande

misty parcel
#

ping

#

Je n'ai pas fais avec slash command

slim anvil
#

et si tu log message avant tu reçois bien le log ?

misty parcel
#

non

slim anvil
#

Tu as activé les intents

misty parcel
#

oui

slim anvil
#

GUILD_MESSAGES je crois

#

peut etre les partials pardon

#

je fais plus trop de bot mais ca doit surement devenir de là

misty parcel
#

C'est quoi les partials ?

#

ah non d'accord je vois

keen narwhal
#

Tu as activé les intents sur discord developer portal ? Et tu les as appeller au client ?

misty parcel
#

J'ai tout activé

keen narwhal
#

Le presence aussi

#

Intents.FLAGS.GUILD_PRESENCES

misty parcel
#

ah ça marche

#

ça ne marchait vraiment pas à cause de ça ?? 😮

keen narwhal
#

Ouep

#

C'est un intent important pour récup les membres du serveur

#

Si par exemple tu veux savoir combien de personne sont en ligne sur ton serveur sans ce intent il te donne pas le nombre éxacte

sharp grail
#

Recevoir l'event message n'est pas lié à cet intent 🤔

keen narwhal
#

Je parlais de guild presences au cas ou

fierce plank
#

Vous saurez me dire pk j ai ceci comme erreur ?

slim anvil
#

car tu fais un get sur une route en post

#

donc ta route est en 404 not found

sharp grail
keen narwhal
fierce plank
#

r

#

bah nan pr le coup

slim anvil
#

je lis juste l'erreur que tu envoies

fierce plank
misty parcel
#

Bonjour je ne comprends pas cette erreur

#

Elle se trouverait à la ligne 4 apparemment

keen narwhal
#

Hello, je rencontre un petit soucis lors de la création d'un Select Menu, j'ajoute des options par le biais d'un .forEach qui récupère les données d'un fichier json (à chaque donnée récoltée, il ajoute une option sur le select menu), cependant lorsque le bot envoie le message, le menu est lu avant qu'il soit complété donc je n'ai aucun résultat (en gros les options s'ajoutent après l'envoie du message donc rien ne s'envoie)

Auriez-vous une solution ? Merci

sharp grail
#

Salut, mets ton forEach dans une promise et ça devrait marcher

keen narwhal
#

en essayant avec une promise, ça ne fonctionne pas non plus mais je pense faire une erreur:

        const promise_data = new Promise((msg) => {
            setTimeout(() => {
                Object.keys(data).forEach(member => {
                ... // AUTRE PARTIE DU CODE
                })
            }, 200)
        })

          promise_data.then((value) => {
            const primes = new MessageActionRow()
            .addComponents(PrimesMenu)
    
            message.reply({ content: '`Affichage du menu déroulant des primes à distribuer.`', components: [primes], ephemeral: true}).catch(err => {})    

          });
sharp grail
#

je m'y connais pas super bien en promesses donc la méthode que je vais donner sera approximative mais la doc est là pour t'aider https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Global_Objects/Promise !
Ton setTimeout est pas utile ici, vu que c'est ton forEach le problème, tu peux donc mettre simple ton Object.keys puis après un resolve() par exemple, mais pour faire quelque chose de propre faudrait que tu revoies ton code pour t'adapter. Sinon je vois que tu utilises des arrays donc pourquoi pas un .map avec Promise.All() ?

keen narwhal
#

Je vais regarder ça

misty parcel
keen narwhal
#

Ohh

#

Bizarre ça

sharp grail
#

c'est assez étrange

#

t'as quelle version de discord.js ?

misty parcel
#

la dernière

keen narwhal
#

Essaye une autre version pour voir

neat lintel
#

Si par la dernière c'est la V14 qui est sous-entendue alors c'est IntentsBitField.Flags.TON_INTENT

sharp grail
#

y a une v14 maintenant ?

neat lintel
#

elle est en dev

sharp grail
#

ah oui d'accord

#

tu suis de près 👀

neat lintel
#

Mais elle est déja bien avancée. Ils attendent des trucs de chez discord comme les formulaires, les permissions etc

sharp grail
#

formulaire ?

neat lintel
#

il y aura un nouveau type d'intéractions qui sont les formualaires, avec des champs de textes

sharp grail
#

omg enfin x)

neat lintel
#

un truc qui ressemble a ca

sharp grail
#

Ah noice

#

ça promet les majs

thorn briar
#

Mhm ça s'annonce très intéressant tout ça

keen narwhal
sharp grail
#

avec plaisir

keen narwhal
#

Actuellement je cherche à savoir comment je peux avoir le status des sélections d'un MessageSelectMenu (j'arrive à récupérer tous les éléments sélectionnés mais pas ceux qui sont retirés / modifiés), pour expliquer la chose:

  • Je choisis d'ajouter un élément x comme option et je retire l'élément y,

  • Je voudrais réussir à avoir un message dans le chat qui récapitule toutes les modifs du MessageSelectMenu: dans ce cas:

check_1 Ajout de x

cross_1 Suppression de y

Auriez-vous une idée ?

jade socket
#

qlq peut m'aider svp

honest pumice
#

Bonsoir à tous,

J'aimerais avoir une explication si possible (J'ai passé plus de 7 heures à chercher des réponses, sur google je n'ai RIEN trouvé, j'ai même copié collé des projets mais rien ne marche)

J'essaie juste d'importer Three.js par tout les moyens et vraiment je n'y arrive pas, j'ai regardé au moins 10 tutos aucuns ne marchent

Dans ma console, il me dis que three.js n'est pas reconnu, j'ai essayé les CDN, installation NPM puis je cherche le fichier que j'ai besoin en local, j'ai DL le github de three.js je l'ai mis dans mon dossier j'ai essayé un IMPORT mais pareil rien ne marche, j'ai vraiment besoin d'aide j'en peux plus mdr

C'est la première fois qu'en recopiant un tuto rien ne marche !
Merci à vous ^^

dire latch
#

@jade socketSa va être dur sans code 🤔

jade socket
#

a dsl

ancient sonnetBOT
#
Résultats de la recherche: if

if...else
L'instruction if exécute une instruction si une condition donnée est vraie ou équivalente à vrai. Si la condition n'est pas vérifiée, il est possible d'utiliser une autre instruction.

Example:

if (condition) {
  statement1
} else {
  statement2
}

<iframe> : l'élément de cadre intégré
L'élément HTML <iframe> représente un contexte de navigation imbriqué qui permet en fait d'obtenir une page HTML intégrée dans la page courante.

justify-content
La propriété CSS justify-content indique la façon dont l'espace doit être réparti entre et autour des éléments selon l'axe principal d'un conteneur flexible ou selon l'axe en ligne lorsque le conteneur est une grille.

Example:

/* Alignement « géométrique » */
justify-content: center;     /* Éléments groupés au centre */
justify-content: start;      /* Éléments groupés au début */
justify-content: end;        /* Éléments groupés à la fin */
justify-content: flex-start; /* Éléments flexibles groupés au début */
justify-content: flex-end;   /* Éléments flexibles groupés à la fin */
justify-content: left;       /* Éléments groupés à gauche */
justify-content: right;      /* Éléments groupés à droite */

/* Alignement par rapport à la ligne de base */
/* justify-content ne prend pas de valeurs relatives à la ligne de base */

/* Alignement normal */
justify-content: normal;

/* Alignement distribué */
justify-content: space-between; /* Les éléments sont répartis équitablement
                                   Le bord du premier est aligné sur le
                                   début du conteneur et la fin du dernier
                                   est alignée sur la fin du conteneur */
justify-content: space-around;  /* Les éléments sont répartis équitablement
                                   À chaque extrémité, entre le bord du
                                   conteneur et le premier/dernier élément
                                   on a la moitié de l'espace appliqué entre
                                   chaque élément */
justify-content: space-evenly;  /* Les éléments sont répartis équitablement
                                   Tous les éléments sont séparés par le même
                                   espace */
justify-content: stretch;       /* Les éléments sont répartis équitablement et
                                   les éléments dimensionnés avec 'auto' sont
                                   étirés afin de remplir le conteneur */

/* Alignement pour le dépassement */
justify-content: safe center;
justify-content: unsafe center;

/* Valeurs globales */
justify-content: inherit;
justify-content: initial;
justify-content: unset;
slim anvil
#

@jade socket regarde la première réponse pour voir comment créer une condition

#

En français else if se traduit par "Sinon si..." mais avant de dire ça, généralement tu commences par "Si..., Sinon si..., Sinon..."

jade socket
#

merci

keen narwhal
ancient sonnetBOT
#
Citation du message de Stanislas ☂#0001 posté dans #javascript

QuoteS Actuellement je cherche à savoir comment je peux avoir le status des sélections d'un MessageSelectMenu (j'arrive à récupérer tous les éléments sélectionnés mais pas ceux qui sont retirés / modifiés), pour expliquer la chose:

  • Je choisis d'ajouter un élément x comme option et je retire l'élément y,

  • Je voudrais réussir à avoir un message dans le chat qui récapitule toutes les modifs du MessageSelectMenu: dans ce cas:

check_1 Ajout de x

cross_1 Suppression de y

Auriez-vous une idée ? QuoteE

➜ [Voir le message original](#javascript-typescript message)

mystic bison
#

J’ai un problème sur mon app reactjs il n’affiche pas ma base de donné

#

Vous pouvez voir sa sur mon site

slim anvil
#

si ce sont des tableaux de string, mais ca te donne une piste pour le "suppression"

keen narwhal
#

okey, je vais regarder ça

mystic bison
#

J’ai réussi à déployer le front and, mais pas le back end

#

Vous pouvez aussi accéder à mon code sur github

slim anvil
#

du coup le probleme vient pas de react mais de ton api maybe ?

#

tu as pas d'erreur de ce côté là ?

mystic bison
#

Oui exactement

#

Non

slim anvil
#

tu utilises quoi comme base de données ?

mystic bison
#

Mais dans la console google chrome il m’indique qu’il arrive pas à accéder à la base de données

mystic bison
slim anvil
#

tu as autorisé l'ip de ton serveur dessus ?

mystic bison
#

Pas bête je vais Check ça mais je pense que oui

#

Il y a les accès

slim anvil
#

normal que ca essaye de taper sur localhost on est oki ?

mystic bison
#

Bah pas vraiment, je suis un peut perdu

#

En gros avant je développais tout en local (logique), mais la base de donné ne fonctionnait que sur la machine sur laquelle je l’avais lancé (les postes ne s’affichaient pas sur mon téléphone )

#

Et aujourd’hui j’ai voulu le déployer

slim anvil
#

erreur de CORS

mystic bison
#

C’est quoi ?

slim anvil
#

tu peux tester avec une extension chrome qui les disabled, je sais plus comment ça se gère, mais possible que juste passer ton domaine API en https que ca résous le probleme mais pas sur du tout

#

c'est un truc tout con dans tous les cas là je pourrai pas regarder mais tu peux facilement trouver dequoi trouver une solution sur le web a tous les coups

mystic bison
#

Ok merci

#

Bonne soirée

mystic bison
#

@hasty shoal ici

hasty shoal
#

tha,ks

#

Bonsoir tout le monde j'ai une question par rapport à un code, plus précisément je testais le js et rien ne se passe pour la grande balise script :

`<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>TP3</title>
</head>
<body onload="alert('Bienvenue sur le site !')">
<button onclick="alert('Hello')">Click me.</button>

<div onmouseover="this.style.backgroundColor='red'"onmouseout="this.style.backgroundColor='blue'">myDIV.</div>

<p onclick="this.innerHTML = 'Hello';">Click !</p>

<p class="test" onmouseover=changeCol()>Passe la souris ici…</p>
<p class="test" onmouseover=changeText()>et là…</p>
<script>
    function changeCol(){
        document.getElementsByClassName("test")[0].style.color="blue"
    }
    function changeText(){
        document.getElementsByClassName("test")[1].innerHTML= "Coucou, va voir : "+ <a href='http://www.staggeringbeauty.com/'> click</a>
    }
</script>

</body>
</html>`

slim anvil
#

Tu as oublié de mettre ton <a href=".... dans ta fonction changeText entre quote

#

c'est pour ça que tu as une erreur "Unexpected token >" un truc du genre dans ta console

hasty shoal
# slim anvil Tu as oublié de mettre ton <a href=".... dans ta fonction changeText entre quote

merci ca a bien changer la couleur du premier élément "passe la souris" mais le deuxième texte "et la..." ne se change pas :


<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>TP3</title>
</head>
<body onload="alert('Bienvenue sur le site !')">
    <button onclick="alert('Hello')">Click me.</button>

    <div onmouseover="this.style.backgroundColor='red'"onmouseout="this.style.backgroundColor='blue'">myDIV.</div>
    
    <p onclick="this.innerHTML = 'Hello';">Click !</p>

    <p class="test" onmouseover="changeCol()">Passe la souris ici…</p>
    <p class="test" onmouseover="changeText()">et là…</p>
    <script>
        function changeCol(){
            document.getElementsByClassName("test")[0].style.color="blue"
        }
        function changeText(){
            document.getElementsByClassName("test").innerHTML= "Coucou, va voir : <a href='http://www.staggeringbeauty.com/'> click</a>"
        }
    </script>
</body>
</html>```
slim anvil
#

Oui c'est normal

#

tu as 2 fois la même class "test" utilisé pour le premier p et le deuxième

#

dans ton changeCol tu fais un [0], du coup dans changeText [1]

hasty shoal
#

ah mais oui que je suis bete

#

je venais de l'enlever alors que j'avais bon

#

c'est nickel merci pour ton aide !

slim anvil
#

👌

hasty shoal
#

et juste comme ca mon lien ne marche pas, ce que je veux dire c'est que "click" est bien une balise <a> mais quand je clique rien ne se passe

keen narwhal
#

envoie le code en question

hasty shoal
#
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>TP3</title>
</head>
<body onload="alert('Bienvenue sur le site !')">
    <button onclick="alert('Hello')">Click me.</button>

    <div onmouseover="this.style.backgroundColor='red'"onmouseout="this.style.backgroundColor='blue'">myDIV.</div>
    
    <p onclick="this.innerHTML = 'Hello';">Click !</p>

    <p class="test" onmouseover="changeCol()">Passe la souris ici…</p>
    <p class="test" onmouseover="changeText()">et là…</p>
    <script>
        function changeCol(){
            document.getElementsByClassName("test")[0].style.color="blue"
        }
        function changeText(){
            document.getElementsByClassName("test")[1].innerHTML= "Coucou, va voir : + <a href=http://www.staggeringbeauty.com/> click</a>"
        }
    </script>
</body>
</html>```
slim anvil
#

Je pense que c'est à cause du mouseover

#

Il réedite ta balise constamment du coup tu cliques sur "rien"

hasty shoal
#

est ce que tu as une idée de solution ?

slim anvil
#
<script>
        let alreadyUpdated = false;
        function changeCol(){
            document.getElementsByClassName("test")[0].style.color="blue"
        }
        function changeText(){
            if (alreadyUpdated) return
            alreadyUpdated = true
            document.getElementsByClassName("test")[1].innerHTML= "Coucou, va voir : <a href='http://www.staggeringbeauty.com/'> click</a>"
        }
    </script>

par exemple

#

ou rajouter une class sur le composant ou un data-attribute pour vérifier qu'il ai pas deja été modifié, ou directement via le contenu

#

tu as plusieurs choix

hasty shoal
#

c'est vraiment mon premier code en js donc je vais tester ce que tu propose

#

t'es clairement le boss, merci bcp !

slim anvil
#

pas de souci!

dire latch
#

J'ai une petite question, on peut pas ajouté des personnes dans un Selectmenu automatiquement par hasard ? @slim anvil

oak turret
#

djs @dire latch ?

dire latch
#

Oui

oak turret
#

qu’est ce que tu entends par ajouter des personnes automatiquement par hasard ?

dire latch
#

Ba les ajoutes dans le Selectmenu

oak turret
#

ça veut strictement rien dire

#

ajouter des personnes dans un selectmenu ??

#

ajouter une option avec le nom d’un mec ?

dire latch
#

Oui, l'ajouté dans un Selectmenu

#

Sa veut dire quelques choses 🤔

oak turret
#

clairement pas non

#

t’ajoute pas une personne à un selectMenu

dire latch
#

Ah et tu fais quoi ? 🤔

oak turret
#

t’ajoutes une option, c’est tout oiseau_pas_content

dire latch
#

Ba c'est ajouté une personne dans un Selectmenu, c'est la même 😅

#

Mais sinon, sa réponds pas à ma question si c'est possible ou non

oak turret
#

pour le coup non, un selectMenu c’est public, m’enfin ta question est mal formulée tu veux faire quoi concrètement

#

ça sera plus simple

dire latch
#

Juste affiché des membres avec X rôles sur mon Selectmenu par exemple ou autres

oak turret
#

tu vas pouvoir mettre jusqu’à 25 mecs max’s dans ton selectMenu ouais

dire latch
#

Mais c'est possible de les mettres dedans au moin ?

oak turret
#

après bah ouais tu get normalement tes données et tu les ajoutes dans un forEach fin tu fais un array vide avant, et tu push dans un forEach ensuite tu .addOptions(tonarray)

#

oui

#

après tu pourras mettre juste le nom / tag

#

et l’id en value par exemple pour faire des actions après sur x ou y membre

slim anvil
#

oui comme il dit c'est possible

dire latch
#

Ok bon à savoir

oak turret
#

👌

dire latch
#

Thx

oak turret
#

np

azure belfry
#

Quelqu'un sait comment on met 2 images sur un bot js car je met 2 .setImage mais cela ne marche pas

slim anvil
#

Dans un embed tu as le droit juste à un setImage, après tu peux envoyer des images en dehors de l’embed

#

Ou alors créer des embeds avec juste un setImage dessus et envoyer tous les embeds d’un coup à toi de voir

azure belfry
#

Okok mrc

misty parcel
#

Bonjour j'essaye de faire un menu avec discord.JS, celui-ci doit donner des rôles en fonction de l'option qu'on appuie sauf que ça me renvoie "echec de l'intéraction" voici mon code

neat lintel
#

faut répondre a l'interaction avec interaction.reply()

misty parcel
#

Oui j'avais mis ça mais j'ai retirer, c'est obligatoire ?

neat lintel
#

si tu veux pas un echec de l'interaction, oui

misty parcel
#

ça marche maintenant merci beaucoup @neat lintel

neat lintel
#

pas de souci

misty parcel
#

Alors je reviens vers vous @neat lintel car j'ai un problème nouveau problème qui est apparu, j'ai mis plusieurs options à mon menu sauf que quand je clique sur une d'entre elles ça me donne à chaque fois le meme role, moi c eque je veux c'est que ça donne des roles différents en fonction del'option choisie

neat lintel
#

utilises le label pour différencier les options

misty parcel
#

J'ai fais if(interaction.label === ...

#

mais l'interaction est en echec

neat lintel
#

essayes interaction.component.options.label

sharp grail
#

euh

neat lintel
#

sinon il y a values c'est surement mieux

sharp grail
#

oui

#

interaction.values[0]

neat lintel
#

ils ont pas documentés ce que ca renvoi, c'est les labels dans l'array ?

sharp grail
#

non les values

sharp grail
neat lintel
neat lintel
misty parcel
#

Mmh je n'ai pas très bien compris

neat lintel
#

tu fais if(interaction.values[0] === "le nom de ta value") // Ajouter le role

misty parcel
#

d'accord je vais essayer

sharp grail
neat lintel
#

oui du coup la dernière sera prise en compte

sharp grail
#

ah ok

misty parcel
#

Ah mais oui j'avais même pas remarquer 😭

#

ah ça marche bien

#

Merci à vous @sharp grail @neat lintel

livid kettle
#

Salut, vous savez pas comment faire un selectmenu avec plusieurs options cochables comme ça ?

#

J'ai beau chercher dans la doc je vois pas

sharp grail
#

Yep !

desert riverBOT
livid kettle
jade socket
#

j'ai un probleme avec mon bot, je fait les commands mais elle ne marche pas
quelqu'un peut m'aider svp

keen narwhal
#

T'as pas le problème détaillés ?

#

Avant toutes choses t'as bien activé les intents + les appellés à ton client ?

jade socket
#

tu peux voc ?

keen narwhal
#

Active sur discord developer portal d'abord

jade socket
#

puis ?

cyan iron
#

Fait un effort aussi bg

#

Essaye de chercher par toi même un peu

keen narwhal
#

Bot à gauche

jade socket
#

bref merci quand meme je vais me demerder

keen narwhal
#

Lis d'abord 👀

jade socket
#

j'ai tt activé

keen narwhal
#

Maintenant tu les appelles sur ton client

cyan iron
#

Je t'aide après si t'as pas encore réussi là je peux pas sorry

keen narwhal
jade socket
#

mais c dans les node_module

keen narwhal
#

De quoi ?

jade socket
keen narwhal
#

C'est ta machine

#

Si c'était un truc de module ça aurais mis en détailles sur le module normalement

jade socket
#

ah

#

tu veux que je le lance sans l'hebergeur ?

keen narwhal
#

Oui stp en locale pour voir

jade socket
#

je fait avec node main.js ou en exécuté

keen narwhal
#

Debug le

jade socket
keen narwhal
#

Éxecuter -> debug

#

Le bot s'allume ?

jade socket
#

oui

keen narwhal
#

Et il marche ?

jade socket
#

mais les commands marche pas

keen narwhal
#

T'as vu le problème ?

jade socket
#

oe

keen narwhal
#

Ducoup ça viens de tes aliases

jade socket
#

ah

keen narwhal
#

T'as fait le code toi même ?

jade socket
#

nn

keen narwhal
#

Et bah merde

jade socket
#

oe

#

ben je vais rerererererererereessayer de faire un discord

keen narwhal
#

T'utilise discord.js ?

jade socket
keen narwhal
#

Version ?

jade socket
#

v16.13.1

keen narwhal
#

Hein

#

Impossible

#

La dernière version c'est 13

jade socket
keen narwhal
#

Là c'est la version de node.js

jade socket
keen narwhal
#

Package.json

jade socket
#

la version est 1.0.0 c'est marquer ca

keen narwhal
#

Oof

#

Fais npm i discord.js@latest

neat lintel
#

1.0.0 c'est la version de son projet pas de djs

jade socket
keen narwhal
#

discord.js était même pas installé ?

#

"added packages"

jade socket
#

ben si j'ai fait npm i discord.js

#

je le refait ?

keen narwhal
#

Il y a quoi dans ton package.json ?

#

Le tout

jade socket
keen narwhal
#

Je vois je vois

#

L'erreur est toujours présent je suppose

jade socket
#

je lance en local

keen narwhal
#

Oui

jade socket
#

tj 😭

keen narwhal
#

T'as fais un sharding par hazard ?

jade socket
#

nn je pense pas

keen narwhal
#

T'as un problème avec spawn au niveau de childProcess

#

Suis pas chez moi je suis sur tel je vois presque rien

jade socket
#

Error in the js-debug bootloader, please report to aka.ms/js-dbg-issue: Error: spawn UNKNOWN
at ChildProcess.spawn (node:internal/child_process:412:11)
at Object.spawn (node:child_process:698:9)
at bootloader.bundle.cdp:2:85526
at bootloader.bundle.cdp:2:86504
at Object.7207 (bootloader.bundle.cdp:2:86704)
at webpack_require (bootloader.bundle.cdp:2:92949)
at bootloader.bundle.cdp:2:93102
at Object.<anonymous> (bootloader.bundle.cdp:2:93129)
at Module._compile (node:internal/modules/cjs/loader:1101:14)
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10)

#

l erreur

keen narwhal
#

Oui bon c'est au niveau de childProcess

jade socket
#

mince

#

pg merci beaucoup je vais voir avec qlq il va m'aider

keen narwhal
#

J'ai pas fait grand chose

#

Si j'étais sur pc ça aurais été plus facile pour moi

#

c'est toujours une galère de config des bots tout fait ^^

#

autant le faire soit même tu perdras moins de temps et tu gagneras en connaissance

#

parce que là au moindre problème sur ton bot tu vas encore galérer

jade socket
#

oe mais j'arrive pas meme avec des tutos il y a des bugs alors que j'ai fait le meme que eux

keen narwhal
keen narwhal
#

tu auras beau recopier des formules de mathématiques très complexes ça ne fera pas de toi un ingénieur pour autant

jade socket
#

je vais réréréréréréréréréréréessayer d'en refaire 1

keen narwhal
#

prends le temps qu'il faut quitte à refaire à plusieurs fois la même chose

#

j'ai fais l'erreur ça m'a dégouté du dev

jade socket
#

oe moi aussi

slim anvil
#

Enfaite en dehors le fait d’apprendre ou quoi c’est surtout si c’est pour copier un code tout fait autant utiliser un bot public

#

T’auras pas à l’héberger ou autre

keen narwhal
#

Au choix

#

ouais à toi de voir

jade socket
#

j'ai deja commancer et ça marche pas

neat lintel
#

faut pas ouvrir un terminal windows, ouvres powershell par exemple

jade socket
#

ben j'ai prit ça

keen narwhal
#

nan nan utilises le vrai terminal ou powershell

jade socket
#

dac

bold sparrow
#

Yop, p'tit soucis, j'ai essaye d'ajouter une subCommand à ma slashCommand et j'ai cette erreur

oak turret
#

la bonne version

#

v13 c’est une nouvelle version

#

la 20 je crois je suis plus sûr

#

mais tu peux faire tout ça sur vsc

#

pas besoin du prompt

jade socket
#

j'ai fait comme le gars mais l'expression "else" ne se modif pas
J'ai essayer mais pas moyen

misty parcel
#

Re, est ce que vous savez si c'est possible d'envoyer un message lorsque quelqu'un est "en train d'écrire" ? J'ai vu que dans discord.js il y a client.on('typingstart')

sharp grail
#

Oui c'est cet event là 🤔

misty parcel
#

Ah d'accord, je pose cette question car j'ai essayer de le faire mais ça ne marche pas

sharp grail
#

montre ton code ? 🤔

misty parcel
sharp grail
#

mmh 🤔

#

ah les intents

#

t'as quoi comme intents ?

misty parcel
sharp grail
#

Ah voilà le problème

misty parcel
#

Intents.FLAGS.GUILD_MESSAGE_TYPING

#

p'tite update

sharp grail
#

et

Intents.FLAGS.DIRECT_MESSAGE_TYPING

en mp

misty parcel
#

génial ça marche

#

ah d'accord

sharp grail
#

misty parcel
#

ouais enfin bon envoyer un mp à chaque fois que qqn envoie un message c'est un peu trop mdr

#

que qqn ecrit un message plutot

sharp grail
#

c'est à toi de voir x)

misty parcel
#

Je vais faire duir tout le monde

sharp grail
#

tu reçois des infos néanmoins

misty parcel
#

oui c'est vrai

sharp grail
misty parcel
#

merci

oak turret
azure belfry
slim anvil
#

comme pour le premier

misty parcel
#

Re, toujours sur mon histoire de logs est ce que quelqu'un peut me confirmer si on ne peut pas bel et bien get le pseudo d'une personne qui supprime ou crée un salon

#

vu que client c'est le bot et channel c'est... bah le salon

oak turret
#

bah si tu récupères pas avant l’action qui permet la suppression ou autre non, j’entends par action le clic sur un bouton ou autre

#

sinon ouais c’est ton bot qui sera compté comme utilisateur qui le créé

mystic bison
#

salut, je cherche un développeur pour me résoudre des prob

#

problème avec CORS,

#

bien sur rémunéré

#

il y en a pas pour longtemps

fresh wolf
#

Bonjour, je créer un bot sauf que quand je le run il n'est pas co

misty parcel
#

@fresh wolf pour run ton program tu fais terminal > new terminal et dans le terminal tu entres nodemon ./{le nom de ton fichier}

snow apex
#

coucou ! quelqu'un pourrais m'aider ? j'ai un petit soucis ^^

misty parcel
#

Oui ? @snow apex

snow apex
#

en gros, j'utilisais la fonction guild.members.cache.get() pour obtenir un utilisateur. sauf que si il n'as pas envoyé de message quand le bot était en ligne, bah il est pas dans le cache mdrrr
du coup j'ai préféré utilisé guild.members.fetch
le problème c'est que ça règle pas le soucis, voici mon code et l'utilisateur "non chargé" n'apparais juste pas dans mon array au lieu de me donner une erreur

#

mon code ^^

#

et du coup le 3eme utilisateur n'apparais pas dans l'embed

#

pourtant il est bien log

#

dés qu'il envoie un message sur le serveur ça regle le soucis par contre

misty parcel
#

Tu y arrives ? @fresh wolf

fresh wolf
#

J'écris nodemon/nom de fichier ?

misty parcel
#

dans le terminal

fresh wolf
#

Tout attaché ?

misty parcel
#

oui

fresh wolf
misty parcel
#

essayes npm run test

fresh wolf
#

Sa m'affiche echo "error: no test specified" & & exit 1

#

Après je débute dans le Java moi😅

misty parcel
#

Est ce que tu as un fichier package.json ou dedans il y à quelque chose qui ressemble à peu près à ça

frank sparrow
#

installe nodejs

misty parcel
#

Attention Java et JavaScript c'est pas la meme chsoe hein

fresh wolf
#

Oui

frank sparrow
#

tu as nodejs d'installé ?

#

tu as importé les modules discord.js ?

fresh wolf
#

?

frank sparrow
#

npm i discord.js ?

#

tu as fais ?

fresh wolf
#

Je l'ai fait sur visual studio je crois

misty parcel
#

tu as rentrer quoi comme commande exactement

#

qui commence par npm

fresh wolf
#

Nom in it - y

#

Npm init -y

misty parcel
#

ok et ça t'a afficher quoi ?

fresh wolf
dire latch
#

Fais node . @fresh wolf

#

Dans ton invite de commande

fresh wolf
#

Dans index ? Ou dans un nouveau terminal ?

misty parcel
#

dans index

#

le terminal qui est relié à ton bot

dire latch
#

Le terminal

fresh wolf
#

En dessous de client. Login?

misty parcel
#

Non dans le terminal de commande

#

terminal > New terminal

keen narwhal
#

La box en noir avec les écritures

fresh wolf
#

Sa m'affiche que ce n'est pas reconnu

#

Et quand je l'écrit sans point s'a m'affiche welcome to node. Js

misty parcel
#

🤔

fresh wolf
#

Et sinon, oui j'ai le package.json

misty parcel
#

est ce que tu as une partie debogage ?

frank sparrow
#

fais voir le dossier ou est ton index.js ?

fresh wolf
#

Sa?

frank sparrow
#

oui va dans node_modules

fresh wolf
#

J'y suis

frank sparrow
#

screen

misty parcel
#

euh faut pas toucher à ça nan ?

#

node modules

keen narwhal
#

On peut y toucher

frank sparrow
#

c'est pour voir si il a le discord.js

keen narwhal
#

Faut savoir ce qu'on fait, j'y touche tout le temps

fresh wolf
frank sparrow
#

d'acc

keen narwhal
#

il l'as pas

frank sparrow
#

si

#

le premier

keen narwhal
#

Ah ouais mal vu

misty parcel
#

tu serais dispo voc @fresh wolf ?

fresh wolf
#

Oui

misty parcel
#

Ok dans 5 minutes je suis la

#

peut etre 10

keen narwhal
#

Partage ton screen au pire, je peut parler en message

fresh wolf
#

Bah peut être pas moi je vais bientôt arrêter lol

misty parcel
fresh wolf
#

Je l'ai sur pc

misty parcel
#

ah bah niquel

keen narwhal
#

C'est évident

misty parcel
#

faut prendre des screen au lieu de prendre des photos mdr

keen narwhal
#

Oui parce que la qualité

#

win + shift + s

fresh wolf
#

Oui bah c'est plus rapide 😭 et mon portable floute

keen narwhal
#

Oui et ça rend le truc plus difficile parce qu'on vois pas bien

misty parcel
#

ah je crois savoir ton erreur

fresh wolf
#

Ah

misty parcel
#

dans ton package.json à la place de "test": "je sais pas quoi", mets "test": "node ./index.js"

#

et ensuite dans ton terminal fais npm run test

fresh wolf
#

Sa m'affiche [symbol(code)] : client_missing_intent

misty parcel
#

envoies le code d'erreur

fresh wolf
#

Bon je reviens dans 20min je vais faire quelques part, je te l'envoie après

misty parcel
#

ok

fresh wolf
misty parcel
#

bo screen