#javascript-typescript
1 messages · Page 103 of 1
?
console.log et non console.logs
il veut pas que je le renomme
Je t'aime ses bon ?
Mdr
Ba normalement, tu peut 🤔
y veut pas
tu pourrais venir m'aider sur le replit ?
".env files are deprecated"
pourquoi ?
heyo
c bon
oui dcp
@dire latch j'ai le guide du template stv
et ta cet article stv
C'est dur three.js ?
Bonjour, est-il possible de faire des select menus collector ?
C'est à dire une série de question sous forme de select menus
Dans la meme commande
Salut salut ! c'est pour faire quoi ?
Heyo
En gros sur un site fait avec Next
(pas par moi c'est pour apprendre)
il y a une carte spotify pour le staut
et c un bordeeeeeel pour la configurer
tu pourrais m'aider stp ?
^^
tu sais pas ou mêtre le .env ?
.
et bien c'est ca
(PS: Le modal se créé bien, c'est au moment de l'envoyer que ça foire)
Bon je delete la demande, j'ai été demander sur le discord de discord.js et on m'a clairement dit que c'était un bug connu mais qu'ils en avaient un peu rien à foutre mdrr
Ils m'ont send une PR qui la réglait
Mais j'ai aucune idée de comment j'peux pull cette PR sur le node package
Je sais pas trop comment fonctionne leur gestion
Tu installe depuis github
npm i <lien de la branch de la pr>
Supprime cette image tout de suite et reset ton token
Il ne faut jamais montrer ton token au public
Ca donne un accès à tout le monde à ton bot et donc un accès admin à ton serveur Discord
tkt il est deja reset
Sinon, tu as oublié un t à Client
bg
Sauf si le bot n’a pas les perms 
Ca arrive rarement 
excusez moi je cherche quelqu'un qui connait quick db
Oe
on peut aller en dm ?
ok ok
alors en gros
j'ai un ptit détail
dans mon code
que j'arrive pas à faire
C'est à dire ?
en gros
en gros je fais un système de follow etc
sauf que
imagine j'te follow toi
bah j'aimerai que j'puisse follow quelqu'un d'autre
mais si j'te re follow ça me dis que j'te follow déjà
jusqu'à ce que je unfollow
mais le pb la c'est que ça marche pas du tout le truc de follow plusieurs personne
pcq si jmet set
ça remplace juste la personne
en gros ça stock pas
ça remplace la personne
et j'arrive pas à faire marcher le push
j'le comprends pas
db.set("users", [])
db.push("users", {id: 776500378245922826, following:[], followers:[]})
let user = db.get("users").find(user=>user.id===target.id)
ensuite tu modifies sur user
Donc tu push le nouveau following
user.following.push(614052096857341952)
AHh
Je vais pas te faire tout ton code
oui logique
Mais je te passe les morceaux que t'aura besoin
Mercii beaucoup ça vas bcp m'aider j'pense
Ensuite une fois que t'as modifier l'user tu stockes avant dans une variable son index dans la liste des users et tu le remplaces
Grâce à splice()
C'est une méthode que j'utilise, peut être qu'il y a plus simple, c'est pour ça que je préfère rester ici que en mp pour que d'autres dev plus expérimentés me corrige
pq y'a following et followers ?
À toi de voir si jamais tu veux rajouter ça jsp

😭
Je viens de te présenter une méthode pour ce que tu veux faire
Qui consiste à avoir une liste d'users stocké dans l'array "users"
Et cet array est composé de listes d'éléments {}
ouuii
je sais
mais je sais jamais où mettre les trucs
Haha
Pourquoi est-ce barré svp ?
Après c'est de la logique si tu as compris à quoi servait chaque bout que je t'es passé
ça change rien
j'vais essayer de comprendre
ça te dérange pas
si je reviens après te mentionner
Sauf si y'a une erreur
si je n'y arrive pas
Non
Ok ok merci
j'ai pas compris
les id
je mets quoi à la place ???
embed.setFooter({ text: "test" })
Ça dépend où
?
Mais c'est par exemple l'id du mec que tu veux follow
Changement avec la v13
ahh
donc
let tagged = message.mentions.users.first()
je met tagged.id
à la place
Oui ^^
Okokkk
Quand tu push dans la liste des followings
ou ?
Tu remplaces .setFooter("ton texte") par .setFooter({text:"ton texte"})
Ça change pas pour quick.db
ok
Ah ok ok trql alors
partout sur les dscription ect ou juste lui
TypeError: Cannot read properties of undefined (reading 'id')
at Object.module.exports.run (C:\Users\migue\OneDrive\Documents\bots\Bot principal\economy\follow.js:14:58)
const follow = db.get(`follow_${user.id}`, `${tagged.id}`)
j'ai cette erreur
oui
const user = message.author
j'vais manger je reviens
voici le code
nouveau
j'ai essayé de placer au bon endroit
Mais justement faut refaire ton système pour la database
Enlève ton ancien système et remplace par celui que je t'ai donné
Sur les 5 ?
Ta ligne barrée là
oui ?
comment ça
Ses bon ?
Si y'a plus d'erreur oui ^^
Oui
C’est galère ça 😭😭
Non
j'sais pas faire
j'crois j'vais abandonner
ça me saoul
ahhh mais
Là il faut apprendre le JS
j'en ai déjà crée une
let data = new db.table('reseau')
if(db.get('reseau') === null) {
data = db.set('reseau', [])
}
db.set('reseau', 'abonnés')```
c'est comme ça
?
ses a dire ?
dans l'index j'lai mis
la dernière ligne je vous pas pourquoi tu fais ça
j'sais pas
moi non plus
et comment je l'use après ?
@spring roverEnlève ; après ton slashcommandbuilder
Ca marche pas 😦
npm ERR! npm WARN using --force Recommended protections disabled.
npm ERR! npm ERR! code EUNSUPPORTEDPROTOCOL
npm ERR! npm ERR! Unsupported URL Type "workspace:": workspace:^
C'est quoi le soucis, j'ai pas suivis 🤔 @lone flax
Ok et pourquoi ? 😅
C'est pas la question
Mais c'est bon finalement je l'ai installée manuellement
Non j'veux pas le package npm je veux une branch github
Mais ça marche pas c'est mal foutu
yarn > npm
Faut mettre le link normalement ça work
J'ai cette erreur à chaque fois
Bizarre
remplace le 2éme embed dans les crochets par help
options: [
{
name: "game",
description: "The game to link",
type: 3,
required: true,
choices: [
{
name: "Fortnite",
value: "fortnite",
type: 2, // 1 is type SUB_COMMAND
required: true,
options: [
{
name: "Platform",
description: "Your platform",
type: 3,
required: true,
choices: [
{
name: "PC",
value: "pc",
},
{
name: "Xbox",
value: "xbl",
},
{
name: "Playstation",
value: "psn",
},
],
},
],
},
{
name: "CS:GO",
value: "csgo",
},
{
name: "ApexLegend",
value: "apexlegend",
},
{
name: "Overwatch",
value: "overwatch",
},
],
},
],```
Hello j'essaye de faire des options en slash commands mais je n'y arrive point
Cela ne donne pas ce que je souhaite
ça me donne ça, alors que je demande d'avoir encore une option si fortnite est select
Le nombre d'options n'est pas variable en v13
Il doit être défini à l'avance (pour ça que ton bot l'enregistre à chaque démarrage)
Donc soit tu fais des options facultatives qui ne seront utiles que si il choisi Fortnite, soit tu fais une commande spéciale pour fortnite
Rah oe mais le pb c'est quelles sont pas facultatives
Bah donc go deuxième option
il l'est en v14 ?
Je ne pense pas non plus
peu probable tout simplement car ce n'est pas permis par discord x)
Baaaah, sinon tu check ça toi même, ou comme dit Max commande spécifique
Alors oui mais ça c'est différent
C'est pas des choices
C'est une sous-commande
Salut salut ! je suis sous next js et j'ai des elements json que je rend avec un map() le probleme c'est quil ne me compte pas le saut de ligne dans desc { Name: "Chairman's Reserve Millesime 2009", Desc: `Il s’agit d’un assemblage de rhums distillés en pot stills de chez John Dore et en colonnes Coffey. Pour cette cuvée, les distillats ont vieilli séparément pendant 11 ans en fûts ex-bourbon avant d’être assemblés par le maître de chai. Le rhum ainsi obtenu a été ensuite remis en vieillissement.`, },
Normalement il est censé y avoir un \n pour les saut de lignes si c'est du json 🤔
Tu as mis tes données en dur et tu as oublié les \n non ? 👀
Donne nous le contexte, ton JSON tu l'a écrit en dur ou il est généré ? Et tu l'utilises pour faire quoi exactement ?
c'est pas du json ça ? 🤔
il est ecris en dur et je l'utilises pour des cards sur des rhums
tu peux montrer ton code donc comment tu l'utilises stp ?
Ouais ça aide pas ton explication vaut mieux montrer
{Rhums.map((Rhum, index) => (
<>
<div
className="w-100 h-72 bg-slate-200 relative mx-10 "
onMouseOver={(e) => {
setSelected(index);
}}
onMouseOut={(e) => {
setSelected(null);
}}>
<div
className={` ${
Selected == index
? "w-full inset-0 h-full"
: "w-1/2 -left-10 -top-5"
} bg-pink-500 absolute text-center text-lg font-bold text-white py-2 transition-all duration-500 `}>
{Rhum.Name}
<div
className={` ${
Selected == index
? "block"
: "hidden"
} bg-slate-200 h-2 w-1/2 transition-all duration-500 mx-auto mt-2`}></div>
</div>
<div
className={` ${
Selected == index
? "opacity-100"
: "opacity-0"
} mt-2 w-full text-white text-base font-normal p-4 mb-2 absolute text-center top-10 transition-all duration-700 `}>
{Rhum.Desc}
</div>
</div>
</>
))}```
setSelected = ?
Comment tu déclares ton Rhums ?
C'est un array de ceci ?
Je trouve bizarre qu'un <br> ne fonctionne pas quand même
oui c'est un array
De ce côté là aucun problème dans ce cas, mais tu es sûr que <br> ne fonctionne pas ?
oui
tu peux screen ce que ça te rends 👀
Je ne peux pas t'aider plus alors 
Je ne vois que ça, après je ne connais pas le framework
Ah 
mais le br c'est normal que ça fonctionne pas
tu peux pas le mettre en texte comme ça
c'est pour eviter les failles je sais plus quoi
et du coup ? xD
{Rhums.map((Rhum, index) => (
<>
<div
className="w-100 h-72 bg-slate-200 relative mx-10 "
onMouseOver={(e) => {
setSelected(index);
}}
onMouseOut={(e) => {
setSelected(null);
}}>
<div
className={` ${
Selected == index
? "w-full inset-0 h-full"
: "w-1/2 -left-10 -top-5"
} bg-pink-500 absolute text-center text-lg font-bold text-white py-2 transition-all duration-500 `}>
{Rhum.Name}
<div
className={` ${
Selected == index
? "block"
: "hidden"
} bg-slate-200 h-2 w-1/2 transition-all duration-500 mx-auto mt-2`}></div>
</div>
<div
className={` ${
Selected == index
? "opacity-100"
: "opacity-0"
} mt-2 w-full text-white text-base font-normal p-4 mb-2 absolute text-center top-10 transition-all duration-700 `}
dangerouslySetInnerHTML={{ __html: {Rhum.Desc} }}
>
</div>
</div>
</>
))}```
essaye comme ça avec des <br> @floral bolt
Bonjour est ce possible de check en discord.js si une personne rejoin un salon vocal et d'envoyer un message dans un channel spécifique si c'est le cas ?
bien sur
j'ai le code pour le msg mais comment check si un membre rejoin un salon vocal svp ? ^^
:_: (event) Client#voiceStateUpdate
Emitted whenever a member changes voice state - e.g. joins/leaves a channel, mutes/unmutes.
ca marche po
merci ^^
Tu as une erreur dans ta console devtools ? Est-ce que le texte reste affiché ou plus du tout ?
au top t tro for !
ah trop cool!
Bonjour, je suis desoler je ne trouve pas comment faire pour que le bot envoie le msg de mon choix (c'est a dire par exemple "!send bonjour" et le bot envoie bonjour) quelqu'un pourrait m'aider ?
XSS
Tu as géré ta commande déjà ?
on ma aider et cela fonctionne merci quand meme ^^
excuser moi mais je ne me souvien plu comment faire pour faire une condition "si le salon = nom alors:" quelqu'un pourrait m'aider s'il vous plait ? ^^
Regarde la documentation pour voir les différentes propriétés de tes objets
Yo les gars es que vous avez des framework à me conseiller en JavaScript s'il vous plaît ?
Ça dépend ce que tu veux faire
bonjour
Il y aura quelqu’un pour m’aider s’il vous plaît ?
Hello, tous le monde
J'aurai besoin d'un p'tit coup de main sur un code.
J'essai de récupérer le dernier ID d'un tableau avec cette méthode :
const last_id = liste_points[new_rectangle_number]['positions'][liste_points[new_rectangle_number]['positions'].length - 1];
Mais impossible, JS me retourne un undefined vous auriez une idée ?
.pop() ou bien .at() si tu utilises les dernières versions de js
.at(-1) dans ton cas
J'ai cette erreur :
Uncaught (in promise) TypeError: liste_points[new_rectangle_number].positions[index].at is not a function
Je pense qu'il ne trouve pas mon tableau
Non, non je suis bien sur la dernière version de JS, j'ai retiré [index] parce que je l'avais rajouté sans faire exprès
Faudrait organiser ton "tableau" ^^'
Et donc j'ai un résultat
Mais il me retourne effectivement le tableau, mais pas son index
Ah non, non my bad, enfaite il veut pas
const last_id = liste_points[new_rectangle_number]['positions'].at(-1);
``` en tapant ça j'ai effectivement l'erreur
Bah c'est que tu gère mal la structure de ta data (ce qui saute au yeux à la vue de ton code)
On peut pas deviner comment est structurer ton tableau
liste_points[new_rectangle_number] = { begin_time: seconds, end_time: seconds, positions: { 0 : { time: seconds, pos_x: 0, pos_y: 0} } };
C'est un tableau multidimensionnel alors peut être qu'il est mal structuré :/
Non c'est juste un array d'objet ce que tu montres là
bah c'est logique ? jcomprends pas ce que tu veux
si tu veux prendre le dernier obj de ton array tu peux faire liste_points.at(-1); comme le dit Scylla
ah nan jcomprends
pardon
pourquoi positions c'est un obj ?
Arh, je pensais faire un tableau
Et donc, il n'existe pas une solution similaire à at-1 pour un tableau d'objet ?
pourquoi utiliser un objet si tes keys c'est des number en suite ? 🤔
Tu peux Objet.values mais c'est stupide
Alors, comment je pourrais traduire ceci :
liste_points[new_rectangle_number] = { begin_time: seconds, end_time: seconds, positions: { 0 : { time: seconds, pos_x: 0, pos_y: 0} } };
Pour le transformer en un simple tableau ?
Bah déjà on va revoir les bases, ton premier tableau liste_points, c'est un vrai tableau avec index numérique ou bien ?
Mon tableau liste_points, c'est un array classique avec des index numérique
Pas de texte à ce niveau, uniquement des id
Si c'est des id, tu devrais utiliser un objet plus adapté, comme une map/collection, enfin bref
Du coup pour positions tu vas déclarer de la même manière que liste_points (faut revoir les conventions de nommages d'ailleurs)
C'est à dire ?
liste_points = [] actuellement et ensuite il est incrémenté des id avec liste_points[id_a_mettre]
Donc, comment je peux faire ça avec positions ?
Un truc comme ça ?
positions['time'] = ""; etc.. ?
Car j'ai cru comprendre que Javascript ne supportait pas les index nommés, donc c'était pour ça que j'utilisais des objets
Alors règle de base
Jamais, je dis bien jamais
tu mets un array avec un index string
Oui mais si j'ai besoin de le nommer comment je fais ?
j'utilise des ID à la place des string ?
ça veut dire que l'index 3 par exemple correspond aux positions, mais c'est encore plus bancale non ?
Tu entend quoi par nommer ? Nommer quoi ?
Tu confond les objets et les array
J'utilisais des objets au départ
Pour pouvoir nommer mes objets
Si je passe sous des arrays, je suis obligé d'utiliser des ID comme index
Non mais tu peux très bien faire un array d'objet
Oui, de cette manière :
[{ begin_time: seconds, end_time: seconds, positions: { 0 : { time: seconds, pos_x: 0, pos_y: 0} } }];
Actuellement, mon objet est composé comme ça
Et je voulais simplement récupérer le dernier index dans l'objet "positions" pour faire un +1 et incrémenter un nouvel élément avec un nouvel index
Effectivement, je crois que c'est ça
Il me retourne bien un Array avec à l'intérieur mon index et en second mes données
Merci @inner escarp
😉
Pas de problème
Et merci pour ton aide @past nimbus
Ta structure est toujours dégueulasse $
C'est des objets pourquoi c'est moche ?
Non j'ai pas dis que les objets c'est moche, c'est ta structure qui est n'importe comment
Bah c'est correctement rangé non ?
Bah non, pourquoi tu as un positions.0
Pourquoi tu ne stockes pas simplement dans un tableau ?
Parce que je peux avoir plusieurs positions
Donc à force je vais avoir 0,1,2,3,4 contenant chacun des coordonnées X,Y
Ouais ? Et donc quel est le soucis avec un tableau ?
Comment je modifie ça ?
positions: { 0 : { time: seconds, pos_x: 0, pos_y: 0} }
Un truc comme ça ?
positions: [ { time: seconds, pos_x: 0, pos_y: 0} ]
Oui, le principe d'un array quoi...
Alors, je vais essayer pour voir ce que ça donne
C'est exactement ça, oui
Bah ça va fonctionner (si tu adaptes ton code correctement), et en plus c'est plus propre, plus facile à gérer, plus performant et tu respectes les conventions
Alors, c'est le principal je vais adapter mon code pour que ça fonctionne correctement, merci ! 🙂
Profites en pour mettre à jour le nombre de tes variables/attributs
Je vais ça !
Hésite pas à utiliser un linter pour te forcer à respecter certaines règles de dev (casing, utilisation des objets...)
Bonjour excuser moi, est ce possible de savoir par qui la personne a été inviter en discord;js ? exemple "joueur2 a rejoins! invité par joueur1"
Oui @normal lichen
comment s'il vous plait ? ^^
Malheureusement discord ne permet pas vraiment de savoir qui a invité un nouveau membre directement. La seule méthode qui existe à ma connaissance consiste à au préalable avoir les différentes invitations du serveur, puis quand un nouveau membre est invité, comparer les nouvelles et anciennes invitations selon le nombre de fois qu'elles ont servis, et donc trouver celle qui a +1 (permettant ensuite d'accéder au membre)
C'est ce qu'on fait sur GCA de mémoire
d'accord je vois, je compare dans un tableaux ?
et a chaque inviteAdd j'ajoute au tableau
Ça peut être une solution mais ça me semble pas optimal
Enfin ça fonctionne hein mais j'imagine qu'il y a mieux
je vais cherche alors je vous remercie ^^
Tu peux utiliser d'autres structures
newInvites<>.find(i => oldInvites[i.code]?.uses === i.uses + 1) jverrais bien un truc comme ça, avec newInvites la collection proposé par djs et oldInvites un object où sont stockés les anciennes invites
attendez je regle deja un probleme avec guildMemberAdd mdrr ^^
j'essayerais apres ^^
tkt x), mais Taink a raison, les array c'est pas forcément le plus adapté ici 👀
pourriez vous m'aider pour un message de bienvenue ?^^
Client.on("guildMemberAdd", async member => {
const join = new Discord.MessageEmbed()
.setColor("FAC003")
.setTitle('StarBot')
.setAuthor({ name: 'Another Star', iconURL: '', url: '' })
.setDescription(`Bonjour, Bienvenue a toi sur Xenium RP ${member.user.username}, si tu souhaite jouer sur le serveur, tu doit lire le réglement, et te rendre en attente visa, un douanier te prendra en charge `)
.setTimestamp()
.setFooter({ text: 'AnotherBot', iconURL: '' });
console.log("un membre est arrivé");
member.send({embeds: [join]});
//Client.channels.cache.get("939579655911002190").send("<@" + member.id + "> est arrivé");
member.roles.add("945989311218741279");
member.roles.add("945989311210323986");
var canvas = Canvas.createCanvas(1024, 500);
ctx = canvas.getContext("2d");
var background = await Canvas.loadImage("./background.png");
ctx.drawImage(background, 0, 0, 1024, 500);
ctx.font = "50px Impact"; //police d'écriture et taille du texte
ctx.fillStyle = "#ffffff"; //couleur du texte
ctx.textAlign = "center"; //centrer le texte
ctx.fillText(member.user.tag.toUpperCase(), 512, 410);
ctx.beginPath();
ctx.arc(512, 166, 119, 0, Math.PI * 2);
ctx.closePath();
ctx.clip()
var avatar = await Canvas.loadImage(member.user.displayAvatarURL({
format: "png",
size: 1024
}));
ctx.drawImage(avatar, 393, 47, 238, 238)
var attachement = new Discord.MessageAttachment(canvas.toBuffer(), "welcome.png");
Client.channels.cache.get("945989311239708721").send({files: [attachement]});
});
il fonctionner mais ne fonctionne plu ^^
Y a que ça qui te choque ? 😮
non x)
je debute mdrr^^
tu devrais aussi utiliser la destructuration
Cest pas une raison pour ne pas faire de recherche sur les bonnes pratiques du langage
je vais remplacer les var par des let, et non sa ne passe pas par le guildMemberAdd ^^
donc tu reçois aucun retour en console? 🤔
const/let pas forcément let
non j'ai mit un membre a rejoin pour essayer et rien n'est recu
T'as quoi comme intents ?
ceci
const Client = new Discord.Client({
intents: [
Discord.Intents.FLAGS.GUILDS,
Discord.Intents.FLAGS.GUILD_MESSAGES,
Discord.Intents.FLAGS.GUILD_MEMBERS
]
})
ah logique
Voici la liste des intents:
Intents.FLAGS.GUILDS,
Intents.FLAGS.GUILD_MEMBERS,
Intents.FLAGS.GUILD_BANS,
Intents.FLAGS.GUILD_EMOJIS_AND_STICKERS,
Intents.FLAGS.GUILD_INTEGRATIONS,
Intents.FLAGS.GUILD_WEBHOOKS,
Intents.FLAGS.GUILD_INVITES,
Intents.FLAGS.GUILD_VOICE_STATES,
Intents.FLAGS.GUILD_PRESENCES,
Intents.FLAGS.GUILD_MESSAGES,
Intents.FLAGS.GUILD_MESSAGE_REACTIONS,
Intents.FLAGS.GUILD_MESSAGE_TYPING,
Intents.FLAGS.DIRECT_MESSAGES,
Intents.FLAGS.DIRECT_MESSAGE_REACTIONS,
Intents.FLAGS.DIRECT_MESSAGE_TYPING
C'est pas nécessaire
C'est même déconseillé d'utiliser tous les intents si tu n'en as pas l'utilisation
Je donne juste la liste
Intents sur le site discord app aussi
disallowed intent dans ce cas
mais l'erreur aurait déjà été thrown
et empechant le lancement du bot
le bot ne ce demarre plu la mdrrr, mais je n'ai rien toucher pourtant ^^
Bref, pour te résumer, discord.js utilise beaucoup le cache, et quand il n'a pas toutes les infos à propos d'une structure, il ne triggera pas l'event (par défault)
(en gros)
;-;
attendez je cherche le soucis ^^
le bot redemarre mais les membres ca ne fonctionne toujours pas ^^
Hey
Sauriez-vous comment sauter une ligne en Ts ? Un peu comme le \n en python ou bien la balise <br>
nope
En TS ?
Typescript ?
ui
Bah exactement comme en html, c'est les même règles
ah oui @past nimbus
autant pour moi
je faisais <br>
et ça m'ouvrais auto <br></br>
c'est bien </br>
Oui, étant donné que tu peux faire des balises custom, l'IDE lui il sait pas
quelqu'un pourrait m'aider pour programmer mon bot discord j'arrive vraiment pas svp
Va sur le tuto du site CGA pour commencer
Bonsoir, quelqu'un sait comment on fait pour récupérer une donnée dans une bdd mysql en discord.js ?
Faudrait nous donner plus de détails/code/erreur
Tu utilises le module mysql
yes
Look sur la page npm du module
Ou tu as essayés et tu as une erreur ou autres ? @mossy bramble
non en gros je fais une commande de prise de service pour un bot lspd
Ok
et bah je sais faire pour insérer l'id du membre dans la bdd mais pas comment la récupérer
Tu as look sur le site du module ?
je suis entrain
let sql = ` DELETE FROM service (service) VALUES ( '${ message.author.id}')
j'arrive pas à supprimer l'id du message author id
Tu fais ton .query
j'ai trouver
y me manque plus qua récupérer les donnée dans la bdd puis les mettre dans un embed
bdd.query(`DELETE FROM service where id = '${message.author.id}'`)
merci quand même tu gère
y me manque ça
bdd.query(`SELECT * FROM service WHERE service = '${message.author.id}'`, (err, services) => {
if(!services[0]) return message.channel.send("ID non reconnue sur vous.");
message.channel.send(`ID reconnue: ${services[0].service}`);
});
Normalement, avec ça, c'est good
j'aimerais récup toutes les id de la colonne
Faut utiliser un Foreach ducoups
J'ai modif
Mais après
Fair changer id par le nom de ta bdd
Par le nom de ta table
yes j'avais pas vu
mais ducoup il y a ça
déjà fait
Et dans id reconnu
j'ai mis 1 jvais test
J'ai modif plus haut si jamais
ou ça ?
Dans ta commande
db.query(`SELECT * FROM service WHERE service = '${message.author.id}'`, (err, services) => { if(!services[0]) return message.channel.send("ID non reconnue sur vous."); message.channel.send(`ID reconnue: ${services[0].service}`); });
je comprend pas ou ?
```db.query(SELECT * FROM service WHERE service = '${message.author.id}', (err, services) => {
if(!services[0]) return message.channel.send("ID non reconnue sur vous.");
array.forEach(element => {
services
});```
comme ça ?
Tu as testés ?
non
Test et tu auras ta réponse
okok
Bonjour à toutes et à tous. J'ai une difficulté. je souhaite récupérer (pour commencer) à récupérer la valeur que je rentrerais par la suite dans les cases blanche.
Dans un premier temps, (vue que je suis entrain d'apprendre), je souhaite récupérer le contenu que j'incrémenterais depuis la page web par la suite.
l'id HTML de la div en question est 'inputNote01'.
mais la console m'indique une erreur
Quelqu'un serait m'aider s'il vous plaît ?
Merci d'avance 😄
(n'hésitez pas à ouvrir l'image pour mieux voir) 😉
Diego.
normale la variable tu dit qu'elle s'appelle inputNote01 et après tu met l'event par rapport a une variable qui s'appelle input
coucou, merci pour ta réponse, du coup, il faut que je remplace input par inputNote01 dans la fonction ?
super, en effet, je dois mettre
inputNote01.AddEventListenet('input', (e) => { ....
J'ai inversé le input et le inputNote01
Bonjour les gars j'espère que vous allez bien
Quel genre de projet je pourrais faire pour m'améliorer en JavaScript ?
coucou oui la forme j'espère que toi aussi
ça dépend ton niveau lol
Je viens de commencer JavaScript
J'ai fini mon cour sur l'apprentissage de la syntaxe et j'ai appris JavaScript sur le web
Donc je connais le dom etc
moi je commence et je m'entraine à inscrire 5 note (de 0 à 100) dans chacune des 5 cases et y afficher la moyenne en dessous du bouton d'affichage quand on clic dessus. Ceci avec des condition qui vérifie si c'est bien un nombre et si ce nombre est compris entre 0 et 100
Ah oui c'est vraiment pas mal
ça permets de reprendre le DOM + fonction + boucle + condition + récupération valeur etc
c'est mon premier exo javaScript, je trouve ça pas mal pour regrouper les instructions que j'ai commencé à apprendre
D'ailleurs pourquoi tu as voulu commencé à apprendre le JavaScript ?
j'ai commencé par HTML CSS PHP et MYSQL
mais j'ai un entretien d'embauche la semaine prochaine sur JS 🤣
du coup je regarde vite fait JS sans trop d'espoir mais sait-on jamais
Ptdr ah ouais bonne chance pour ton entretien d'embauche 🤣
test technique javaScript
je croise tout ce que je peux mdr !
Ah t'as déjà appris pas mal de techno déjà
mais l'avantage des exercice, c'est que je ne suis pas un tuto, donc je dois chercher moi même l'information quand je ne la connais pas et ça rentre mieux dans ma tete
Faire les choses par soit même c'est toujours bien
ouai, je tâtais VBA avant puis depuis peu je me suis intéressé au web
carrément
perso je kiff, et JS à l'air d'avoir un potentiel infini, bridé uniquement par notre imagination c'est le feu
JS effectivement à un potentiel infini
vient mp si tu veux pour éviter de poluer
Ouais vas-y
quelqu'un saurait comment on peut retranscrire les messages dans un document.txt en discord.js ? ^^
En utilisant File System: https://nodejs.org/api/fs.html
Je pense que c'est pas cette partie qui lui pose problème ^^
merci ^^ je vais regarder
je fait actuellement un systeme de ticket et j'ai un probleme de permissions, quelqu'un pourrait m'aider s'il vous plait ? ^^
expose ton problème
salut, vous avez un code qui permet de donner/enlever des rôles à une personne mentionné ?
au lieu de demander du code
ça serait pas plus judicieux d'apprendre à le faire toi même?
:_: GuildMemberRoleManager (extends DataManager)
Manages API methods for roles of a GuildMember and stores their cache.
:_: Message#mentions
All valid mentions that the message contains
Bonsoir ! Je cherche des cours de JavaScript/Node.js
en pdf / site etc
Si vous en avez à me conseiller/donner je suis preneur. Merci :)
y'aurais des trucs spécifiques que tu voudrais faire ?
Genre ça serait dans quel cadre, genre node.js, l'utilisation d'un framework ?
Je pense que ça pourrait permettre aux autres de mieux te rediriger ^^
Node.js en particulier
Bonjour, j'ai un problème avec mes permissions, discord prend celle de 1 role/2 quelqu'un peut m'aider ? ^^
C'est-à-dire 1 rôle/2 ?
j'ai regler le probleme je vous remercie j'ai trouver ^^
je mettait 4 rôles avec des permissions, et le premier avais bien les perm, le deuxième les avais pas, le troisième les avais et le quatrième les avais pas ^^
Bonjour j’ai cette erreur et pourtant j’essaye de try catch je pense que ça ne fonctionne pas comme ça mais bon
bon je suis sur phone jugez pas 
Faut que tu catch ton send
Tu essaies de supprimer un message qui n'existe pas. Donc probablement que quand tu le send dans ton channel, il s'envoie pas ou un truc comme ça
Ou alors ton message est supprimé à un moment où il existe plus
@frank sparrow
[sujet : les fonctions variables]
Bonjour à toutes et à tous ! (Je suis grand débutant, soyez indulgent s'il vous plaît :D)
Je suis face à un problème ahahah ! Et j'ai beau retourner les choses dans tes les sens, je ne vois pas du tout comment faire
Je vais essayé d'être explicite ..
1°) J'ai un premier paramètre qui est une variable qu'on appellera dans cet exemple identifiant. elle est défini par un integer (Sa valeur varie de 1 à + l'infini)
2°) J'ai une seconde paramètre qui est une fonction qu'on appellera dans cet exemple ligne (sa valeur n'est pas défini je crois car c'est un objet)
3°) Mon souhait :
-----> J'aimerais que le nom de ma fonction change en fonction de ma variable
-----> Exemple :
----------> identifiant = 1
----------> ligne= ligne1
----------> je lance ma fonction ligne1 qui exécutera son code en modifiant d'autre variable à l'intérieur qui auront aussi identifiant incrémenté dans leur nom.
Je veux bien montrer mon exemple mais pas sur que cela soit une bonne idée ..
Merci de m'avoir lu et merci pour votre éventuelle contribution à la résolution de mon problème
J'essaie de comprendre 😂
Tu veux qu'en fonction d'une certaine valeur, tu puisses appeler une fonction en particulier ?
j'avoue que c'est difficile à expliquer ... je peux essayer d'expliquer ce que ej veux faire mais ça risque d'être un peu plus chargé
je veux qu'en fonction d'une valeur je puisse modifier le nom d'une fonction
par exemple
ma fonction de base est
const ligne = () => {
blablabla
}
En fonction de mon identifiant (1 dans cette exemple), j'aimerais que cette fonction devienne :
const ligne1 = () => {
blablabla
}
Pourquoi tu as besoin d'une telle chose ?
je suis entrain de rédiger mon explications, bougez pas 😄 c'est un peu compliqué à expliquer
Je comprend ce que tu veux faire, mais je vois pas l'intérêt en fait
Et encore moins les cas d'utilisations
C'est vrai que c'est bizarre
J'aurais plutôt tendance à faire plusieurs fonctions et utiliser un switch
Bah je pense qu'en ayant la réponse à cette question, je serais susceptible de résoudre mon réel problème.
Dans mon cas de figure, j'ai créer un array qui reprend, des innerHTML dans chacune de ses cellules me permettant de créer une ligne quand je clique sur un bouton qui comprends plusieurs paramètres
ce qui me permet de générer une ligne dans mon tableau
Ouais ? Et du coup ?
Tu veux changer la fonction qui est appelé par rapport au bouton ?
bon la ça va
maintenant je veux récupérer les valeurs pour chacune des ligne d'ou le fait que j'ai créer un identifiant par ligne que j''ai appelé numeroIdPourTableau
en quelques sorte oui
Mais la, tes lignes elles se répètent non ?
je veux que quand je clic sur valider, chaque ligne fasse son travail
oui, c'est une gestion de stock modulable
Mais tas pas besoin de faire plusieurs fonctions
l'utilisateur peut ajouter une ligne à sa guise
T'en utilises une et tu passe en paramètre les variables qu'elle va utiliser
Bah alors là tu as mal pris ton problème
j'essaye de faire ça
mais bon ça ne marche pas
à juste titre car j'ai surement fait de la merde mdr
Passe en args l'id
c'est fort possible
je regarde ça
De façon très simple tu peux faire
<button onClick="myFunction(" + id + ")">....
Ensuite à toi de voir si tu veux set le onClick en js on en html
Bon j'ai mal concaténé mais t'as l'idée
en faisant quand j'appuie sur le boutton, myFunction sera = à myFunction1 si id = 1 ?
Non, avec l'exemple que j'ai donné, quand tu vas cliquer sur le button, la fonction 'myFunction' va se run avec un args id
Donc myFunction ressemblerait à :
const myFunction = (id: number): void => {
// Ton code
}
Oublie ton nommage de fonction myFunctionX etc... pareil pour les variables
C'est dégueu, horrible à utiliser et pas opti du tout
ahah d'accord !
bon allez , j'essaie de modifier tout ça, merci pour votre aide, je vous tiens informé 😉
Or sujet, mais petit conseil quand même, tu devrais suivre des conventions de nommage pour tes variables, méthodes etc...
Tu verras que ton code sera beaucoup plus clair
j'avoue ne pas encore les connaitrais ces conventions .. j'essaie de chopper la gymnastique du bordel lol
ça sera le sujet de mon prochain apprentissage du coup ! Merci du conseil 😉
justement c’est un système de verif, ça se suppr auto après 2 minutes ou alors quand le mec entre la commande
Utilise await dans ton try
Ou alors un then / catch
Mais faut catch l'erreur
ok merci je resterais
Soit un rôle créé?
non un rôle ajouté a un utilisateur
Ha x)
:_: (event) Client#guildMemberUpdate
Emitted whenever a guild member changes - i.e. new role, removed role, nickname.
merci
Bonjour, j'ai beaucoup de mal a intercepter une erreur d'une promise
Pouvez-vous me dire ce que je fais mal svp ?
teamspeak.clientList().then(clients =>
{
let inactif = 0;
let actif = 0;
clients.forEach(c =>
{
if (!c.nickname.includes("BotDiscord"))
{
if (c.channelGroupInheritedChannelId == '9')
inactif += 1;
else
actif += 1;
}
});
console.log("Membres connectés : " + actif + "\nMembres au repos : " + inactif);
message.reply("Membres connectés : " + actif + "\nMembres au repos : " + inactif);
})
.catch(e =>
{
console.log(e);
});
T'aimerais catch quelle erreur ?
en gros, lors de micro coupure d'internet, mon bot crash en essayant de se connecter a TS
ECONNRESET pour code erreur
Quelqu'un sait si on peut envoyer un ficher via son bot discord.js
Oui tu peux
J'y arrive pas :/
Montre nous où tu bloques !
Car enfaite c'est pas une image mais une fichier
const { color } = require('../../config.json')
const { MessageEmbed } = require('discord.js')
module.exports = {
name: "test",
description: "Commande pour les tests.",
category: "🧑💻・owner",
botPermission: [],
authorPermission: [],
ownerOnly: true,
aliases: [],
usage: "",
run: async(bot, message, args) => {
message.channel.send({
files: ['../../tempo.json']
});
}};
La doc elle te dit de passer un path ?
Non
Alors pourquoi tu lui files un path ?
Pour que ça envoie le ficher tempo.json
comment tu met ton code comme ça ?
Non mais soit logique, si il te demande un buffer (j'ai pas vérifié mais j'imagine) et que tu lui envoie un path il va pas kiffer
let tempo = 0
ah ok merci
Oui c'est vrai :/
C'est des ` qu'il faut mettre @stable spindle 😂
const Discord = require("discord.js");
const { CLIENT_RENEG_LIMIT } = require("tls");
const { SlashCommandBuilder } = require("@discordjs/builders");
const Client = new Discord.Client({
intents: [
Discord.Intents.FLAGS.GUILDS,
Discord.Intents.FLAGS.GUILD_MESSAGES,
Discord.Intents.FLAGS.GUILD_MEMBERS
]
});
const prefix = "!"
Client.on("ready", () => {
console.log("bot opérationnel");
});
Client.on("messageCreate", message => {
if (message.author.bot) return;
if(message.content === prefix + "stream"){
const embed = new Discord.MessageEmbed()
.setColor("#0099ff")
.setTitle("Voici le stream de Zarmine")
.setURL ("ttps://www.twitch.tv/zarmiine")
.setAuthor("Ozyris#7503", "ttps://i.imgur.com/FQCuAit.gif%22,%22ttps://www.youtube.com/watch?v=eZhoj36HNvU%22")
.setDescription("Vous y trouverez le stream préferer de vos streameurs préferés !")
.setThumbnail("ttps://static-cdn.jtvnw.net/jtv_user_pictures/e8715a16-063d-425b-892c-79ae1d6a4bdb-profile_image-70x70.png")
.setFields("ttps://www.twitch.tv/zarmiine", "Le stream ici")
.setImage("ttps://static-cdn.jtvnw.net/jtv_user_pictures/e8715a16-063d-425b-892c-79ae1d6a4bdb-profile_image-70x70.png")
.setTimestamp();
message.channel.send({embeds : [embed]});
}
});
qlq un sais c quoi le problème dans ça ? psk j'en vois aucun mais ça marche pas
oe j'ai vue mdr merci
Pourquoi il manque des h ?
.setImage("https://...")
c fais expres les h
Mmh
j'ai enlever pour pas que vous cliquez dessus sans faire expres
mais dans mon code ils y sont
Ah d'accord
mais on est bien d'accord y a pas de réel soucis dedans nan ?
psk je comprends pas le fait que ça marche pas j'ai verifier bcp de fois
On dirait bien que non
Nope moi j'en vois pas...
Ta un client.login au moins ?
Ah d'accord c'est bon j'ai cru 😂
Enfaite je dev sur le v12
Process exited with code 1
tjrs la mm erreur en +
mdr ça me fais cabler depuis 1H30
Ta rechercher l'erreur 1 ?
No debugger available, can not send 'variables'
g chopper ça comme erreur la$
Uncaught DiscordjsError RangeError [EMBED_FIELD_NAME]: MessageEmbed field names must be non-empty strings. et ça en tt premier
Il peut pas envoyer une variable
Pas de string emtpy
C'est ce que ça veut dire
En gros il ne peut pas mettre une string vide 🤨
ah
euh
.setTimestamp();
appart ça qui est vide y a rien
mais ça c normal
c pour l'heure et la date
Oui c'est logique mais attends je vais regarder
ok ok merci
Essaie de // le field
const Discord = require("discord.js");
const { CLIENT_RENEG_LIMIT } = require("tls");
const { SlashCommandBuilder } = require("@discordjs/builders");
const Client = new Discord.Client({
intents: [
Discord.Intents.FLAGS.GUILDS,
Discord.Intents.FLAGS.GUILD_MESSAGES,
Discord.Intents.FLAGS.GUILD_MEMBERS
]
});
const prefix = "!"
Client.on("ready", () => {
console.log("bot opérationnel");
});
Client.on("messageCreate", message => {
if (message.author.bot) return;
if(message.content === prefix + "stream"){
const embed = new Discord.MessageEmbed()
.setColor("#0099ff")
.setTitle("Voici le stream de Zarmine")
.setURL ("ttps://www.twitch.tv/zarmiine")
.setAuthor("Ozyris#7503", "ttps://i.imgur.com/FQCuAit.gif%22,%22ttps://www.youtube.com/watch?v=eZhoj36HNvU%22")
.setDescription("Vous y trouverez le stream préferer de vos streameurs préferés !")
.setThumbnail("ttps://static-cdn.jtvnw.net/jtv_user_pictures/e8715a16-063d-425b-892c-79ae1d6a4bdb-profile_image-70x70.png")
// .setFields("ttps://www.twitch.tv/zarmiine", "Le stream ici")
.setImage("ttps://static-cdn.jtvnw.net/jtv_user_pictures/e8715a16-063d-425b-892c-79ae1d6a4bdb-profile_image-70x70.png")
.setTimestamp();
message.channel.send({embeds : [embed]});
}
});
je test ça
D'accord
nop
j'ai test en mettant les // ça me fais masse erreu
erreur
Bruh 🤨
Met tout en commentaire 🙂
Et tu enlèves petit à petit
Et tu regardes ou est l'erreur 👍
ok ok jvais test merci
@unborn fulcrum

.setThumbnail("ttps://static-cdn.jtvnw.net/jtv_user_pictures/e8715a16-063d-425b-892c-79ae1d6a4bdb-profile_image-70x70.png")
// .setFields("ttps://www.twitch.tv/zarmiine", "Le stream ici")
.setImage("ttps://static-cdn.jtvnw.net/jtv_user_pictures/e8715a16-063d-425b-892c-79ae1d6a4bdb-profile_image-70x70.png")
il te manque le H
si tu es en v13 le setAuthor n'existe plus
envoie nous les erreurs
bon je me login je rentre mes infos et le code postal / le code postal dois etre comparer a celui des points relai si le code user = code points relai alors le user id et id point relai vont dans un tables relai_secteur par la suite je dois afficher le point relai correspondent attribue a l'user
je n'arrive a rien a part la première partie
Concrètement tu as essayé quoi ?
A partir d'où tu bloques exactement
a comparer les 2 tables
Dans ton explications tu parles d'une seule table, du coup j'imagine que tu parles d'une potentielle table Relais qui représente les points relais ?
je peux te montrer se que j'ai fait en partage si tu veux
pour que tu visualise
mais ouais j'ai cree un tables point relai avec un id / code postal / relai_id
Partage les info ici, c'est le but du chanel
dans la table relai il y a l'id l'adresse ect
la tables code_relai ya l'id et le code postal
mon but est de remplir la relai_secteur en fonction du code postal user et d'afficher l'adresse en fonction
C'est la partie SQL qui te pose problème ?
Tu as une table user j'imagine ?
ooui
Donc user, code_relai, relai_secteur et point_relais
Un point relais peut avoir plusieurs code postale c'est ça ?
exact
Il faut associer la table code_relais à point_relais
Ensuite de là tu pourras SELECT les point code_relais en fonction (WHERE) du code postal que tu veux (renseigner par l'utilisateur)
A partir de là, tu aura donc les id des points relais et tu pourras récupérer les points relais
Associer les deux tables tu comprend ce que ça veut dire ?
je fais une jointure
Un conseil, avant d'utiliser un ORM tu devrais maitriser le SQL, sinon tu vas jamais comprendre ce que tu fais
Non, dans ton cas c'est une table de liaison car tu as un N:M
le projet sur le quelle je boss c celui de ma boite
et j'ai repris le taff d'un mec qui ai plus dans l'entreprise donc comprendre se qu'il a fait c deja trop galere
T'as pas un tuteur pour t'aider ?
je l'appelle mais il ma pas rep
et je dois rendre le projet vendredi
j'ai tout fini sauf ca
avec la fatigue je bloque sur des trucs a la con
D'acc, bon j'espère ils sont pas trop à cheval sur les conventions ^^
encore merci
np
bonjour j'ai besoin d'aide je ne sais pas comment faire ca (A l'aide d'une boucle, vérifier si un string contient la lettre « y ». Affichez « oui » s’il y en a un et « non » dans le cas inverse.)
Dans quel langage ?
JS 🤔
Mdr
Tu dois le faire à la main ou tu as le droit d'utiliser un .includes, indexOf ou Regex ?
euh a la main
Tu as besoin d'aide pour la logique ou le js ?
le js
Explique moi ton choix d'algo du coup
c'est bon j'ai trouver merci
Salut est-ce que quelqu'un ici à déjà utiliser puppeteer parce que j'ai un problème le code que je mets après mon await page.waitForNavigation(); ne s'active pas.
Alors qu'avant (vers cette été ou un peu plus tard) ça marchais très bien.
Peut-être ton la structure du site à changer, tu as vérifier ?
Tu utilises toujours la même version de puppeteer ?
Je viens de regarder et il faut que j'utilise une promise du coup si j'ai bien compris.
Bah tu l'as déjà avec le await
Ouais oki donc c'est bizarre que ça marche pas alors si ça a pas changé.
J'ai testé les 2.
Et du coup ?
ça me fait pareil.
const Discord = require("discord.js");
const Client = new Discord.Client({
intents: [
Discord.Intents.FLAGS.GUILDS,
Discord.Intents.FLAGS.GUILDS_MESSAGE
]
});
const prefix = "!";
Client.on("ready", () => {
console.log("bot operationel");
});
qlq un sais pourquoi meme un code de base comme ça m'afficher une erreur ?
Montre ton erreur
montres le début de l'erreur

C'est quoi ta version de node.js ?
c marqué 17.8.0
oe
ok
Tu as surement pas installé le module
non t'as un flag invalid
...
mdr
Le début bon sang !
GUILD_MESSAGES

?
attennds
je doit tt envoyer pr ma questiob
question*
try {
Client.on("messageCreate", message => {
if(message.author.bot) return;
if(message.channel.type === "dm") return;
if(message.member.permissions.has("ADMINISTRATOR")){
if(message.content.startsWith(prefix + "ban")){
let mention = message.mentions.members.first();
if(mention == undefined){
message.reply("Membre non ou mal mentionner.")
}
else {
if(mention.bannable){
mention.ban();
message.channel.send(mention.displayName + " a été banni avec succés");
}
else {
message.reply("Impossible de bannir ce membre")
}
}
}
else if(message.content.startsWith(prefix + "kick")){
let mention = message.mentions.members.first();
if(mention == undefined){
message.reply("Tu as mal mentionner la personne.");
}
else{
if(mention.kickable){
mention.kick();
message.channel.send(mention.displayName + " a été kick avec succé");
}
}
}
else if(message.content.startsWith(prefix + "mute")){
let mention = message.mentions.members.first();
if(mention == undefined){
message.reply("Tu as mal mentionner la personne.");
}
else {
mention.roles.add("959164185302933504");
message.reply(" Ajout du rôle Mute avec succés à " + mention.displayName);
}
}
else if(message.content.startsWith(prefix + "unmute")){
let mention = message.mentions.members.first();
if(mention == undefined){
message.reply("Tu as mal mentionner la personne.");
}
else {
mention.roles.remove("959164185302933504");
message.reply(" Le rôles Mute à été enlevé à " + mention.displayName);
}
}
}
});
if(message.content == prefix + "cmd")
const embed = new Discord.MessageEmbed()
.setColor("#0099ff")
.setTitle("Voici la liste des commandes")
.setURL("ttps://i.imgur.com/D3z9853.jpg%22)
.setDescription("Toutes les commandes se trouve ici")
.setThumbnail("ttps://static-cdn.jtvnw.net/jtv_user_pictures/e8715a16-063d-425b-892c-79ae1d6a4bdb-profile_image-70x70.png%22)
.addField("!ban", "ban la personne")
.addField("!mute", "Mute la personne ( il n'as plus accès au cghannel du discord )")
.addField("!kick", "kick la personne du discord")
.addField("!cmd", "Vous affiche la liste des commandes disponnible")
.setImage("ttps://i.imgur.com/sfJpm2A.gif%22)
.setTimestamp();
message.channel.send({embeds : [embed]});
}
});
} catch (error) {
console.error(error)
}
qlq un sais pk j'ai une erreur au nive du catch (error) {
console.error(error)
}
Bah de toute évidence c'est de la syntaxe...
oui
mais ça viens de ou car moi je ne l'ai pas trouver seul ?
en gros j'ai réglé tout sauf la parenthèse juste avant le catch
Bah sans le haut du code impossible de le dire
ok att
const Discord = require("discord.js");
const Client = new Discord.Client({
intents: [
Discord.Intents.FLAGS.GUILDS,
Discord.Intents.FLAGS.GUILD_MESSAGES,
Discord.Intents.FLAGS.GUILD_MEMBERS
]
});
const prefix = "!";
Client.on("ready", () => {
console.log("bot operationel");
});
Client.on("messageCreate", message => {
if (message.author.bot) return;
if(message.content === prefix + "stream"){
const embed = new Discord.MessageEmbed()
.setColor("#0099ff")
.setTitle("Stream de Zarmine ici !")
.setURL("https://www.twitch.tv/zarmiine")
.setDescription("Le live préferer de ton streameur préferé")
.setThumbnail("https://static-cdn.jtvnw.net/jtv_user_pictures/e8715a16-063d-425b-892c-79ae1d6a4bdb-profile_image-70x70.png")
.addField("Twitch Prime", "Oublie pas de claquer ton prime")
.addField("Sub", "Ou alors sub juste")
.setImage("https://i.imgur.com/yYz7kbh.gif%22")
.setTimestamp();
message.channel.send({embeds : [embed]});
}
});
voila voila
et y a le token tout en bas
Bah il est passé où ton catch
Cquoi l'erreur ? 🤔
c'est une erreur de synthaxe
Btw, hésite pas à indenter ton code, ça va t'aider
a la fin ici
Erreur console, regarde que tu fermes bien tes {, }, (, ) etc
Bah donne le bon code ^^'
Oula 🤔 Pourquoi tu try ton event ?
c'est juste le haut du code car tu m'avais demander c'est pour ça
quand je le faisait pas ça me mettais une erreur comme quoi faut catch
Je te conseille de te renseigner sur le principe de l'async, car là tu vas pas catch ce que tu veux
je vais faire ça de suite merci
Et là, y a pas d'erreur de syntaxe dans le code que tu as partagé
Profites en pour indenter ton code
Et par la même occasion, je te conseille d'utiliser un linter coupler à prettier, ça va énormément t'aider
ok ok merci du conseil
string = "djihjauezfuhuyzefzf"
containY = Faux
for (var i = 0; i < string.length; i++) {
if(i.ToLower() == "y"){
console.log(Oui)
break
};
ou je me sui tromper?
Tu l'écris tel quel sur ton code?
oui
j'ai mal aux yeux x)
arg sa blésse
att
Je n'ai pas testé, mais tu avais oublié une accolade
string = "djihjauezfuhuyzefzf";
containY = false;
for (var i = 0; i < string.length; i++) {
if(string[i].ToLower() == "y"){
console.log("Oui");
break;
}
}
les points virgules ne sont pas obligatoires, mais ça me pique les yeux quand je vois mes camarades ne pas les mettre x)
et faut mettre des " si tu veux que JS évite des bizarreries avec tes strings
sa mache toujour pas😂
il faut checker l'erreur que la console te renvoie pour voir ce qui ne va pas
oof oui je vois
string[i].ToLower() (je ne sais plus si ça s'écrit comme ça, mais t'as compris :p)
c'est ton code? x)
oui mais a force désaier je menbroui l'exprit
je vois, tkt 👍
string = "abcdefgh";
containE = false;
for(let i = 0; i < string.length; i++){
if(string[i].toLowerCase() === "e"){
containE = true
console.log(containE)
}
};```
@thorn lake
@jovial turret
C'est mieux en effet x)
oui oui ça me semblait trop simple x)
oui
toLowerCase() : minuscule
toUpperCase() : majuscule
de plus, le break est inutile
et pour finir, vu que l’on souhaite vérifier si une valeur est strictement égale à celle que l’on souhaite vérifier, on utilise === et non == qui est utilisé pour égal à moitié
oep mais tkt cette itération elle ce fait en quelques micro secondes
même si le string fait 1000 caractère
c’est plutôt rapide c’est pour ça qu’on l’utilise
ouaip je sais
en général en web on s'en fou un peu des perfs x)
c'est pas comme en C où la moindre allocation est importante
c'est bien dommage d'ailleurs, beaucoup de sites sont très longs à charger, et pour pas grand chose des fois
Euh non surement pas
de ce que j'ai pu voir en tout cas :p
c'est loin d'être aussi bien optimisé que les logiciels
C'est pas une ref, t'as des milliers de logiciels qui sont mal opti, comme tu as des milliers de sites qui sont opti à l'octet près
c'est pas faux
et puis les navigateurs jouent pas mal aussi
ils s'alourdissent comme de gros mullets (y a juste à voir leur conso)
Bah après c'est des outils qui sont hyper complets (ce qui ne justifie pas tout par contre)
par exemple, pour le projet Unity de fin d'année, j'ai voulu intégrer chromium pour faire l'ui du jeu
quelle erreur 
les perfs sont abominables
D'ailleurs concernant le petit algo au dessus, c'est quoi l'objectif ?
détecter un caractère je suppose
Alors c'est clairement pas la bonne façon de faire
Sauf si tu cherches à enculer tes perfs
On va plutôt utiliser includes/indexOf/regex
Et si par hasard on a absolument besoin du for, on va au minimum call le .tolowerCase en dehors de la boucle
Et on va déclarer let/const aha
@keen narwhal
c'est à demon54
yes
pg est merci
petites question pour un bot discord,
si je veux que quand un personne imaginons fasse !emb + son message et que ça crée un embed avec juste son message les images seront mise au préalable etc mais j'aimerais juste récuperer le message et le remettre en embed dans un Channel précis vous savez comment faire ?
oui mais je ne connais pas la commande pour
Go apprendre le js 🤷♀️
ouais la c'est des notions de bases
mais recup un message tu sais faire @stable spindle ?
envoie en pv ton morceau de code on regarde ensemble
oui
ok merci
je suis débutant
Envoie en pv on en parle
oep
?
Pour rendre une image ronde
Mais ? Tu sais, c'est pas que pour une image, c'est pour l'ensemble des pp sur mon site
Oui pas de soucis
J'ai exprimé mon besoin ^^
Et j'ai eu ma réponse
Tu n'as pas besoin de plus d'infos
Bah pas correctement pour le coup x)
Dans ta façon de le dire, on comprend que tu utilises NextJS et que du coup il y aurait un cas particulier, alors que là c'est juste du css rien de plus
fin bon ^^'
Yo, je fais du react js et je me pose la question si c'est possible de faire une redirection sur une page à partir d'une classe (react-router-dom) ? le code est le suivant :
import React from 'react';
import UserService from '../../Services/UserService';
import {Spinner} from "react-bootstrap";
export default class Index extends React.Component {
state = {
bikes: [],
spinner: true
};
componentDidMount() {
UserService.getBikes()
.then(bikes => {
this.setState({ bikes, spinner: false });
});
}
render() {
return (
<div className="col-12">
<div className="row">
<div className="col-12">
<h2>My bikes</h2>
<hr className="w-50" />
</div>
</div>
<div className="row bg-dark text-white">
<div className="col-12">
{ this.state.spinner && ( <Spinner animation="border" role="status" >
<span className="visually-hidden">Loading...</span>
</Spinner> ) }
<ul>
{ this.state.bikes.map(bike => <li id={bike._id}>{bike.name} - {bike._id}</li>)}
</ul>
</div>
</div>
</div>
)
}
}
import axios from 'axios';
import AuthService from '../AuthService';
import authHeader from "../AuthHeader";
class UserService {
async getBikes() {
const user = AuthService.getUser();
return await axios.get(`http://localhost:8100/api/bike/${user._id}`, authHeader.getAccessTokenHeader())
.then(response => {
if (response.data) {
return response.data;
}
})
.catch(function (error) {
if (error.response) {
if (error.response.status == 401) {
AuthService.logout();
}
} else if (error.request) {
// The request was made but no response was received
console.log(error.request);
} else {
// Something happened in setting up the request that triggered an Error
console.log('Error', error.message);
}
});
}
getInventory() {
return [];
}
getCourses() {
return [];
}
}
export default new UserService();
Pour faire simple l'idée c'est que si l'utilisateur s'est connecté, utilise l'application mais que son jwt expire alors je le logout
mais je voudrais aussi le renvoyer sur la page d'accueil
sauf que je vois pas comment le faire dans la classe UserService
Si tu comprend comment le moteur React fonctionne avec les hook, tu as ta réponse
D'ailleurs je te consielle d'utiliser React en fonction plutôt qu'en class
pq ça ?
Tu seras beaucoup plus libre, plus rapide à mettre en place et j'en passe
@lapis onyx les composants classes sont longs et moins logiques à écrire que les composants fonctionnels.
Malheureusement la doc de react est bcp écrite en classes mais tu trouveras des ressources pour te montrer ce qui change ;)
La Doc react à la partie class et la partie fonctionnelle normalement
C'est possible oui, de manière générale quand tu fais des recherches sur react tu tombes bcp sur des composants classe
parce que ça faisait un moment que c'était comme ça aussi
Hello ! J'aimerais me lancer dans le développement JS (React ou Vue je sais pas encore) et j'aimerais m'entrainer, est-ce que vous avez des idées de projets que je peux réaliser ?
@keen igloo Si tu connais pas JS je te conseille de dompter déjà le vanilla JS, bien comprendre les mécaniques. Si tu connais JS le top pour s'entrainer à React ou Vue c'est de faire des répliques de sites ou de mécaniques que tu aimes bien.
Si tu as déjà fait des trucs en vanilla tu peux essayer de les transposer dans le framework qui te plait etc...
J'ai un petit soucis moi d'ailleurs : J'ai deux variable que j'arrive pas à modifier...
A terme j'voudrais partir sur un objet ou un tableau pour stocker les values car je vais en avoir plusieurs mais dans l'état je comprends pas pourquoi ça fonctionne pas 😦
Si un oeil de lynx voit mon erreur, wallah je lui fais un bisou.
Le résultat dans ma console :
C'est comme si le programme réassignait à 0.5 les valeurs alors qu'elles sont déclarées hors de ma boucle, comme valeurs initiales...
Avant que je factorise noise() ça fonctionnait 🤯 🤯 🤯 🤯 🤯 🤯 🤯 🤯
Tu essaies de modifier minV1 ?
🤔 bah c'est normal que ça fonctionne pas
Seul les args objet sont passé par référence
Le reste (string, number...) sont juste une nouvelle variable locale
Tu veux dire que quand je passe minV1 en paramètre, une fois dans noise() c'est une copie de minV1 que je traite ?
Bien sur, tu peux lui faire faire n'importe quoi, le minV1 de dehors de la fonction aura aucun changement
Dr
D'ailleurs ton second import est très bizarre
Montre ton import
Tu as une config particulière ?
Absolument pas, j'ai juste créé mon arborescence et commencé à écrire :
D'ailleurs, j'en profite pour te conseiller de te mettre au TS, surtout si tu prévois de faire un jeu (qui est générale sont des projets assez gros)
Ouep j'suis en train d'apprendre TS sur un autre projet, c'est juste que j'peux pas m'empêcher de prototyper une idée que j'ai eu :3
Pour le module en tout cas si tu sais où j'dois aller trifouiller pour faire un import normal ce serait cool
C'est en rapport avec webpack ?
ah c'est ptet que j'ai pas fais npm init aussi
Ahm ^^'
Nope j'ai le même warning 😦

