#javascript-typescript
1 messages · Page 25 of 1
J'en ai jamais eu l'utilité, même en entreprise, en 2 ans je n'ai jamais vu aucunes utilisations du Regex x)
Bah pour le coup, en entreprise je bossais sur l'app interne, il y avait 0 RegExp dedans xD
Yo ! J'ai un petit soucis, je découvre les interface en Typescript et j'en ai fais une :
export interface Player {
tag: string;
name: string;
townHallLevel: number;
townHallWeaponLevel?: number;
expLevel: number;
trophies: number;
bestTrophies: number;
warStars: number;
attackWins: number;
defenseWins: number;
builderHallLevel?: number;
versusTrophies?: number;
bestVersusTrophies?: number;
versusBattleWins?: number;
role?: "member" | "admin" | "coLeader" | "leader";
warPreference?: "out" | "in";
donations?: number;
donationsReceived?: number;
clanCapitalContributions?: number;
clan?: Clan;
league?: League;
// builderBaseLeague
legendStatistics?: {
legendTrophies: number;
previousSeason: {
id: string;
rank: number;
trophies: number;
};
bestSeason: {
id: string;
rank: number;
trophies: number;
};
currentSeason: {
rank: number;
trophies: number;
};
};
achievements?: Achievement[];
troops?: Item[];
heroes?: Item[];
spells?: Item[];
}
Le soucis c'ets que lors de la compilation j'ai plein d'erreurs, que voici :
node_modules/discord.js/typings/index.d.ts(1181,21): error TS1139: Type parameter declaration expected.
node_modules/discord.js/typings/index.d.ts(1181,27): error TS1434: Unexpected keyword or identifier.
node_modules/discord.js/typings/index.d.ts(1181,29): error TS1068: Unexpected token. A constructor, method, accessor, or property was expected.
node_modules/discord.js/typings/index.d.ts(1182,9): error TS1005: ')' expected.
...
voila voila
Et du coup je ne sais pas commentrégler ce soucis
@cobalt oyster, tu saurais me dire comment accèder au Client Discord avec Sheweny ? car je ne peux pas faire client.message.fetch avec le client Sheweny, et comme on passe par lui obligatoirement je me vois mal initialiser un client discordJS par dessus xD
Dans la function execute() ?
Yep
this.client de mémoire
Justment, message n'existe pas dans le Type ShewenyClient :
je voulais faire this.client.message.fetch(id) mais non, et en regardant la doc de Sheweny, il n'y a pas message dans les properties
aucun rapport avec sheweny
en gros client sheweny = client discordjs avec 2-3 en plus
et client.message existe pas sur discordjs
je croyais, avant tu pouvais fetch les messages comme ça
Je retourne sur la doc DJS du coup
C'est bon, il suffisait juste que je fasse modal.channel.messages.fetch(id)
Je me poserais des questions sur la qualité de ton app, la majotité des entrées utilisateur sont validés par regex chez moi
Code?
En théorie c l index ?
Un bot manager
C'est ultra vague soit plus précis
En gros
La personne envoie son token au bot en prv
Et le bot
Met son bot Online avec tout les commandes pré defini
Quel type de bot exactement
?
Gestion
Hm, ok. Je préfère demander souvent c'est utilisé pour les bots de raid 
Sinon je t'invite à mettre ton code et ton erreur
Donc tout se qui est modération fun ect qui puisse servir à aider les gens
J ai pas d erreur dans la console 
C ça le truc que je comprends
Pas
Ok
?
Nn justement jsp ou ça coince et on a fais le codes à 2 avec un pote
Cet parti là s était lui qui a fais et il comprend pas aussi
Après si tu veux faire les choses proprement ce genre de système c'est pas si simple
Mais déjà j'aimerais voir ta solution
Oe jme doute
La ta l index normalement il m'a dit c ici il a mis
ouais omg
Ah x)
process.on("unhandledRejection", (reason, p) => {
console.error(`[${reason.code}] ` + reason.message);
/*
pire erreur d'ignorer les erreurs, préfere spam ta console
if (reason.code === 0) return; // 404: Not Found
if (reason.code === 400) return; // Invalid Token
if (reason.code == 10062) return; // Unknown interaction
if (reason.code == 10008) return; // Unknown message
if (reason.code === 50035) return; // Invalid Form Body
if (reason.code === 40032) return; // Not Connected At Voice
if (reason.code == 50013) return; // Missing permissions
if (reason.message.includes("GUILD_VOICE")) return; //CACHE LE MESSAGE INUTILE "GUILD_VOICE"
if (reason.message.includes("Temp env not set")) return; // Bug Stream
if (reason.message.includes('no such file or director')) return; // Bug Stream
if (reason.message.includes("getaddrinfo ENOTFOUND null")) return; // Bug Vocale
console.log(reason, p);
*/
});
Ensuite même si c'est pas terrible, vu que tout est sur le meme fichier ça me parait pas très déconnant comme système
Faut aussi faire gaffe à votre indentation les gars perso je regarde le fichier sur Discord je me pète le crâne
Sinon tente simplement de foutre des console.log au moment où tu login ton client, ainsi que dans les event ready de ton client
Mais bon, j'ai pas tout vu je pense
Si t'ignore les 3/4 de tes erreurs bah forcément quand t'as un problème t'as 0 infos

Donc vraiment fait jamais ça
au pire crée un log level
Oe okk mdrr
Ouais non go rester sur les bases ça va lui compliquer la vie 
en gros tu catégorise tes erreurs avec un niveau: Fatal, Error, Info, Warn, Debug
xD
Oui 
Sinon tente ce que je t'ai dit, si tu sais debug avec les breakpoints c'est encore mieux que les console log mais sinon pas grave
Nn je débute de très peu donc compliqué
Mes conseils: Ignore pas tes erreurs, FACTORISE TON CODE, il est vraiment super chiant a lire, COMMENTE TON CODE, il est inaccessible facilement, et aussi corrige tes erreurs d'indentation.
Voilà donc pas de soucis, console log ton token avant le login pour voir déjà si ça le prend correctement
Et concernant les events, log ton bot id dans l'event ready pour voir s'il se connecte
(je fache pas, c juste que ce qui est en majuscule est primordial p)our moi)
Okk tkt j avais capter
Il débute il faut pas non plus trop en demander
Pour l'indentation certes mais pour la factorisation et les commentaires ce n'est pas vraiment pertinent pour le moment
Il vaut mieux qu'il attende de s'améliorer avec le temps ça va venir
Et du coup @pastel dust sur ton éditeur de code hésite pas à faire un clic droit format document
J'imagine que t'es sur VSC
La dcp je vken de corriger la partie de l index.js mais ça revien au même aucune erreur console et pas de logiciel
Nn je suis pas pc
Hein
c justement la factorisation et commenter qui aide a s'améliorer ^
oof ca se fait rare les devs sur mobile
😅😅😅
Direct sur repli et après je met sur l hebergeur
Le prblm c que le replit me dit tout est OK mais pas l hebergeur ;-;
Pour moi au début il vaut mieux se concentrer sur l'essentiel histoire de comprendre les bases
Déjà commencer par comprendre soi même avant d'essayer de faire comprendre aux autres
Mais chacun sa façon d'apprendre après, libre à lui de faire ce qu'il veut 
T'as pas un PC sous la main ?
Compliqué de dev sur tel
Faut pouvoir tester en local
commenter son code permet de mettre des mots sur le fonctionnement de son algorithme et ducoup apprendre a le décomposer afin de déceler des failles, factoriser permet de se familiariser avec la complexité et trouver des moyens d'adapter son code, et de visualiser moins complexe, ce qui est vital pour éviter de faire des projets que tu abandonnes tres vite a cause de la complexité finale.
Si l écrans est noir ça compte ou pas ?
t'as pas de télé ou tu peux le brancher en HDMI?
Je suis d'accord mais perso ça m'a pas forcément aidé
Ah !
Si mais à quoi me servir ?

branche le pc en HDMI, si il marche t'as tout pour commencer a dev proprement
Oe je vois ok mais c pas ma telee c celle de la daronne dans ça chambre 🥲
Perso je vous laisse je bosse de base 
Essaye de faire ce que je t'ai dit et donne des news ici
pareil xD, mais moi je bosse en meme temps 👌
Same mais ça me ralentit 
pas suffisament entrainé, incline toi devant ton maitre 😮
Le maitre du alt tab ? 
rails, meilleur stack du monde
3 écrans 👌
J ai pas suivis la
Ouais same ça met bien 
On est parti ailleurs pardonne nous
tkt, on déconne juste :3
T'as fait ça du coup ou pas encore ?
tu devrais te trouver un pc, quel qu'il soit, pour dev, c bien mieux, au pire une tablette sur laquelle tu mets vscode et tu branche un clavier bluetooth et une souris
Sur téléphone tu te compliques la vie
vscode supporte le dev depuis ssh
Nn j ai pas encore fais
Oe ;-;
C'est l'app de Capgeminie pas la mienne, je suivais juste les instructions du chef de projet et du Lead Dev 🤣
ouais mais meme en projet perso
enfin je veux dire que y a une regex limite inévitable si tu as un système de login
c’est celle de l’email
Il a de forte chance qu'il utilise des regex pour la validation de ces inputs front/api sans le savoir au travers d'une lib
😏
Si ca se trouve son site est entierement dans index.js, et il récupere ses valeurs direct depuis req.body.json, pour les concaténer au sql 🥴
le probleme de cap c'est que souvent tu acceptes un projet ou tu connais pas la language, du coup tu te debrouilles comme un grand
c'est tres formateur, mais les projets qui t'on servi a apprendre, ils prennent cher xD
En faite, les RegExp je sais que ça existait, mais comme scylla l'a dit, j'utilise des lib qui valide automatiquement suivant le type d'input que je veux avoir, du coup j'en ai jamais trop eu l'utilité de le faire à la main, et comme je ne l'ai jamais fais à la main, jamais appris en cour, et jamais appliqué en entreprise, bah ... comment tu veux que je pense à les utiliser ? 🤣
Bon certes c'est mon boulot de me renseigner sur les bests practices et je ne l'ai pas fais 
Mais maintenant que je sais réellement c'est quoi les RegExp, je ne risque plus de passer à côter xD
En plus, c'est moins verbeux que ce que je pensais, je me suis tapé la doc MDN dessus, j'ai tout compris
Bonsoir,
J'ai transférer les fichiers de mon bot discord sur un hébérgeur et il savère que ça me fait cette erreur que je n'avais pas:
Error: /home/container/node_modules/canvas/build/Release/canvas.node: invalid ELF header
Je voudrais savoir si quelqu'un pourrais m'aidé
Merci d'avance
( Je l'avais pas en locale )
salut,
t'as directement importer tes packages ou tu les as réinstaller ?
sin on tu peux essayer de supprimer le dossier node_modules & faire la commande npm install pour les avoir dans la version de ton hébérgeur.
Certains modules ne sont pas les mêmes entre windows, mac & linux
J'ai tout importer mais la j'essaie depuis ptero d'installer les modules
Mais je ne sais pas si sa marche comme cela
Comme ça ?
Sa crash quand je démarre
tu peux le supprimer simplement
Sa à tous réinstaller mais sa crash quand même
t'as mis quoi en startup ?
fais voir l'archi de ton bot ?
et le fichier que t'as mis pour allumé le bot sur ptero
bonjour à tous, discord.js n'est pas mon fort et j'ai voulu faire une clear commande, le seul problème est que cette commande ne fonctionne pas sur les messages des webhooks, quelqu'un pourrais m'aider a faire les modifications nécessaire pour que la commande fonctionne aussi bien sur les utilisateurs que sur les webhooks :
const { SlashCommandBuilder } = require("discord.js");
module.exports = {
data: new SlashCommandBuilder()
.setName("clear")
.setDescription("Clear some messages")
.addIntegerOption((option) =>
option
.setName("amount")
.setDescription("Le nombre de messages à supprimer")
.setRequired(true)
),
async execute(interaction, client) {
try {
const amount = interaction.options.getInteger("amount");
if (isNaN(amount)) {
return interaction.reply("Veuillez fournir un nombre valide de messages à supprimer.");
} else if (amount < 1 || amount > 100) {
return interaction.reply("Le nombre de messages à supprimer doit être compris entre 1 et 100.");
}
await interaction.channel.bulkDelete(amount, true).catch((error) => {
console.error(error);
interaction.reply("Une erreur s'est produite lors de la suppression des messages.");
});
interaction.reply(`**${amount}** messages ont été supprimés avec succès.`);
} catch (err) {
console.error(err);
interaction.reply("Une erreur s'est produite lors de la commande.");
}
},
};
Malheuresement le bulkdelete n'est pas capable de supprimé les messages provenant d'un webhook par contre cette alternative existe
Il te suffit d'utilisé bulkdelete et de faire le nécessaire pour vérifié si le message vient d'un webhook
Sinon j'ai une autre solutions, il y'a aussi le Message.delete()
ça donnerait cela
const { SlashCommandBuilder } = require("discord.js");
module.exports = {
data: new SlashCommandBuilder()
.setName("clear")
.setDescription("Clear some messages")
.addIntegerOption((option) =>
option
.setName("amount")
.setDescription("Le nombre de messages à supprimer")
.setRequired(true)
),
async execute(interaction, client) {
try {
const amount = interaction.options.getInteger("amount");
if (isNaN(amount)) {
return interaction.reply("Veuillez fournir un nombre valide de messages à supprimer.");
} else if (amount < 1 || amount > 100) {
return interaction.reply("Le nombre de messages à supprimer doit être compris entre 1 et 100.");
}
const messagesToDelete = await interaction.channel.messages.fetch({ limit: amount });
messagesToDelete.forEach(async (message) => {
await message.delete();
});
interaction.reply(`**${amount}** messages ont été supprimés avec succès.`);
} catch (err) {
console.error(err);
interaction.reply("Une erreur s'est produite lors de la commande.");
}
},
};
@plain raven , je ne suis pas sûr que sa marche
Hello, je suis bloqué sur un problème en JS.
Lorsque je clique sur un bouton je viens récupérer des informations dont un champs select contenant plusieurs options comme vous pouvez le voir sur le screen.
Il est bien indiqué length 9, pourtant quand je fais
console.log(villeList.length);
Ca me print 1, une idée ?
Du coup, quand je boucle sur ma collection, je ne fais que un seul tour de boucle et ne parcours pas toutes les options...
Pareil, si je fais
console.log(villeList.item(1));
Ca me print undefined, je ne comprends pas..
ça fonctionne trop bien , merci beaucoup !
Pas de soucis
montre moi juste la boucle
Voilà
Mais le problème inital est surtout que je ne récupère pas la bonne length et que encore pire quand j'essaie de récup le 2ème élément de ma collection j'ai undefined
là tu as un if qui va surement retourner qu'un seul element (ou plusieurs peut être mais vu que ça test une valeur parmi des options c'est surement normal que dans le if ne s'execute qu'une seule fois)
essaye de console.info(option) juste apres la ligne for
je viens de tester un length et ça marche
ducoup c'est peut être l'option qui est pété
ça donne quoi si tu log ceci :
JSON.stringify(document.querySelector("#debtor_ville_id_sepa").options)
ceci
J'ai ça :
Mais j'ai peut-être une piste du coup !
(Normal si j'ai plus 9 éléments, j'ai changé de code postal pour essayer)
Laisse tomber, c'était une connerie de temps, j'ai ajouté un setTimeout de 500ms et ça fonctionne, c'est pcq j'avais un appel ajax juste avant, tout s'éxec en même temps..
Heureusement je suis pas dev front c'est une cata 
Merci de ton aide !
^^, peut être faire un trigger après l'ajax (d'ailleurs bascule vers du fetch ça sera bien plus agréable)
comme ça tu auras tout qui se suit, car l'appel ajax va parfois dépasser le timeout, qui d'ailleurs ralentis le scripts même si les données sont dispo :s vaut mieux faire une chaine :)
C'est un vieux projet, pour te dire ça utilise smarty si tu connais mdrr.
Puis le temps que je replace tout les appels ajax, j'en ai pour pas mal de temps, ma mission doit-être terminée avant 18h ce soir, donc autant te dire que ça restera en ajax lol (du moins pour le moment)
Mais je prends carrément l'info, c'est intéressant à savoir ! 😄
haha :3 lez go
Pour ma part pour ma commande actuel, j’ai pas le Bulkdelete.
Salut, j'ai un problème avec mon projet next js
Voici ma structure de fichier :
Cependant, si je tente d'aller dans mon fichier contact sa me dit que le page n'a pas été trouvé
Contact/page.jsx
Non j'ai toujours ca :
(j'ai modifié mon fichier en le rename en : page)
C'est bon résolu
C’était quoi ?
J'ai réinstallé next js
Probablement un problème de cache 😉
Salut tout le monde ! J'utilise Nuxt 3 et dans une balise <script> j'ai mis dans un premier temps data:
data() {
return {
currentSlide: 1,
isPaused: false,
};
},
Et puis dans un autre temps methods. J'ai mis une fonction dedans que voici :
changeSlide() {
if (!this.isPaused) {
const slideElement = document.getElementById(`s${this.}`) as HTMLInputElement;
if (slideElement) {
slideElement.checked = true;
}
this.currentSlide = this.currentSlide === 5 ? 1 : this.currentSlide + 1;
}
},
Le problème c'est que je n'arrive pas à accéder aux données dans data, voici le message que je reçois :
this.$data.isPaused maybe ?
bizarre
Hello je souhaite faire une web app de jeux de plateau truc assez basique mais je ne m’y connais pas assez bien en backend js bref. Je souhaite savoir c’est quoi le mieux pour commencer… sur quoi je dois me former avant d’attaquer mon projet?
Bon alors update ça marche en faite, c'est juste que Webstorm soulignais les this... en rouge donc je pensais que quelque chose n'allait pas.
Hey ! Quelqu'un ici a déjà réussi a get un message priver avec un user? Car je sais pas comment get ce message sachant que je stock l'id du message...
Merci d'avance!
on parle pour un bot? le message priver est entre le bot et l'utilisateur, ou c un message priver entre 2 utilisateurs externe au bot?
(l'auto mod a un souci, car si on parle de message priver, le message est rejeté x))
# Application de Récupération d'Emplois du Temps ADE (UPPA)
Cette application vous permets de récupérer vos emplois du temps de l'agenda ADE de l'UPPA (Université de Pau et des Pays de l'Adour) et de les afficher dans un calendrier ou de les ajouter à votre agenda Google.
## Configuration
Avant de commencer à utiliser cette application, assurez-vous de suivre ces étapes de configuration :
[...]
## Utilisation
Une fois que vous avez configuré votre environement, suivez ces étapes pour utiliser l'application :
[...]
## Contribution
Les contributions sont les bienvenues! N'hésitez pas à ouvrir une nouvelle issue ou à proposer des pull request pour améliorer ce projet.
## License
[...]
maintenant ma question dois-je faire une application ou une api et une appli ? et pour le front quelle st le mieux?
salut a tous
Je code mon nouveau portfolio sous nextjs et j'ai une erreur très étrange en prod, certaines images du site font une erreur "url parameter is valid but upstream response is invalid".
Pourtant tout marche en local et les autres images aussi (identiques à part le chemin).
essaye ça
deja fait
Yep je parlais de bot a messages priver mais j’ai réussi 😉 merci quand même bg
Bonjour, bonjour !
Je débute et je suis curieux dans la création de bot Discord, j'essai d'envoyer un message à l'arrivée d'un utilisateur sur un serveur avec le framework Sheweny.
Cependant, impossible d'avoir le message, et je ne comprends pas l'erreur que j'ai pu faire
// Import library
import { Event, ShewenyClient } from "sheweny";
import { ChannelType, GuildMember, TextChannel } from "discord.js";
export default class GuildMemberAdd extends Event {
constructor(client: ShewenyClient) {
super(client, "guildMemberAdd", {
once: false,
description: "Member join the guild",
});
}
async execute(member: GuildMember) {
console.log("test");
const channel = this.client.channels.cache.get("");
if (channel && channel.type === ChannelType.GuildText) {
try {
// Envoyez le message dans le canal
await (channel as TextChannel).send(
"Bienvenue à notre nouveau membre !"
);
} catch (error) {
console.error("Erreur lors de l'envoi du message :", error);
}
}
console.log("New member");
}
}
Merci pour votre aide !
PS : Je précise que je n'ai aucune erreur, et aucun console.log, comme si l'event n'était pas pris en compte
Hello! As-tu paramétré les intents dans ton client ? ça peut peut-être provenir de là
J'ai configuré uniquement ça :
intents: ["Guilds", "GuildMessages"],
C'est suffisant ?
Tu utilises quelle version de Sheweny la ?
J'utilise là 4.2.1
Essaye dans le doute d'utiliser les mêmes que moi
en majuscule et avec un _ pour le deuxieme
Impossible, ils ne fonctionnent plus :/
Je crois que c'est suite à la nouvelle version de Discord.js
Ah oui ok du coup ça a bien changé depuis
Euh ptet que @queen ocean saurait d'ou ça viendrait!
Parce que, j'ai sûrement fait une erreur, mais où, aucune idée
Y'a moyen d'avoir la déclaration de ton client ?
Bien sûr !
Hello, attend 2 secondes j’utilise sheweny v4 aussi, je me co sur mon pc et je check
// Import library
import { ActivityType, Partials } from "discord.js";
import { ShewenyClient } from "sheweny";
const client = new ShewenyClient({
intents: [
"Guilds",
"GuildMessages",
"GuildMembers",
"GuildPresences",
"GuildVoiceStates",
"GuildMessageReactions",
],
partials: [
Partials.Channel,
Partials.GuildMember,
Partials.Message,
Partials.User,
Partials.Reaction,
],
admins: ["8"],
presence: {
status: "online",
activities: [
{
name: "À votre service ! 👂🏼",
type: ActivityType.Custom,
},
],
},
managers: {
events: {
directory: "./events",
},
},
});
export default client;
tu as bien activé les intents etc sur ton panel dev?
Bot
Effectivement, ce n'est pas activé
Je viens d'activer
si c'est un problème d'intents tu auras l'erreur maintenant
Donc, je dois mettre la totalité des tes intents @hazy mirage ?
J'essai 😉
j'hesite un peu sur la couleur du bouton
#1036572121683464222 ou #discussion-dev 😉
Le message s'affiche !
ah mince je me suis trompé !
Merci beaucoup ! Mais alors est-ce les autorisations depuis le panel de Discord, où alors les intents ?
Je viens de tester, c'est les deux
Les deux peuvent y jouer un rôle, normalement si tu as tout activé depuis ton panel dév tu es censé avoir une erreur de Sheweny je dis bien censé fin moi j'ai déjà eu ces erreurs là
Merci les amis ! 😉
np, gl pour la suite
Vous savez quel intent il est nécessaire de renseigner si je souhaite éditer un salon ?
Juste Guilds je dirais
yo les gars, j'aimerai faire en sorte que lorsque la souris passe sur un élément de ma page web, l'élément se lève (pop up) je suis conscient que c'est en utilisant le js que l'on peut créer ce genre d'effets mais je ne sais où aller car quand j'essaye de regarder des documentations ou tutos ils parlent que de pop up "changement de couleur" ou clique pop up, quelqu'un aurait les termes exacts, je ne veux pas de code juste une piste pour pouvoir savoir faire... Bonne soirée !!
Transform scale ?
MERCIIIII 
Bonjour !
J'ai créer un auto updater avec anystack mais quand je test (je créer un paquet avec une version X.X.1 puis je modifie quelque truc, je créer un apquet X.X.2) il ne ce passe rien, pas de téléchargement de la mise à jour, rien.
Pouvez vous m'aider ?
index.js
const { app, BrowserWindow, ipcMain } = require('electron');
const { autoUpdater } = require('electron-updater');
const server = 'https://dist.anystack.sh/v1/electron';
const productId ='MON_PRODUIT_ID'; //J'ai remplacer par mon pproduit id
const url = `${server}/${productId}/releases`;
const path = require('path');
let mainWindow;
function createWindow() {
mainWindow = new BrowserWindow({
//Mon code
}
});
mainWindow.loadFile('index.html');
mainWindow.on('closed', () => {
mainWindow = null;
});
}
autoUpdater.setFeedURL({
url: url,
serverType: 'json',
provider: "generic",
useMultipleRangeRequest: false
})
app.on('ready', () => {
createWindow();
});
app.on('ready', function() {
autoUpdater.checkForUpdates()
})
//J'ai pas mis la suite de mon code car elle sert à rien.
Salut 👋
Quelqu'un connaît un bon framework/handler discord.js ? J'utilisais sheweny à l'époque
Jsuis tombé amoureux de sapphire perso
C'est vraiment propre
Ah ouais ? Faudrais que j'aille voir, mais selon toi c'est le "nouveau" sheweny ?
C'est plus poussé que sheweny
Mais oui si tu aimais faire tes bots avec sheweny, tu vas kiffer sapphire je pense
Ok ok je vais check ça alors
va si !
si ta des questions dessus n'hésite pas
merci ;))
Bonjour, bonjour
Vous auriez une idée de pourquoi je ne peux pas utiliser le row ?
// Publish message for join team
const joinTeamMessage = new EmbedBuilder()
.setColor("#424549")
.setTitle("Nous agrandissons notre équipe ! 👨🏼💻")
.setDescription(
""
);
// Create button for join team
const joinTeamButton = new ButtonBuilder().setLabel("Postuler");
// Creation action row
const row = new ActionRowBuilder().addComponents(joinTeamButton);
if (joinTeamChannel && joinTeamChannel.type === ChannelType.GuildText) {
await (joinTeamChannel as TextChannel).send({
embeds: [joinTeamMessage],
components: [row],
});
}
Type 'ActionRowBuilder<AnyComponentBuilder>' is not assignable to type 'APIActionRowComponent<APIMessageActionRowComponent> | ```
J'ai pourtant suivi la documentation, et l'erreur je n'arrive pas à la comprendre par rapport aux éléments que je peux avoir
J'ai réussi à m'en sortir seul :p
J'en ai un autre cas de figure un peu similaire
Impossible d'afficher un modal :
const modal = new ModalBuilder().setTitle("Test").setCustomId("test");
button.showModal(modal);
J'ai du mal à comprendre les méthodes pour retourner des affichages aux utilisateurs
Ah j'ai trouvé. Je renseignais mal mes informations et j'utilisais mal les ajouts de composant
En gros un modal sa resemble a sa:
const modal = new ModalBuilder()
.setCustomId('inspector_sendReportModal')
.setTitle(language.getSentence("inspector", 'modal_title'))
const memberInput = new TextInputBuilder()
.setCustomId('inspector_sendReport_member')
.setLabel(language.getSentence("inspector", 'modal_member_title'))
.setStyle(TextInputStyle.Short)
.setPlaceholder(language.getSentence("inspector", 'modal_member_desc'))
.setRequired(true)
.setMaxLength(1024);
const reasonInput = new TextInputBuilder()
.setCustomId('inspector_sendReport_reason')
.setLabel(language.getSentence("inspector", 'modal_reason_title'))
.setStyle(TextInputStyle.Paragraph)
.setPlaceholder(language.getSentence("inspector", 'modal_reason_desc'))
.setRequired(true)
.setMinLength(50)
.setMaxLength(1024);
const proofInput = new TextInputBuilder()
.setCustomId('inspector_sendReport_proof')
.setLabel(language.getSentence("inspector", 'modal_proof_title'))
.setStyle(TextInputStyle.Paragraph)
.setPlaceholder(language.getSentence("inspector", 'modal_proof_desc'))
.setRequired(true)
.setMaxLength(1024);
const firstActionRow = new ActionRowBuilder().addComponents(memberInput);
const secondActionRow = new ActionRowBuilder().addComponents(reasonInput);
const thirdActionRow = new ActionRowBuilder().addComponents(proofInput);
modal.addComponents(firstActionRow, secondActionRow, thirdActionRow);
await interaction.showModal(modal);
Effectivement @visual sequoia
C'est ce que j'avais vu sur la documentation, mais la partie :
const thirdActionRow = new ActionRowBuilder().addComponents(proofInput);
modal.addComponents(firstActionRow, secondActionRow, thirdActionRow);
Ne fonctionnait pas, j'ai du traduire ça par :
components: [
{
type: ComponentType.ActionRow,
components: [whyInput],
},
]```
Et désormais ça fonctionne bien mieux. 🙂
C’est parfait alors ✌️
Bonjour
Est-ce que vous avez une méthode pour régler mon problème :
En gros un script se lance au début du site qui affecte des éléments html mais avec une mauvaise connexion il se lance alors que tout le html n'est pas là ce qui donne un rendu buger un peu, j'aimerais un moyen pour "détecter" que ça ne se soit pas bien passé puis relancer le script
Ou une autre méthode que vous avez
Merci
@keen narwhal
Parfait
Du coup dit moi
Bon c’est un peu galère avce le pc éteint mdrr mais attend 2s j’avais écrit qlq part
Holà, j'aimerais savoir si il est possible qu'un bot A puisse exécuter les commandes d'un bot B
Et si oui, comment ?
Je recherche ça depuis plusieurs heures mais au final je n'ai pas trouvé de façon pour que le bot utilise la commande au même titre qu'un utilisateur 😕
ca depend du code du bot, generalement ils return lorsqu'un bot utilise la commande
pour eviter le spam ou les auto actions
Ça a giga pas répondu à ma question 
bah du coup si
uniquement sur les bots qui n'ont pas ce check
donc tres peu je suppose lol
Les bots Discord fonctionnent principalement en faisant des appels APIs
Si les deux bots sont les tiens :
Pour utiliser le bot B depuis le bot A, il faut faire des requêtes APIs à destination du bot B en utilisant une lib comme axios ou fetch avec son token
Si le bot B n'est pas à toi, il est très probable que ça ne soit pas possible, ni par un appel API, ni via le chat
Donc j'peux pas simplement faire en sorte que le bot A fasse /user et que le bot B l'utilise en gros
Que le bot A fasse un simple /user, une commande quoi, ça revient à utiliser le chat de Discord en tant qu'utilisateur
Tant que les deux bots sont à toi c'est faisable
Salut j'ai un petit soucis avec un bot Discord que j'essaye de créer. Je pense que ce n'est pas grand chose mais lorsque que je tape une commande censée afficher une réponse dans le chat, la réponse est affichée 2 fois d'affilée ^^ Quelqu'un aurait les yeux pour me montrer mon erreur ? xD
exports.run = (client, message, args) => {
var Discord = require("discord.js");
roll = Math.floor((Math.random() * 100) + 1);
if(roll > 50) {
commentary = "Ca passe !";
} else {
commentary = "Dommage...";
}
const embed = new Discord.MessageEmbed()
.setTitle(message.author.username + " a fait un roll de: " + roll)
.setDescription(commentary)
.setColor("RANDOM")
.setFooter("AKLRP");
message.channel.send({ embed: embed });
};
ta pas le bot de lancer 2 fois ? 
xD
Salut ! J'ai à nouveau besoin d'un petit coup de pouce, j'essaye de récupérer l'auteur d'un message lorsqu'une réaction est faite sur ce message. Voici le code j'espère que cette erreur n'est pas aussi futile que la précédente xD Merci d'avance !
// Événement de réaction ajoutée
client.on('messageReactionAdd', (reaction, user, message) => {
console.log(reaction);
// if(reaction.message.user == "1154344238243393556") {
// if (reaction.emoji.name === ":x:") {
// // console.log("second check");
// reaction.message.delete()
// }
// } else {
// }
});```
Voici le retour du bot:
La valeur est vide
https://old.discordjs.dev/#/docs/discord.js/main/class/Message?scrollTo=author la propriété a l'air d'être author et non user
Discord.js is a powerful node.js module that allows you to interact with the Discord API very easily. It takes a much more object-oriented approach than most other JS Discord libraries, making your bot's code significantly tidier and easier to comprehend.
Discord.js is a powerful node.js module that allows you to interact with the Discord API very easily. It takes a much more object-oriented approach than most other JS Discord libraries, making your bot's code significantly tidier and easier to comprehend.
dans ton cas les 2 sont bons
Merci beaucoup pour ta réponse mais la valeur author reste null et je ne comprends pas pourquoi...
console.log(reaction.message.author);
// if(reaction.message.user == "1154344238243393556") {
// if (reaction.emoji.name === ":x:") {
// // console.log("second check");
// reaction.message.delete()
// }
// } else {
// }
});```
Tu récupères 3 paramètres :
client.on('messageReactionAdd', (reaction, author, message) => {
Pourquoi ne pas faire un console log de author ? Sans rentrer dans reaction ?
Yes j'ai essayé mais comme je mis attendais, author seul me retourne l'auteur de la réaction et non l'auteur du message qui a reçu la réaction
Tandis que reaction est censé me retourner aussi l'auteur du message qui a reçu la réaction mais pour une raison que j'ignore encore, la valeur est toujours null quoi que je fasse...
C'est étonnant
message.author
La valeur est undefined
C’est quoi le contenue de message ?
Du texte principalement
La c’est ton message qui est undefined
Aïe
Ta activé quoi comme intents et partials
Console log reaction.partial
Ouais voilà donc ta pas toutes les donnés
Ah
Ta pas mis d’intents ??
Non pourquoi ? xD
Bonjour à vous !
Je suis en train de débuter le JavaScript, je suis sur un mini-projet. Ce mini-projet consiste à mettre en place une solution de "Calendrier de l'avent" pour noël. Chaque jour, un maximum de 1 gagnant serait désigner. Chaque jour, le tableau des participants est réinitialiser via un autre script qui delete toutes les rows de ce tableau. Bien sur les gagnants sont enregistrés dans un autre tableau.
Je fonctionne avec Google Form, ainsi que Google Sheet, tous deux reliés à un script sur Google Apps Script. Dans mon code, il manque une vérification, celle qui va vérifier si un gagnant a déjà été désigné. Si un gagnant a déjà été désigné, tous les futurs participants (après le gagnant déjà désigné) seront notés comme perdant. Auriez-vous une idée de comment je peux implémenter et intégré ceci à mon code ?
Voici un petit exemple du tableau des participants et je vous joins également mon code.
function chooseWinner() {
const ss = SpreadsheetApp.openById('id_de_la_sheet');
const participantsSheet = ss.getSheetByName('Participants');
const winnersSheet = ss.getSheetByName('Gagnants');
const participantsData = participantsSheet.getDataRange().getValues();
let winners = [];
let winnerSelected = false;
for (let index = 1; index < participantsData.length; index++) {
const row = participantsData[index];
const status = row[4];
if (status !== 'Gagnant' && status !== 'Perdant') {
if (winnerSelected) {
participantsSheet.getRange(index + 1, 5).setValue('Perdant');
} else {
const hasWon = Math.random() < 0.5;
participantsSheet.getRange(index + 1, 5).setValue(hasWon ? 'Gagnant' : 'Perdant');
if (hasWon) {
winnersSheet.appendRow([new Date(), row[1], row[2], row[3]]);
winnerSelected = true;
}
}
}
}
}```
Bah il faut
Ah je vais regarder merci
Salut,
Il te faut une base de données, où un fichier, pour stocker la liste des gagnants, ainsi tu pourras faire une condition pour vérifier si le gagnant que tu as tiré au sort, était déjà gagnant avant.
Je stocke toutes les données dans une feuille de calcul google sheet
C'est jouable alors.
Récupère ton fichier, parse le, et vérifie si l'e-mail du gagnant est dans la liste de ton nouveau Sheet
Bonne idée, j'y avais pas pensé
Si tu l'as fait pour les autres fichiers, tu devrais pouvoir t'en sortir sans problème 😉
Alors j'ai réussis à faire en sorte qu'il n'y ait pas la possibilité qu'une personne gagne deux fois par personne, mais maintenant je veux faire en sorte qu'il ne puisse pas y avoir 2 gagnants dans la même liste de participants (la liste est reset chaque jour à minuit automatiquement avec un autre script)
t'as une idée ?
Quand tu obtiens ton résultat, enregistre le dans un tableau. Et ensuite à chaque fois que tu vas tirer au sort, tu vérifies si le nom existe déjà dans le tableau, si c'est le cas c'est que la personne a déjà été tirée au sort 🙂
Et donc tu relances ta boucle
alors attend, du coup j'ai mon tableau participants dans lequel sont enregistré les participants et ils sont annotés gagnants/perdants etc. Le script viendra vérifier si une personne à déjà gagnée, si elle a déjà été tirée au sort et qu'elle est gagnante, je continue ma boucle pour afficher le reste en perdant ?
c'est un exemple de mon tableau participants
Non, rajoute simplement un tableau caché, dans lequel tu stockes tous les participants que tu as tiré au sort pour un évènement en particulier 🙂
Et comment je peux faire pour limiter le nombre de gagnant à 1 sur ma feuille participants ?
Yes c'est ça, je veux faire en sorte que imaginons sur 20 participations, ils sont tous perdants, le 21ème joue, il gagne et les suivants sont perdants (par exemple)
Et chaque jour la feuille se reset (déjà mit en place)
Tu réfléchis à l'envers 😉
Pense plutôt de cette manière : Tu as 20 joueurs, tu choisis au hasard un jour, il est gagnant, tu n'as pas la notion de perdant
Tu as jute la notion de gagnant, car ce qui t'intéresse c'est uniquement le gagnant
Oui mais après derrière j'irai afficher les résultats perdants/gagnants sur un site en front à partir d'une API
du coup il me faut forcément un résultat gagnant/perdant
Bonchour
J'arrive pas a exporter une varriable
Foutu react !
J'ai besoin d'aide
j'aimerais export le searchString
export default function NavBar(props) {
const [searchString, setSearchString] = useState('$£§');
const getLatest = async() => {
}
}
si je la met au dessus ça me dis ça
tu veux exporter "searchString" vers un autre fichier ?
tu veux l'exporter vers ou ? ton App.js ?
non dans un autre composant
Okay, donc si j'ai bien compris tu veux "exporter" ton state vers un autre composant ? Le composant est il "enfant" de ton composant actuel ?
Ils sont au même niveau
Tu vas l'appeler ou ton composant ?
Comment ça ?
en gros il demande
Mon app.js ?
ou est-ce que tu veux utiliser ton "searchString"
ton autre composant ou tu veux l'utiliser
Bah dans un autre composant ?
Genre par exemple, la ton searchString est dans ton composant Navbar ?
tu veux l'utiliser dans quel autre composant, son nom ?
Je suis en cours je dois vesqui le prof déso je rep pas instant
Tkt 🙂
pas de soucis !
déjà il sont pas au mm niveau jmetais tromper
je veux l'export pour l'utiliser dans NavBarUtils
Ton navBarUtils, tu l'utilise dans ton NavBar ?
?
si ici
Je vais galèrer a te l'expliquer par message mais yolo j'me lance
salut, c’est pas le but d’un state d’être export dans un autre fichier
ce que tu peux faire en revanche c’est de créer un context par exemple ou un custom hook ou tu stockeras ta valeur pour y avoir accès dans toute ton app
ou alors si jamais le fichier que tu. eux est pas trop deep ou quoi, juste remonter la déclaration de ton state plus haut et de le passer en props, mais uniquement si les components ne sont pas trop éloignés quoi
Mais sinon mon autre plan c'est d'export la fonction getLatest
Mais enft elle a besoin de searchString
Et je peux pas export là vu qu'elle est dans un une fonction export
Et ma fonction export a aussi besoin de searchString
Mon cour est bientôt finis je pourrais envoyer des screen après si c'est pas clair
@woven cosmos ^
Je vais voir ça mrc
??
je viens de regarder tes screens, ton navbar utile contient que des fonctions liés à ton component navbar?
oui
mais c bon j'ai réussi par un autre moyen tkt

normalement enft cette interval est dans mon navBarUtils justement
à éviter 😮💨
une boucle dans une boucle c’est pas terrible
Ce n'est pas une boucle dans une boucle
Puis que ton tableau est fait, et est construit, ensuite tu as juste à demander à JS d'aller fouiller avec find, dans le tableau
immonde 
mais donc du coup dans ta première boucle tu viens find que le user est pas déjà dedans
beh oui bah j'arrive pas a export la fonnction trie je vais m'en contenter 
Bonjour,
est-ce que quelqu'un saurait pourquoi j'ai une tonne d'erreurs qui viennent toutes de discord.js ? J'ai déjà essayé de le réinstaller, mais rien n'y fait.
Bonjour, j’ai un bot Discord qui s’exécute parfaitement seulement quand j’écris une commande il ne répond pas j’ai vraiment besoin d’aide

Mais il est assez long je l’envoie comment ?
sourceb.in, pastebin
Quelle est le problème dans ce code
Si tu fais tout avec ChatGPT logique tu comprends pas l'erreur
Cherche quelqu’un pour m’aider sur un projet
ho un token 👀
🤣
Tu peux m’aider sur un projet ?
je t'avoue jai vraiment pas le temps en ce moment
au passage, comme dit @worn garnet, pense à cacher ton TOKEN
Dans tout les cas il a changé donc c’est bon
et puis cest encore pour faire un bot ... vu et revue
Poste ta demande sur https://creatorsarea.fr/offres @kind holly
cest toi qui l'a fait ou tu as trouver un repo ? car lerreur ne vient pas vraiment du code il me semble
J’ai changé de code finalement mais le problème vient du lien avec le site internet
Vu que les codes tout fait sur github ne marche pas . Ou alors je sais pas les utiliser
et puis un moyen très simple de savoir comment corriger l'erreur c'est de copier coller l'erreur qu'il t'affiche et de le rechercher sur google
il y a peut être des personnes à qui c'est arrivée
oui donc cest bien ce que je me disais 👀. quand vous prenez des répo, prenez des récent au moins ^^
C’est pour cela que j’ai essayé moi même mais j’arrive pas trop à faire tout ce qui est internet
apres je me demande si cest ton token (jaime pas l'API de discord) mais il me semble que tu as un petit probleme sur le fait de te login. 👀
Sur mon nouveau code j’ai réussi le login seulement le bot ne va pas chercher sur vinted les annonces et ne les poste pas dans le channel
apres ta juste a cherché ton erreur sur internet, ce seras bien mieux expliqué. mais jai l'impression que tu écrit un code ancien sur une nouvelle version de l'API (ou inverse)
tu n'as jamais fait des prog ?
Pas vraiment non
commence a apprendre js avant d'utiliser des librairies propriétaire.
Je compte me créer un portfolio, vous pensez que Strapi peut-être un bon élément pour la gestion de mon contenu ?
Oui
Super merci
utile si tu as un blog surtout 👀. sa me donne envie de l'essayer !
justement je compte faire plusieurs choses sur ce portfolio, je veux à la fois présenter mes projets réalisés, me présenter moi, mon parcours, mais également faire un sorte de page "article" avec les librairies, sites intéressant à utiliser pour des projets
quelqu'un sait comment donner toutes les permissions a un bot en js avec discord.js 14.13.0
J'en ai marre...
Field.
Après les GatewayIntentBits de souvenir
Ok merci mais mon bot maintenant marche mais ne répond pas aux commandes mais sinon aucune erreur je sais pas quoi faire
Bah ça dépend de ton lien d'invite s'il a application.commands
Salut, mes compétences sont bonnes mais sans plus, je dev de temps en temps pour le bot de mon serv et un événnement arrive bientôt (des worlds) alors j'aimerais bien créer un système de paris (comme les paris sportifs) mais fictif avec le bot... Ainsi les membres pourraient parier sur les matchs qui leurs seront proposés, cependant je ne sais pas trop comment m'y prendre si quelqu'un a des pistes pour moi, je suis en djs 14 :) Merci à vous !
Salut, je développe une application React Native, j'ai besoin de stocker de manière sécurisée dans le code. À l'heure actuelle, elle est dans un .env et instancié dans le Secure Storage au démarrage. Sauf que le soucis c'est que dans le build, elle va apparaître en clair à un moment donné. Avez-vous une solution pour la masquer et ainsi ne pas prendre le risque de dévoiler ma clés d'api
Hello,
En utilisant une env variable et en la récupérant correctement dans ton code, elle n'est pas supposée apparaître en clair, c'est le but
Je ne connais pas très bien react, mais une variable d'env par définition est build sur la machine, ton front react-native est accessible mais pas ses variables d'env puisque stockées directement sur la machine serveur
https://blog.logrocket.com/understanding-react-native-env-variables/
ça dépend du type des clés
si tu parles de clé public que tu exposes sur des call API ou de lib comme stripe etc, clé public en gros ça craint rien
mais si tu parles de clés d’auth, tu devrais faire ton premier call sur ton api, qui elle ensuite fera le call final avec la clé, elle sera donc pas exposé
bon ct du test mon projet commence enfin a resembler a qq chose meme si pour l'instant c'est juste le coté whaaaaaaaaaaa j'arrive a enfin récupérer mes data via mon api dont l'auth est valid car j'arrive a me connecter et a choisir mon serveurrrrrrrrr yessssssss bon je vais dormir mais j suis content d'enfin avoir un truc qui resemble a quelque chose vue le temps que je passe sur le projet
Bonjour, j'essaie de faire un site avec Express.js, EJS et Sequelize. Quand je commence à faire mon site la page main.ejs n'est pas affichée (cf : capture d'écran) mais seulement la page spécifique. Sauriez vous pourquoi ? Je pense que cela provient du fichier app.ts (seulement les routes) : ```ts
// Configuration d'EJS comme moteur de modèle
app.use(express.static(path.join(__dirname, 'views')));
app.set('view engine', 'ejs');
// Middleware pour servir des fichiers statiques
app.use(express.static(path.join(__dirname, 'public')));
// Configuration des routes
app.get('/', (req: Request, res: Response) => {
res.render('home', {
title: 'Smoke²',
});
});
app.get('/download', (req: Request, res: Response) => {
res.render('download', {
title: 'Download',
});
});
app.get('/wiki', (req: Request, res: Response) => {
res.render('wiki', {
title: 'Wiki',
});
});
app.get('/help', (req: Request, res: Response) => {
res.render('help', {
title: 'Aide',
});
});
app.get('/news', (req: Request, res: Response) => {
res.render('news', {
title: 'Nouvelles',
});
});
app.get('*', (req: Request, res: Response) => {
res.render('404', {
title: '404',
});
});Ou alors cela proviendrai de main.ejs :html
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="/css/style.css">
<link rel="shortcut icon" href="/img/smallLogo.jpg" type="image/x-icon">
<title><%= title %></title>
</head>
<body>
<header>
<h1>NavBar</h1>
</header>
<main>
<%- body %> <!-- Contenu de la page spécifique -->
</main>
<footer>
<p>Je suis le footer</p>
</footer>
<script src="/js/main.js"></script>
</body>
</html>``` Si je ne vous ai pas envoyé le bon fichier d'où peut provenir l'erreur dites le moi. Merci d'avance pour votre réponse !
tu es sûr de devoir rendre le contenu du dossier views au public ?
Ca change quoi ?
express.static sert à publier le contenu d'un dossier de manière statique
si je ne m'abuse ton dossier views contient des templates ejs qui ne devraient pas être rendu public
Mon problème peut venir de là ?
s'il y a un fichier index dans ton dossier views c'est possible
ou s'il y en a un dans ton dossier public
Il y a un index dans views
essaie de retirer la ligne app.use(express.static(path.join(__dirname, 'views'))); de ton code
Tu as une autre idée ?
Quelqu'un a une idée d'où provient mon problème ?
@red torrent Tu penses que le problème peut venir de l'emplacement de index.ejs ? Là il est à la racine de views
Petite question, je fait un bot discord et je doit vérifier qu'un utilisateur est admin depuis une intéraction, selement permissions.has('ADMINISTRATOR') return true si admin et sinon il créer une erreur, voici mon code actuelle comment je pourais l'améliorer
try {
if (interaction.member.permissions.has('ADMINISTRATOR')) {
console.log(`${interaction.member.user.tag} est un administrateur.`);
}
} catch (error) {
console.log(`${interaction.member.user.tag} n'est pas un administrateur.`);
}
Quelqu’un a une idée ?
tu peux montrer l'erreur lorsque pas admin ?
avec dans le catch :
console.log(error)
console.log(interation.member)
console.log(interation.member.permissions)
pour voir ce qui déconne
C'est pas normal, il devrais te retourner un bool dans tout les cas
Bonjour, j'ai débuter VueJs et j'aurais voulu savoir si quelqu'un pourrai m'aiguiller sir mon erreur,
J'essaye d'importer un composant mais j'ai cette erreur, quelqu'un sais pourquoi j'ai ceci qui reste en rouge?
Sur ma page tout s'affiche mais le rouge me laisse perplexe.
Photo en dessous
app.vue
RangeError [BitFieldInvalid]: Invalid bitfield flag or number: ADMINISTRATOR.
at Function.resolve (/root/gmod-integration/bot/node_modules/discord.js/src/util/BitField.js:172:11)
at PermissionsBitField.has (/root/gmod-integration/bot/node_modules/discord.js/src/util/BitField.js:60:28)
at PermissionsBitField.has (/root/gmod-integration/bot/node_modules/discord.js/src/util/PermissionsBitField.js:92:82)
at Query.<anonymous> (/root/gmod-integration/bot/commands/utility/link.js:34:64)
at Query.<anonymous> (/root/node_modules/mysql/lib/Connection.js:526:10)
at Query._callback (/root/node_modules/mysql/lib/Connection.js:488:16)
at Query.Sequence.end (/root/node_modules/mysql/lib/protocol/sequences/Sequence.js:83:24)
at Query._handleFinalResultPacket (/root/node_modules/mysql/lib/protocol/sequences/Query.js:149:8)
at Query.EofPacket (/root/node_modules/mysql/lib/protocol/sequences/Query.js:133:8)
at Protocol._parsePacket (/root/node_modules/mysql/lib/protocol/Protocol.js:291:23) {
code: 'BitFieldInvalid'
}
PermissionsBitField { bitfield: 462797862686273n }
ok et avec les autres consoles ça retourne quoi? (j'ai envoyé 3 lignes de code)
Enlève la ligne 8
utilise un bitfield flag
C'est bon merci
bah essaye
Une idée ?
Edit : le problème est réglé j'ai changé ma méthode
y'as toute les info utilise (2.5/3)
pas besoin de +
Hello,
Pour éviter de compter les utilisateurs plusieurs fois tu peux initialiser un set dans lequel tu vas stocker les utilisateurs
- Loop sur les guilds
- Loop sur le nombre d'utilisateurs dans guild
- Ajoute à ton set l'id de l'utilisateur
En javascript, set est un objet qui contient des données qui ne peuvent exister plus d'une fois, ça va te permettre de stocker tous les IDs utiliseurs sans doublons et récupérer le nombre exact en vérifiant l'attribut size de ton set
Je viens d'apprendre que js typeof(null) ressortait "object", c'est cool js 
Apparamment c'est une erreur de base dans JS, ça a pas été changer pour éviter les régressions d'après ce que j'en sais
Oueep j'ai regardé sur google, aussi, donc j'ai pas cherché à comprendre, mais je voulais partager l'info, pour ceux qui savait pas, p'tit fun fact du jour
hey, je chercher à faire une site pour référencer tous mes liens en react. J'ai la base du site sauf que je n'arrive pas à ajouter mes liens car voici comment sont structurée les données :
let cat = [
{
name: "Google",
sites: [
{ name: "Google Search", url: "https://www.google.com" },
{ name: "Gmail", url: "https://mail.google.com" },
{ name: "Google News", url: "https://news.google.com" },
],
},
{
name: "Facebook",
sites: [
{ name: "Facebook Homepage", url: "https://www.facebook.com" },
{ name: "Facebook Messenger", url: "https://www.messenger.com" },
],
},
{
name: "Twitter",
sites: [
{ name: "Twitter Homepage", url: "https://twitter.com" },
{ name: "TweetDeck", url: "https://tweetdeck.twitter.com" },
],
},
];```
Mon App. js : https://pastebin.com/xnY3xiNA
Mon AddForm.js ; https://pastebin.com/tbEpH9nC
Merci beaucoup à ceux qui prendront le temps de m'aider 💗
Pastebin.com is the number one paste tool since 2002. Pastebin is a website where you can store text online for a set period of time.
Pastebin.com is the number one paste tool since 2002. Pastebin is a website where you can store text online for a set period of time.
Bonjour, j’essaie d’importer le module React mais cela me sort l’erreur: Cannot Use Import Statement Outside a module
Du coup je comprend l’erreur, mais comment la régler??? Si quelqu’un a une idee?
Salut, quand c'est comme ça tu as deux solution :
- Installer une ancienne version du package qui utilisait encore le système de "require" (Je te déconseille)
- Passer tout tes require sous forme de import (Chiant mais le mieux pour toi)
Pour ça tu dois remplacer tout tes require en import, et aller dans ton fichierpackage.jsonet ajouter cette ligne là :
{
// ...
"type": "module",
// ...
}
saluuut ! je mets en place un calendrier de l'avent pour un mini-projet (pour noel) et j'ai fonctionné comme ceci :
-
Un formulaire google form qui récupère nom, prénom et email
-
Une feuille de calcul google sheet qui va récupérer les informations sur formulaire
-
Un script Google App Script qui va désigner un seul gagnant unique par journée (Lié à ma feuille de calcul)
-
Un autre script Google App Script qui va clear la feuille des participants chaque jour à minuit (Lié à ma feuille de calcul)
-
Une page web (en développement) qui affichera le calendrier avec une case par jour et que chaque case du jour redirigera vers le formulaire.
Mon but actuel : Je souhaite mettre en place une animation qui va récupérer le statut de l'utilisateur après soumission du formulaire, donc lorsque l'utilisateur envoie le formulaire, il est redirigé vers ma page web et une animation affiche gagnant ou perdant suivant son statut dans la feuille de calcul.
Est-ce possible ?
Des petits screens pour vous donner une idée :
salut, comment tu sais si le joueur est perdant ou gagnant,
et pense-tu que 8 joueurs s'inscrivent un jour, peuvent tous être perdant?
Bonjour, quand je fais node index.js, rien ne se passe et mon bot ne se met pas en ligne. Je débute
ta aucunne erreur dans ta console?
ta bien fait npm discord.js?
Nan, je viens de le faire et :
J'avais déjà fait npm init et npm i discord --save avant
oe c npm i chui bete
essaye de remplacer par ```js
const { Client, Events, GatewayIntentBits } = require('discord.js');
et
bot.once(Events.ClientReady, c => {
console.log(Ready! Logged in as ${c.user.tag});
}); ```
(pas tt juste les lignes quil faut)
oe t'enleve sa et tu met sa a la place :
bot.once(Events.ClientReady, c => {
console.log(`Ready! Logged in as ${c.user.tag}`);
}); ```
et oulie pas aussi les require
que je tai mit aussi
Oui j'ai déjà mis
fait voir ton code
enleve de bot.on("rea.... à {
sa marche?
🤔
Les intents c'est un truc que je peux trouver sur le discord developer portal ?
J'ai copié un code déjà fait
oe c sa le prblm
le mieux c que t'essaye de faire par toi meme et d'apprendre
c vrm bien sa stv
Ok mais juste je ne sais pas où trouver les intents
Pareil
bizar
Faut activer un truc sur le site nan
mais essaye vrm de faire par toi meme
Ok j'ai fait
ta active sa
Ouais je ferais ça par la suite tkt. C'est juste pour le démarrage
ba justement vo mieux demarer bien et en comprenant
ba jsp deso
J'arrive déjà à comprendre approximativement ce que j'ai copié
Ok pas grave merci quand même pour l'aide 👍
C'est bon j'ai trouvé, j'avais juste pas save
Bonsoir, quand j'effectue une commande ça marche pas
La cmd ping
Et aussi après avoir lancé le bot, je n'arrive plus à écrire dans la console
Ca c’est normal
Si tu veux arrêter le programme fait Ctrl + C
Ah ok
Mais du coup une fois le bot lancé je ne peux plus rien écrire dans le terminal ?
Oui mais ça log out mon bot nan
Oui
Ok donc en gros si j'ai mon bot on je peux rien écrire dans le terminal
Et sinon pour la cmd tu sais pourquoi ça marche pas ?
C'est un truc d'intents nan ?
C’est pas impossible
Ça fait un peu de temps que j’ai pas fait de bot je suis un peu rouillé
Ok pas de soucis j'attends si qlq d'autre a la solution, merci quand même
C'est résolu
Ouvre un nouveau terminal
je me permet de poser ça là, j'ai trouvé franchement pas mal pour apprendre:
https://www.youtube.com/watch?v=Q7Hgp6bg0kI&list=PL_cUvD4qzbkwA7WITceoc2_FFjQsBkwX7
This episode covers how to:
- Add a Discord Bot to your server
- Install Discord.js V14
- How to get your Bot Token
Join my Discord for more help: https://discord.gg/Gd5fAEJDQD
Code: https://github.com/stuyy/djs-v14-tutorial
Timestamps:
0:00 Introduction
3:00 Node.js Version Requirement
5:05 Set up project
6:30 Install Discord.js v14
8:10...
Alors pour savoir si le joueur est gagnant ou perdant, c'est mon script Google App Script qui gère ça. Il vient directement noté dans la colonne "Statut" si le participant est gagnant ou perdant
Et parmi tout les participants, il y aura forcément une personne tirée gagnante. Il y a aura un total d'environ 50-60 participations par jours
donc tous les joueurs sont perdant sauf un à la fin de la journée, qui est tiré gagnant c'est ça?
alors non, genre par exemple, ils vont joués, et à partir du moment ou un gagnant est désigné, tout les suivants (à partir du moment ou un gagnant est trouvé) seront tirés perdants
imaginons, premier jour, le participant numéro 21 gagne, le reste sont perdants. deuxième jour, le participant numéro 12 gagne, le reste sont perdants etc...
la je souhaite juste mettre en place un système qui permet aux participants d'être redirigés vers ma page web lorsqu'ils ont remplit le formulaire google et d'afficher gagnant ou perdant à partir de mon google sheet
ok, je trouve étrange l'algo donc question :
reprenons ton exemple du 21eme participant gagnant et pas les autres
ça veut dire que le numero 19 et 20 sont perdant et 22 23 24 aussi. on est d'accord? oui/non
(pour ta question, la réponse sera Peut etre ici, je ne connais pas, mais j'ai trouvé ça : https://developers.google.com/sheets/api/guides/values?hl=fr#javascript)
c'est ça
après la première étape pour moi c'est de faire la redirection google en premier, c'est-à-dire, lorsque le formulaire est soumis par l'utilisateur, il est redirigé sur ma page web par exemple (pour commencer)
ok, donc je continue la question, et là ça va piquer car j'ai un gros warning en tête vu ton algo, voici ma question :
donc s'il y a que 20 participants. pas de 21eme dutout dans la journée, donc ils sont tous perdant?
c'est ça xd
function chooseWinner() {
const ss = SpreadsheetApp.openById('id_de_ma_sheet');
const participantsSheet = ss.getSheetByName('Participants');
const winnersSheet = ss.getSheetByName('Gagnants');
const participantsData = participantsSheet.getDataRange().getValues();
const winnersData = winnersSheet.getDataRange().getValues();
let winnersEmails = [];
for (let i = 1; i < winnersData.length; i++) {
winnersEmails.push(winnersData[i][3]);
}
let uniqueWinnerExists = false;
for (let i = 1; i < participantsData.length; i++) {
const row = participantsData[i];
const status = row[4];
if (status === 'Gagnant') {
if (uniqueWinnerExists) {
participantsSheet.getRange(i + 1, 5).setValue('Perdant');
} else {
uniqueWinnerExists = true;
}
}
}
for (let index = 1; index < participantsData.length; index++) {
const row = participantsData[index];
const status = row[4];
const email = row[3];
if (status !== 'Gagnant' && status !== 'Perdant') {
const hasWon = !uniqueWinnerExists && Math.random() < 0.5 && winnersEmails.indexOf(email) === -1;
participantsSheet.getRange(index + 1, 5).setValue(hasWon ? 'Gagnant' : 'Perdant');
if (hasWon) {
winnersSheet.appendRow([new Date(), row[1], row[2], row[3]]);
winnersEmails.push(email);
uniqueWinnerExists = true;
}
}
}
}```
C'est ça mon script google app script
après y'a toujours une proba mise en place pour gagner
ducoup, comme je le disais au début, il existe bien une possibilité de
" 8 joueurs s'inscrivent un jour, peuvent tous être perdant"
(je cite ma premiere phrase)
ducoup bah hm.. donner les gagnants petit à petit n'est pas possible, car risqué, car parfois zero gagnant car pas entire tiré random
il faudrait plutot prévenir en public "aucun gagnant pour le moment" pour que les gens continuent à s'inscrire et encore.. si tu épuise les 180 premiers inscrit et qu'il n'y a toujours pas de gagnnant.. pwah
ducoup il faudrait lister les joueurs puis tirer un gagnant au hasard, ça éviterait cette faille d'algo
malheureusement je peux pas réellement pallier à ce problème d'algo, on m'a donné cette tâche avec cette demande exacte lol -_-
ah, bah faut prévenir ton client que c'est une mauvaise idée
et s'il veut vraiment, alors tu lache le projet, car faut pas se rendre complice de ce genre de création
les joueurs vont péter un scandale et tu vas t'en prendre plein la tronche :D
quand un jeu vidéo est nul, on s'en prend à qui? au directeur, aux commerciaux ou aux devs? :p
j'avoue c'est vrai
je vais voir ce que je peux faire !
Après c'est pas mal mais c'est une ancienne version de JS du coup y'aura bien des codes qui ne marcheront plus
oui, je l'ai mise car personnellement ça m'a quand même appris bcp de choses ^^
une ancienne version de
DISCORDJS
je balance ça comme ça, car le javascript ne change pas de version, ça n'est qu'une suite ininterrompue de version :3
Bonne idée, c'est pas mal 🤝
Est-ce normal que la commande ne s'affiche pas dans la liste des commandes slash Discord?
Montre la partie où tu deploies la commande à l'API discord
Montre le index.js stp
L'erreur est justement là, j'ai oublié de la déployer.
Seulement, j'ai encore un problème après avoir tenté de déployer les commandes...
Problème qui est ?
T'as défini ton clientId dans ton config.json ?
Et il n'y a pas le guildId de passer en paramètre là
je vérifie
je pense que je l'ai retiré
normal
j'aimerais que l'on puisse utiliser les commandes partout
et non sur un serveur en particulier
Après avoir rajouté le clientID:
Bah tu passes une liste vide en paramètre
Okay okay, c'était juste pour être sûr
Je pense que si tu remplis ta liste de commands, ce sera bon
genre la variable?
j'ajoute le nom des commandes dans le tableau?
ou je crée des fichiers/commandes?
sachant que lorsque j'ai fait le test y'avait déjà une commande
Regarde la doc, c'est le plus simple
const { REST, Routes } = require('discord.js');
const { clientId, guildId, token } = require('./config.json');
const fs = require('node:fs');
const path = require('node:path');
const commands = [];
// Grab all the command files from the commands directory you created earlier
const foldersPath = path.join(__dirname, 'commands');
const commandFolders = fs.readdirSync(foldersPath);
for (const folder of commandFolders) {
// Grab all the command files from the commands directory you created earlier
const commandsPath = path.join(foldersPath, folder);
const commandFiles = fs.readdirSync(commandsPath).filter(file => file.endsWith('.js'));
// Grab the SlashCommandBuilder#toJSON() output of each command's data for deployment
for (const file of commandFiles) {
const filePath = path.join(commandsPath, file);
const command = require(filePath);
if ('data' in command && 'execute' in command) {
commands.push(command.data.toJSON());
} else {
console.log(`[WARNING] The command at ${filePath} is missing a required "data" or "execute" property.`);
}
}
}
// Construct and prepare an instance of the REST module
const rest = new REST().setToken(token);
// and deploy your commands!
(async () => {
try {
console.log(`Started refreshing ${commands.length} application (/) commands.`);
// The put method is used to fully refresh all commands in the guild with the current set
const data = await rest.put(
Routes.applicationGuildCommands(clientId, guildId),
{ body: commands },
);
console.log(`Successfully reloaded ${data.length} application (/) commands.`);
} catch (error) {
// And of course, make sure you catch and log any errors!
console.error(error);
}
})();
Le plus important c'est de savoir lire la doc
Surtout que celle de discordjs est vraiment bien expliqué
Là tu vois que ton tableau commands est remplis des datas de chaque commandes
Bonsoir, comment je pourrez faire pour que dans le status de mon bot ça affiche le nombre de membres sur tout les serveurs ou est le bot ?
`${client.guilds.cache.map(g => g.memberCount).reduce((a, b) => a + b)} membres` ```
Merci
Salut un personne sais comment faire un loader de conText menu djs
Voici mon loadContextMenu
const Discord = require("discord.js");
const { REST } = require("@discordjs/rest");
const { Routes } = require("discord.js");
module.exports = async bot => {
let Menu = [];
bot.ContextMenus.forEach(async command => {
let ContextMenu = new Discord.ContextMenuCommandBuilder()
.setName(command.name)
.setDefaultMemberPermissions(command.permission === "Aucune" ? null : command.permission)
.setType(command.type);
Menu.push(ContextMenu);
});
const rest = new REST({ version: "10" }).setToken(bot.token);
await rest.put(Routes.applicationCommands(bot.user.id), { body: Menu });
console.log("[ContextMenu] Les ContextMenu sont créés avec succès !");
}
et loadCommandContextMenu
const fs = require("fs")
module.exports = async bot => {
fs.readdirSync("./ContextMenu").filter(f => f.endsWith(".js")).forEach(async file => {
let ContextMenu = require(`../ContextMenu/${file}`)
if(!ContextMenu.name || typeof ContextMenu.name !== "string") throw new TypeError(`Le menu contextuelle ${file.slice(0, file.length -3)} n'a pas de nom!`)
bot.ContextMenus.set(ContextMenu.name, ContextMenu)
console.log(`[ContextMenu] Menu contextuelle ${file} chargée avec succès!`)
})
}```
Sa me donne cette erreur TypeError: Cannot read properties of undefined (reading 'forEach')
tu peux console log l'element qui essaye de forEach?
exemple
console.log(bot.ContextMenus)
console.log(bot)
pour au moins lire ce qu'il y a avant
pareil pour ton
fs.readdirSync("./ContextMenu").filter(f => f.endsWith(".js"))
essaye déjà de console.log
fs.readdirSync("./ContextMenu")
et aussi console.log
fs.readdirSync("./ContextMenu").filter(f => f.endsWith(".js"))
Bonjour,
J'ai récupéré cette "navbar" sur codepen, ce code html utilise des balises "nav", "ul" et "il" avec du javascript pour switch de "formulaire par mail" vers "consultation téléphonique".
Mon problème est le suivant, je ne sais pas comment lier cette navbar au reste du rectangle avec le formulaire que vous pouvez voir. L'objectif serait que lorsqu'une personne click sur "consultation téléphonique" le rectangle change pour faire apparaitre d'autre case à remplir.
Merci d'avance pour votre aide.
de la meme facon que c'est fait pour les tabs du haut
mais avec de nouveaux elements
ou alors tu changes la structure html de ta tabs pour que le contenu soit dedans, et donc au click ca changera aussi le contenu
j'ai réussi à faire un petit code en JavaScript 👌
Salut les gars j'ai un problème de code, j'arrive pas à afficher les données d'une base de données dans une boucle forof (j'utilise Nuxt 3) voici mon code :
La ou je vais chercher la data
const { data: resDataSuccess } = await useFetch(`http://localhost:8000/question/${resData.id}/responses`, {
method: 'post',
});
L'endpoint de l'API
app.post('/question/:id(\\d+)/responses', async (req, res) => {
const questionId = parseInt(req.params.id, 10);
if (isNaN(questionId)) {
res.status(400).send('L\'ID doit être un nombre.');
return
}
const responses = await db.responses.findMany({
where: {
question_id: questionId
}
});
res.send(responses);
});
Le problème c'est que resDataSuccess ne m'affiche rien
Rien du tout
Ce que je veux dire par la c'est que j'ai mis un {{resDataSuccess}} basique dans mon HTML mais y'a rien qui se met
Update : J'ai console log resDataSuccess et j'ai ça
.value pour avoir acces a ta data dans ton log
Sa me met cette erreur```bot.ContextMenus.set(ContextMenu.name, ContextMenu)
^
TypeError: Cannot read properties of undefined (reading 'set')
at C:\Users\itzzenfant\Desktop\Discord Bot\Loaders\loadCommandContextMenu.js:9:26```
Voici le code
const fs = require("fs")
module.exports = async bot => {
fs.readdirSync("./ContextMenu").filter(f => f.endsWith(".js")).forEach(async file => {
let ContextMenu = require(`../ContextMenu/${file}`)
if(!ContextMenu.name || typeof ContextMenu.name !== "string") throw new TypeError(`Le menu contextuelle ${file.slice(0, file.length -3)} n'a pas de nom!`)
bot.ContextMenus.set(ContextMenu.name, ContextMenu)
console.log(`[ContextMenu] Menu contextuelle ${file} chargée avec succès!`)
})
}```
tu peux console log, là je ne vois pas de console log avant l'erreur
Sa me met une erreur beaucout trop longue
Sa commence comme sa
C'est pas une erreur
oui
bot.ContextMenus n'est jamais initialisé
Donc cette ligne est incorrecte bot.ContextMenus.set(ContextMenu.name, ContextMenu) car bot.ContextMenus est undefined
maos pour tant dans mon loadCommand sa marche
Donc je vois pas pour quoi avec les context menu sa marche pas
Parce que tu as défini ta Collection quelque part pour les commandes
Tu dois créer une autre Collection pour tes ContextMenus
Ah oui mince
c'est fais mais il y a encor une erreur bot.menu.forEach(async command => {
^
TypeError: Cannot read properties of undefined (reading 'forEach')
menu n'est pas défini xD
Re, je l'ai fais et ça m'a console log null
Tu dois d'abord push tous tes menus dans bot.menu puis faire le forEach dessus
Bonjour ! j'aimerais savoir si il y'a quelqu'un connait un peut react native et qui pourrais m'aider ?
Poste direct ton problème 😉
ok alors je suis actuellement entrain de développer une app mobile avec react native j'ai fait la parti inscription et connexion et quand je lance mon app j'ai une erreur quand je clique sur mon bouton connexion ou sur mon bouton pour confirmer l'inscription. Pouvez-vous m'aider je ne comprend pas l'erreur ?
Merci d'avance pour votre aide !
du coup tu as le problème
regarde sur ton api, ça vient peut être de la première ligne avec le check du isNaN
mais regarde aussi ta requête dans ton network
tu auras les infos nécessaires
okay
j'ai reussi à ressoudre le problème bonne journée !
salut a tous ! , jai un soucis avec mon "code" je ne sais pas ou car il est bon (" il manque une partie de code pour q'un bot valide le code en question")
et ça c'est le rapport d'erreur
jai un peut pres la meme erreur sur tout les éxo
Salut je suis pas très expérimenté avec prisma et j’ai un problème sur ce schema que je ne comprend pas vraiment
enum HelpRequestType {
FRENCH
ENGLISH
MATH
PHYSICS
CHEMISTRY
BIOLOGY
HISTORY
GEOGRAPHY
ECONOMY
PHILOSOPHY
LITERATURE
ARTS
MUSIC
SPORTS
OTHER
}
enum HelpRequestStatus {
OPEN
CLOSED
}
model Guild {
id String @id @default(uuid())
guildId String @unique
name String
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
}
model Member {
id String @id @default(uuid())
userId String @unique
name String
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
guildPrismaId String
helpRequests HelpRequest[]
helpedRequests HelpRequest[] @relation("HelpedRequests")
positiveReviews Int
responses Response[]
}
model HelpRequest {
id String @id @default(uuid())
userId String
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
member Member @relation(fields: [memberPrismaId], references: [id])
memberPrismaId String
helpRequestType HelpRequestType
helpRequestStatus HelpRequestStatus
message String?
helpedBy Member[] @relation("HelpedRequests")
responses Response[]
}
model Response {
id String @id @default(uuid())
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
message String
answeredBy Member @relation(fields: [memberPrismaId], references: [id])
memberPrismaId String
helpRequest HelpRequest @relation(fields: [helpRequestPrismaId], references: [id])
helpRequestPrismaId String
}
Error: La clé est trop longue. Longueur maximale: 1000
0: sql_schema_connector::apply_migration::migration_step
with step=CreateTable { table_id: TableId(4) }
at schema-engine\connectors\sql-schema-connector\src\apply_migration.rs:21
1: sql_schema_connector::apply_migration::apply_migration
at schema-engine\connectors\sql-schema-connector\src\apply_migration.rs:10
2: schema_core::state::SchemaPush
at schema-engine\core\src\state.rs:436
Hello les reufs je suis bloqué en jQuery avec ajax. J'essaie de faire un tableau ou l'on peut modifier les données directement depuis ce dernier Mais j'ai un blocage et aucun message d'erreur malgré plein de vérification.
machine_details.php :
/.../
<?php
$sql = "SELECT * FROM Composant WHERE IDMachine = :machineId";
$stmt = $conn->prepare($sql);
$stmt->bindParam(':machineId', $machineId);
$stmt->execute();
$composants = $stmt->fetchAll(PDO::FETCH_ASSOC);
foreach ($composants as $composant) {
echo '<tr id="' . $composant['ID'] . '">';
// Mode édition
if (isset($_SESSION['shouldModifyList']) && $_SESSION['shouldModifyList'] === true) {
echo '<td><input type="text" class="editable-input custom-input-small" value="' . $composant['NomComposant'] . '"></td>';
echo '<td><input type="text" class="editable-input custom-input-small" value="' . $composant['NumeroSerie'] . '"></td>';
echo '<td><input type="text" class="editable-input custom-input-small" value="' . $composant['Modele'] . '"></td>';
echo '<td><input type="date" class="editable-input custom-input-small" value="' . $composant['DateMontage'] . '"></td>';
echo '<td><input type="date" class="editable-input custom-input-small" value="' . $composant['DateCommande'] . '"></td>';
echo '<td><input type="text" class="editable-input custom-input-small" value="' . $composant['LienSuivi'] . '"></td>';
echo '<td><input type="date" class="editable-input custom-input-small" value="' . $composant['DateArrivee'] . '"></td>';
}
// Mode normal
else {
/.../
?>
/.../
__scripts/editTable.php : __
/.../
composantsTable.find(".editable-input").on("input", function() {
const $input = $(this);
const originalText = $input.data("original-text");
const newText = $input.val();
const id = $input.closest("tr").attr("id");
console.log('---------------------------')
console.log('id:', id);
console.log('originalText:', originalText);
console.log('newText:', newText);
if (newText !== originalText) {
console.log('newText !== originalText');
$.ajax({
method: "POST",
url: "../action/doUpdateTable.php",
data: {
id: id,
composant: newText
},
success: function(data) {
if (data.success) {
console.log('Mise à jour réussie.');
} else {
if (data.message) {
console.log('Erreur lors de la mise à jour : ' + data.message);
} else {
console.log('Échec de la mise à jour, raison inconnue.');
}
}
},
error: function(error) {
console.log("Erreur lors de la requête AJAX : " + error);
}
});
}
});
/.../
action/doUpdateTable.php :
<?php
session_start();
include 'doConnDB.php';
try {
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
if (isset($_POST['id']) && isset($_POST['composant'])) {
$id = intval($_POST['id']);
$composant = htmlspecialchars($_POST['composant']);
try {
$stmt = $db->prepare("UPDATE Composant SET NomComposant = :composant WHERE ID = :id");
$stmt->bindParam(':composant', $composant, PDO::PARAM_STR);
$stmt->bindParam(':id', $id, PDO::PARAM_INT);
$stmt->execute();
echo json_encode(array('success' => true));
} catch (PDOException $e) {
echo json_encode(array('success' => false, 'message' => 'Erreur lors de la mise à jour.'));
}
} else {
echo json_encode(array('success' => false, 'message' => 'Données manquantes.'));
}
} else {
echo json_encode(array('success' => false, 'message' => 'Méthode HTTP incorrecte.'));
}
} catch (PDOException $e) {
echo json_encode(array('success' => false, 'message' => 'Erreur PDO : ' . $e->getMessage()));
} catch (Exception $e) {
echo json_encode(array('success' => false, 'message' => 'Erreur inattendue : ' . $e->getMessage()));
}
base.sql :
/.../
CREATE TABLE IF NOT EXISTS Composant (
ID INT AUTO_INCREMENT PRIMARY KEY,
IDMachine INT NOT NULL,
NomComposant VARCHAR(255) NOT NULL,
NumeroSerie VARCHAR(255) NOT NULL,
Modele VARCHAR(255) NOT NULL,
DateMontage DATE DEFAULT (CURRENT_DATE),
DateCommande DATE DEFAULT (CURRENT_DATE),
LienSuivi VARCHAR(255),
DateArrivee DATE DEFAULT (CURRENT_DATE),
FOREIGN KEY (IDMachine) REFERENCES Machine(ID)
);
Pour rajouter un détail, ça permet qu'à chaque changement d'un input, ça met à jour la ligne de la BDD
Merci à ceux qui prendront le temps de m'aider moi je continue à chercher 🙂
👋 Hey,
J'ai une petite question en JS. Je ne comprend pas pourquoi mon bot n'execute pas le support.mp3 alors qu'il n'y a pas d'erreur
const config = require("../config_module.json");
const { createAudioResource, createAudioPlayer, joinVoiceChannel } = require('@discordjs/voice');
const player = createAudioPlayer();
module.exports = {
name: "voiceChannelJoin",
execute: async(member, channel) => {
const connection = joinVoiceChannel({
channelId: channel.id,
guildId: channel.guildId,
adapterCreator: channel.guild.voiceAdapterCreator,
});
const resource = createAudioResource('../support.mp3', {
metadata: {
title: 'A good song!',
},
});
player.play(resource);
}
}
est tu sur que le path du fichier peut étre relatif ?
et pq mètre une fonction async si rien n'est asynchrone ?
Pour la suite
Comment ça ?
un chemin relatif c'est quand tu prends tu spécifie pas le chemin absolu au début de ton path, certain package ne prenne pas des chemin relatif et demande le chemin complet vers ton fichier
mais normalement si il trouve pas le fichier il est sensé pété une erreur
Bonjour,
J'ai un petit soucis avec une websocket, depuis que j'ai hébergé mon site sur un vps elle ne se connecte plus et mais cette erreur. J'ai essayé de changer l'url mais rien n'y fait la cible est un fichier server.js qui est dans un autre dossier de mon site. Si quelqu'un pouvait m'aider
Voici le code de ma page avec la websocket qui ne fonctionne pas
<!DOCTYPE html>
<html>
<head>
<title>Pub PartUpp</title>
</head>
<body>
<img id="image" src="">
<script>
const ws = new WebSocket("wss://geniustreamer.fr:8000");
ws.onopen = () => {
console.log("Connexion WebSocket etablie avec le serveur.");
};
ws.onmessage = (event) => {
const donnee = JSON.parse(event.data);
// Recuperer les donnees recues du serveur (l'URL de l\image et la page a afficher)
const imageURL = donnee.imageURL;
const pageToDisplay = donnee.page;
// Comparer la page actuelle avec la page a afficher pour decider d'afficher ou non l'image
const currentURL = window.location.href;
if (currentURL === pageToDisplay) {
// affichage image via WebSocket du server.js
const imageElement = document.getElementById("image");
imageElement.src = imageURL;
// suppression de l'image au bout d un certain temps
setTimeout(() => {
imageElement.src = "";
}, 5000); // affichage de la pub 10sec soit 5000 ms
}
};
ws.onclose = () => {
console.log("Connexion WebSocket fermee.");
};
</script>
</body>
</html>
TypeError: Cannot read properties of null (reading 'type')
at Client.<anonymous> (C:\Users\MPA\Desktop\softky-bot-main\events\handler\index.js:10:33)
at Client.emit (node:events:525:35)
at InteractionCreateAction.handle (C:\Users\MPA\Desktop\softky-bot-main\node_modules\discord.js\src\client\actions\InteractionCreate.js:81:12)
at module.exports [as INTERACTION_CREATE] (C:\Users\MPA\Desktop\softky-bot-main\node_modules\discord.js\src\client\websocket\handlers\INTERACTION_CREATE.js:4:36)
at WebSocketManager.handlePacket (C:\Users\MPA\Desktop\softky-bot-main\node_modules\discord.js\src\client\websocket\WebSocketManager.js:352:31)
at WebSocketShard.onPacket (C:\Users\MPA\Desktop\softky-bot-main\node_modules\discord.js\src\client\websocket\WebSocketShard.js:480:22)
at WebSocketShard.onMessage (C:\Users\MPA\Desktop\softky-bot-main\node_modules\discord.js\src\client\websocket\WebSocketShard.js:320:10)
at callListener (C:\Users\MPA\Desktop\softky-bot-main\node_modules\ws\lib\event-target.js:290:14)
at WebSocket.onMessage (C:\Users\MPA\Desktop\softky-bot-main\node_modules\ws\lib\event-target.js:209:9)
at WebSocket.emit (node:events:513:28)
possible d'avoir de l'aide
quand tu console log l'element dont tu veux avoir le type, ça indique quoi?
c a dire
exemple : obj.type.style
=> console.log(obj);
if (interaction.channel.type == 1) return interaction.reply({ content: 'Tu ne peux pas effectuer cette commande en !', ephemeral: true });
c ça la ligne de err
ok, donc juste avant, met un console.log(interaction.channel)
sa marquer null
Application allumée. !
Login status Admin: true
null
TypeError: Cannot read properties of null (reading 'type')
at Client.<anonymous> (C:\Users\MPA\Desktop\softky-bot-main\events\handler\index.js:11:33)
at Client.emit (node:events:525:35)
at InteractionCreateAction.handle (C:\Users\MPA\Desktop\softky-bot-main\node_modules\discord.js\src\client\actions\InteractionCreate.js:81:12)
at module.exports [as INTERACTION_CREATE] (C:\Users\MPA\Desktop\softky-bot-main\node_modules\discord.js\src\client\websocket\handlers\INTERACTION_CREATE.js:4:36)
at WebSocketManager.handlePacket (C:\Users\MPA\Desktop\softky-bot-main\node_modules\discord.js\src\client\websocket\WebSocketManager.js:352:31)
at WebSocketShard.onPacket (C:\Users\MPA\Desktop\softky-bot-main\node_modules\discord.js\src\client\websocket\WebSocketShard.js:480:22)
at WebSocketShard.onMessage (C:\Users\MPA\Desktop\softky-bot-main\node_modules\discord.js\src\client\websocket\WebSocketShard.js:320:10)
at callListener (C:\Users\MPA\Desktop\softky-bot-main\node_modules\ws\lib\event-target.js:290:14)
at WebSocket.onMessage (C:\Users\MPA\Desktop\softky-bot-main\node_modules\ws\lib\event-target.js:209:9)
at WebSocket.emit (node:events:513:28)
ok, donc null.type est impossible,
il faut voir pourquoi c'est "null"
tu veux le code
oui si ça contient les endroits où la valeur doit être changée
(au pire tu console log partout où la valeur est modifiée pour savoir si la portion de code est vraiment executée
const bot = require("../../index");
const { Colors } = require("discord.js");
bot.on('interactionCreate', async (interaction) => {
// Slash Command Handling
if (interaction.type == 2) {
const cmd = bot.slashCommands.get(interaction.commandName);
if (!cmd)
return interaction.followUp({ content: "Une erreur est survenue !" });
console.log(interaction.channel)
if (interaction.channel.type == 1) return interaction.reply({ content: 'Tu ne peux pas effectuer cette commande en !', ephemeral: true });
const args = [];
for (let option of interaction.options.data) {
if (option.type === 1) {
if (option.name) {
args.push(option.name);
}
option.options?.forEach((x) => {
if (x.value) {
args.push(x.value);
}
});
} else if (option.value) args.push(option.value);
}
interaction.member = interaction.guild.members.cache.get(interaction.user.id);
cmd.run(bot, interaction, args);
const embed = {
title: "LOG DE COMMMANDE",
description: `${interaction.user.tag} a exécuté la commande </${interaction.commandName}:${interaction.commandId}>`,
color: Colors.Red
}
const channel = bot.channels.cache.get("1158652588477128755");
channel.send({
embeds: [embed]
})
console.log(`${interaction.commandName} exécuté par ${interaction.user.tag}.`);
console.log(`Avec comme options ${args}`);
}
});
tien
tu as trouvé où le code de
bot.on('interactionCreate', async (interaction) => {
? juste pour voir selon la doc
discord js
est c un bot pas fait pas moi
j'imagine bien, mais je veux bien la source pour aller verifier (un lien ou qqch)
D:\botdedeezz\node_modules\@sapphire\shapeshift\dist\index.js:1742
return typeof value === "string" ? Result.ok(value) : Result.err(new ValidationError("s.string", "Expected a string primitive", value));
^
ValidationError: Expected a string primitive
at _StringValidator.handle (D:\botdedeezz\node_modules\@sapphire\shapeshift\dist\index.js:1742:70)
at _StringValidator.parse (D:\botdedeezz\node_modules\@sapphire\shapeshift\dist\index.js:216:88)
at validateDescription (D:\botdedeezz\node_modules\@discordjs\builders\dist\index.js:1434:25)
at MixedClass.setDescription (D:\botdedeezz\node_modules\@discordjs\builders\dist\index.js:1538:5)
at D:\botdedeezz\Loaders\loadSlashCommands.js:14:14
at _Collection.forEach (<anonymous>)
at module.exports (D:\botdedeezz\Loaders\loadSlashCommands.js:10:18)
at Object.<anonymous> (D:\botdedeezz\main.js:16:1)
at Module._compile (node:internal/modules/cjs/loader:1254:14)
at Module._extensions..js (node:internal/modules/cjs/loader:1308:10) {
validator: 's.string',
given: undefined
}
C l'erreur
const Discord = require("discord.js")
const { REST } = require("@discordjs/rest")
const { Routes } = require("discord.js")
module.exports = async bot => {
let commands = [];
bot.commands.forEach(async command => {
let slashcommand = new Discord.SlashCommandBuilder()
.setName(command.name)
.setDescription(command.description)
.setDMPermission(command.dm)
.setDefaultMemberPermissions(command.permission === "Aucune" ? null : command.permission)
if (command.options?.length >= 1) {
for (let i = 0; i < command.options.length; i++) {
slashcommand[`add${command.options[i].type.slice(0, 1).toLowerCase() + command.options[i].type.slice(i, command.options[i].type.length)}Options`](option => option.setName(command.options[i].name).setDescription(command.option[i].description).setRequired(command.options[i].required))
}
}
await commands.push(slashcommand)
})
const rest = new REST({ version: "10" }).setToken(bot.token)
await rest.put(Routes.applicationCommand(bot.user.id), { body: commands })
console.log("Les slash command sont crée avec succès !")
}
Le code
tu peux m'aide
je ne vois pas de interactionCreate :s jpense pas pouvoir aider
bonsoir quelqu'un de dispo pour m'aider a corriger un bug sur mon bot qu'il y avait pas du tout hier et maintenant il marche à moitié (js et v14)
Salut, j'ai une question. J'essaye de créer un bouton sur sheweny pour l'ajouter à un message. Cependant je ne comprend pas comment faire. Quelqu'un peut il m'aider ?
Quelqu'un aurait un exemple d'une très bonne intégration d'un système de trad pour bot ?
Avec i18n tu peux le faire c'était bien quand je le faisais
Hello, j'ai un problème avec un webscoket de mon site qui n'arrive pas à se connecter quelqu'un pourrait m'aider,
Voici le code de mon fichier client
<html>
<head>
<title>Pub PartUpp</title>
</head>
<body>
<img id="image" src="">
<script>
const ws = new WebSocket("wss://geniustreamer.fr:8000");
ws.onopen = () => {
console.log("Connexion WebSocket etablie avec le serveur.");
};
ws.onmessage = (event) => {
const donnee = JSON.parse(event.data);
// Recuperer les donnees recues du serveur (l'URL de l\image et la page a afficher)
const imageURL = donnee.imageURL;
const pageToDisplay = donnee.page;
// Comparer la page actuelle avec la page a afficher pour decider d'afficher ou non l'image
const currentURL = window.location.href;
if (currentURL === pageToDisplay) {
// affichage image via WebSocket du server.js
const imageElement = document.getElementById("image");
imageElement.src = imageURL;
// suppression de l'image au bout d un certain temps
setTimeout(() => {
imageElement.src = "";
}, 5000); // affichage de la pub 10sec soit 5000 ms
}
};
ws.onclose = () => {
console.log("Connexion WebSocket fermee.");
};
</script>
</body>
</html>
Clique sur la flèche à gauche de l'erreur rouge et screen
Ah
psk j'ai essayé avec localhist et avec mon nom de domaine
mais je comprends pas pk lui fonctionne pas alors que les autres que j'utilise fonctionne avec localhost
Sûrement une question de CORS @oak yoke
ah et comment je fais pour régler sa psk je vois à peu près ce que c'est mais sans plus
mais le CORS c'est pas que pour les requete HTTP ?
Configuration
merci, mais j'utilise pas socket.io donc je sais pas si sa va fonctionner ?
@oak yoke rajoute un listener pour voir l'erreur déjà ws.addEventListener("error", (event) => { console.log("WebSocket error: ", event); });
si jamais tu veux mieux voir l'erreur:
https://geniustreamer.fr/campagne/partUpp/user/1/1.html
@oak yokeDonc tu m'a dit qu'en localhost ça marche ?
oui mais sa fonctionne plus depuis que je suis passé sur un VPS
Vérifie si t'es port sont bien ouvert
j'ai déjà check et c'est bien le cas
Perso pour les websocket j’utilise pusher avec Laravel mais ça fonctionne super bien en vanilla 👌
je l’utilise en vanilla js aussi et c’est parfait
ouais, bas moi sa fonctionnait nickel en local mais la depuis que j'ai tout hébergé j'ai ce problème
ca sers a quoi ?
ah je viens de lire ...
J'adore JS ..... 
Bonjour depuis que j’ai monté de version de node js (v20.9.0) j’ai un message d’erreur comme quoi mon lien est devenu obsolète mais je retrouve pas un lien valide sur mon cluster Si quelqu’un à la solution je suis preneur
DeprecationWarning: The URL mongodb://users:***@botsdiscord-shard-00-01.wqyyf.mongodb.net:27017,botsdiscord-shard-00-00.wqyyf.mongodb.net:27017,botsdiscord-shard-00-02.wqyyf.mongodb.net:27017/BOT?authSource=admin&replicaSet=atlas-2z3die-shard-0&ssl=true is invalid. Future versions of Node.js will throw an error.```
est-ce qu'avec cette recherche tu trouves quelque chose : https://www.google.com/search?client=firefox-b-d&q=node+20+DeprecationWarning+Future+versions+of+Node.js+will+throw+an+error
Ok, d'après ce que je vois ça serait mes ports qui seraient invalide. Je vais me renseigner dessus merci pour la doc
lis l'erreur
MongooseServerSelectionError: Could not connect to any servers in your MongoDB Atlas cluster. One common reason is that you're trying to access the database from an IP that isn't whitelisted. Make sure your current IP address is on your Atlas cluster's IP whitelist: https://www.mongodb.com/docs/atlas/security-whitelist/
Hello, JavaScript a part coder des bot discord ça sert a quoi ?
salut, à créer des serveurs (node js) à créer du code front sympa (via type script) ou à juste créer des scripts pour console ou intégré à une page web, donc animer des elements, gérer le réseau, compresser des images...
y'a des fonctions, des variables, des class, des objets et tableaux, des trigger, des fonctions fournies par le navigateurs... ce language répond à beaucoup de problematique que les grandes entreprises du web ont voulu régler

PARDON !
JavaScript en gros c’est le truc qui va agrémenter les animation de ton code, par exemple tu veux qu’une image apparaît en slide à l’ouverture du site, bah le js va faire le boulot, après je vais pas re expliquer ce qu’a dit @simple arch qui a déjà super bien dit 😄
ouai ça c'était à l'époque oui, maintenant le css peut faire ce genre d'animation
mais oui js peut le faire, et il utilise les trigger pour déclencher des morceaux de scripts (loading page, clic souris, clavier, réseau(websocket), timing, survol souris, resize...) :D
Maintenant j’ai l’impression le css commence à bouffer tout
hey, quelqun peu m'aider pour que quand je click sur le bouton ça ajoute 1 et que ça affiche en html?
#discussion-dev message
#discussion-dev message
hey, pour l'instant j'ais ça, je doit rajouter quoi pour avoir le nombre de click total affiché ? 
Ce message contient également une image, visible à droite de l'embed.
➜ [Voir le message original](#discussion-dev message)
Coucou, j'aimerai coder que mon bot arrive à convertir une date au format DD-MM-YY, en timestamp via la formule :((Date entré par l'user) - (Date ref : 1/1/1970))*86400 mais j'bloque un peu !
convertis ta string en date, puis tu auras le .getTime() sur ton objet date
par contre de mémoire en string il faut un format MM DD YYYY
mais au pire tu reformat la string de ton coté c'est rapide
@slim anvil j'ai pas compris, possible de m'expliquer en vocal
const userDate = "05/30/2019"
const date = new Date(userDate)
// ici tu obtiens un objet date
const timestamp = date.getTime()
// ici le timestamp
En gros, c'est un bot discord, le mec rentre un texte, une date pour un rappel, et un rôle à ping
"module.exports = {
data: new SlashCommandBuilder()
.setName('timestamp')
.setDescription('Convertir une date a un timestamp')
.addStringOption(option => option.setName('date').setDescription('Ajouter une date au format YYYY-MM-DD HH:MM:SS Format').setRequired(true)),
async execute(interaction) {
// Check if date is valid
if (isNaN(Date.parse(interaction.options.getString("date")))) {
return interaction.reply({ content: `Date: **${interaction.options.getString("date")}** n'est pas valide.`, ephemeral: true });
}
await interaction.reply(`Timestamp: **${Date.parse(interaction.options.getString("date"))/1000}**`);
let Date=interaction.option.getString("date")
},
}; ```
Sauf que ça me donne le time stamp du mauvais fuseau horaire
Tu pense que tu pourrai hacker mon lit, histoire que je dorme plus longtemps ?
si il arrive à décrocher "un ou deux bitcoin", c'est un génie
Bonjour 👋
Je passe actuellement mon site de Vue à Nuxt et j'en profite pour améliorer certaines choses. Notamment ce PopUp informant l'utilisateur lorsqu'il est banni (voir image).
Sur la version Vue, lorsque l'utilisateur se connecte, l'API check si il est banni, et si oui, le renvoie sur example.com/?error=banned. Puis-je avoir le même résultat en supprimant le querystring ?
<PageAlert name="userBanned" type="red" autoclose>
<WarningSign class="icon" />
<p>{{ $t('pages.home.alerts.userBanned') }}</p>
</PageAlert>
Hello, à mon avis tu peux passer ton truc sans query string.
En fait ça dépend de comment tu fais ton truc, mais tu peux par exemple stocker ton user dans un store par exemple quand tu arrives sur le site, et donc tu fais ton affichage en fonction de ce que tu as dans ton store user
L'API et le site étant séparés (l'un sous express et l'autre sous nuxt), je vois pas trop comment faire 🤔
Il n'y a aucun problème à ça! Tu fais une petite requete à ton back justement au loading, tu viens stocker le user reçu dans un store comme ça ça t'évite de le fetch à chaque page et ensuite tu utilise ce store pour faire ton affichage conditionnel
Hey ! Avec quelle version de js je dois utiliser ce bot : github.com/whoisbaby/CrowBot-Remade
Le bot utilise encore discordjs v12, je te conseil de trouver un autre bot
mais sinon pour répondre a ta question, tu dois avoir nodejs v12.0.0 minimum
Merci, mais du coup sur pterodactyl j'ai pas accès a nodejs 12 😢
Il as des fonctions cool le bot
Je peux aussi c'est sur mon vps mais j'ai pas node js 12
Bonjour, je viens de me lancer dans l'apprentissage de Sequelize et j'ai cette erreur que je ne comprend pas : code: 'ER_ACCESS_DENIED_ERROR', errno: 1045, sqlState: '28000', sqlMessage: "Access denied for user ''@'localhost' (using password: YES)", sql: undefined }, original: Error: Access denied for user ''@'localhost' (using password: YES) Sauriez vous à quoi elle est dûe ? Merci d'avance pour votre réponse.
Voici le code : ```ts
const sequelize = new Sequelize(config.database, config.username, config.password, {
host: 'localhost',
dialect: 'mysql',
port: 3306,
});
Le password est pas bon
Si
Le problème ne vient pas de là
La db se connecte et dès que je veux accéder aux données ça me fait ça
Tu as une autre idée ?
Pareil tout est bon
Bah non du coup
Problème de permissions, Randoom a raison
J’ai bien regardé les permissions et tout est correct
Montre
Quand je pourrais
Non
J’utilise root en dev
Mais c’est vrai qu’il apparaît pas
Dans l’erreur
Ok
Non config est pas vide puisque la db se connecte
Le problème c’est l’accès aux données
A quoique
Tu as peut être raison…
Je regarderai tout à l’heure
Il contient bien toutes les infos
C'est quand ce bout de code est executé qu'il y a une erreur : ```ts
try {
const news = await News.findAll();
res.render('news', {
title: 'News',
news
});
} catch (error) {
console.error(error);
res.status(500).send('Erreur serveur');
}
Il y a l'erreur serveur de render sur le site
Je vient de passer la journée a totalement réécrire une rest api, pour la moderniser et la passer en VMC, haaaaaaaaaaaaaaaa
mais sa fait du bien
Quelqu’un aurait une solution à mon problème ?
L'erreur c'est que le l'user et le password donné pour se connecter à la base de données ne sont pas bons
C'est qu'alors l'user que tu utilises n'a pas les privilèges requis
C'est quoi la commande pour voir les privilèges ?
Parce qu'hier j'ai regardé
Mais j'ai peut être pas fait la bonne commande
SHOW GRANTS FOR '<user>'@'<host>' ?
Tu est sur l'utilisateur de base ou un que tu a créé ?
Je suis sur root
Donc normalement pas de problème
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, SHUTDOWN, PROCESS, FILE, REFERENCES, INDEX, ALTER, SHOW DATABASES, SUPER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER, CREATE TABLESPACE, CREATE ROLE, DROP ROLE ON . TO root@localhost WITH GRANT OPTION
Essaie GRANT ALL PRIVILEGES TO user
Ok
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'TO user' at line 1
J'ai cette erreur
A la place de user il faut que tu mettes ton utilisateur
logiquement le root à déjà tous les privilèges c'est anormal
Mais sinon GRANT ALL PRIVILEGES ON . TO root@localhost
Sinon tu est sur quel serveur ?
En local
Xampp ?
?
Je comprends pas
ERROR 1046 (3D000): No database selected
J'ai enlevé le to et j'ai ça
Après j'ai sélectionné une DB
Et j'ai ça : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
Attends là cette erreur tu l'a suite à quoi ?
A récupérer des données ?
Car cette erreur c'est qu'il y a une erreur dans le code SQL
La commande : GRANT ALL PRIVILEGES ON root;
Met ON . TO
Tu as essayé celle là ?
Oui
Connexion à la base de données MySQL réussie.
Succesfully launched the app here : http://localhost:3000/```
Alors GRANT ALL PRIVILEGES ON * . * TO root@localhost
Nickel 👍
C'est bizarre ça
errno: 1045,
sqlState: '28000',
sqlMessage: "Access denied for user ''@'localhost' (using password: YES)",
sql: undefined
}
}
Faut peut être que je n'utilise pas les models de sequelize
Là le truc c'est une erreur d'authentification suite à des mauvais credentials ou permissions, mais si tu te connectes à la base et que tu viens de grant les privilèges a cet user ...
Mais là il ne met pas le for user root@localhost
Donc tu est sûr que tu est connecté avec le root ?
Oui
Sinon essaie de créer un utilisateur, de lui donner et les privilèges et de te connecter avec
Quelqu’un a une autre idée ?
Le pire c’est que je suis le seul sur internet à avoir ce problème
🥲
donc comme j'ai dit c'est soit un probleme de mot de passe soit un probleme de privilege, tu peux essaye de reboot mysql, sinon redéfinir le mot de passe sql SET PASSWORD FOR 'utilisateur'@'localhost' = PASSWORD('nouveaumotdepasse');
Tu essayes de te co sur quoi ?
et enfin sur quoi est heberger ta bdd ?
Sur ma BDD dans root via Sequelize
En local
Sur Sequelize ?
Je fais comment pour utiliser Sequelize avec ?
Erreur Sequelize
J'ai créé un fil ce sera plus simple
Salut tout le monde !
Avec Nuxt, j'ai voulu faire un formulaire en plusieurs étapes, j'ai donc un fichier ou il faut rentrer son email, un autre son nom prénom etc...
Le problème c'est que je n'arrive pas à transmettre les informations voulu (ce que la personne à rentrer dans l'input email) à mon autre fichier, j'ai chercher un peu et j'ai trouver $emit mais ça n'a pas marcher
(avec this.$emit..., $emit etc...)
Voici mon code :
Pour le champ email :
const checkEmail = async () => {
invalidEmail.value = false;
isAlreadyRegistered.value = false;
isSubmitting.value = true;
if (!email.value) return invalidEmail.value = true;
if (!email.value.includes('@')) return invalidEmail.value = true;
const { data, error } = await client.from('Users').select('id').eq('email', email.value);
// @ts-ignore
if (!data.length) await client.from('Users').insert({ email: email.value });
if (data && data.length > 0) return isAlreadyRegistered.value = true;
// @ts-ignore
const test = this.$emit('submitEmail', email.value);
console.log(test)
isSubmitting.value = false;
}
Pour réceptionner l'email :
this?.$root.$on('submitEmail', (email: string) => {
console.log(email)
});
Donc le console log de test renvoie undefined et le console log de email ne renvoie rien
Re, si je peux me permettre @slim anvil de te mentionner 👀 (Aide moi quand tu peux si jamais tu as envie :o)
salut @misty parcel
si tu as un formulaire qui est partagé en plusieurs page, a ta place je passerai par un store, ca t'évitera de déclarer des props entre 10 enfants différents, d'emits de trop loin, tu pourras gérer ton formulaire super facilement, et le reset une fois qu'il est submit 👍
tu pourras meme y ajouter du persistant store, comme ça meme apres un refresh les datas seront toujours dispo
c'est simple a setup, utiliser, donc profites-en
Oh je connaissais pas, je vais essayer je te redis
MDR

Re, j'ai regarder et y'a qu'une petite section pour Nuxt 3 :(
Mais sinon j'ai pas compris comment stocker la data dans le store 🤔 et la moove ou je veux dans mes fichiers
Peux tu m'aiguiller please
Par exemple j'ai essayer le useStore mais apparement faut l'importer ? Je troue ça étonnant pour nuxt
ça change rien nuxt3 ou vue, tu dois le créer, define le module dans ton nuxt config
import ton store et l'utiliser
https://codybontecou.com/nuxt3-and-pinia.html tiens j'ai trouvé ca si tu veux un step by step
Integrate Pinia as your state management library for your Nuxt 3 application.
https://discord.com/channels/223070469148901376/1170672202077712534 quelqu’un a une idée ?
Go utiliser le meilleur site de tous les temps nan https://creatorsarea.fr/tutoriels/decouvrir-nuxt-3/decouvrir-les-stores-de-nuxt-3-avec-pinia ?
oui aussi!
Ah d'accord, juste pour être sure il faut créer un dossier store ? Car je me réfère souvent à la doc de nuxt et y'a pas de store 🤷♂️ à moins qu'il faut mettre ça dans composables
Enfin après j'magine qu'on s'en fout du nom du dossier en faite
Oui c'est plus propre
Oui cet à dire ? Un dossier store ?
Oui
okay
ce sera mieux pour t'y retrouver
ok merci
Hey je veux faire un bot twitter qui prend des tiwtt et les mets dans la consle mais là je ne sais plus quoi faire j'ai demandé à ChatGPT, Internet, toute les docs et api bref je suis désepérer.
Aidez-Moi!!!!
merci
Salut
Tu peux faire ça avec l’api Twitter
Il te suffit de créer un compte Twitter developer pour récup une clé et de suivre les docs
mais gratuitement?
Yup
Par contre elle est pas terrible, des fois les requêtes n’aboutissent pas on ne sait pas pourquoi
Puis leur politique est galère aussi
ok merci
bonjour est-ce que quelqu'un sait pourquoi quand je passe mon fichier qui utilise MongoDB de .js à .ts (j'utilise React et Node.js) ça fonctionne plus (il y a pas d'erreur dans l'éditeur mais mon application React affiche beaucoup d'erreur)
JS = JavaScript et ts = Typescript
En Typescript tu dois typé un peu tout
même en typant ça fonctionnait pas, et là j'ai remit mon fichier qui gère la base de données en js, quand je le lance seul il fonctionne bien mais quand j'utilise une fonction de ce fichier depuis un fichier .ts ça fonctionne pas
Bah t'a mal typé
Variables, fonctions
non il n'y a aucune erreur dans l'IDE (VsCode) et j'ai bien typé tout
variables et fonctions
T'essayes de faire marcher un fichier JS avec un ts?
actuellement oui
