#javascript-typescript

1 messages · Page 109 of 1

ashen rapids
#

Tu as besoin de save les images à vie ?

lone flax
#

Nope c'est juste pour la prise de commandes donc juste 1 mois ça me convient

#

Mais je vais utiliser ça du coup merci

#

Ca marche aussi pour les fichiers ig?

ashen rapids
#

Les fichiers IG ?

#

Si tu parles des fichiers autres que des images, nope, ça disparait

lone flax
#

Ah mince

#

Ouais les .zip etc quoi

#

Pourquoi est-ce qu'ils gardent les images mais pas les fichiers 😦

ashen rapids
#

J'ai passé une journée à essayer de comprendre comment ça fonctionnait ahah

lone flax
#

pfff ils sont chiants

neat lintel
#

Salut tout le monde, je voulais ajouter la prise en charge du système de modules EcmaScript en plus de CommonJS à une librairie (sheweny) pour NodeJS.
Utilisant typescript je peux définir une sortie sur EsX ou CommonJS. Cependant je peux pas prendre en charge les 2 à la fois bien sur (en une seule compilation). Donc la solution ce serait de faire une version EcmaScript et une version CommonJS de la librairie mais cela signifie doubler son poids alors que normalement il n'y a que une seule ligne qui a réellement besoin d'être changée.
Du coup je voulais savoir si il y aurait pas une autre solution que de faire les 2 versions ?

ashen rapids
#

Je vois mal comment c'est possible comme ça

red torrent
neat lintel
#

oui

red torrent
#

Alors c'est ce que je fais avec mes projets je vais te montrer mon tsconfig

neat lintel
#

D'ac merci

red torrent
#

Et ça supporte les deux

neat lintel
#

c'est a dire ? dans mon projet j'ai besoin de charger des fichiers dynamiquement donc vu que je suis en TS j'utilises await import("path") mais en cjs ca devient require("path") donc si l'utilisateur est en ESM ca va pas marcher car require existe pas

red torrent
neat lintel
#

Je vais essayer, merci

#

Meme avec cette option j'ai un Error [ERR_REQUIRE_ESM]: require() ... is not supported

red torrent
#

Voilà mon tsconfig.json

{
  "compilerOptions": {
    "resolveJsonModule": true,
    "target": "es6",
    "module": "commonjs",                 
    "lib": ["es2015", "dom"],               
    "sourceMap": true,                     
    "outDir": "dist",                       
    "strict": true,                         
    "moduleResolution": "node",            
    "types": ["node"],                      
    "esModuleInterop": true                 
  }
}
neat lintel
#

En CJS c'est comme si il exportait pas la variable SyntaxError: The requested module 'sheweny' does not provide an export named 'ShewenyClient'

red torrent
#

Mais dans tes modules tu dois exporter des deux manières si tu veux pouvoir l'importer des deux manières aussi

neat lintel
#

Ah voila, donc je dois faire un truc qui ressemble à ca ?

"exports": {
    ".": {
      "require": "./index.cjs", // CJS
      "import": "./index.mjs"   // ESM
    }
  }
#

(dans le package.json)

red torrent
#

Je pensais directement dans tes fichiers ts

neat lintel
#

c'est a dire exporter de 2 facons ?

red torrent
neat lintel
#

Ah oui mais vu que j'en exporte beaucoup ca va etre le bordel dans le code, du coup vaut mieux que je compile 2 fois, une fois pour CJS et une fois pour ESM

red torrent
#

Après si c'est une librairie que tu fais tu peux créer un objet qui contient tout ce que tu exportes et l'exporter des deux façons dans ton index.ts

neat lintel
#

je vais essayer les 2, merci de ton aide

burnt current
#

je suis a la recherche d'un personne qui pourrais m'aider a coder un bot avec pas mal de commande sans remunération merci a vous

#

désoler si il faut pas que j'envoie mon message ici

keen narwhal
queen ocean
#

Max 5 boutons par row

#

Tout simplement

keen narwhal
# queen ocean Tout simplement

mrc et j'ai une erreur avec une mes commandes en embed
erreur```(node:29552) DeprecationWarning: Passing strings for MessageEmbed#setAuthor is deprecated. Pass a sole object instead.
(Use node --trace-deprecation ... to show where the warning was created)
C:\Users\Johann\OneDrive\Bureau\Viperr Protect\node_modules\discord.js\src\util\Util.js:416
if (typeof data !== 'string') throw new error(errorMessage);
^

RangeError [EMBED_FIELD_VALUE]: MessageEmbed field values must be non-empty strings.
at Function.verifyString (C:\Users\Johann\OneDrive\Bureau\Viperr Protect\node_modules\discord.js\src\util\Util.js:416:41)
at Function.normalizeField (C:\Users\Johann\OneDrive\Bureau\Viperr Protect\node_modules\discord.js\src\structures\MessageEmbed.js:544:19)
at C:\Users\Johann\OneDrive\Bureau\Viperr Protect\node_modules\discord.js\src\structures\MessageEmbed.js:565:14
at Array.map (<anonymous>)
at Function.normalizeFields (C:\Users\Johann\OneDrive\Bureau\Viperr Protect\node_modules\discord.js\src\structures\MessageEmbed.js:564:8)
at MessageEmbed.addFields (C:\Users\Johann\OneDrive\Bureau\Viperr Protect\node_modules\discord.js\src\structures\MessageEmbed.js:328:42)
at MessageEmbed.addField (C:\Users\Johann\OneDrive\Bureau\Viperr Protect\node_modules\discord.js\src\structures\MessageEmbed.js:319:17)
at Object.execute (C:\Users\Johann\OneDrive\Bureau\Viperr Protect\commands\shop.js:25:6)
at Object.execute (C:\Users\Johann\OneDrive\Bureau\Viperr Protect\events\messageCreate.js:16:21)
at Client.<anonymous> (C:\Users\Johann\OneDrive\Bureau\Viperr Protect\index.js:26:50) {
[Symbol(code)]: 'EMBED_FIELD_VALUE'
}``` code

ashen rapids
#

Ton erreur veut tout dire non ?

#

.addField ("**__Merci de créer un ticket")

ancient sonnetBOT
#
🔎 Les offres de GCA !

Tu es à la recherche d'un créateur de contenu ?
D'un super développeur pour te faire le nouveau site de l'année, ou encore d'un graphiste pour réaliser le logo de ton serveur ?

Clique ici et tu trouveras ton bonheur !
Il te suffit simplement de créer ton offre en détaillant précisemment ce que tu recherches 👌

ashen rapids
#

@burnt current

keen narwhal
ashen rapids
#

Le tutoriel c'est la doc

queen ocean
ashen rapids
#

Un field ça prend un label et un valeur

burnt current
waxen flax
#

Quelqu'un de doué en VueJs de dispo ?

ashen rapids
ashen rapids
waxen flax
#

Ok je me lance

#
const pizzas = [
        {id : 0, image : "../../pizza/gpas.jpg", nom : "Margarita", prix : 9.00, description : "Mozzarella, persillade, olives", vegetarienne : true, base : "tomate/origan"},
        {id : 1, image : "../../pizza/reine.jpg", nom : "Reine", prix : 10.50, description : "Mozzarella, jambon, champignons frais, huile d\'olives, olives", vegetarienne : false, base : "tomate/origan"},
]

const pizza = ref(pizzas[0])
waxen flax
#
<div v-for="(item, index) in computedListPizzas" :key="item.nom" :data-index="index">
                    <a @click="initP(item.id)">
                        <h6>{{ item.nom }}</h6>
                        <h6>{{ item.prix }}€</h6>
                    <span>
                        <img :src="item.image" alt="" />
                    </span>
                    </a>
              </div>




function initP(i) {
  this.pizza = ref(pizzas[i]);
}


<Teleport to="section">
    <modal :pizza="pizza">
    </modal>
  </Teleport>
#

L'affichage dans le component modal se fait correctement en mode run dev

#

cependant quand je le run build et que je preview j'ai une erreur

#

Quand je fais le click qui lance ma fonction

#

En mode développeur aucun problème

#

@ashen rapids Je compte sur toi 🥲 j'en peu plus

primal orbit
#

Bonsoir à tous
J'ai l'erreur suivante :

Error [ReferenceError]: guildId is not defined

Voici mon code, j'ai beau le tourner dans tous les sens et je n'y arrive pas :

let guildId = "12345678923135"
bot.shard.broadcastEval(c => {
  console.log(guildId)
  return c.guilds.cache.get(guildId)
}).catch((err) => {
  console.log(err)
})

Merci d'avance pour l'aide apportée 😉

normal lichen
#

Bonjour, est ce que quelqu'un sais comment je peut récupérer le contenue d'une variable php ($nom = select nom from la_table where... ) et la réutiliser en js ? ^^

#

j'utilise ajax, qui me permet une requete php mais je doit ensuite passer le contenue de ma variable php dans un fichier fullcalendar qui est en js ^^

ashen rapids
normal lichen
ashen rapids
#

Tu l'as récupère via le résultat oue

#

Regarde la réponse de ta requête pour voir ce qu'il faut récupérer exactement !

normal lichen
#

yep j'ai trouvé merci beaucoup x)

raw lava
#

les gars je cherche un peu d'aide

ashen rapids
#

Dis nous tout

waxen flax
#

Quelqu'un sait pourquoi j'ai ces erreurs ?

#

La page fonctionne très bien mais j'ai quand même l'erreur

left forum
#

mais ton erreur dit que ce que tu essaye de référencer ne peut être fait que depuis un tag html

waxen flax
#
<section class="wrapper style5">
            <div class="inner">
                <h4 id="fr">Menu Français</h4>
                <span class="image fit">
                    <img src="../../public/menu/page1FlyerFR.png" alt="">
                    <img src="../../public/menu/page2FlyerFR.png" alt="">
                </span>
                <h4 id="en">Menu Anglais</h4>
                <span class="image fit">
                    <img src="../../public/menu/page1FlyerEN.png" alt="">
                    <img src="../../public/menu/page2FlyerEN.png" alt="">
                </span>
            </div>
        </section>
#

C'est bien un tag html c'est ça qui est bizarre

#

et hier ça marchait tres bien

left forum
#

vérifie ce que tu as changé depuis hier

#

tu as peut être fait une mauvaise manip

waxen flax
#
<li><RouterLink :to="{name: 'menu'}">Menu</RouterLink></li>
#

Je pensais que ça venait de la mais le lien même avec une balise a ça fait pareil

left forum
#

essaye de retirer petit à petit les modifications que tu as pu apporter depuis hier et tu verras là où sa coince dans ton code

waxen flax
#

Ok c'est bon

#

J'ai juste changer le /menu par /menus pour voir et ça marche c'est qu'il allait chercher un dossier /menu plutot que le lien

#

J'ai une nouvelle question

#

Est ce que quelqu'un sait pourquoi lorsque je change de pages ça m'affiche pas en haut de la page ? mais au même niveau que la page d'où je viens

burnt current
#

bonjour voila j'ai une erreur quand j'essaye de faire la commande

#
Client.on("messageCreate", message => {
    if (message.author.bot) return;

    if(message.content === prefix +"ftg"){
    const embed =new Discord.MessageEmbed()
    .setColor("#8B0000")
    .setTitle("**__Choisis tes roles__**")
    .setDescription("Oh ! "+ "<@" +"> viens de scréer unt ticket! :)")
    .setURL("https://discord.js.org/")
    .addFields(
        {name : "Pour close le ticket"  , value: "Cliquer sur le bouton ci-dessous pour fermet un ticket", inline: true},
         )
    .setTimestamp()
    .setFooter({text:"By Malzeiy", iconURL:"https://cdn.discordapp.com/attachments/981606149365334047/981629933833031721/tumblr_nyr1o0OR2k1qfwheqo2_1280.png"});
    message.channel.send({ embeds: [embed]});   
    const row=new Discord.MessageActionRow()
        .addComponents(
            new Discord.MessageSelectMenu()
            .setPlaceholder('Choisis tes roles')
            .addOptions([
            {
                label: 'roles1',
                value: 'r1',
                description :'descrpition r1'                            
            },
            {
                label: 'roles2',
                value: 'r2',
                description :'descrpition r3'                   
            }            
         ])
     );         
        message.channel.send({content: " ", components: [row]});       
    }});
#

voici l'erreur

#

le embed s'envoie mais pas le reste c normal

ashen rapids
#

Faut mettre un ID à ton select

#

En règle générale, tout ce qui est sur ce guide est relativement bien expliqué

keen narwhal
#

hi

flat folio
#

bonjour, est-il possible de bloquer les bots de scraping ? Notamment des extensions chrome qui permettent le scraping de données de nos sites ?

charred lake
#

Hello, est-ce que quelqu'un maitrise Sequelize ici ?
J'essai de synchroniser ma db avec mes modèles, donc j'utilise UsersAdminModel.sync();
Mais j'obtiens une erreur : TypeError: Cannot read properties of undefined (reading 'define')
Qui se réfère à : export const UsersAdminModel = db.define('UsersAdmin', {

#

Je ne comprends pas vraiment la raison de cette erreur

#

Peut être une erreur d'importation ?

past nimbus
#

On dirait bien

primal knoll
#

Bonjour. Si je vous paste du code, quelqu'un pourra me dire où est-ce que j'ai loupé quelque chose ? Car je n'ai aucune réaction du bot lorsque la commande est invoquée

keen narwhal
#

bonjour comment je fait pour mettre de l'espace dans les embed car la c'est tous coller

// 
const Discord = require('discord.js');
const { readdirSync } = require('fs');
const Client = new Discord.Client(({intents : [98045]}))
const prefix = '+'

module.exports = {
    name: 'shop',
    descirption: 'Commande Help',
   async execute (message, args, client) {
    if (message.author.bot) return;
if(message.content === prefix + "shop"){
    const embed = new Discord.MessageEmbed()
    .setColor("#2400FF")
    .setTitle("Tous les prix du shop")
    .setAuthor("Coded By Terror#0999", "https://i.imgur.com/QhpmKwE.gif")
    .setDescription("**__Voici les différent prix du shop__**")
    .addField("**__Nitro 1 Mois__**", "**2€35 Nitro CL / 4€45 Nitro Boost**")


    .addField("**__Nitro 1 Ans__**", "**15€ Nitro CL /30€ Nitro Boost**")

    

    .addField("**__Nitro 3 Mois__**", "**35¢ Nitro Boost**")


    .addField("**__Méthode de paiment__**", "**Paypal / Crypto**")


    .addField ("**__Merci de créer un ticket__**", "**Ont vous répondra sous les plus préf délais**")
    .setImage("https://media.discordapp.net/attachments/977535850747428894/978721115604135956/Viperr.gif")
    .setFooter({ text: 'Ce bot a été créer par Terror#0999'}) 
    
message.reply({ embeds: [embed]});
}
}}```
empty oyster
#

Keske

#

Rholalla

#

Monsieur voyons !

keen narwhal
keen narwhal
#

merci

#

🙂

primal knoll
primal knoll
#

Nan

#

J'ai bien créé un fichier pour chaque commande histoire que cela soit propre

keen narwhal
empty oyster
#

😂

primal knoll
lapis onyx
keen narwhal
glass cargo
#

@keen narwhal .addField\n("**__Méthode de paiment__**", "**Paypal / Crypto**\n")

charred lake
#

Bonjour,
Quelqu'un de calé sur l'utilisation de useFetch sur Vue3 ici ?

#

Je serai pas contre une petite explication du fonctionnement du module, que je ne comprends pas. Je trouve fetch classique tellement plus simple

keen narwhal
#

petit question dans mon status j'ai mis streaming sauf que ça me met joue à... au lieu de steame ...

hazy mirage
charred lake
#

Oui, j'ai du mal à comprendre son utilisation.
J'ai beau lire la doc, mais j'ai du mal à la comprendre.

Avec le fetch classique, je pouvais faire mon petit .then .catch et .finally et récupérer les informations retournées par mon API (mon statusCode et mon statusText).

Alors qu'avec useFetch, je n'ai plus la possibilité de faire mes différentes actions (then, catch, finally), et useFetch retourne un objet qui me complique tellement la tâche

#

Par exemple avec un .then((res) => {
Je pouvais récupérer mon res.statusCode et mon res.statusMessage, super simplement.

L'objet retourné était super clair. Mais avec le useFetch, j'y pige rien. Il me retourne un objet comme ça, et j'ai du mal à comprendre comment l'intégrer et l'utiliser

#

La logique voudrait que j'utilise Axios, ça me compliquerai tellement moins la vie, mais malheureusement pour le moment j'ai pas le choix.
Je dois comprendre et/ou trouver les arguments pour convaincre mon lead-dev de changer pour passer sous Fetch tout court

hazy mirage
charred lake
#

Oui, mais ça contient quelle data ?

#

Celle que tu retournes depuis ton API dans le body en JSON ?

hazy mirage
#

Yes, en gros ça log un proxy mais osef tu traite comme si ça affichait juste ta data brute

#

Et du coup je peux faire data.value[0] et ça me sortira mon objet 0 tu vois par ex

charred lake
#

Oui je vois

#

Mais dans mon cas

#

Par exemple, j'ai un formulaire de connexion

hazy mirage
#

J'avais pas vu ton log en haut, justement ça te log ça car tu fais pas un .value sur le res/data
Essaye avec tu vas voir la différence

charred lake
#

La personne se trompe de mot de passes, mon API me retourne un http code forbidden et un statusMessage pour comprendre le soucis.

Je ne retourne pas un 200, avec à l'intérieur un body un JSON qui m'explique le souci

#

Avec un error.value il me retourne ça

hazy mirage
#

T'es dans le catch là ou dans le then ?

charred lake
#

Je suis dans aucun des deux, regarde :

// Je fais appel à l'API
  const { data, error } = await useFetch(import.meta.env.VITE_API_URL + '/login', {
    method: 'POST',
    body: JSON.stringify(loginForm.value),
    headers: {
      "Content-Type": "application/json; charset=utf-8"
    }
  })

  console.log(error);
hazy mirage
#

Tu peux check dans l'onglet Network dans les devtools et ensuite sur ta requete puis dans l'onglet response qu'est-ce qu'il y a stp ?

charred lake
#

Il n'y a rien dans la réponse 🙂

#

C'est justement le but de la manoeuvre

#

Les données ne sont pas envoyées dans le body

#

Alors, attend, je vais tester un truc, juste pour voir

hazy mirage
#

Je ne retourne pas un 200, avec à l'intérieur un body un JSON qui m'explique le souci
J'avais pas vu cette phrase sorry

charred lake
#

Oui non. Le seul moyen pour moi de récupérer les données dans un proxy comme toi, c'est effectivement de retourner un JSON avec un httpcode 200

#

La effectivement, je peux faire mon data.value.message

hazy mirage
#

Oui moi c'est comme ça que je fais pour l'api 👌

charred lake
#

Mais à partir du moment où je bascule sur un http code différent de 200, j'arrive pas à récupérer la valeur associé au body

#

Et la convention veut que les httpcode varient en fonction du résultat, donc je peux pas retourner h24 un 200

hazy mirage
#

Je check ça

charred lake
#

C'est pour ça que je trouve cette méthode super bancale par rapport un fetch classique

hazy mirage
charred lake
#

Tous autre que 200, tu peux tester 400

#

Essai depuis ton api de retourner un statusCode de 400 et un statusMessage "bonjour", et tu verras que c'est pas si simple de récupérer ça proprement avec useFetch

hazy mirage
charred lake
#

Et si tu veux gérer en plus de ça les 200 ?

#

Comment tu arrives à mettre tout ça là dedans sans que ce soit le gros bazard 😋

hazy mirage
#

neko_shrug Tu peux faire un composable que tu reutilise apres, ça t'évitera de réecrire ça plusieurs fois

charred lake
#

Et pourquoi deux valeurs dans le console log ?

charred lake
hazy mirage
#

ben là c'est un exemple comme un autre mais oui ou sinon une condition, c'est pour ça qu'un composable est interessant car tu renvoie une promise et tu pourras gerer tes cas en une seule fois en jouant avec le reject/resolve limite

torn sun
#

euh je comprend pas sa Je fais donc clic droit sur le dossier ou à l'interieur du dossier, et Ouvrir avec Code :

#

merci d'avance

glass cargo
torn sun
#

ok mrc

glass cargo
#

^^

torn sun
#

mais ya pas sa quand je fais clic droit

glass cargo
#

Tu as installé vsc ?

torn sun
#

oui

glass cargo
#

Ok

#

Ouvre le

torn sun
#

c bon

glass cargo
#

Ensuite tu fais "files" -> "open folder"

torn sun
#

j'ai choisi la derniere version

glass cargo
#

Et tu sélectionne ton dossier ^^

glass cargo
torn sun
#

merci 🙂

glass cargo
torn sun
#

Désormais, il faut créer le fichier principal du bot, le fichier qui contiendra l'essentiel pour démarrer le bot. Nous l'appellerons ici index.js. Pour créer un nouveau fichier, va dans File et ensuite** New File.** Copie-colle le code ci-dessous dans le fichier

#

Quoi?

torn sun
#

euh vous pouvez maider svp pour sa?

modern skiff
torn sun
#

@modern skiff

modern skiff
torn sun
#

a la toute fin

#

Désormais, il faut créer le fichier principal du bot, le fichier qui contiendra l'essentiel pour démarrer le bot. Nous l'appellerons ici index.js. Pour créer un nouveau fichier, va dans File et ensuite New File. Copie-colle le code ci-dessous dans le fichier:

modern skiff
#

eh bien tu créée un fichier index.js

#

rien de plus simple

torn sun
#

oe mais omenr

#

comment*

#

t la @modern skiff

#

?

dire latch
#

@torn sunBa dans ton fichier index.js, faut mettre le code

torn sun
#

du bot?

dire latch
#

Oui

torn sun
#

ok merci bg

#

mais @dire latch comment on fait des commandes persso ect..

normal lichen
#

en ecrivant du code dans le fichier index.js

torn sun
#

ah

#

:/

dire latch
torn sun
#

ok merci

dire latch
#

Dr

grizzled magnet
#

Bonjour, Vous avez une video qui explique bien comment recuperer la data d'une api svp

waxen flax
#

J'ai un tableau de tableau :

#
const boissons = [
      {Sodas : [
        {id : 0, nom : "Coca Cola", prix : 1.80, description : "33cL"},
        {id : 1, nom : "Ice Tea", prix : 1.80, description : "33cL"},
      ]},
      {Vins : [
        {id : 0, nom : "Greg et Juju", prix : 9.90, description : "75cL"},
        {id : 1, nom : "Tarani (rosé)", prix : 7.90, description : "75cL"},
      ]},
      {Eaux : [
        {id : 0, nom : "Evian", prix : 1.80, description : "33cL"},
        {id : 1, nom : "Badoit", prix : 1.80, description : "33cL"},
      ]},
    ]
#

Comment je récupère les noms des différents tableaux de mon tableau dans un v-for

#
<div class="col-4" v-for="(item, index) in boissons" :key="index">
                <h2>{{ index }}</h2>
              </div>
#

index me renvoie les chiffres 0 1 2 et non pas les caractères ... Merci d'avance 🙂

floral bolt
#

Item.nom

#

Ah ou juste item

#

(Je suis sur téléphone c’est dur à voir)

waxen flax
#

Item me renvoie tout le tableau

#

et item.nom n'existe pas

#

Je voudrais avoir Sodas Vins et Eaux et non pas ce qu'il y a a l'interieur :/

floral bolt
#

Object.keys(item )

waxen flax
#

Parfait mais du coup j'ai des guillemets ^^'

glass cargo
#

Object.keys(item)[0]

waxen flax
glass cargo
#

^^

torn sun
#

svp c'est quoi les faute dedans

#

Client.on("message", message => (
(message.content === prefix + "Test"){
let embed = new DiscordAPIError.RichEmbed ()
.setDescription("test")
.setColor("#010101")
.setTimestamp()
.setTitle("TEST")
.setFooter("TEST BOT")
message.channel.send(embed)
}
)

dire latch
#

new DiscordAPIError.RichEmbed () en new Discord.RichEmbed()

#

message.channel.send(embed) en message.channel.send({embeds: [embed] })

#

@torn sun

torn sun
#

Quoi? je doit metrre ou?

#

ah ok

#

merci

#

il disent ya encore des faute

dire latch
#

Envoi les erreurs @torn sun

normal lichen
#

Bonjour, est ce possible de faire un bot discord qui recupere tout les url d'une recherche web ? 😅

normal lichen
#

bah en gros j'aimerais que mon bot recupere les 500 resultat de ma requete web et me les ecrive si possible dans un csv ou un json xd

floral bolt
#

Quand tu cherches sur internet tu regarde les 50 pages après ?

#

C’est possible oui

#

Tu peux utiliser le scrapping je pense

normal lichen
#

oui c'est sque je veut faire xd

#

le serveur de mon entreprise a bug cette nuit et faut recuperer l'entiéreté des sites des clients dessus, et y'en a juste 580 sur se serveur xd

pearl shoal
#
    event.preventDefault()
    console.log(url)
    const url = 'http://localhost:4200/api/user/upload';
    const formData = new FormData();
    formData.append('file', file);
    formData.append('fileName', file.name);
    const config = {
      headers: {
        'content-type': 'multipart/form-data',
      },
    };
    axios.post(url, formData, config).then((response) => {
      console.log(response.data);
    });
  ``` voici le code
#

ou je fais mon appel @lapis onyx

lapis onyx
#

console.log(response) donne quoi ?

pearl shoal
#

statue 200

lapis onyx
#

Et response.data ?

#

Logiquement ça te print « ok »

pearl shoal
#

oui

lapis onyx
#

Donc tu bloques sur quoi à partir de la ?

pearl shoal
#

effectivement

#

mais a partir de la la pdp ne se met pas a jour

lapis onyx
#

Bah sur ton back si

pearl shoal
#

c'est a dire que lorsque je devrais appuyer sur upload se devrais me mettre la pdp a jour alors que non

#

code du back regarde :

lapis onyx
#

Bah normal si tu fais pas la MAJ côté front ça va pas se faire tout seul

#

Ton front a encore les anciennes données

pearl shoal
#
const fs = require("fs");
const { promisify } = require("util");
const pipeline = promisify(require("stream").pipeline);
const { uploadErrors } = require("../utils/errors.utils");





module.exports.uploadProfil = async (req, res) => {
  const fileName = req.body.name + ".jpg";
  res.send('ok')
    
 try {
    await UserModel.findByIdAndUpdate(
      req.body.userId,
      { $set : {picture: "./images/profil/" + fileName}},
      { new: true, upsert: true, setDefaultsOnInsert: true},
      (err, docs) => {
        if (!err) return res.send(docs);
        else return res.status(500).send({ message: err });
      }
    );
  } catch (err) {
    return res.status(500).send({ message: err });
  }  
};
lapis onyx
#

Faut que tu le mettes à jour

pearl shoal
#

d'accord, mais comment du coup c'est sa que je cherche surtout

lapis onyx
#

Enlève ton res.send ok

pearl shoal
#

fait, le try catch est entre /* */ normalement pour que sa fonctionne sinon j'ai une erreur

#

je sais pas pourquoi il s'affiche pas la les /* */

lapis onyx
#

Bah donc ton back est pas bon

#

Tu m’as assuré que si à 100%

pearl shoal
#

mais je recois l'image

lapis onyx
#

Bah oui mais tu mets pas à jour ta BD la

pearl shoal
#

a oui je vois se que tu veux dire par la

#

effectivement

#

car en faite de base le try catch me sert a sa mais la sa fonctionne pas je suis obliger le mettre en commentaires sinon j'ai une erreur

#

mais je sais pas pourquoi d'ailleurs

lapis onyx
#

Bah donc corrige ton erreur déjà

#

Ton front peut pas fonctionner correctement si ton back est mort

pearl shoal
#

je recois sa comme erreur

#

mais je n'arrive pas a la regler

#

et dans ma console je recois sa

#

il ne me donne aucune information

lapis onyx
#

Je vois clairement une information clé moi

pearl shoal
#

laquel ?

lapis onyx
#

"Cannot set headers after they are sent to the client"

pearl shoal
#

je viens de reregarder justement je comprend pas

#

pourquoi il arrive pas a definir mon image c'est sa je comprends pas

lapis onyx
#

mais

#

PARCE QUE TON BACK NE FONCTIONNE PAS

pearl shoal
#

j'ai compris sa

#

mais ou est l'erreur dans le code c'est sa ma question

cyan iron
#

npm install canvas

glass cargo
#

Ou npm i canvas@stable si ce que wailrone t’as dis ne marche pas

#

Même si il ne devrait pas y avoir de raisons que ça marche pas x)

#

Tu peux me donner ton package.json ?

#

Ok

#

Et les erreurs c’est quoi @keen narwhal ?

#

Ah mince

#

Et npm i canvas

#

Ça marche ?

oak turret
#

fais un coup de npm update

#

npm i

#

puis npm i canvas

glass cargo
#

Il a Que express

oak turret
#

pour tout mettre à jour

#

sait-on jamais

#

sinon tu supprimes ton node_modules et ton package.lock et tu refais un npm i

#

puis npm i canvas

pearl shoal
#

Hello tout le monde je cherche une personne motivée et sérieux pour m'aider a finir mon projet (en vocal si possible ). (je suis en fin de formation et je passe mon examen le 13) Il reste quelque petite chose a faire sauf que je n'y arrive pas et j'aimerai que quelqu'un puisse m'aider a avancer et à y voir plus clair.( j'utilise react pour le front et express pour le back) Merci d'avance 🙂

torn sun
#

c'est quoi le probleme svp

#

const Discord = require('discord.js');
const client = new Discord.Client();
const prefix = "/";

client.on("ready", () => {
console.log("Le bot tuto c'est bien allumé !")
});

client.login("c mon token")

torn sun
#

jsp mon bot il est pas connecter

#

de base c ue commande fai pour

#

une*

dire latch
#

Ba si il est pas connecter, connecte le 🤔

torn sun
#

comment?

#

xD

#

jai commencer hier le javascript

dire latch
#

🤦‍♀️

#

Regarde des vidéos youtube/doc et apprends

torn sun
#

ok

#

mais sa fait partie dune video ce script mais...

#

y ecris y 0 erreur

near saddle
#

Hello, j'ai une petite quetsion concernant les selectMenu en discord.js, si quelqu'un aurait l'amabilité d'y répondre,

Je cherche à, lorsqu'une personne clique sur une option, cela lui donne un rôle ( réussi jusque maintenant ) mais qu'après cela, ça le remette à l'écran où aucune sélection n'a été faite

#

lorsque l'on clique sur une option, cela revient par défaut à l'écarn de non-sélection

#

donc si quelqu'un a une petite idée ^^

glass cargo
#

En faisant ça par exemple :

<Interaction>.message.edit({ content: <Interaction>.message.content, embeds: <Interaction>.message.embeds, components: <Interaction>.message.components })
#

(Je suis pas trop sur de moi sur l’embed et les components, mais dis toi juste que ça devrait ressembler à ça ^^

near saddle
#

J’ai fini par réussir par moi meme hier, mais merci tout de meme !

cunning summit
#

Bonjour a tous ,je commence le JS, et ma question c'est comment mettre en LIVE depuis VSC a Chrome pour voir ce que je code, avec la console.
Merci d'avance.

glass cargo
cunning summit
#

J'aimerais mettre mon codage visible sur Chrome. Le mode "go live" su VSC.
Dans le tuto de from scratch sur youtube il montre comment faire, mais ça ne fonctionne pas pour moi.

#

Je vais essayer de prendre une photo pour que ce soit plus clair

red torrent
#

Il veut mettre en place le serveur web avec le hot reload de vcs

glass cargo
#

ok x)

#

j'avais pas compris

cunning summit
#

Je suis novice alors je comprend que mes explications soit pas au top

glass cargo
#

et honnêtement, je sais pas j'utilise plus VSC depuis 6 mois x)

cunning summit
#

Le "Go live" en bas à droite

misty parcel
#

Salut les copains je suis avec discord js et j'aimerais afficher l'avatar de l'user dans un embed, donc j'ai fais interaction.member.avatarURL() mais le problème c'est que si l'user à pas de pdp ça va renvoyer une erreur donc je ne sais pas comment faire pour que ça envoie l'avatar par defaut si l'uyser n'a pas d'avatar D :

languid goblet
misty parcel
languid goblet
#

oui

glass cargo
#

je pense pas que DiscordJS prenne encore en charge les pdp personnlisées

#

Parce que avec ce que Joris t'a donné, tu vas récupérer l'avatar de l'utilisateur (depuis la class User) et non celle du membre

misty parcel
#

ouais justement je me disais

pearl shoal
#

Hello j'ai une petit soucis cotés front : J'ai une erreur dans ma console qui est :

Uncaught Error: [Home] is not a <Route> component. All component children of <Routes> must be a <Route> or <React.Fragment>

et j'aimerai savoir comment je pourrais la régler ? Code :
https://paste.artemix.org/-/v-sXfD

raw birch
torn sun
#

Bonsoir ou bonjour s depand qui peux m'aider pour vsc comme sa mon bot est en ligne avec un profil perso

pearl shoal
#

Hello tout le monde je ne comprends pas pourquoi j'ai une erreur lorsque j'appuie sur mon bouton delete pouvez vous m'aider ?
Je recois l'erreur suivante comme reponse : Vous pouvez supprimer que votre propre post; alors que c'est un post que j'ai crée avec le même compte

Code front button : https://paste.artemix.org/-/v8cJjg

Code back :

router.delete("/:id", async (req, res) => {
 try {
   const post = await Post.findById(req.params.id);
   if (post.userId === req.body.userId) {
     await post.deleteOne();
     res.status(200).json("the post has been deleted");
   } else {
     res.status(403).json("you can delete only your post");
   }
 } catch (err) {
   res.status(500).json(err);
  
 }
});

lapis onyx
pearl shoal
#

c'est a dire ? tu peux m'expliquer ( si sa te derange pas ^^ )

lapis onyx
#

bah lorsque tu fais ta requête

#

Tu dois envoyer dans le body ton userId

#

Donc ton if (post.userId == req.body.userId) ne passe pas pour le moment

pearl shoal
#

justement je l'ai fais mais sa ne fonctionne toujours pas

#

j'ai fais comme sa
axios.delete('http://localhost:4200/api/posts/'+ post._id, { params: { userId: post.userId, }})

floral bolt
#

Salut, vous avez une idée pour reduire la taille de la fonction ? ```js
function checkDays(data) {
const date = new Date()
const day = date.getDay() // lundi

// number to day string
const dayString = ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi']
// get all days from data
const Lundi = data.lundi
const Mardi = data.mardi
const Mercredi = data.mercredi
const Jeudi = data.jeudi
const Vendredi = data.vendredi
const Samedi = data.samedi
const Dimanche = data.dimanche
// check if day == dayString[day]
if (dayString[day] === 'dimanche' && Dimanche) {
return true
}
if (dayString[day] === 'lundi' && Lundi) {
return true
}
if (dayString[day] === 'mardi' && Mardi) {
return true
}
if (dayString[day] === 'mercredi' && Mercredi) {
return true
}
if (dayString[day] === 'jeudi' && Jeudi) {
return true
}
if (dayString[day] === 'vendredi' && Vendredi) {
return true
}
if (dayString[day] === 'samedi' && Samedi) {
return true
}
return false
}```

autumn glacier
#
function checkDays(data) {
  const date = new Date()
  const day = date.getDay() // lundi

  // number to day string
  const dayString = ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi']
  // get all days from data
  const Days = {
   "lundi": data.lundi,
   "mardi": data.mardi,
   "mercredi": data.mercredi,
   "jeudi": data.jeudi,
   "vendredi": data.vendredi,
   "samedi": data.samedi,
   "dimanche": data.dimanche
}
  // check if day == dayString[day]
  if (Days[dayString[day]])
    return true
  return false
}```
J'ai pas test mais un truc du genre devrait marcher
red torrent
# floral bolt Merci

ou sinon tu peux directement faire ça : ```js
function checkDays(data) {
const date = new Date()
const day = date.getDay()
const dayString = ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi']
return dayString[day] && data[dayString[day]]
}

autumn glacier
#

Ouai voila

#

mdrrr

#
function checkDays(data) {
  const date = new Date()
  const day = date.getDay() // lundi
  
  const Days = [
   data.dimanche,
   data.lundi,
   data.mardi,
   data.mercredi,
   data.jeudi,
   data.vendredi,
   data.samedi
]
  // check if day == dayString[day]
  if (Days[day])
    return true
  return false
}```
autumn glacier
red torrent
#

un seul ! ça retourne false si c'est undefined ou null et deux ! ça retourne true si c'est pas undefined ou null

#

tu inverses l'inversion quoi

sharp grail
#

euh Eno

autumn glacier
#

Mais ducoup

sharp grail
#

tu mets juste dayString[day] dans ce cas non ?

autumn glacier
#

oui

#

return dayString[day] && data[dayString[day]]

#

ça return true si les deux sont differents de null / undefined

#

ou false

#

🤷‍♂️

red torrent
#

ah oui avec && c'est vrai

#

c'est avec || qu'il faut convertir en booléen

fathom river
#

Salut , vous savez comment passer des variables additionnel lors de l'enregistrement d'events ?
psk quand j'en register ca prend la valeur actuel de la variable et non celle lors de l'enregistrement de l'event

#

https://pastebin.com/JLZEUwLB
danw la function download , je suis obligé de recuperer les index dans le json par le nom des fichiers (l'id) (modifié)
et j'essaye de passer la variable dl_token dans les event ndl.on("progress") et "end"
pour update le json
mais quand la lib ne donne pas le nom du fichier je suis niquer
car je peux pas extraire l'id
mais quand la lib ne donne pas le nom du fichier je suis niquer

autumn glacier
#

ok j'viens de comprendre @red torrent
Genre si tu veux par exemple console.log(data.lundi)
Si tu met juste data.lundi ça va écrire par exemple "lundi" alors qu'avec !! ça mettra true si il est défini

#

sympa

autumn glacier
#

Bahahah après 4 ans de js j'viens de découvrir en cherchant pour les "!!" le "??"
J'vais enfin arrêter de faire let variable = var ? var : "Jsp quoi"

red torrent
#

ah oui je connaissais en php mais pas en js

pearl shoal
#

Yo tout le monde j'ai un problème avec mon bouton supprimer je doit récuperer le userId pour confirmer qu'il sagit de la personne qui a crée le post mais sa ne fonctionne pas :

Front :

const deletePost = () => {
    axios.delete('http://localhost:4200/api/posts/'+ post._id, { params: {
      userId: post.userId,
    }})
    .then(response => response.status)
    .catch(err => console.warn(err));
  }

Back :

router.delete("/:id", async (req, res) => {
  try {
    const post = await Post.findById(req.params.id);
    console.log("test")
    console.log(post.userId, req.body.userId)
    if (post.userId === req.body.userId) {
      await post.deleteOne();
      res.status(200).json("the post has been deleted");
    } else if (!req.body.userId) {
      res.status(409).json("user missing")
    } else {
      res.status(403).json("you can delete only your post");
    } 
  } catch (err) {
    res.status(500).json(err);
  }
});
floral bolt
# pearl shoal Yo tout le monde j'ai un problème avec mon bouton supprimer je doit récuperer le...
router.delete("/:id", async (params, req, res) => {
const data = req.body()
  try {
    const post = await Post.findById(params.id);
    console.log("test")
    console.log(post.userId, data.userId)
    if (post.userId === data.userId) {
      await post.deleteOne();
      res.status(200).json("the post has been deleted");
    } else if (!req.body.userId) {
      res.status(409).json("user missing")
    } else {
      res.status(403).json("you can delete only your post");
    } 
  } catch (err) {
    res.status(500).json(err);
  }
});```
#

front : js onst deletePost = () => { axios.delete('http://localhost:4200/api/posts/'+ post._id, { userId: post.userId, }) .then(response => response.status) .catch(err => console.warn(err)); }

torn sun
#

vous pouvez me donner une commande pour allumer mon bot et mettre un statut personalisée svp

#

parceque la mienne marche pas

#

jsp pk ya 0fautes

peak cedar
#

une erreur ?

#

@torn sun

torn sun
#

quo?

peak cedar
#

ta une erreur sur ta commande ? qui marche pas

torn sun
#

oui att jouvre vsc et je te lenvoi

#

const Discord = require('discord.js');
const client = new Discord.Client();
const prefix = "/";

client.on("ready", () => {
console.log("Le bot test c'est bien allumé !")
});

client.login("mon token bot")

peak cedar
#

Euuhhhh elle est ou la commandes pour start ton bot ? 🥲

torn sun
#

c sa

#

const Discord = require('discord.js');
const client = new Discord.Client();
const prefix = "/";

client.on("ready", () => {
console.log("Le bot test c'est bien allumé !")
});

client.login("mon token bot")

#

:/

peak cedar
#

oe mais ta pas de commandes la dedans 🥲

#

la c'est juste ton index t'a aucune commande(s)

torn sun
#

euh javascript pardon

peak cedar
#

bah en vrai att

torn sun
#

c sa la commande?

#

@peak cedar

peak cedar
#

ça c'est le code principale de ton bot

#

apres tu créer tes commandes

torn sun
#

ok merci

#

ou ya ecris TOKEN c mon token?

#

@peak cedar

#

ah sa marche pas

peak cedar
#

Bah oui

torn sun
#

mas sa marche âs

#

pas

peak cedar
#

C'est quoi l'erreur

floral bolt
#

client.login(" Token ")

#

c'est comme ca hein

pearl shoal
#

@floral bolt Hello il me dise que req.body is not a function

#

sur le back :

router.delete("/:id", async (params, req, res) => {
  const data = req.body()
    try {
      const post = await Post.findById(params.id);
      console.log("test")
      console.log(post.userId, data.userId)
      if (post.userId === data.userId) {
        await post.deleteOne();
        res.status(200).json("the post has been deleted");
      } else if (!req.body.userId) {
        res.status(409).json("user missing")
      } else {
        res.status(403).json("you can delete only your post");
      } 
    } catch (err) {
      res.status(500).json(err);
    }
  });



floral bolt
#

enleve les parenthèse alors

pearl shoal
#

Alors maintenant j'ai une autre erreur : res.status(500).json(err);
TypeError: res.status is not a function

floral bolt
#

returndevant t'es reponses

pearl shoal
#

donc devant par exemple res.status(500) ou encore res.status(403) ?

#

il me dise toujours la même chose :

router.delete("/:id", async (params, req, res) => {
  const data = req.body
    try {
      const post = await Post.findById(params.id);
      console.log("test")
      console.log(post.userId, data.userId)
      if (post.userId === data.userId) {
        await post.deleteOne();
        return res.status(200).json("the post has been deleted");
      } else if (!req.body.userId) {
        return res.status(409).json("user missing")
      } else {
        return res.status(403).json("you can delete only your post");
      } 
    } catch (err) {
      return res.status(500).json(err);
    }
  });

torn sun
#

C'est console.log(Logged in as ${client.user.tag}!") @peak cedar

pearl shoal
#

@floral bolt yes j'ai toujours la même erreur

floral bolt
floral bolt
peak cedar
#

depuis mon tel

pearl shoal
#

J'utilise express

torn sun
#

ok

pearl shoal
#

node

#

mongodb pour la bdd

floral bolt
#

ah du coup remet le params comme avant : req.params

torn sun
floral bolt
floral bolt
pearl shoal
#

je le met ou le req.params ?

floral bolt
# pearl shoal il me dise toujours la même chose : ``` router.delete("/:id", async (params, re...
router.delete("/:id", async ( req, res) => {
  const data = req.body
    try {
      const post = await Post.findById(req.params.id);
      console.log("test")
      console.log(post.userId, data.userId)
      if (post.userId === data.userId) {
        await post.deleteOne();
        return res.status(200).json("the post has been deleted");
      } else if (!req.body.userId) {
        return res.status(409).json("user missing")
      } else {
        return res.status(403).json("you can delete only your post");
      } 
    } catch (err) {
      return res.status(500).json(err);
    }
  });```
#

voila

pearl shoal
#

Eh maintenant je reviens a mon point de base :

#

il me dit user missing alors que le user et bien dans le body :

const deletePost = () => {
    axios.delete('http://localhost:4200/api/posts/'+ post._id, {
      userId: post.userId,
    })
    .then(response => response.status)
    .catch(err => console.warn(err));
  }
torn sun
#

prdn je joue a paladiul

#

Paladium*

floral bolt
pearl shoal
#
test
62a4a4f4354b753b1c44d2b2 undefined (console.log(post.userId, data.userId)
::1 - - [12/Jun/2022:18:21:32 +0000] "DELETE /api/posts/62a50432a584ce1d042b5b9d HTTP/1.1" 409 14
#

C'est tout

#

le console log c'est moi qui est ajouter

#

pour que tu comprenne se que sais

red torrent
woven cosmos
#

bonsoir

#

j'ai une fonction ici et j'aimerais qu'elle ne s'active pas si on regarde la page web sur un téléphone. vs pouvez m'aider svp

shadow dew
#

bonsoir

#

j'ai un petit probleme au niveau de mon api

#

voila l'erreur

#

et voila le code si quelqu'un peut m'aider

lone flax
#

Le .use veut une fonction comme argument, fonction qui sera exécutée dès que la route sera utilisée

#

Suffit de lire l’erreur pour comprendre ça

#

J’en déduis donc que tu dois mettre la fonction que tu as fait dans ton fichier, imaginons qu’elle s’appelle « execute » et que tu l’as ajouté à ton module.exports, tu devras utiliser SerialRoutes.exécute comme argument

midnight berry
#

Bonsoir j'ai un pb avec le js

torn fog
# midnight berry

Déjà si tu n'a pas besoin de modifier ta variable utilise const et si t'a besoin de la modifier utilise let , var c'est ancien

#

Et faut préciser c'est quoi le soucis

timid loom
#

Et tu devrais passer plutôt par un id d'ailleurs

red torrent
woven cosmos
#

Qqn pourrait me dire comment faire en sorte que cette fonction ne s'active pas si on ouvre la page web sur téléphone ?

lone flax
woven cosmos
#

Comment je l'utilise exactement stp

#

J'ai jamais fais ça

pearl shoal
#

Hello tout le monde quelqu'un saurais comment on fait un role admin ? Par exemple l'admin peux supprimer les post qu'il veux, les modifiers etc et le user peut simplement supprimer que c'est post et modifier que c'est post. Merci d'avance

lone flax
past nimbus
pearl shoal
#

Sorry pardon

#

^^

#

Alors :

#

En faite je réalise un réseau social d'entreprise donc avec des utilisateurs et j'aimerai faire un role admin sauf que je ne sais même pas par ou commencer donc par exemple l'admin pourrais supprimer les post de tout les utilisateurs ou les modifiers sans problème.
Alors que lui l'utilisateur peut seulement supprimer c'est post et seulement et uniquement modifier c'est post

#

@past nimbus C'est mieux comme sa ? ^^

past nimbus
#

T'as déjà fais quoi ?

pearl shoal
#

Concernant le role amdin ? Rien

#

Admin*

past nimbus
#

Concernant le projet

pearl shoal
#

Le projet et comme fini je pourrais dire il me reste qu'a faire le role admin

past nimbus
#

Bah de la même manière que tu testes si un utilisateur à le droit de supprimer un post qui lui appartient, tu testes si il est admin

pearl shoal
#

Ah je vois peut être se que tu veux dire car dans ma base j'ai un isAdmin : False

past nimbus
#

C'est une solution oui

pearl shoal
#

Donc je commence par ou et par quoi ?

past nimbus
#

Tu veux que je le fasse pour toi ?

#

Ne répond pas, c'est une question rhétorique

pearl shoal
#

Pourquoi pas Kappa ( un peux d'humour )

midnight berry
timid loom
#

Ça affiche toujours la même erreur dans ta console ?

midnight berry
#

C’est le projet « coder son CV »

woven cosmos
#

qqn sait faire un compteur de passage sur le site mais que si c'est le même ID ça compte comme un seul passage ?

midnight berry
#

@timid loom

timid loom
#

ah bah il peut pas charger le fichier de typed vérifie que t'as mis la bonne adresse

midnight berry
#

good merci

#

Bonjour , pourquoi ma navbar ne peut pas disparaitre ??

broken solar
#

Bonsoir, quelqu'un serait me dire pourquoi ma prog bar ne se lance pas quand je le fais en js ( en css elle marche très bien ) ? 🙂

#
            $('.prog').css('animation', 'loading 15s forwards cubic-bezier(0,0,0,0)')```
torn sun
#

Bonjour/Bonsoir euh je n'arrive pas a faire allumer mon bot et les tutos marche pas :/ si que'lqun peux maider

midnight berry
#

@torn sun envoie ton code

torn sun
#

ok

#

`const Discord = require("discord.js");
const bot = new Discord.Client();
const token = require("token.json");

bot.login(token.token);
`

#

et le desieme

#

{ "token": "c mon token" }

#

@midnight berry

woven cosmos
#

qqn saurait comment faire pour que cette ligne de code ne s'active pas si on ouvre le site sur téléphone ?

lone flax
#

Wtf j'ai une erreur avec Sheweny en voulant déclarer une nouvelle slash-command

Woops... An uncaughtException error occured :
DiscordAPIError: Missing Access
    at RequestHandler.execute (/home/container/node_modules/discord.js/src/rest/RequestHandler.js:350:13)
    at processTicksAndRejections (node:internal/process/task_queues:96:5)
    at async RequestHandler.push (/home/container/node_modules/discord.js/src/rest/RequestHandler.js:51:14)
    at async ApplicationCommandManager.set (/home/container/node_modules/discord.js/src/managers/ApplicationCommandManager.js:146:18)
    at async CommandsManager.registerApplicationCommands (/home/container/node_modules/sheweny/build/managers/CommandsManager.js:90:19) {
  method: 'put',
  path: '/applications/915970360623636490/guilds/915959075584503868/commands',
  code: 50001,
  httpStatus: 403,
  requestData: {
    json: [
      [Object], [Object], [Object],
      [Object], [Object], [Object],
      [Object], [Object], [Object],
      [Object], [Object], [Object],
      [Object], [Object], [Object],
      [Object], [Object], [Object]
    ],
    files: []
  }
}
#

C'est normal ?

#

J'ai absolument rien changé au bot et ça marchait très bien avant

#

Nouvelle maj ? 🥱

torn sun
#

moi j'ai le meme probleme mais pour connecter mon bot en gros pour quil est en ligne

cyan iron
#

Pas sûr que ce soit le même problème LUL

#

Tu as une erreur ?

torn sun
#

nn il ya ecris que il yen a 0

lone flax
#

ptn qu'est-ce que c'est encore cette merde

#

j'en peux plus de discord

torn sun
#

tkt moi aussi

cyan iron
#

Déjà si ton bot utilise la v13 tu es censé préciser les intents

lone flax
#

moi ?

cyan iron
#

@torn sun

lone flax
#

oki

cyan iron
#

Toi je sais pas j'ai jamais vu ça de ma life

#

Je suis en train de regarder

torn sun
#

ah ok

#

mais comment on regarde la version? :/

cyan iron
#

@torn sun ton bot ne se connecte pas mais tu n'as pas d'erreur ?

torn sun
#

oui

lone flax
#

Qu'est-ce qui te dit qu'il ne se connecte pas dans ce cas ?

torn sun
#

bah dans mon server il est hors ligne

cyan iron
#

Montre nous ton fichier package.json

torn sun
#

o

#

k

#

{ "name": "tutorial_bot", "version": "1.0.0", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "keywords": [], "author": "", "license": "ISC", "dependencies": { "discord.js": "^13.8.0" }, "devDependencies": {}, "description": "" }

cyan iron
#

new Client({ intents : ["GUILDS", "GUILD_MESSAGES"] })
Fait ça quand tu créé ton client

lone flax
#

Bon c'est décidé je vais me faire foutre c'est quoi cette m*rde j'en peux plus de discord

torn sun
#

quoi?

cyan iron
lone flax
#

Quand je lance le bot

cyan iron
#

Sur le panel

#

Je veux dire

lone flax
#

Et que les commandes sont censées être register

cyan iron
#

Je pense que ton bot est juste ban

lone flax
#

Mais non mdr

#

C'est un bot privé

cyan iron
#

ou ban tempo

#

Alors

#

ça veut rien dire mdr

lone flax
#

Et il marche très bien depuis belles lurettes

#

J'ai juste voulu rajouter une commande

#

Et elle veut pas se register correctement

cyan iron
#

T'as peut être fait une connerie qui a spam API et bam

lone flax
#

Non je spam pas l'API

cyan iron
#

Ils sont chiants Discord sur ça

lone flax
#

C'est juste qu'ils ont tout changé dans leur système de merde

#

Maintenant tu dois gérer les permissions manuellement dans les parametres du serveur askip

#

Ca pue vraiment le gros caca

#

Ils me font sincèrement chier discord

cyan iron
#

En tout cas dans ton bot l'erreur ça vient du fait que tu ne lui a pas accordé la perm de créer des slashs commands

lone flax
#

Oui sauf qu'il a toutes les permissions

#

Il est admin

#

et il a l'intent

cyan iron
#

Nan c'est pas admin

#

c'est autre chose

lone flax
cyan iron
#

ouaip

lone flax
#

mais alors ils ont rajouté ça

cyan iron
#

c'est un scope

lone flax
#

c'est sur c'est ce truc de merde

#

sauf que ça ca me demande un URL

#

un redirect URL

cyan iron
#

Aucune putain d'idée ce que c'est LUL

#

Ah ouais

#

what

lone flax
#

j'ai pas envie de redirect URL bordel c'est fou qu'ils me fassent chier avec ça

cyan iron
#

bizarre leur 💩

#

Nan

#

Le truc de store c'est pour les boutiques là

torn sun
#

ducoup pour mon bot?

cyan iron
torn sun
#

ok mais je met oiu

#

au debut a l fin?

cyan iron
#

D'après toi

torn sun
#

au millieu

cyan iron
#

Regarde ton code

torn sun
#

ok

cyan iron
#

Tu vas vite comprendre

torn sun
#

(g commencer vendredi

#

:/

cyan iron
#

En tout cas j'avais déjà eu cette erreur et de faire ça avait réglé mon problème
C'était au début quand les slashs commands avaient été add

torn sun
#

moi?

cyan iron
torn sun
#

ah la3choum

cyan iron
#

quand ligne 2 tu fais const bot = new Discord.Client();

#

Remplace simplement par const bot = new Discord.Client({ intents : ["GUILDS", "GUILD_MESSAGES"] })

torn sun
#

tout?

#

je suis un debutant 😦

cyan iron
#

La ligne 2 oui, tu rajoutes des paramètres au client

torn sun
#

clieeeennt?

#

bruh ya une update pour moi

red torrent
#

refaire l'invitation est suffisant

cyan iron
#

Pas tout le temps

#

Moi ça n'a pas fonctionné la dernière fois j'ai été obligé de le kick et de le remettre

signal marsh
#

Bonsoir j'aurais quelques petite question, car
Lorsque je veux mettre une role grace à l'id de la personne,
Member me renvoie undefined
Voilà en espérant recevoir de l'aide

red torrent
signal marsh
#

ah, comment je fais alors ?

red torrent
desert riverBOT
glass cargo
#

@signal marsh

topaz flame
#

Salut tout le monde, j'ai un soucis en JavaScript, j'ai fait un backend et je l'ai déployé sur heroku, quand je teste sur Postman ça fonctionne bien mais quand je teste sur une simple page html ça ne fonctionne pas j'ai "error TypeError: Failed to fetch", j'ai l'impression que c'est un problème de cors

call api

function register() {
    const myHeaders = new Headers();
    myHeaders.append("Access-Control-Allow-Origin", "*");
    myHeaders.append("Content-Type", "application/json; charset=UTF-8");
    const raw = JSON.stringify({
        name: form.name.value,
        email: form.email.value,
        password: form.password.value,
        confirmPassword: form.password.value,
        acceptTerms: true,
    });
    const requestOptions = {
        method: "POST",
        body: raw,
        headers: myHeaders,
    };
    console.log(raw);

    fetch("https://back-end-hiro.herokuapp.com/accounts/register", requestOptions)
        .then((response) => response.json())
        .then((result) => console.log(result))
        .catch((error) => console.log("error", error));
}
#

et côté back-end j'ai ajouté

app.use(cors({ origin: (origin, callback) => callback(null, true), credentials: true }));
ashen rapids
#

Tu peux installer cors, en utilisant juste : app.use(cors())

past nimbus
topaz flame
lucid meadow
#

salut auriez vous une idée

#

sachant que je n'est pas d'erreur n'y crash

torn sun
#

Bonjour c'est pas pour la premiere fois que je demande mais sa marcher pas. comment on fait pour que notre bot il est en ligne svp

torn sun
#

quo?

#

quoi?*

#

@past nimbus

past nimbus
#

Quoi quoi ?

torn sun
#

bah commenca run le code

past nimbus
#

. . .

modern skiff
#

bon courage pour lui expliquer moi j'ai deja abandonné...

torn sun
#

xD

#

bah quoi

normal lichen
#

ta bien un index.js ?

torn sun
#

oui

#

pk

#

mes commande marche pas la dedans xD

#

monjavascript pardin

#

pardon

normal lichen
#

montre ton code sans montrer ton token

torn sun
#

okl

#

sa madeco de vscc

#

😦

modern skiff
#

et bien... reco toi.

torn sun
#

const Discord = require("discord.js");
const bot = new Discord.Client();
const token = require("token.json");

bot.login(token.token);

#

etle deuxieme

#

{
"token": "c mon tokenn"
}

normal lichen
#

le deuxiemme fichier ce nome bien token.json ?

torn sun
#

oui

normal lichen
#

tu a une erreur au demarage du bot ?

torn sun
#

oui il est pas en ligne

normal lichen
#

montre l'erreur

modern skiff
#

@torn suntu vois dans le dossier ou il y a ton index.js, normalement tu as package.json, est ce que tu peut nous montrer le contenu s'il te plait ?

torn sun
#

ok

#

{ "name": "tutorial_bot", "version": "1.0.0", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "keywords": [], "author": "", "license": "ISC", "dependencies": { "discord.js": "^13.8.0" }, "devDependencies": {}, "description": "" }

modern skiff
#

ok donc la déjà ton code a un probleme car tu es entrain de coder ton bot comme a la version 12 de discordjs alors que la tu es en v13

torn sun
#

ok

modern skiff
normal lichen
torn sun
#

ducoup acoter de "discord.js": "^12.0.0

modern skiff
torn sun
#

ah

modern skiff
#

il faut que tu apprend avec discordjs v13

torn sun
#

mais je connis ps

modern skiff
#

apprend.

torn sun
#

ok

#

😭

modern skiff
#

on peut pas connaitre sans apprendre

torn sun
#

javoue

modern skiff
#

si t'essaye de faire sans apprendre tu ira pas loin

#

donc commence par apprendre et ensuite si tu as des complications tu pourras venir demander de l'aide 🙂

torn sun
#

ok mrc

normal lichen
#

tien essyae cela

#

  const { Client} = require("discord.js");
  const config = require('./token.json');

  const client = new Client({
    intents: ["GUILDS", "GUILD_MESSAGES"]
  });

  client.on("ready", () =>{
    console.log("je suis en ligne");
  })

  client.login(token.token);

``` Je ne suis pas un pro de la V13 mdrr ^^
#

mais normalement c'est comme cela qu'elle fonctionne x)

torn sun
#

tkt moi aussi

#

sa marche pas mais mrc quand meme

#

bg

#

😉

normal lichen
#

tu sais comment executer le bot ?

#

genre le demarrer

torn sun
#

nn

#

mais tkt

normal lichen
#

bah alors sa risque pas de fonctionner mdrr

modern skiff
#

°_°

torn sun
#

comme ma dis @modern skiff bah faut dabore commencer par des tuto

#

quoi?

modern skiff
#

commence par apprendre le javascript finalement... et apres apprend la lib de discordjs

torn sun
#

ok

normal lichen
#

ctrl maj d puis executer

modern skiff
#

par ce que ca va etre dur de faire un bot en js sans connaitre le js

torn sun
#

oe

normal lichen
#

ta essayer d'executer le code la ou pas ?

torn sun
#

euh c quoi qui marchepas svp

#

const { Client } = require('discord.js');
const dotenv = require('dotenv');
dotenv.config();

const client = new Client({ intents: 1 });

client.once('ready', () => {
console.log('Je suis prêt !');
});

client.login(process.env.DISCORD_TOKEN);

peak cedar
#

salut bg tu veux pas regarder un tutos sur internet qui t'apprend la base comment ça marche etc.. je pense que ça t'aidera fortement ^^

#

pour comprendre un peu :
https://www.youtube.com/c/WornOffKeys

torn sun
#

meci

#

merci

shadow dew
#

bonsoir

#

je suis entrain de crée une api pour mon app solid js qui permet de s'inscrire

#

et j'ai cette erreur que je n'arrive pas a résoudre

#

voila le code

#

et voila le model

#

et voila l'erreur

past nimbus
#

Du nosql pour stocker des users 😦

shadow dew
#

je sais c pas fou fou

#

mais mongodb c la db que je métrise le mieu

#

finalement c bon

signal marsh
#

Bonsoir, j'ai une question: Comment puis-je set & get par ex k1 ?
Pour info j'utilise mysql
Merci pour votre réponse

red torrent
torn fog
# shadow dew
const model_signup = model('SignUp', SignUp) 
const newUser = new model_signup(req.body)
#

Aaah mais att j'avais pas vu

#

Tu le fais déjà dans le model

#

Fait un module export au pire de juste du schéma et tu fais le model à l'endroit où tu require ton schéma

#

Juste pour voir si ça débug ou pas

charred lake
#

Hello ! 🙂

charred lake
#

J'ai besoin d'être éclairé sur un point ! 🙂

#

Est-ce que vous savez si il est possible de splice dans un array sans réorganiser les items

signal marsh
torn fog
#

Salut j'utilise l'API https://rapidapi.com/wirefreethought/api/geodb-cities/ , le Get Cities Near Location, le soucis c'est que je n'arrive pas à mettre ma longitude et latitude en ISO 6709 et je ne trouve rien sur internet, ce que j'ai essayé de faire :

const lat_ = String('±'.concat(lat))
const lon_ = String('±'.concat(lon))

const isoformat = String(lat_.concat(lon_))
torn fog
#

J'ai ENFIN trouvé

keen narwhal
#

Mdr ta résolu ton propre problème

#

gg

torn fog
#

Ouais j'ai un exercice de faire une appli mobile météo 😭

keen narwhal
#

Ahah

#

Force a toi

#

C'est compliqué ?

harsh hamlet
#

Salut,
Je suis entrain de faire un bot en js qui est relier à une basse de donnée, je n'ai pas de problème avec la bdd mais avec le fait d'attribuer un rôle à un utilisateur (dans un events).

#

code :

#

erreur :

#

Merci d'avance de votre aide.

glass cargo
#

Mais je sais pas comment

torn fog
keen narwhal
#

Mdrr

#

Bah ça va alors

torn fog
#

Je fais ça avec React native, axios, react native paper etc

autumn glacier
harsh hamlet
idle tide
#

Bonjour ! Donc en gros, je suis censé envoyer un message et là, le bot devra répondre un message et enregistrer le serveur dans une bdd sauf que lorsque que j'envoie un message, le bot crash et envoie cette erreur

#

ici le code concerné

queen ocean
idle tide
queen ocean
idle tide
modern skiff
#

Le problème vien de ta requête sql, elle est mal faite à un endroit, c'est facilement trouvable

modern skiff
idle tide
queen ocean
modern skiff
idle tide
#

ah

#

c'était juste ça

#

merci

fickle brook
#

Hello !
J'aimerais faire comme sur ce site web :
https://sureshmurali.github.io/
L'animation du titre en arriere plan au scroll.
Etant débutant en JS et ayant cherché plus de 2 heures sur ce probleme, je ne trouve aucun moyen de le faire et demande votre aide :D
Merci d'avance :D

idle tide
#

(re)Bonsoir ! Ce message d'erreur : "Uncaught Error Error: ER_EMPTY_QUERY: Query was empty" signifie quoi ? 😅

idle tide
misty parcel
#

Bonjour les amis c'est Roro

#

J'aurais besoin d'aide je veux faire un truc propre et faire en sorte que qqn ne puisse pas ouvir un ticket deux fois ou plus, du coup j'ai fais ça

#
if(interaction.guild.channels.cache.find(c => c.name === `${interaction.user.username}`) === true) {
                interaction.channl.send("Non")
            } else {
                interaction.guild.channels.create(`${interaction.user.username}`, {
                    parent: `986875337021481020`,
                    permissionsOverwrites: [
                        {
                            id: interaction.guild.id,
                            deny: [Permissions.FLAGS.VIEW_CHANNEL]
                        }, {
                            id: interaction.user,
                            allow: [Permissions.FLAGS.VIEW_CHANNEL, Permissions.FLAGS.SEND_MESSAGES]
                        }
                    ]
                })
            }
#

mais bon

past nimbus
#

Et si il change de pseudo..?

buoyant magnet
#

Salut je recherche des librairies Javascript qui permettent de réaliser ce genre de cartographie, svp

normal lichen
buoyant magnet
#

En gros j'ai ma structure, serveurs, domaine, etc. J'aimerais afficher un schéma(arbre) en prenant en paramètre mes relations

pearl shoal
#

Hello tout le monde, j'ai un petit problème en faite lorsque je modifie l'un de mes posts avec le compte admin il modifie tout le post ( nom, message etc ) Sauf que moi je veux qu'il change que le message et pas le nom de l'utilisateur

const [userDesc, setUserDesc] = useState()
  const modifPost = () => {
    axios.put('http://localhost:4200/api/posts/' + post._id, {
      userId: currentUser.user._id,
      desc: userDesc,
      isAdmin: currentUser.user.isAdmin
    })
      .then(response => response.status)
      .catch(err => console.warn(err));
    console.log(currentUser._id)
    window.location.reload()
  }

lapis onyx
idle tide
buoyant magnet
idle tide
buoyant magnet
#

Je sais pas trop, essai de debug en regardant ce que tu as dans ta requete au fur et à mesure

lapis onyx
lapis onyx
idle tide
lapis onyx
#

non à cause des `

#

Ce ne sont pas les guillemets classiques

#

Donc si je dis pas de bêtise la çà ferme ta chaîne de caractère et ça en réouvre une autre

vernal sluice
#

Bonjour, bonsoir
J'ai un petit soucis
je développe un bot discord actuellement
je souhaiterai que quand un membre n'as pas la permission de supprimé un ticket le bouton ne fonctionne pas, comment pourrai-je faire ?

midnight berry
odd thunder
#

juste c'est quoi le meilleur schema prisma pour une n-m relation si je veux un truc dans le genre :

model User {
  id        Int              @id @default(autoincrement())
  name      String           @unique
  age       Int
  phone     String           @unique
  teams     UsersTeamsJoin[]
  teamId    Int
  createdAt DateTime         @default(now())
}

model Team {
  id    Int              @id @default(autoincrement())
  name  String           @unique
  users UsersTeamsJoin[]
}

model UsersTeamsJoin {
  user       User     @relation(fields: [userId], references: [id])
  userId     Int // relation scalar field (used in the `@relation` attribute above)
  team       Team     @relation(fields: [teamId], references: [id])
  teamId     Int // relation scalar field (used in the `@relation` attribute above)
  assignedAt DateTime @default(now())

  @@id([userId, teamId])
}
#

le mieux c'est de partir sur de l'implicite ou pas ?

#

le querying a l'air plus simple mais j'ai peur de perdre des informations genre le datetime de la relation (même si je peux le stocker autre part) et je sais pas non plus si c'est plus opti

pearl shoal
#

Hello tout le monde j'ai un soucis et je ne comprends pas pourquoi sa ne fonctionne pas :
Je me sert d'un middleware pour proteger mes routes donc comme ceci :

const auth = require('../middleware/auth')

//create a post

router.post("/", auth, async (req, res) => {

Sauf que lorsque que je fais un appel api il me dise que je ne suis pas authorisée jusque ici tout vas bien mais lorsque j'ajoute la protection a mes appels api coté front elles se detecte pas :

const modifPost = () => {
    const token = JSON.parse(localStorage.getItem('user')).user.token
    const config = {
      headers: { Authorization: `Bearer ${token}` }
    };
    axios.put('http://localhost:4200/api/posts/' + post._id, config, {
      userId: currentUser.user._id,
      desc: userDesc,
      isAdmin: currentUser.user.isAdmin
    })
      .then(response => response.status)
      .catch(err => console.warn(err));
    console.log(currentUser)
vernal sluice
vernal sluice
#

Je voudrai que si la personne n'as pas le grade admin par exemple, il ne peux pas fermé le ticket donc exécuter se bout de code

midnight berry
#

@vernal sluice si tu mets le role défault ??

vernal sluice
#

En faite ses se que je voudrai mais je sais pas ou le mettre (je débute en js)

midnight berry
#

@vernal sluice si tu débute en JS , commencé avec node js c'est conseillé ... Il faut que tu es des bases en JS

vernal sluice
#

Bas j'ai fais sa avant

#

Enfaite en regardent la doc js tester les lignes et soit sa désactive ma fonction et le ticket n'est pas fermable soit sa fait crash le bot

#

Prcq j'ai déjà fais du js avant les bots je faisais du js web c'était archi différent

midnight berry
#

tu as crée des roles ?

vernal sluice
#

Ouais j'en n'est deux pour tester

midnight berry
#

et tu as set des permissions ?

vernal sluice
#

J'ai la perm admin sur un oui

midnight berry
#

const { Permissions } = require('discord.js');

guild.roles.create({ name: 'Mod', permissions: [Permissions.FLAGS.MANAGE_MESSAGES, Permissions.FLAGS.KICK_MEMBERS] });

vernal sluice
midnight berry
#

il faut que tu set une permission deleted pour le role

vernal sluice
midnight berry
#

prends la documentation discord.js

#

tu auras l'exemple comment add des perms etc

vernal sluice
#

Le problème ses que j'ai une erreur j'arrive pas a voir de ou elle vient

#

Il me dit que Guild n'est pas définie sauf que jsp ou et comment la définir

#

Sa reviens au même problème que hier soir le bot crash

vernal sluice
#

Je veux pas crées un rôle je veux que si la personne a un certain rôle alors il peux fermé le ticket sinon sa envoie un message pour dire qu'il n'as pas la perm

sullen kelp
vernal sluice
#

Ok merci

normal lichen
#

Bonjour pourrait-on me dire si cette requete est sujet a de l'injection sql svp 😅

INSERT INTO server (guildId, guildOwnerId) VALUES ("${guild.id}","${guild.ownerId}")
past nimbus
#

D'après toi ?

normal lichen
#

non mdrr

#

je suis habituer a faire du php moi et me semble c'est comment en php il faut passer des ? comme parametre et bind apres ? 😅

past nimbus
#

Oui

#

Et oui, cette requête est soumise à l'injection

normal lichen
#
INSERT INTO server (guildId, guildOwnerId) VALUES (?, ? ) ${guild.id}, ${guild.ownerId}
#

il me semble que la requete qui n'est pas soumise a l'injection ressemble a sa ? 😅

past nimbus
#

Tu sors ça d'où ?

normal lichen
#

je faisait du discord js avant mais j'ai un peu oublier les bases de données contre l'injection mdrr

past nimbus
#

Regarde simplement la Doc de ton package

normal lichen
#

c'est mieu comme ca non ? 😅

db.query('INSERT INTO server (guildId, guildOwnerId) VALUES (?, ?)', [guild.id, guild.ownerId]);
past nimbus
#

Difficile à dire si je connais pas le package que tu utilises ^^

oak turret
#

là c’est good

#

sinon les valeurs seront affichées, et là aie aie aie

#

là, tu auras juste ?,? comme valeurs si tu check ta requête post lancement

#

donc c’est good 👍

normal lichen
#

yep je les bind apres x)

oak turret
#

exactement

normal lichen
#

merci mdrr j'ai du mal encore avec ces requete la xd

oak turret
#

et en php c’est pareil hein

#

le sql change pas

normal lichen
#

yep je sais en php je fait des requet sql et je bind les param deriere x)

oak turret
#

tu fais juste des requêtes préparées avec pdo, et tu bindValues ou bindParam

normal lichen
#

bindValue x)

oak turret
#

yep

normal lichen
#

je passe :nom et apres je bindparam x)

oak turret
#

ça fait longtemps que j’utilise plus php natif sue

#

yep

normal lichen
#

je sais tqt moi aussi je l'utilise une fois de temps en temps xd

oak turret
#

#discussion-dev

normal lichen
#

possible d'importer une connexion bd qui se situe dans un autre fichier ? 😅

#

importer la connexion situer dans mysql.js(a la racine) dans l'index.js(racine egalement)

past nimbus
#

Qui utilise encore du PHP 😜

oak turret
normal lichen
#
const mysql = require('mysql')
const db = mysql.createConnection({
    host: "localhost",
    user: "root",
    password: "",
    database: "bot"
})
db.connect(function (err) {
    if(err){
        throw err;
    }else{
        console.log(`CONNECTÉ A LA BASE DE DONNÉES`);
    }
})
module.exports = db
#

sa c le mysql.js

sullen kelp
past nimbus
sullen kelp
#

Toujours

normal lichen
#

et j'appel comme sa dans l'index

const db = require('./mysql.js')
past nimbus
#

Et encore mieux, passe à mariadb ou postgres

sullen kelp
#

Y'as pas le sql lite qui existe ?

normal lichen
#

c un autre package mariadb ? 😅

sullen kelp
#

C'est juste un type de basse de données je crois

normal lichen
#

je l'utilise en php mais je sais pas comment le mettre en discord.js xd

past nimbus
past nimbus
sullen kelp
past nimbus
sullen kelp
sullen kelp
#

Mais sérieusement ça sert à quoi ?

jovial lion
#

Hello ! je viens vers vous car je cherche une solution à mon problème, j'ai un bot qui a besoin de se connecter en vocal, j'utilise la dépendance "ffpmeg", en local tout va bien tout se lance et tout marche parfaitement bien, mais quand je lance mon bot sur mon VPS avec PM2 alors un message se met en place disant ffpmeg/avconv not found, j'ai essayé d'installer ce qui manquait mais ça ne change rien pouvez vous m'aider

past nimbus
# sullen kelp Mais sérieusement ça sert à quoi ?

Async c'est pour ajouter une action dans une queue
En gros l'action sera pas faites direct, elle sera faites quand le moteur aura le temps et du coup on continue l'execution du code sans attendre la résolution
await permet de forcer l'attente en gros (équivalent du .then)

Typiquement une requête SQL c'est async car on va communiquer avec un serveur distant, donc c'est lent et donc se serait dommage de bloquer notre serveur systématiquement pour ça

sullen kelp
#

Ah ok

#

En gros on lui dit juste prend ton temps x)

#

Merci de l'explication

normal lichen
#

j'aimerais faire un systeme d'etape dans ma commande, quelqu'un saurais m'aider ? comme par exemple

#

etape 1 => le joueur fait !prefix
etape 2 => le bot repond saisissez le nouveau prefix
etape 3 => le joueurs ecrit le prefix
etape 4 => le bot ecrit le nouveau prefix est ...

past nimbus
#

State machine save en ram

sullen kelp
#

Faudrait pas le stocker dans une bdd ?

#

Parceque s'il il le fait dans la ram si il rede le bot y'as plus rien

past nimbus
#

Si il veut garder le contexte entre deux process oui mais bon c'est chiant et c'est très souvent overkill

sullen kelp
#

Ok

#

Ah et aussi y'as discord akairo qui est pas mal pour ces message de config

#

À la drafbot

#

Et ça permet de pas galèrer avec les collecter x)

normal lichen
#

je peut trouver ou de la doc pour utiliser ? ^^

idle tide
#

bonjour, j'ai eu cette erreur mais je ne sais pas du tout d'où elle vient, possible de m'aider svp 😅

normal lichen
normal lichen
#

Bonjour j'utilise les handler pour faire mon bot, est t'il possible de definir tout mes embed dans un fichier emed.js par exemple et de les return afin de les appeler au besoin ?

cyan iron
#

Bien sûr

#

Tient un tuto qui explique

#

Bon je te donne un exemple

exports.embedHelp = tonembed
exports.embedPing = tonembed
#

Ensuite tu require et t'as tes embeds

#

Mais je te conseille de faire ça que si tu les utilises plusieurs fois

normal lichen
#

je vous remercie deu coup si je comprend bien je fait dans mon emed.js

mon_embed...

export mon_embed

et dans le fichier ou je veut ecrire l'embed je fait un require du fichier emeb ? 😅

#

je vais regarder le tuto merci beaucoup ! ^^

sullen kelp
#

Ça peut aussi t'aider

normal lichen
#

tqt je connais la doc de discord;js mdrr x)

cyan iron
#

et là où t'en as besoin

const embeds = require('embeds.js')

embeds.tavariable
normal lichen
#

j'utilise fs ^^

#

ahhh d'accord merci j'ai comprit !

cyan iron
#

Ts = typescript

normal lichen
#

ah desoler 😅

cyan iron
#

No problem

normal lichen
#

j'ai comprit comment faire la ca devrais aller je vais essayer ^^

sullen kelp
normal lichen
#

euxx je comprend pas l'erreur 😅
Uncaught DiscordAPIError DiscordAPIError: Invalid Form Body
embeds[0].description: This field is required

#

mon embed a une description 😅

const test1 = new Discord.MessageEmbed()
.setColor("FAC003")
.setTitle('Premier test')
.setAuthor({ name: 'Atium', iconURL: '', url: '' })
.setDescription(`Le premier test`)
.setTimestamp()
.setFooter({ text: 'Atium', iconURL: '' });
sullen kelp
#

Essaye en remplaçant les ` par "

cyan iron
#

Ça change rien

#

T'es sûr que l'erreur vient de cet endroit ?

sullen kelp
#

Ah x)

#

Essaye de suprr le url: ' ' vue qu'il est vide

cyan iron
#

C'est pas la description ça

cyan iron
sullen kelp
#

Oui mais la description n'as pas d'erreur, alors c'est ce qui vient avant

normal lichen
#

J’ai rajouté juste embeds.js, et message.channel.send({embeds: [embeds.test]})

#

Et en haut j’ai const embeds = rquire(le fichier embed)

cyan iron
#

Console log embeds.test

normal lichen
#

Je doit partir je vous remercie j’essaierai toute a l’heure, merci beaucoup pour votre aide !

cyan iron
#

Ça tombe bien moi aussi

#

T'essayeras

#

Pour moi t'exportes mal ton embed ça vient de ça

normal lichen
normal lichen
idle tide
gray dune
#

Bonjour, comment vous faite pour rafraichir le placeholder du menu lorsqu'on fait un choix dans #activer-des-notifs

glass cargo
gray dune
#

ok merci 💪

gray dune
#

Lorsque j'édite l'interaction et que je fais un reply après cela me met l'erreur "Interaction has already been acknowledged"

sullen kelp
#

Tu as plusieurs instances de ton bot ouvert ?

gray dune
#

Nop que en local

sullen kelp
#

Hmm

#

Réessaye

gray dune
glass cargo
#

Met d’abord le reply puis l’édit

gray dune
#

Si je fais ça, ça édit le message que j'ai reply

#

et pas le menu

glass cargo
gray dune
#

Merci ça marche nickel

#

ça marche pas sur mobile mais pas grave

normal lichen
#

Quelqu’un sais comment connecter mamp(base de données sur mac) a mon bot discord svp ^^

#

J’ai essayé de renseigner le compte root et également un compte que j’ai créé pour ça mais sa fonctionne pas

timid loom
#

mamp c'est juste une bdd mysql de mémoire donc utilise ça

normal lichen
#

Oui je sais mais j’arrive pas a faire la connexion xD

#

Je fait la même connexion que sur wamp mais j’ai une erreur je pense l’host est différent sur mac ^^