#javascript-typescript

1 messages · Page 38 of 1

burnt dune
#

peut être

dim raptor
#

Yopla, j'ai un petit soucis lié à ce store :

import { create } from "zustand";
import { persist } from "zustand/middleware";

export const useRadarStore = create(
    persist(
        (set, get) => ({
            // ========================================================================
            // STATE
            // ========================================================================
            radars: [],
            selectedRadars: [],
            activeRadar: null,
            radarSelections: new Map(),
            openFamilies: new Set(),

            // ========================================================================
            // ACTIONS
            // ========================================================================
            setRadars: (radars) => set({ radars }),

            setSelectedRadars: (selectedRadars) => set({ selectedRadars }),

            setActiveRadar: (activeRadar) => set({ activeRadar }),

            setRadarSelections: (radarSelections) => set({ radarSelections }),

            setOpenFamilies: (openFamilies) => set({ openFamilies }),

            toggleRadar: (radar) => set((state) => {
                const radarId = radar.infos_radar.id_radar;
                const isSelected = state.selectedRadars.some(
                    r => r.infos_radar.id_radar === radarId
                );

Il s'avère que mes actions donc tous mes set et le toggle apparaissent grisés sur mon IDE, comme si je ne les utilisait pas alors que je m'en sers ailleurs dans mon projet. Est-ce que certains ont déjà eux le soucis ? Et si oui, vous avez des solutions ? Mon IDE c'est IntelliJ

plush lava
#

tu fait du JS sur IntelliJ?

#

Tu es sûr tu utilise pas webstorm?

dim raptor
#

Oui je suis sûr

#

Et c'est que j'ai pas le choix x)

plush lava
#

🤔

dim raptor
#

Tu m'aides pas en tout cas à dire ça mdrr

#

IntelliJ

plush lava
#

bah j'avoue ne pas comprendre pourquoi utiliser IntelliJ pour du javascript?

#

IntelliJ c'est principalement conçu pour les projets Java (en très large)

#

si ta une codebase Java mais que ton interface est en JSX tu peux utiliser Webstorm pour le JSX dans le même projet

dim raptor
#

Parce que je n'ai pas le choix de mon IDE, je travaille pour l'armée

#

Et ils ne nous laissent pas le choix

#

ça me fait chier mais bon c'est comme ça

plush lava
#

ok je vois, mais je suis pas sûr que IntelliJ supportera correctement la syntaxe JS même si tu modifie certains paramètres (encore faut-il pouvoir le faire). Peut-être avec un plugin 🤷

dim raptor
burnt dune
#

après webstorm normalement ils peuvent te l'accepter ça reste la suite Jetbrain

plush lava
plush lava
dim raptor
#

Bon je vais voir si je peux me le faire autoriser

plush lava
#

Surtout que c'est exactement le même logiciel, mais les paramètres sont différent

plush lava
dim raptor
#

Nn mais je vais demander à mes chefs

#

J'ai le même soucis avec Webstorm

plush lava
#

c'était rapide l'autorisation dit donc

dim raptor
#

Il s'avère que j'ai peut-être pas attendu l'accord, au pire je me fait détruire mdr

plush lava
#

🥲

#

Ok du coup pour tes fonctions en gris, elles sont utilisées dans un fichier de quel type dans ton projet?

dim raptor
#

Définies dans un .js et utilisées dans un .jsx

#

Est-ce que ça peut-être lié au fait que je les appelle comme ça dans mon .js ?

const {
        selectedRadars,
        activeRadar,
        radarSelections,
        openFamilies,
        setActiveRadar,
        setRadarSelections,
        setOpenFamilies,
        toggleRadar,
        setRadars,
    } = useRadarStore();

plush lava
#

et si tu les import ?

#

import { selectedRadars } from 'ton_fichier';

#

etc

dim raptor
#

Pas possible depuis un store, fin pas logique

plush lava
#

ah oui my bad

dim raptor
#

Je peux faire des export nommés au pire

plush lava
#

imo c'est sûrement un problème avec zustand

#

j'ai déjà eu un cas similaire ou une librairie n'arrivait pas à étendre les types d'un callback, mais c'était en typescript

plush lava
#

dans la racine du projet

dim raptor
#

Ok c'est bon

#

J'ai export toutes les actions

#

Comme ça :

export const setRadars = (radars) =>
    useRadarStore.getState().setRadars(radars);
rugged void
#

hey

gritty furnace
#

Salut

Je bosse en ce moment sur un projet d’IA pour du virtual home staging (ajout/retrait de meubles, redesign de pièces, amélioration de la photo, changement de couleurs du ciel, etc.) et j’aimerais vraiment avoir vos retours :

👉 Quelles IA / modèles vous recommandez pour ce genre de taff ?
👉 Quels pipelines ou workflows vous utilisez pour avoir un rendu propre et cohérent ?
👉 Et si vous avez des tips ou des setups qui fonctionnent bien, je suis franchement preneur

Merci d’avance à tous ceux qui prendront le temps de répondre —ça m’aiderait de fou ! 🙏

Je tiens à préciser que j ai déjà un site avec Landing page et Dashboard fait il ne me manque que ca

queen ocean
gritty furnace
burnt dune
gritty furnace
#

Mais je sais pas comment bien faire pour avoir un vrai résultat pro

stuck fulcrum
#

yo j’ai fais un package opensource en typescript pour travailler avec l’api creators area pour ceux que ça intéresse : https://www.npmjs.com/package/creatorsarea-ts

ça permet de récupérer les dernières offres par catégories, pour par exemple les intégrer directement sur un bot/webhook discord.

queen ocean
stuck fulcrum
queen ocean
#

Mais effectivement, demander avant aurais été le minimum niveau respect je trouve meh

queen ocean
#

Perso je trouve que ca rentre dans le respect de demander avant de publier

burnt dune
#

faut dire ça au mec qui veut scrap le gouvernement

queen ocean
#

Je suis pas là pour check si X ou Y a demander à X ou Y les autorisations

#

J'interviens que sur ce qui nous concerne

stuck fulcrum
queen ocean
glass cargo
#

C'est toi qui la écrit ? PepeClown

#

Parce que là on dirait pas

#

Parce que là ton package est limité aux 15 premières offres kappo

#

Et ça doit avoir du mal à renvoyer la catégorie aussi

#

J'ai quand même vachement l'impression que c'est une IA qui a tout fait harold

stuck fulcrum
#

toute contribution est la bienvenue 🙏

glass cargo
#

relecture tu veux dire ?

queen ocean
#

Il a sorti le meme truc pour gmodstore booba_oups

#

Et le mec a jamais utilisé le site mdr

queen ocean
glass cargo
#

Go les mettre en vente maintenant kappo

burnt dune
#

C'est bien full IA

#

croyez en mon expérience en vibe codeur

glass cargo
#

Ni testé

burnt dune
glass cargo
#

ça me semble être le minimum avant de commencer à faire de la promotion

stuck fulcrum
#

😂😂

#

j’ai jamais dis qu’il n’y avait pas d’utilisation d’ia

#

et mon intention n’est pas d’en faire un produit commercial c’est juste une contribution ^^

glass cargo
#

"J'ai fais" est bien différent de "j'ai demandé à chatgpt de le faire"

stuck fulcrum
#

et jusqu’à preuve du contraire, aucun autre outil n’existe pour l’instant, je suis dans mon droit de proposer ça de manière open source

queen ocean
stuck fulcrum
queen ocean
#

Plus sérieusement, comme j'ai déjà dit, on a déjà prévu de publier nos solutions

queen ocean
stuck fulcrum
queen ocean
glass cargo
glass cargo
stuck fulcrum
queen ocean
#

oh mon dieu

#

j'ai pas lu ca

glass cargo
queen ocean
#

@glass cargo pitié dit moi que j'ai mal lu

stuck fulcrum
#

je ne vais pas perdre plus de temps, en tout cas c’est dommage d’être aussi fermé d’esprit lorsque des gens prennent les devants sur des outils utils pour tous, avant vous

glass cargo
#

Et encore, baclé je suis gentil

stuck fulcrum
queen ocean
queen ocean
glass cargo
stuck fulcrum
queen ocean
#

On est d'accord sur un point

#

a tu parlais pas de ca?

#

my bad

stuck fulcrum
#

en tout cas, merci pour les retours sur l’outil, je vais corriger les points relevés. si certains veulent contribuer, la porte est ouverte ^^

burnt dune
#

En vrai je vois même pas le pb avec ce qu'il a fait vu que c'est des données publiques

#

et si tu l'interdis bah tant pis

#

après c'est moi l'aigri jpp

acoustic hazel
burnt dune
#

Alors que c'est le métier le plus éphémère qui va exister

queen ocean
burnt dune
dire latch
#

WOW, j'avais pas vu ce qui s'était passé ici xd

lucid niche
pure tiger
#

wow la vache, j'ai loupé ce poulet

glass cargo
regal elk
#

j'en connais un qui à pris les foudres des dev fullstack d'epitech btw @stuck fulcrum

fierce grotto
#

ce fut bien drole comme conv

empty tree
#

@mystic basalt

viral snow
#

^^' déso mais

category(categoryName: 'DEVELOPER' | 'DESIGNER' | 'EDITOR' | 'TEAM'): this {

#

j'adore xD

viral snow
#

tu aurez pu use quand meme un cursor

#

ou quelques choses du genre avoir un agent quoi ^^'

#

Psk là ta du utiliser carrément le navigateur

#

Après je vient d'arriver je peut pas parler; et je serais pas aussi violent vue que ça me concerne pas

#

L'utilisation de l'ia je dirais pas que c'est mal fait faut éviter de trop en faire et déjà bien le faire a la base aussi ^^' @stuck fulcrum

#

Tout les devs passent par une période "j'ai rien sur mon git" faut pas non plus en faire un objectif et avoir pleins de "merde" sur ton github non plus

#

Prend juste leur retour comme un rapelle que finalement meme le open source (voir meme encore plus le open source) ça reste quelques choses de sérieux; 🙂 avec un minimum de règle a suivre; et puis pour la partie lib/publique etc, je trouve que le seuls points réellements énervent et que tu as publiés le package npm

#

avec littéralement creatorarea-ts

#

ce qui aurez surement était le nom aussi de leur package

#

Là pour le coup j'avoue, c'est pas cool, encore sur github les groupes font que ça n'aurais pas de sens de critiquer dans le cas de npm tu prend un slot

stuck fulcrum
#

merci pour ce retour constructif

stuck fulcrum
viral snow
#

Enfaite, et faut comprendre que rien de méchant la dedans

#

Dans la vie toute contribution n'est pas bonne a prendre

#

^^'

stuck fulcrum
#

il me sert personellement et je suis partisan du opensource

viral snow
#

Très bien ! Et ceci est géniale

#

Cependant, en prenant comme nom surtout sur npm

#

creatorsarea mettre "not official" ne suffit pas trop

#

Et l'impacte finalement c'est qu'ils ont une lib qui porte leur nom directe, qui derrière n'est peut etre pas au niveau de leur "standing"

#

Avoir une lib qui porte le nom de ton site, quasiments fait a 99% par ia, et dont les catégories sont en statiques + pas les bonnes

#

C'est pas un super bon début, je suis déjà sur qu'ils ont un moyen de récupérer une liste de catégorie

stuck fulcrum
#

si on me demande de le supprimer je le ferai ^^

viral snow
#

Et j'ai pas tester mais il semblerait qu'ils est était remonter que la lib en elle meme ne marcherais pas

#

Je dirais donc que le mieux serait de supprimer juste le package npm

#

le remettre avec un nom plus "a toi"

#

Et gérer de ton côté comme tu le souhaite ton repo dans ton petit monde

#

Je pense sincèrement qu'ils n'ont pas réussi (sous le coup de l'énervement et je suis le premier a m'enerver souvent je peut rien dire)

#

A dire que le vrai truc chiant était la lib npm, ce que je voie cependant dans leur réponse indirectement (sans parler pour autrui bien sur)

#

Après je vient juste d'arriver sur le discord ; mon avis n'est qu'un avis dans les dizaines de personnes qui ont "participer" à la conversation

#

^^'

#

Mais eux non toutes contributions n'est pas bonne a prendre et l'open source est autant bien qu'un calvaire dans certaine situation ^^' désolé ça reste que mon avis du coup mais je voulez ajouter cela pour finir

stuck fulcrum
stuck fulcrum
plush swallow
#

Salut tout le monde !
Y a-t-il quelqu'un qui pourrait m'aider pour mon projet ?

noble mountain
regal elk
dire latch
ember vortex
dire latch
#

🙂

ember vortex
dire latch
#

De quoi, elle est vide ? Xd

ember vortex
dire latch
ember vortex
#

tu es sur le package des builders, je suis sur le discord.js

#

c'est pour ça que sa m'afficher rien

dire latch
#

Jamais fais gaff 🤷‍♀️ xd

#

Au moins, tu as la solution 🙂

ember vortex
dire badge
#

who does know context in react.js?

fallow sonnet
vapid lily
#

J’pense Jvais me mettre au typescript

old flax
vapid lily
normal lichen
#

Hello, comment allez vous ? Je voulais savoir si j’étais le seul à avoir des latence avec npm et node depuis quelque jours ? Les commande d’init de projet react etc et les commande npm mettent beaucoup de temps à. S’exécuter, j’ai Check npm doctor et tout est ok dans mon installation et npm ping me sort un ping a 60 ms, ce qui je sais n’est pas optimale mais sa justifie pas que les commande npm mettent plus de 5min à s’exécuter juste pour un package, si vous avez la même chose ou des solution pour résoudre je suis preneur😅 j’ai essayé de mettre à jour node et npm, ainsi que vider le cache npm mais ça n’a pas résolu ce soucis, je vous remercie !

glass cargo
#

On dirait que tu t'en sors pas trop mal kappo

normal lichen
#

d'un sens je me dit que ces soucis proviennent peut etre de cloudflare ? x)

glass cargo
#

Ouais mais mis à part un ping élevé j'ai pas de problèmes avec npm

normal lichen
#

bon bah il va me fallloir 3 semaines rien que pour init mes projet 🤣

glass cargo
#

T'as pu testé avec un autre appareil connecté sur le même réseau ?

normal lichen
#

pareil juste un pauvre npm i d'un package met plus de 5min a s'éxécuter x)

#

j'ai tester avec uin autre appareil sur le même reseau et j'ai aussi tester au boulot, c'est la même ^^

glass cargo
#

bizarre

normal lichen
#

tu n'a pas de latence sur les commande toi ?

glass cargo
#

Non

normal lichen
#

j'ai fait un speedtest pour voir sa me semble pas si bizarre que sa

glass cargo
#

Si t'as un problème qu'avec npm, le speedtest va pas aider

idle sentinel
#

je suis aussi plutôt élevé, mais ça m'étonnerait que ça mette trois semaines pour faire ce que tu voudrais faire

glass cargo
#

Si tu fais un traceroute vers npm ?

normal lichen
normal lichen
normal lichen
#

le traceroute affiche aucun probleme et le faslty cdn de npm est bien présent

glass cargo
#

Le fichier fait 11KB donc si y'a un problème ça se verra vite

normal lichen
#

il ce dl instant

glass cargo
#

Là j'avoue que je sèche

#

à part tenter une réinstallation complète de node

normal lichen
scenic coral
#

Oh my god

#

Which language are you talking

glass cargo
glass cargo
glass cargo
#

On va éviter ce genre de blagues si tu veux bien meh

regal elk
burnt dune
#

je demande la var

glass cargo
glass cargo
burnt dune
#

@queen ocean invite moi sur le serveur de logs

queen ocean
queen ocean
burnt dune
#

tu doutes de moi carrément

queen ocean
#

Nan c'est plutot que je te comprendrais KaPOP

burnt dune
#

les logs qui donnent des envies de meurtres jpp

regal elk
#

mais bref passons c’est vos règles après tout choc

glass cargo
#

La feature a pas été retirée d’ailleurs ?

queen ocean
#

le warn ?

glass cargo
#

Ouais

#

Ou alors on y a pas accès

queen ocean
glass cargo
#

Après je comprends c’est plus simple de bannir directement

#

Les 3/4 des sanctions qu’on applique se sont des bots ou des comptes hackés harold

burnt dune
glass cargo
#

Du genre toi ?

queen ocean
#

MDR

glass cargo
#

Ah merde tu payes, t’es forcément pour PepeClown

burnt dune
#

J'ai payé sinon il avait dit qu'il allait me retrouver et me faire du mal

queen ocean
#

HAHAHAH

glass cargo
#

Je me disais aussi

#

J’espère qu’il t’as fait payer après la baisse de prix harold

queen ocean
#

On rappel qu'un mec avais payé +30€ pour le même role mdr

glass cargo
#

Et le rôle à 200€

#

J’ai pas oublié ce ticket lunaire

queen ocean
#

HAHAHA

glass cargo
#

Je suis sûr que quand t’as créé le rôle même toi t’y croyais pas harold

queen ocean
#

En vrai jme suis dit que la proba étais assez grosse pour qu'un mec achète

#

et j'ai eu raison vu qu'au total 2 mecs avaient acheté

glass cargo
#

POV le garage de zaros

burnt dune
queen ocean
#

Ca j'y peux rien si leur vision a bider et qu'ils ont abandonné le projet Harold

burnt dune
#

Mauvaise image pour la zaros industrie

queen ocean
#

Et surtout que l'idée de base quand j'étais dans le projet n'est pas celle qui a été publié par eux des mois après xD

burnt dune
#

Ouais je sais on en avait déjà parlé

#

je te taquine

#

ça m'a motivé à faire mon portfolio

#

(ptdr j'ai 2 mois de retard)

queen ocean
glass cargo
burnt dune
#

J'ai besoin des accro de NextJS

#

c'est quoi le meilleur ORM que vous utilisez et pourquoi

#

Je vois beaucoup de Prisma et Drizzle passer

#

D'après ce que j'ai pu voir Prisma est plus "simple" et Drizzle est plus "rapide"

burnt dune
#

Et autre question aussi entre BetterAuth et Auth.js

glass cargo
#

Drizzle j’ai essayé une fois

#

Un jour après j’ai tout refait avec prisma

#

J’avais pas aimé

plush lava
old flax
burnt dune
#

bv

cobalt oyster
#

Ce soir j'ai réussi a reverse shell 4 gros sites, qui étaient meme pas a jour

#

Alors pitier

#

faite la maj

#

Si vous la faites pas vous etes foutu

burnt dune
floral bolt
burnt dune
# floral bolt J’ai pas pris le temps de Check ce qu’on pouvait faire, tu as un exemple ?

Try out Genspark’s all-in-one AI workspace for free - https://www.genspark.ai/?utm_source=yt&utm_campaign=fireship

The JavaScript world just got rocked by a 10.0 critical vulnerability called React2Shell (a.k.a. CVE-2025-55182). Let's find out how this React exploit actually works...

#Coding #programming #javascript #react

💬 Chat with ...

▶ Play video
cobalt oyster
floral bolt
#

Mais c’est une dinguerie ! 😮

cobalt oyster
#

Ouais ouais

burnt dune
#
npm ls \ react-server-dom-webpack \ react-server-dom-parcel \ react-server-dom-turbopack
#

Comme quoi Vite c'est pas si mal harold

glass chasm
#

Je cherche des technos cools à tester/assimiler pour 2026
Je fais un gros focus sur la DX
Je dev principalement en Nuxt, la liste est biaisée en ce sens

  • Drizzle 1.0 par rapport à Prisma
  • Arktype par rapport à Zod
  • Bun par rapport à Node
  • Vite 8 avec rolldown
  • OXC
  • Turborepo
  • oRPC par rapport à tRPC
  • TanStack AI par rapport à AI SDK by Vercel
  • Posthog
  • SonarQube
  • Lynx avec Vue
  • Arcane par rapport à Coolify

Si vous avez d'autres recommandations je suis preneur !

plush lava
burnt dune
#

en théorie

#

T'as une extension chrome pour tester si le site est vulnérable à cette faille là

#

et l'exploiter

#

pcq sinon c'est pas drôle

cobalt oyster
#

Tous les env

plush lava
plush lava
#

Osef tier un peu

glass chasm
cobalt oyster
#

Car je peux rm -rf ton container quoi

#

C’est un reverse Shell complet

plush lava
cobalt oyster
#

Juste pour voir tkt

plush lava
cobalt oyster
burnt dune
#

Si t'as un petit 1 en rouge tu peux test

strong rock
#

who need help?

ivory inlet
#

no one buddy

cedar rivet
#

How do you hide s⁠⁠‌​‭‬​‌‭‌‭⁠‭‭⁠⁠​⁠⁠​⁠⁠⁠⁠‭‎‌‏‍​‏⁠‍⁠​⁠‌‭​⁠‏‬‬‍‌‎⁠​‏‍‬‍‍⁠⁠⁠⁠‌⁠‎‏‌‎‌‌⁠‎⁠‌‌​‏​​‎​‌⁠‏‬‍‭‏​‎‍​‍‭‌‬‎‎‌⁠‬‎‬​‎⁠‬‏‭​‎‭​‎‎‌‭⁠‏‬‭​‌‍⁠​⁠‭‎‏‭​‎​‬‏‬‌‌‌‎‭‍‏​‬‬‬⁠⁠‬⁠⁠‌​‬‍⁠‏‬​‍‎‬‭‎‏⁠‏‬⁠​‍‬⁠‌‍‭‏‌‏‍‍‏‎‏‭‏‎‌‎‬‬‏⁠​‬​‭‬‬‌‏‍‏‭‌‍‎‏‭‏‌‌​‌⁠⁠‭‬‎‍​‌⁠‍⁠‏‌‭‍‎​‌‭‎⁠‍⁠⁠⁠‎​‌‌⁠‭​‏​‎‎⁠​‎‎‭‎‏‌‎‎‬‍‏​⁠​‍ecrets on discord?

glass cargo
burnt dune
cedar rivet
glass cargo
#

Or you can just click on the message harold

burnt dune
pure tiger
glass cargo
#

J'ai compris plus tard en lisant la description de l'embed

pure tiger
glass cargo
signal marten
#

Where can I get help to develop games?

signal hemlock
hot sinew
#

Hello all i am a new learner of javascript

modern rover
#

Do you want to make the game?

latent bronze
#

Hi

split quiver
#

Hello !
J'utilise Shadcn avec vite, reactjs et tailwind. Mais je n'arrive pas a avoir les élements animé ! Seriez vous comment régler le soucis ?

pure tiger
#

c'est a dire ?

pure tiger
split quiver
#

J'ai l'animation de la fleche mais pas de l'ouverture et fermeture de l'arrordion

haughty barn
haughty barn
split quiver
#

Mais je ne trouve pas la solution !

haughty barn
# split quiver C'est ca !

Pour obtenir cet effet, on peut animer les courbes afin qu'elles apparaissent progressivement au début (ouverture) et disparaissent à la fin (fermeture). Cela peut se faire à l'aide d'une animation de contour ou de tracé dans votre logiciel, en ajustant la durée et l'interpolation pour un mouvement fluide et naturel.

lilac fractal
#

Hi all, I am Samuel and I am a a fullstack (React, Next, Node and Nestjs ) developer and I am looking to make open source contributions to anything awesome. who's got those amazing ideas let connect and build something amazing

wise bloom
thorny prism
#

Framework : Next.Js
j'ai installer prisma mais j'y arrive pas du tout la , il me trouve pas le user , alors que le schema est fait et tout

#

j'ai trouver du cp faut faire npx prisma generate

#

quand on change le modele / ajout / retirer quand on le modif en gros

frail dove
#

Bonjour j'ai un problème avec mon site Vercel :
En gros je déclenche exprès du côté client pour savoir si la page d'erreur 500 s'affiche bien, avec une petite surprise : cela ne m'affiche pas la page, mais une erreur "Not Found".
Je donne le repo GitHub : https://github.com/mydkong/express-vercel-test/
et le lien du site en direct : https://express-vercel-test-plum.vercel.app/

GitHub

Contribute to mydkong/express-vercel-test development by creating an account on GitHub.

mellow parrot
#

Bonsoir, mon Handler actuellement obsolète et avec mes commande actuelle c'est pas top..
Je voudrais savoir si vous en avez un sous la mains qui est top ou une doc à suivre pour le faire à la main.
en vous remerciant :)

(en TS de préférence)

queen ocean
queen ocean
#

Check la doc sur leur site

mellow parrot
queen ocean
mellow parrot
#

Top :)

#

Avec Prisma, y'a pas de problème ?

queen ocean
#

Prisma c’est pour ta DB, sapphire c’est pour ton bot

torn fog
frail dove
#

alors oui c'est plutôt une erreur 404 mais bon

frail dove
#

@torn fog ?

torn fog
#

@frail dove quoii

frail dove
#

-# l.21 dans app.js

torn fog
#

@frail dove Bah rajoute toi un console.log

#

Vérifie si ça tombe bien dans ta condition déjà

frail dove
torn fog
frail dove
#

ok je regarde ça merci

split quiver
#

Hello !
J'ai vu une animation sur le logo de h-devs dans la navbar, j'aimerais bien refaire la même pour mon portfolio mais je n'arrive pas savoir exactement ce qu'il se passe comme animation !

https://h-devs.com/

Pourriez-vous m'aider ?
Merci d'avance 😉

ivory inlet
#

après peut être il a pris sur la library motion framer vue qu'il a sur ce site

split quiver
#

Super merci beaucoup !

#

Je vais checker ca

pseudo agate
#

enfait il a fait une div qui a une animation de roation et de scale

/* Div avec le svg */
  .icon { 
    animation: rotateAndPulse 1.8s ease-in-out infinite;
    transform-origin: center center;
  }

  @keyframes rotateAndPulse {
    0% {
      transform: rotate(0deg) scale(1);
    }
    30% {
      transform: rotate(90deg) scale(1.12);
    }
    60% {
      transform: rotate(180deg) scale(1);
    }
    100% {
      transform: rotate(360deg) scale(1.12);
    }
  }
south beacon
#

i have just started learning Javascript can anyone tell me best ways to learn it fast

urban stag
#

yoo

frail dove
exotic peak
#

Est ce que quelqu'un pourrais m'aider en vif ? je code avec discord.js, et au moment du déploiement du bot, je n'arrive pas à le faire se connecter sur le base de donnée... 🥲

steady canyon
exotic peak
#
E:\Shymie\node_modules\mongodb\lib\cmap\connection.js:202
                callback(new error_1.MongoServerError(document));
                         ^

MongoServerError: Authentication failed.
    at Connection.onMessage (E:\Shymie\node_modules\mongodb\lib\cmap\connection.js:202:26)
    at MessageStream.<anonymous> (E:\Shymie\node_modules\mongodb\lib\cmap\connection.js:61:60)
    at MessageStream.emit (node:events:508:28)
    at processIncomingData (E:\Shymie\node_modules\mongodb\lib\cmap\message_stream.js:124:16)
    at MessageStream._write (E:\Shymie\node_modules\mongodb\lib\cmap\message_stream.js:33:9)
    at writeOrBuffer (node:internal/streams/writable:570:12)
    at _write (node:internal/streams/writable:499:10)
    at Writable.write (node:internal/streams/writable:508:10)
    at Socket.ondata (node:internal/streams/readable:1008:24)
    at Socket.emit (node:events:508:28) {
  ok: 0,
  code: 18,
  codeName: 'AuthenticationFailed',
  connectionGeneration: 0,
  Symbol(errorLabels): Set(2) { 'HandshakeError', 'ResetPool' }
}

Node.js v25.2.1```
exotic peak
exotic peak
steady canyon
exotic peak
steady canyon
#

Comment as-tu configuré ton serveur MongoDB?

#

Dans mon cas, j'ai utilisé Docker et j'ai passé les même identifiants à MongoDB et à mon script.

exotic peak
# steady canyon Dans mon cas, j'ai utilisé Docker et j'ai passé les même identifiants à MongoDB ...

j'ai fait comme ça :

const mongoose = require('mongoose')
const url = process.env.urlMongo
const options = {
  useNewUrlParser: true,
  useUnifiedTopology: true,       
  serverSelectionTimeoutMS: 30000,
  connectTimeoutMS: 30000,        
}

client.cooldown = [];
mongoose.set('strictQuery', true);
mongoose.connect(url, options)
  .then(async () => {
    console.log("Connecté à MongoDB");
  })
urlMongo: mongodb://username:mdp@77.93.141.12:25010/Shymie

et je ne comprends pas pourquoi il veux pas

steady canyon
exotic peak
#
urlMongo: mongodb://username:mdp@77.93.141.12:25010/Shymie?authSource=admin``` ?
exotic peak
#

je vais essayer

exotic peak
steady canyon
#

👍

ember vortex
#

Bonsoir comment allez-vous ?

Petite question bot discord, si des personnes peuvent m'aider, je suis entrain de faire une nouvelle modal vu qu'il y a eu des updates et je voulais savoir pourquoi mon interaction lorsque j'essaye d'envoyer le formulaire n'est pas possible sachant que j'ai aucune erreur ?

random tusk
ember vortex
random tusk
ember vortex
#

Attend je crois avoir trouver le soucis !

random tusk
#

oui je vois mais sans soit ton interraction.showModal ou soit ton event interractionCreate je peux pas t'aider à comprendre 😂

ember vortex
# random tusk oui je vois mais sans soit ton interraction.showModal ou soit ton event interrac...
const fieldData = {};

    // Extract text input values (if any)
    const textInputs = interaction.fields.getTextInputValues() || {};
    for (const [customId, value] of Object.entries(textInputs)) {
      const fieldKey = customId.split('/').pop();
      fieldData[fieldKey] = value;
    }

    // Extract string select values (if any)
    const stringSelects = interaction.fields.getStringSelectValues() || {};
    for (const [customId, value] of Object.entries(stringSelects)) {
      const fieldKey = customId.split('/').pop();
      fieldData[fieldKey] = value;
    }

    // Extract uploaded files (if any)
    const uploadedFiles = interaction.fields.getUploadedFiles() || {};
    for (const [customId, files] of Object.entries(uploadedFiles)) {
      const fieldKey = customId.split('/').pop();
      fieldData[fieldKey] = files.map((file) => ({
        url: file.url,
        name: file.name,
        contentType: file.contentType,
        size: file.size,
      }));
    }

En gros j'ai fait un truc dynamique, sa me permet de récupérer les différents field existant dans le formulaire

random tusk
#

après tu peux allé voir leur code voir ce qu'ils font

ember vortex
random tusk
ember vortex
ember vortex
#

Encore merci !

random tusk
#

Parfait, je n'ai rien fait 😂

strange thicket
#

Hum 🤔 as-tu besoin d'aide en js / ts ? @worthy sigil

idle sentinel
strange thicket
vital canyon
#

Hello everyone!
I need some help please to fix this :

Authentication failed: Failed to authenticate: <!DOCTYPE html><html lang="en">.....</html> (404 returned by POST api/liveblocks-auth)
POST http://localhost:3000/documents/api/liveblocks-auth 404 (Not Found)
I had this error when i try to implement liveblocks in a live docs project. If you need more details you can ask me. Thanks in advance

glass cargo
#

I think the error is clear : the requested URL is not found

compact shoal
#

Hey est-ce que c'est possible sans utiliser de logiciel de détecter si une personne ouvre un onglet latéral sur opéra ? ||J'ai cru comprendre que non||

burnt dune
#

Quand tu parles d'onglet latéral tu parles d'une perte de focus de la page web pour aller sur une autre ?

#

(Je n'utilise pas Opéra)

compact shoal
burnt dune
#

Tu veux traquer toutes les interactions avec toutes les sidebars des sites ?

#

j'ai pas la vision

compact shoal
#

Je pense pas que ce soit possible idk

burnt dune
#

Sans soft je ne crois pas

#

Ou extension Chrome

#

ça je pense que c'est possible

compact shoal
#

Ouais je suis d'accord, c'est le max ||merciiiii yeah ||

glass cargo
boreal radish
#

bonjour je suis nouveau et j'aimerais trouver de l'aide sur mon projet je recode un scratch-lite en js native et j'aimerais savoir comment je fait les block proprement actuellement je suis encore en periode de recherche sur comment réalisé les block et j'ai une idée mais je ne suis pas sur de sa fiabilité dans l'étape d'imbrication des block je pense faire des image en html/css avec un input unique et le metre pile au bonne endroit dans mon image mais je ne suis pas sur que cela fonctionne

burnt dune
#

Svg morphing peut être

boreal radish
random tusk
#

<@&656162541063372830>

split quiver
#

Hello !
J’aimerais créer ce type d’espaces progressifs en utilisant Tailwind, mais malgré mes essais, je n’arrive pas à trouver comment faire. Pouvez-vous m’aider ?

thorny prism
#

quelqu'un a une lib pour afficher des models de type unrealEngine ? sur le web

thorny prism
fierce grotto
#

c'est quoi les extensions sur unreal ?

#

Alors de ce que j'ai compris sa supporte pas unreal par contre tu peux exporté t'es model unreal vers du GLB / FBX

fallow bay
#

salut

dire latch
#

<@&656162541063372830> @queen flame

fathom gorge
#

Bonjour, j'ai un ptit problème

Mon site commence par me charger une page et puis après quelque minute je recharge il me dis file not found, Il est dev en react (le frontend)

J'aimerais juste éventuellement connaître l'origine du ou des problèmes

south dome
#

Ou tu as trouvé la source de ton problème ? :)

#

(mentionne moi quand tu réponds, je regarde pas le channel régulièrement)

fathom gorge
south dome
fathom gorge
#

là j'essai de transferer la base de donnée bêta à ma DB prod

fathom gorge
south dome
fathom gorge
#

y'a des modif de structure etc

south dome
fathom gorge
#

j'ai déjà essayer d'import export ça fais tout planter

#

bah j'essai juste de transférer les structure de la DB beta a une DB prod (la structure les tables quoi)

south dome
#

Tu a accès en terminal de cmd aux db ?

fathom gorge
#

laisse tomber jcrois j'ai trouver le problèmùe

south dome
marsh mesa
#

Hi everyone, could someone help me implement email verification for registration? I want users to submit their details, receive a verification code via email, and confirm their account by entering that code. What’s the best way to build this?
[for my own website]

static dirge
marsh mesa
static dirge
light helm
#

hello there

#

Who is need to a web developer or a video editor

split quiver
#

Hello !
Comment vous allez ?

Je suis en train de découvrir vue, nuxt, nuxt ui ...Ect
Et j'ai utilisé le footer de nuxt ui mais je n'arrive pas à retirer le le padding à droite et gauche ! Pourriez-vous m'aider ?

glass cargo
azure patrol
#

Bonjour

fallow bay
#

👋

glass cargo
#

Hi, can you stop sending your affiliation link in this server?

queen ocean
dire latch
#

@silver gyro@pulsar jolt@lyric harbora ban <@&656162541063372830>

solid fable
#

Les gars expliqué moi c'est quoi la différence entre java et neact native ???

#

Je me perds

random tusk
random tusk
#

donc pour ça, tu parles de javaScript = js ou java

solid fable
solid fable
random tusk
solid fable
#

Car enfaite j'ai mal commencé

random tusk
#

oui mais html, js c'est plus web alors que react native, il transforme ton html, js en élément mobile pour faire des applications mobiles

idle vine
#

Hello 👋

torn fog
#

@solid fable c'est plus optimisé en Java mais en React native c'est plus simple à faire du cross plateforme avec

#

En Java il y a certains truc que tu peux faire que tu ne peux pas en react native

solid fable
#

Et c'est où que je doit coder sa?

solid fable
#

@torn fog mais merci quand même les gars 'meme si je me perds un peut'

torn fog
#

Et visual studio code si c'est du react native

dense hedge
random tusk
dense hedge
#

mais l'un est pour les app mobile et pas l'autre

random tusk
chrome heart
#

(oui je chipote mais bon, visiblement il chipotait aussi 😔)

dense hedge
smoky flame
#

Par exemple NextJS impose une certaine architecture
Si on choisit App Router ou l'autre là je sais plus c'est quoi

#

Page router je crois

random tusk
chrome heart
#

Pour chipoter, et c'était fait exprès pour soulever qu'en pratique savoir que c'est un framework ou une bibliothèque, ça ne changera dans 99% absolument rien

#

À part pouvoir mettre le "🤓☝️"

#

Disons que ça change en théorie (je reviens un peu sur mes propos), mais en pratique, tu suis ce que te dit la doc la plupart du temps, donc de savoir que tu utilises react qui est une lib et pas un framework, ça ne te change pas tant que ça

#

Peut-être que c'est moi qui n'est pas suffisamment rigoureux, mais bon

#

Ouais en fait ma position est vraiment discutable 😔

smoky flame
#

Après on ne s'en rend pas compte en développant lorsque l'on est habitué

#

Mais une bibliothèque on peut "modéliser" à notre manière

Un framework c'est beaucoup moins libre

#

Au final tu gardes plein contrôle avec une lib

chrome heart
#

Oui c'est vrai que de ce point de vue là, c'est plus que clair ahah

glass cargo
dull elm
heavy mantle
# dull elm

With @testing-library/react-native v12.4.1, matchers are now built-in (no separate jest-native needed), but TypeScript needs extra configuration to recognize the types.

#

Check the doc or search on google

loud skiff
#

Hello

#

Nice to meet you, everybody

hazy shell
#

hello happy to find a group like this i have just learned mern stack have made a ecommerce fullstack clone and a warehouse management website just started my career at 17 looking for guidence

hazy shell
worn ermine
#

Salut ! J’ai configuré un système qui permet de scrape en continu (avec des timeouts) un site et de faire une analyse à l’aide des données scrapées, j’utilise des proxies pour éviter les erreurs. cependant je remarque que mes proxy tournent et consomment beaucoup trop que prévu. Quelqu’un saurait comment je peux éviter la surconsommation ? Je parle + en tips et méthodes si quelqu’un pourrait m’apporter son aide 🙏

hazy shell
#

Le plus important pour éviter la surconsommation des proxies est de ne pas changer de proxy à chaque requête. Il vaut mieux réutiliser le même proxy plusieurs fois et le remplacer seulement en cas d’erreur ou de ban. Il faut aussi limiter les retries inutiles, car ce sont souvent eux qui consomment le plus. Si tu utilises Playwright ou Puppeteer, bloque les images, vidéos et autres ressources inutiles pour réduire le trafic. Ajouter du cache, limiter les requêtes simultanées et surveiller les proxies lents ou instables aide aussi énormément à garder un scraping plus stable, rapide et moins coûteux ... J'ai utilisé l'IA pour cela, cela pourrait peut-être vous aider.

shell ginkgo
shell ginkgo
#

Merci pour la réponse ia 🤔

hazy shell
#

Je ne parle pas français, j'utilise un traducteur 😂

worn ermine
shell ginkgo
worn ermine
worn ermine
# shell ginkgo C'est pas clair

Imaginons que j’ai un proxy seulement pour naviguer, je navigue sans rien scrape, au final le proxy utilise quand même de la bande passante ? Mais est-ce qu’il y a un gros écart entre la navigation et le scraping ?

shell ginkgo
#

Le meilleur cas est de tomber sur ta page voulue direct

worn ermine
shell ginkgo
#

Quand tu navigue ou que tu scrappe, cest la meme chose

#

Tu récupère la page dans tout les cas

#

Donc tu consomme ta bp pareil

worn ermine
shell ginkgo
worn ermine
shell ginkgo
#

Les assets sont ils compressés ?

#

Les pages sont peu remplie, beaucoup remplies ?

worn ermine
worn ermine
shell ginkgo
#

Donc tu va bouffer et cest tout

worn ermine
#

Merci en tout cas

shell ginkgo
#

La ou tu peux jouer cest en tentant de charger les assets mobile au lieu de pc, parfois ils sont plus compressés sur des sites a gros trafic

idle sentinel
#

<@&656162541063372830> (#php)

ionic flame
#

Doesn't English exist here

#

I failed all my French tests

#

And exams

plush lava
#

You can use English as well

analog yew
#

hello excusez-moi de vous déranger, j'ai une question.
Je travaille actuellement sur un projet fullstack en équipe ; et je constate que pour les appels Api un de mes collègues a utilisé un système de composable pour le front end (VueJs).
En gros :

le service appelle l'api > le composable (un fichier ts) appelle le service > le fichier Vue appelle le composable.

Est-ce que c'est plus propre de faire comme ça ?
Ou alors on peut directement sauter l'étape du milieu (le composable) et importer directement le service ?

cinder palm
# analog yew hello excusez-moi de vous déranger, j'ai une question. Je travaille actuellement...

Contexte technique

Le flux actuel est :

Service (TS) → Composable (TS) → Vue Component
Service : contient les fonctions qui appellent l’API (ex : getUsers(), createPost()).
Composable : encapsule la logique réactive, les hooks, et éventuellement le caching ou l’état. Il est appelé par le composant.
Vue Component : le composant Vue qui affiche les données ou interagit avec l’utilisateur.

La question : est-ce vraiment nécessaire de passer par le composable, ou peut-on directement utiliser le service ?

Quand utiliser un composable

Réutilisation de logique réactive :
Si plusieurs composants ont besoin de la même logique pour gérer un appel API, par exemple :

Charger des données avec un loading et error
Mettre en place du caching ou du debounce
Manipuler des états réactifs (ref / reactive)

Alors encapsuler cette logique dans un composable rend le code plus DRY (Don’t Repeat Yourself).

Séparation des responsabilités :
Le service gère uniquement l’accès aux données (CRUD, appels API).
Le composable gère l’état et la logique réactive liée à ces données pour Vue.
Le composant se concentre sur l’UI.
Testabilité :
Les composables peuvent être testés indépendamment pour s’assurer que la logique réactive fonctionne correctement sans impliquer l’UI.
Quand on peut sauter le composable
Appel simple, unique :
Si le composant fait un seul appel API, sans état complexe à gérer, pas besoin de passer par un composable. On peut directement importer le service.
Pas de logique réutilisable :
Si aucune autre partie de l’application n’a besoin de la même logique, le composable ajoute une couche inutile.
En résumé
Avec composable → plus structuré, réutilisable, testable. Recommandé pour projets moyens/grands ou logique complexe.
Sans composable → plus simple, moins de fichiers, suffisant pour logique simple ou prototypage rapide.

cinder palm
#

u a welcome

cinder palm
analog yew
viscid steeple
#

hey guy!
i’m trying to build a dev tool that includes support for an http server / websocket connection, and i’d like to bundle it through a plugin (for rolldown or any bundler really).
i’m not sure if that’s a good practice or even fully possible tbh, so i’d love to get some feedback on that.

#

it will be for hot reloading capability (about the http support / websocket connection)

viscid steeple
#

so basically what i’m trying to do is build a plugin for bundlers like vite or rolldown that, when installed, automatically spins up a separate server (not the bundler dev server) on another port. i already have something working with an sse server that sends an update event to the client to trigger a reload when something changes.
the idea is that the bundler handles the rebuild, and once it’s done, the plugin catches that (via a hook or something) and then my server notifies all connected clients to reload. so everything stays simple, no hmr, just a basic reload system.
what i’m not sure about is whether doing this as a plugin is actually good practice. like, is it fine for a plugin to spin up its own independent server, or is the “right” way usually to hook into the existing dev server instead. and more generally, is there any proper / standard way in the ecosystem to do this, or do people just run a separate server next to the bundler?

shell ginkgo
#

If you really want to lauch the 2 together, there is concurrently to launch 2 commands together

viscid steeple
#

to explain a bit more, I’m working on a Discord client mod with a plugin system where each plugin is just a single bundled file injected into the Discord UI from a URL.

Right now I already have a basic dev setup with a local SSE server that the injected client listens to, so it can reload plugins when something changes.

What I want now is to turn this into a proper dev mode inside a bundler plugin, so it can watch changes, rebuild automatically, serve the updated file, and notify the client to re-inject it.

I don’t really want to rely on things like tsx or nodemon for this, since I’m aiming for something more integrated into the bundler workflow itself.

So yeah, I’m mainly wondering if this kind of approach (bundler plugin + local dev server + SSE reload) is actually a good practice for this kind of setup, or if there’s a more standard / ecosystem-friendly way people usually handle it.

shell ginkgo
#

that looks to me that you need to implement a vite-like system. Your thinking seems like it's making sense

shrewd marten
# viscid steeple to explain a bit more, I’m working on a Discord client mod with a plugin system ...

Your approach is good. A bundler plugin + local server + SSE reload is how professional tools like Vite work behind the scenes.

Two simple suggestions:

Add a way to fully remove plugins from Discord when they reload, so old code does not leak memory.

Make sure the SSE connection automatically reconnects if the dev server restarts.

Should you switch to something else? No. Stick with what you have. For a Discord mod, you want full control and few dependencies. Your approach gives you both.

Best,
Doma haito.

viscid steeple
frosty sand
#

salut ! je peux faire quoi dautres comme commande pour le bot

shell ginkgo
#

Rendre ton bot compatible avec les commandes slash

idle sentinel
frosty sand
frosty sand
idle sentinel
frosty sand
#

d’accord merci

austere rampart
#

hey

austere rampart
frosty sand
#

hello

austere rampart
#

thanks

#

for you reply

#

Nice to meet you

#

I am from Canada

#

where a u from?

coarse violet
#

hi

ionic mist
#

Typescript is very hard, isn't it?

ivory inlet
#

no

ionic mist
#

what

shell ginkgo
ionic mist
#

oh....
so I'm a noob

#

/:

idle hollow
ionic mist
#

ummmm

idle hollow
#

just add types bro

#

Once you get used to it, you'll regret not knowing about it sooner

ionic mist
#

ok...?

shell ginkgo
#

Well, at the start, depending on what you are doing, you don't need to add explicit types (except function, but you should do that)

#

and at least if you don't like typescript, add js-doc comments so you coleagues/friends working with you won't kill you because there no types everywhere

ionic mist
#

Okay! I'll try it.

queen ocean
#

Section Aide-Bots

Besoin d'aide sur un bot ? C'est ici !
Tout type de bot est accepté a la seul condition que leur fonctionnalités restent légales.

south gulch
#

Est-ce que vous connaissez un moyen de check si une mention est valide ? Je cherche déjà depuis un moment. J'ai essayé plusieurs moyens, mais je n'y arrive toujours pas (peut être que je m'y prends mal quelque part 🤔 ). Je veux juste savoir si un joueur mentionné est sur le serveur ou non (par exemple @UtilisateurRandom n'est pas sur le serveur, tandis que @south gulch y est)

#

ça paraît assez simple mais je ne trouve pas...

timid loom
#

@south gulch si t'es sur Discord.js par exemple tu peux obtenir les users mentionnés dans une collection (en gros une map avec plus de méthodes) via ça -> https://discord.js.org/#/docs/main/stable/class/MessageMentions?scrollTo=members

ça check tout seul si c'est dans la guild normalement (j'ai pas test mais c'est ce que semble indiquer le code source https://github.com/discordjs/discord.js/blob/stable/src/structures/MessageMentions.js#L92)

#

Sinon tu peux le faire toi-même en prenant MessageMentions.users mais ça aurait pas vraiment d'intérêt

south gulch
#

Oui je suis sur Discord.js . Je viens d'essayé MessageMentions: console.log(receivedMessage.members()) mais ça me retourne une erreur 🤔 http://prntscr.com/p0fezi

Lightshot

Captured with Lightshot

#

Sinon la fonction m'a l'air d'être ce que je cherche, merci

queen ocean
#

receivedMessage est ton message envoyé ?

south gulch
#

Oui

queen ocean
#

dans ce cas c'est receivedMessage.mentions qui est ton MessageMentions

south gulch
#

Ah oui... Members est uniquement utilisé pour les TextChannels ? J'avais mal compris

#

J'essaie ça, merci

humble storm
#

receivedMessage.mentions is not a function

south gulch
#

Oui j'ai vu mais pourquoi ?

humble storm
#

Parce que tu met () à la fin

south gulch
#

Ah

#

C'était ça, parfait, merci

timid loom
#

Members est une propriété de l'objet MessageMentions, objet que tu obtiens à partir de l'objet Message, en utilisant sa propriété mentions. En pratique tu l'obtiens comme ça :

// membresMention c'est une collection contenant les membres mentionnés dans le message si tu l'écris comme ça
const membresMention = receivedMessage.mentions.members;
// Ensuite tu fais ce que tu veux avec```
south gulch
#

Re,
Oui j'avais fini par comprendre hier soir, j'ai mis .mentions.members.
J'ai un nouveau souci par contre. J'ai l'impression qu'on ne peut qu'enregistrer les membres mentionnés dans un message entier, et pas dans un string défini (une partie de ce message), ce qui paraît logique mais alors est-ce qu'il y a une solution à ça ?
Je vais vous expliquer le contexte pour que vous compreniez mieux. La commande servira à proposer un match sur CS GO. Alors dans cette commande, il faut spécifier le nombre de joueurs par équipe, tous les joueurs de son équipe et tous les joueurs de l'équipe adverse. Donc je veux d'une part vérifier si le nombre de joueurs par équipe correspond au nombre de joueurs mentionnés pour son équipe et pour l'équipe adverse. Puis, je veux enregistrer les joueurs qui ont été mentionnés.

glass gate
#
south gulch
#

J'ai pas très bien compris le fonctionnement de USERS_PATTERN mais je vais regarder, ça m'a l'air d'être ce que je cherche, merci

crimson fern
#

Bonjour, j'aurais besoin d'aide par rapport a un arguments qu'il ne comprend pas :
Je vous passe le code et vous expliquer :

const Discord = require('discord.js')
const fs = require('fs')
const money = require('./money.json')

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

    const mentionned = message.mentions.users.first()

    if (!mentionned || mentionned.id == message.author.id) {

        var embed = new Discord.RichEmbed()
            .setAuthor("Haïtium'Money", "https://image.noelshack.com/fichiers/2019/35/2/1566901348-haitium-pgn-fond.png")
            .addField("**:money: | Votre argent en banque**", `** ${money[message.author.id].money}€**`)
        message.channel.send({ embed })

    } else {

        if (!money[mentionned.id]) {
            money[mentionned.id] = {
                money: 1000
            }
        }

        fs.writeFile("./money.json", JSON.stringify(money), (err) => {
            if (err) console.log(err)
        })

        let chose = args.slice(1).join(" ");

        if (!chose) {
            var embed = new Discord.RichEmbed()
                .setAuthor("Haïtium'Money", "https://image.noelshack.com/fichiers/2019/35/2/1566901348-haitium-pgn-fond.png")
                .addField(`**:money: | Argent en banque de ${mentionned.username}**`, `** ${money[mentionned.id].money}€**`)
            message.channel.send({ embed })
        }

        let moneyadd = args.slice(3).join(" ")

        if (chose === "add") {
            if (!message.member.hasPermission("ADMINISTRATOR")) return message.channel.send("**:not: | Vous ne pouvez pas changer l'argent des utilisateurs.**");

            if (moneyadd) {
                let addmoney = moneyadd

                message.channel.send(addmoney)
            } else {
                message.channel.send("t'aurais pas du")
            }

        }
    }

}

module.exports.help = {
    name: "money"
}

#

Lorsque je met : //money @unepersonne add 10, ca ne met met rien

#

or si je fait //money @unepersonne add ca me donne l'erreur

#

Aucune erreur console, elle me dit rien.

glass gate
#

@crimson fern slice(2) à la place de 3

#

ah, à moins que dans args y'ai le //money

#

ah non je suis con

#

l'erreur vient de ```js
let chose = args.slice(1).join(" ");

crimson fern
#

donc

        let moneyadd = args.slice(3).join(" ")

je le change en :

        let moneyadd = args.slice(2).join(" ")
glass gate
crimson fern
#

Je crois que j'viens de comprendre ton message

#

J't'envoie args

#

j'ai oublié de l'envoyer

glass gate
#

c'est autre chose ça tkt

#

tu vois pas l'erreur que y'a pour chose ? Cherche bien :p

crimson fern
#
bot.on("message", async message => {
  if(message.author.bot) return;

  let prefix = config.prefix
  let messageArray = message.content.split(" ");
  let cmd = messageArray[0];
  let args = messageArray.slice(1);

  let commandfile = bot.commands.get(cmd.slice(prefix.length));
  if(commandfile) commandfile.run(bot,message,args,config);
})
``` args
glass gate
crimson fern
#

ah mais wait

#

je crois que j'viens de comprendre mon erreur

#

mon args n'est que pour une seul chose donc faut que je créé un nouvel args 🤔

glass gate
#

no,

crimson fern
#

AH

#

Bah alors je ne sais toujours pas

glass gate
#
        let chose = args.slice(1).join(" ");

avec args = [ "@Tag", "add", "10" ]

crimson fern
glass gate
#

ça fait que chose = add 10

#

faut que t'utilises args[1] pour récupérer la "sous-commande"

#

et du coup après ça fera marcher le chose === "add"

crimson fern
#

Ahhh ok

#

Merci beaucoup !

glass gate
#

de rien ❤

crimson fern
#

Ah, maintenant j'ai un autre problème

glass gate
#

ono

crimson fern
#

                let actuelmoney = money[mentionned.id].money;
                money[mentionned.id].money = actuelmoney + addmoney;

Le résultat, ca fait argent de base + addmoney

glass gate
crimson fern
#

Ah mais j'ai oublié quelque chose

#

Nop attend

glass gate
#

alors je vais te montrer un truc qui existe dans tout les langages sauf le lua, tu vas voir à quel point c'est bien

crimson fern
#

Non mais c'est bon

#

C'est réglé

glass gate
#

money[mentionned.id].money += addmoney;

#

ça rajoute à money automatiquement

#

aok

#

bah je le dis quand même voila

crimson fern
#

Thanks

#

Mais enfaite non, les deux techniques ne marchent pas

glass gate
#

utilises args[ nombre ] au lieu de slice join

crimson fern
#

J'l'ai fait

#

Par exemple, il a 1000, il récupère 100010

glass gate
#

faut convertir en int

crimson fern
#

Tu as un exemple ?

glass gate
#

parseInt( var )

crimson fern
#

donc par exemple addmoney = parseInt(args[2])

glass gate
#

yup

crimson fern
#

Toujours pas

west plover
#

Qui se connectent ?

queen ocean
#

Possible oui, maintenant pour la mise en place tu es plusieurs possibilité

crimson fern
#

Toujours pas d'idée pour moi ?

ancient sonnetBOT
#
Citation de Samuel.#6074 posté dans #aide-bots

Cliquer sur 📄 pour acceder au message.


                let actuelmoney = money[mentionned.id].money;
                money[mentionned.id].money = actuelmoney + addmoney;

Le résultat, ca fait argent de base + addmoney

crimson fern
#

Nop

#

Ah si c'est bien ca

#

Mais comment faire ?

#

Sachant que moi ca me fait 1000 + 10 = 100010

zealous iris
#

Bonsoir tout le monde 😄
Merci @keen narwhal 😍

#

Premièrement, je possède différentes commandes dans mon bot comme par exemple « Say » sauf que je n’arrive pas à faire en sorte pour que se que je vai taper pour declancher le bot disparaisse

#
bot.on("message", function (message) {
    if (message.content.startsWith(prefix + 'say')) {
         if (message.deletable) message.delete();
        if (message.channel.type === "dm") return;
        let args = message.content.split(" ").slice(1).join(" ");
        if (!args) return message.channel.send("☠ ERROR 404 ☠");
        message.guild.members.forEach(member => {
            member.send(args).catch(e => {});
        })
    }
  })
#

c'est le code pour delete qu'on ma donné

#

donc je sais pas

#

pour moi ça aurais était message.delte();

#

*say je suis un kikoo

#

et le bot envoie en le message et supprime ma phrase

#

sauf que moi ça veux pas

#

je laisse juste message.delte(); ?

#

?

#

Ok je vais tester

#

Non toujours pas @keen narwhal

#

Essaye de venir sur mon dev le test

floral bolt
#

J'arrive d'ici 13 minutes je pourrais t'aider si tu veux )

zealous iris
#

J’y pige rien O_O

floral bolt
#

Tous est ecris premiere ligne

#

Channels n'est pas defini

zealous iris
#

J’ai mis les id Channel O_O

floral bolt
#

C'est "channel" sans s

zealous iris
#

Mon code donne ça

floral bolt
#

Pourquoi tu ne telechagre pas Discord sur ton ordi ?

zealous iris
#

Je l’ai mais mon pc a 20 ans il est pas tout jeunes

#

J’en fait quoi de args

floral bolt
#

Attend je vvais te donner une video

zealous iris
#

Ok

floral bolt
#

Bah les videos t'apprennent les bases

#

Et je pense qu'il a besoin des bases

zealous iris
#

J’ai demander de l’aide à un mec ils m’a dit de la merde quoi ?

floral bolt
#

Vraiment

#

Regarde les videos ca va raiment t'apprendre les bases

zealous iris
#

Y’a erreur à à de args après car

#

Var

#

O_O

#
bot.on('message', async message => {

        if (message.content.startsWith(prefix + "bug")) {
            message.delete();

            let content = message.content;
            let args = content.split( " " );

            var args = message.content.split(' ').join(' ').slice(5);

            if (!args) return message.channel.send("Tu dois spécifier un bug !")

            var bug_embed = new Discord.RichEmbed()
            .setColor('#1FA055')
            .setTitle(`Report de bug de : ${message.author.username}`)
            .addField('Report :',`${args}`)
            member.guilds.get("618232996394172446").send(bug_embed)
            message.channel.send("Ton report a bien été pris en compte !");    
        }
    })
#

Merci Arthur je vais essayer

#

Ça c’est fermer tous seul O_O

#

ca me dit erreur la ou c'est blanc
member.guilds.get("618232996394172446").send(bug_embed)

Après je remplace member par client et ça me dit ça
bot.guilds.get("618232996394172446")**.**send(bug_embed)

#

moi mon code sug que j'ai écris mais pas tester c'est ça

if (message.content.startsWith(prefix + "sug")) {
      message.delete();
          
      var args = message.content.split(' ').join(' ').slice(5);
    
      if(!args) return message.channel.send("Tu dois ajouter une suggestion !")
    
      var sug_embed = new Discord.RichEmbed()
      .setColor('#00FFFF')
      .setTitle(`Suggestion de : ${message.author.username}`)
      .addField('Suggestion :',`${args}`)
      bot.guilds.get("481105805161005066").channels.get("482179956743602197").send(sug_embed)
      message.channel.send("Ta suggestion a bien été prise en compte !");
    }
#

je met ça ou dans mon code ?

#

Ou ça ?

#
bot.on('message', (message) => {
    let content = message.content;
    let args = content.split( " " );
    let chan = message.guild.channels.get("618232996394172446")
                
        if (content.startsWith(prefix + "bug")) {
            message.delete();

            if ( chan ) {
                    chan.send( bug_embed )
                    }

            let bug_embed = new Discord.RichEmbed()
            .setColor('#1FA055')
            .setTitle(`Report de bug de : ${message.author.username}`)
            .addField('Report :',`${args}`)
            bot.guilds.get("618232996394172446").send(bug_embed)
            message.channel.send("Ton report a bien été pris en compte !");    
        }
})
#

J’ai pas mis mon avis O_O

#

Y a des , et le !bug c’est normal car on m’avais pas dit ça ?

#

Et j’ai ça

#

L’identifiant de quoi ?

#

Du salons ?

#

C’est le bon

#

C’est sans report mais y’a des , dans report et y’a !bug

#

Dans report sinon impeccable sauf l’erreur

#

Dans la console

zealous iris
#

Tu pourrais juste me dire quoi mettre dans ${ } pour que sa affiche l’heure genre ${message.author.username} stp ?

crimson fern
#

Ca c'est sur le wiki, tu cherches dans embed :)

#

Et Missing Permissions vient du fait que ton bot ne peut pas supprimer ton message si je comprend bien

west plover
zealous iris
#

Je le trouve ou le wiki

#

Et je cherche quoi

crimson fern
#
#

tu cliques sur documentation

#

t'as une barre de recherche, et tu tapes embed

zealous iris
#

Ça s’appelle comment se que je cherche exactement 😅

humble storm
#

@zealous iris https://discord.js.org/#/docs/main/stable/class/Message t'as toutes les propriétés ici

idle ice
#

Si quelqu’un sait, même si je doute ça possible : est-il possible d’exécuter dans NodeJS du code qui n’est pas sur le FTP mais directement sur Github ?

humble storm
glass gate
#

@idle ice oui

humble storm
#

(j'suis pas un pro du js, j'applique juste ma logique + des recherches sur le js)

idle ice
#

Et si l’entièreté du code de mon bot est sur github imaginons, est-il possible en un seul fichier de le faire entièrement tourner sur mon hébergement nodeJS ?

glass gate
#

@humble storm double oui

#

yup

idle ice
#

En gros : mon bot est en entier sur un github privé et j’aimerai que mon hébergeur le fasse tourner directement depuis mes fichier github, par soucis de simplicité de mise à jour 😀

glass gate
#

même si il était dans plusieurs fichiers tu peux utiliser l'api github pour get et exec chacun

#

je sais pas comment ça fonctionne avec les repos privés

#

faut juste un token sûrement

idle ice
#

Tu as une idée de sur quels termes chercher afin de trouver des soluces ?

glass gate
idle ice
#

J’pensais pas à ça mais merci 😂😂

dapper coral
#

Bonjour, connaissez vous un hébergeur discordjs gratuit ?

queen ocean
#

heroku🤔

dapper coral
#

j'ai déja trop profiter d'eux

queen ocean
#

Ha ! 😂

idle ice
#

Je passe mes journées sur mon bot, c'insane, j'dév plus que jouer kappa

queen ocean
#

👀

humble storm
#

C'est la magie de la prog 🤷

south gulch
#

Est-ce qu'il y a un moyen d'arrêter une fonction spécifique ? J'ai ce morceau de code: javascript splitCommand[11][1].forEach((proposedMap) => { if (!possibleMaps.includes(proposedMap.trim())) { let lign = 13 let error = "Une de tes maps ne fait pas partie de la liste d'IDs suivante: https://totalcsgo.com/maps" syntaxError(receivedMessage, lign, error) return } }) console.log("test") Ce code est englobé par une longue fonction nommée "verifyArgs", et j'aimerais que, là où j'ai placé le "return", la fonction "verifyArgs" s'arrête (que la suite de la fonction ne se lise pas), et en conséquence le console.log("test") ne devrait pas apparaître. Est-ce qu'il y a un moyen simple de faire cela ? Ou alors il y a une démarche un peu plus complexe à faire ?

glass gate
#

les ; sont pas obligatoire en js

timid loom
#

^

glass gate
#

@south gulch tu peux soit

  • Utiliser un callback
  • Utiliser les Promises
south gulch
#

Les promises ? Je vais regarder ça, merci

errant rampart
idle ice
#

Comme moi kappa

errant rampart
#

C'était même pas visé ! 🙂

idle ice
#

Quelqu'un saurait m'explique brèvement comment utiliser les providers sqlite avec discord commando ?
J'ai déjà initialisé mon fichier sqlite

// SQLite init
bot.setProvider(sqlite.open(path.join(__dirname, "settings.sqlite3")).then(db => new Commando.SQLiteProvider(db))).catch(console.error);

Mais je sais pas comment y mettre, récupérer et retirer des informations, comme le préfixe ou autre.

timid loom
#

Globalement tu vas utiliser les méthodes qui sont là -> https://discord.js.org/#/docs/commando/master/class/SettingProvider

#

j'utilise sqlite sur tinkbot donc si tu veux voir comment ça s'utilise en pratique (mon utilisation est basique mais ça peut t'aider) voici le lien du github : https://github.com/Taink/TinkBot

#

Mais globalement tu recherches this.client.provider. dans le repo et tu devrais trouver tout ce dont tu as besoin @idle ice

idle ice
#

Super merci beaucoup 🙂

timid loom
#

Attention cependant parce que si tu veux par exemple host ton bot sur heroku ça ne fonctionnera pas (de mémoire), il faut utiliser mongodb (qui ne fonctionne pas du tout pareil vu que c'est du NoSQL)

idle ice
#

J'suis sur un VPS, np 😉 Et pour configurer le préfixe dans la base de données, how to do that? x)

timid loom
idle ice
#

Pourquoi lorsque je fais console.log(this.client.provider); il me retourne null et ne fait rien de ce que je demande? :3

timid loom
#

hmm normalement c'est possible d'y accéder de cette manière

#

ton bot est sur un serveur?

idle ice
#

J'le dév en local et puis j'le met sur serveur

timid loom
#

je veux dire, sur une guild?

idle ice
#

Ouaip

timid loom
#

et tu as bien ton fichier .sqlite, n'est-ce pas ?

idle ice
#

Ouaip il est bien généré

timid loom
#

hmm

#

tu le fais dans une commande ton console.log()?

idle ice
#

yep

timid loom
#

bah je vois pas pourquoi, je vais faire un test

idle ice
#

et ça n'indique rien en console

#

AH c'bon, en redémarrant 2x

#

😂

timid loom
#

yes

#

en gros ce que je te conseille pour comprendre le fonctionnement du provider, c'est de regarder dans ton fichier settings.sqlite3

humble storm
#

Discordia ❤

idle ice
#

Merci @timid loom 😉

#

Euh, j'ai pris un de tes trucs pour tester et

timid loom
#

je vois pas le soucis là comme ça donc essaie de traficoter par ci par là

idle ice
#

si je fais console.log(bot.user) ça return null

#

D'où le soucis j'pense

timid loom
#

bah bot si c'est bien un Commando.Client je vois pas de raison qu'il le trouve pas

idle ice
#

En fermant et réouvrant atom ça passe

#

J'comprends de moins en moins x)

west plover
#

Client.guilds.size

idle ice
#

bot.guilds.size

humble storm
#

gg @west plover

west plover
#

gg
thinkingplayer

humble storm
#

Ton bot est sur 80 discords ^^

west plover
#

wut

#

non, c celui d'Arthur

#

ah d'accord g compris kappa

hazy mirage
#

🍿

humble storm
#

C'est le tiens qu'il a release à son nom kappa

spring dock
#

Tu peux utiliser une autre librairie que discord js mais version PHP par exemple pour ton site

idle ice
#

Y’a moyen de stocker des warns par utilisateurs via les providers de commando ?

tulip jackal
#

noce ce nouveaux channel

glass gate
#

+rule34

feral mortar
#

Quoi ?

fringe wyvern
#

+profilfortnite

glass gate
#

une catégorie "NSFW" en gros

feral mortar
#

Profil fortnite c'est déjà en dev

#

Mon bot ne fera pas de NFSW

glass gate
#

par contre je t'invite à supprimer des commandes, c'est sympa d'en avoir plein mais complètement et 100% inutile

#

genre "+randommdp"

feral mortar
#

Ok je prend en compte

tulip jackal
#

mdr mon bot fera pas de NSFW je regarde et la je vois +virgin

timid loom
#

C'est une abbreviation de Virginie, c'est tout

idle ice
#

@tulip jackal c’est dans la catégorie radio. C’est pour Virgin Radio 😂

tulip jackal
#

Aaaaaaaa

idle ice
#

Mékilécon 😂😂

vital reef
#

j'ai une question, les bots genre mee6

#

les lvl des gens sur chaque serveur, c'est sur la machine ou est host le bot que tout est sauvegardé ?

#

il y a un système qui a chaque serv ou mee6 est ajouté créer un fichier / table de db pour stocker les lvl ?

#

ou je comprend mal un truc 🤔

west plover
#

si je devrais faire un système de ce genre en json, j'aurais fait un grand fichier.json où sont stockés pour chaque guilds les niveaux des members 🤷

vital reef
#

un grand fichier json x DDDD

#

sacré json

#

j'aurai plutot dis une db avec une table par serv

#

bcp plus opti

#

surtout avec la quantité de donné d'un mee6

#

mais ca m'a toujours l'air bcp

#

🤔

#

y'a pas moyen de save les donné sur l'instance du bot ?

#

jsp si c'est clair comme question 🤔

hazy mirage
#

@vital reef ui je ferai ça aussi (table par serveurs)

glass gate
#

@vital reef un truc de la taille de MEE6, pour moi, ça utiliserait soit un serveur SQL soit un fichier sqlite

vital reef
#

sqlite = serveur sql

#

c'est juste que c'est une db fichier il me semble donc très simple a déplacer

spring dock
#

bah non du coup

vital reef
#

ba si du coup

#

c'est bien un serveur sql derrière

spring dock
#

bah non, un fichier ~= un serveur

vital reef
#

juste le stockage est différent

#

un fichier tout seul ca fait rien ..

spring dock
#

🤔

#

sauf que c'est pas un serveur

vital reef
spring dock
#

bah oui

#

donne moi la traduction de database stp

vital reef
#

a pardon j'ai pas compris serveur

#

je voyais db

glass gate
#

ui voila

vital reef
#

mais du coup ca inclue quoi "serveur" ?

#

🤔

spring dock
#

càd?

vital reef
#

ba différence entre serveur sql et euuuu base de donné sql

spring dock
#

déjà serveur sql ça veux tout dire et rien dire

vital reef
#

pour moi l'un va avec l'autre

#

db = stockage

#

serveur = gestion des donné

#

mais du coup sqlite = serveur aussi

#

🤔

glass gate
#

Par serveur sql j'entendais un service tier sql, par exemple MariaDB ou PostGreSQL, alors que sqlite ça passe par ton script / programme directement

vital reef
#

okk je suis daccord avec ton explication maks

#

donc le serveur c'est bien la "gestion" des donné et du coup les programmes peuvent remplacer cette partie

spring dock
#

mais en gros: si tu utilise par exemple MySQL, t'utilise un serveur qui va stocker ta base de donnée et tu peux y accéder en t'y connectant (username, password, etc....) alors que SQLite c'est juste un fichier .db qui est lu par le script (on peux avoir des bdd locales avec donc pas de serveur)

vital reef
#

on peut aussi avoir des bdd en local avec serveur 😉

#

ca s'appelle un serveur local

spring dock
#

par exemple dans gmod, chez le client ta le cl.db

#

j'men doutais que t'allais dire ça 🤦

vital reef
#

😏

spring dock
#

Sauf que tes bdd en local comme tu dit (avec wamp par exemple), wamp émule un serveur, donc c'est comme si t'avais un serveur mais chez toi donc j'ai pas tord, ta pas tord

#

comme quand tu host un serveur gmod avec steamcmd

glass gate
#

wamp émule pas un serveur, c'est un serveur

spring dock
#

critique pas ce que je dit kappa

drowsy turtle
#

salut

#

local discordia = require("discordia")
local client = discordia.Client()

--[[
createdAt
id
timestamp
attachement
attachements
author
channel <<<<
cleanContent
content <<<
editedTimestamp
embed
embeds
guild
link
member <<
author <<
]]

client:on("messageCreate", function(message)
local content = message.content
local member = message.member
local memberid = message.member.id
if message:lower() == "!ping" then
message:reply("pong")
end
end)

client:run("Bot (token)")

#

pk ça marche pa

#

ça me dit could not autenticate, check token:

spring dock
#

ton token n'est pas bon

timid loom
#

@glass gate pour un truc comme Mee6 je pense pas qu'ils utilisent sqlite vu le temps que ça peut prendre

glass gate
#

je pense aussi

timid loom
#

@vital reef sur le stockage y a pas de mystère, c'est en fonction du bot et en fonction de qui l'a fait. Mais en gros pour te donner un exemple, tinkbot stocke ses données dans un fichier que j'ai joliment nommé database.sqlite3 et l'intérieur ressemble à ça

glass gate
timid loom
#

ça utilise le système de Provider de Discord.js donc je me suis pas compliqué la vie hein

#

j'ai juste regardé par curiosité, mais je suis même pas sensé savoir ce qu'il y a dedans

#

globalement tu as plusieurs choix sur le stockage de données d'un bot

#
  • un gros fichier .json que tu vas mettre 5 ans à lire s'il est trop gros. Tu devras le réécrire à chaque modification (ce qui peut arriver souvent et n'est à mon humble avis pas adapté aux demandes de modifications très peu espacées que peuvent engendrer les bots discord à un certain point).
  • un fichier .sqlite (juste un peu plus rapide que la solution précédente, globalement c'est la même idée en plus rapide hein, surtout à la lecture)
  • une db SQL sur un serveur (bon là ça commence à devenir plus compliqué à mettre en place, il te faudrait une api en gros)
  • une db NoSQL sur un (des?) serveur(s) (là c'est encore un peu plus compliqué, parce que le NoSQL c'est un peu différent des db plus classiques, mais globalement c'est la même chose que juste avant en un peu plus rapide quand ton jeu de données est important)

Ce que je conseillerais dans l'idéal c'est une DB SQL sur un serveur distant et à laquelle tu fais des requêtes pour modifier/connaître certains éléments de ton bot. Ça requiert évidemment un bon serveur qui est accessible rapidement. Le NoSQL n'est pas nécessaire ici à mon sens, il n'est utile que sur des base de données très grosses et tend à être plus difficile à comprendre que le SQL.

vital reef
#

okdac merci pour les infos 👌

spring dock
#

je suis pas peu fier de moi kappa

glass gate
#

après pour rajouter à ce qu'a dit Taink, je dirais aussi :

  • fichier json : bot unique / perso qui ne va aller que sur 1 serveur
  • fichier sqlite : bot sur plusieurs serveurs
  • serveur sql : bot avec +75 serveurs
  • server nosql : bot avec +300 serveurs

environ

spring dock
#

un fichier json sur UN serveur avec 1648948 membres par exemple, c'est chaud (oui j'exagère mais c'est pour l'exemple)

glass gate
#

pafo

#

mais un serveur dépasse rarement 500 membres

#

mais après faut aussi penser aux inactifs

spring dock
#

oui

ripe horizon
#

Est-ce possible de relier un bot discord a ULX, exemple,
quand quelqu'un ce fait ban sa envoie un message discord ?

glass gate
#

en passant par http.Post et un webhook, oui

ripe horizon
#

ok merci, je vais me renseigner 😉

glass gate
#

de rien 😘

fringe wyvern
#

Je vais commencer à créer un bot discord pour un addon gmod je devrais me lancer dans quel langage sachant que j ai plus de connaissances en lua mais que le js est le plus utilisé ?

timid loom
#

y a des libs lua pour des bots discord

#

après c'est sûr qu'au niveau de l'aide que tu trouveras sur internet, ça sera surtout js ou python

queen ocean
fringe wyvern
#

Et du coup j aurais les même possibilités que si j utilisais le js en lua ?

timid loom
#

potentiellement oui

#

je sais pas ce que ça vaut cette lib hein mais normalement c'est assez similaire partout

humble storm
#

@fringe wyvern j'ai beaucoup utilisé Discordia, il est vraiment top, si jamais t'as besoin d'aide ou que t'as des questions, n'hésite pas

fringe wyvern
#

Ok

median shard
#

Bonjour , bonsoir

Je voudrait faire un system de speed test sur mon bot discord en js merci de m'aider

timid loom
#

un système de speedtest...?

median shard
#

Oui tout a fait mais l'intégrer dans un bot

timid loom
#

bah tu peux pas

median shard
#

Ah

timid loom
#

pour faire un speedtest le site t'envoies des données, le bot peut pas le faire

median shard
#

Il y a pas d'autre alternative ?

timid loom
#

bah nan, tu peux avoir une application mais c'est tout