#javascript-typescript

1 messages · Page 86 of 1

ashen rapids
#

Ya énormément de choses qui ont été add

dire latch
#

C'est là que discord va bloquer l'autre module, vous allez rien comprendre 😂

oak turret
#

Chacun son avis

ashen rapids
#

Mais tu as bien raison, faut pas aller à l'encontre des initiatives car sinon on ferait plus rien

#

Mais faut être réaliste aussi, donc oui à voir ce qu'il arrive à faire 😇

oak turret
#

Fin je dis pas non à du changement si c’est avantageux, j’ai pas mal d’expériences dans djs et la v13 ce qui est certain c’est que je passerais pas dessus, rien qu’à voir pour les perms je vois pas pourquoi ils ont changés la façon de faire fin ils « complexifient » le truc sûrement pour une raison x ou y mais bon c’est moins intuitif

#

de mon point de vu

#

m’enfin bref j’ai d’autres chats à fouettés, bonne nuit tout le monde !

ashen rapids
#

Pour les perms c'est nouveau, donc ils ont rien changé

oak turret
#

si si

#

.has("SEND_MESSAGES") par les flags je sais pas quoi

ashen rapids
#

Ha tu parles de ça, je pensais que tu parlais des perms des slash command

#

J'ai pas encore vu ce qu'ils avaient changé au niveau des perms

dire latch
#

En gros, maintenant, c'est les perms des flags @ashen rapids

oak turret
#

non les slashs je m’en sers pas donc je parlerais pas de ça

dire latch
#

Genre FLAG.GUILD.X.X

ashen rapids
#

Genre ça ? => if (member.permissions.has(Permissions.FLAGS.KICK_MEMBERS, false)) {

dire latch
#

Ouais

#

, false ? Ya pas besoin il me semble 🤔

ashen rapids
#

J'ai juste pris un code au hasard du DiscordJS Guide

dire latch
ashen rapids
#

Mais en quoi c'est chiant ?

dire latch
#

J'ai ça moi

#

Jsp 🤷‍♀️

#

Moi jm'en fous, va falloir s'adapter mdr

ashen rapids
#

Justement, on est plus flexible sur les perms maintenant, plus conventionnel aussi

dire latch
#

Juste avoir les accès, c'est chiant par contre 😦

ashen rapids
#

Je me ferai une propre idée quand j'aurai terminé de tout migrer mais pour l'instant, ya rien qui me gêne

#

A voir

dire latch
#

Yes

ashen rapids
#

Par contre si vous avez un anti spam open source, je suis toujours preneur 😏

dire latch
ashen rapids
#

C'est celui dont on parlait dans le thread anti spam

#

Il est un peu codé avec les fesses

dire latch
#

Tu as test ?

ashen rapids
#

Oue

#

T'as des options qui fonctionnent pas et quand t'ouvre une issue, le gars est hyper hautain

#

Et le code a l'air un peu foireux à première vue

dire latch
#

Ok, sinon, j'ai trouvé ça

#
const usersMap = new Map();
const LIMIT = 7;
const DIFF = 5000;

client.on('message', async(message) => {
    if(message.author.bot) return;
    
    if(usersMap.has(message.author.id)) {
        const userData = usersMap.get(message.author.id);
        const { lastMessage, timer } = userData;
        const difference = message.createdTimestamp - lastMessage.createdTimestamp;
        let msgCount = userData.msgCount;
        console.log(difference);

        if(difference > DIFF) {
            clearTimeout(timer);
            console.log('Cleared Timeout');
            userData.msgCount = 1;
            userData.lastMessage = message;
            userData.timer = setTimeout(() => {
                usersMap.delete(message.author.id);
                console.log('Removed from map.')
            }, TIME);
            usersMap.set(message.author.id, userData)
        }
        else {
            ++msgCount;
            if(parseInt(msgCount) === LIMIT) {

               message.reply("Warning: Spamming in this channel is forbidden.");
              message.channel.bulkDelete(LIMIT);
               
            } else {
                userData.msgCount = msgCount;
                usersMap.set(message.author.id, userData);
            }
        }
    }
    else {
        let fn = setTimeout(() => {
            usersMap.delete(message.author.id);
            console.log('Removed from map.')
        }, TIME);
        usersMap.set(message.author.id, {
            msgCount: 1,
            lastMessage : message,
            timer : fn
        });
    }
})
#

A voir si il fonctionne 🙂

ashen rapids
#

Ca peut donner une idée de l'algo, merci 😇

dire latch
#

Dr

tame kindle
ashen rapids
#

Si j'en dev un, je pense qu'il sera privé

#

Mais c'bien parti pour que je parte sur un truc fait maison

tame kindle
#

dommage

#

mais bonne chance

sharp grail
#

Bah comme ça t'as le cache qui te sort une collection sur laquelle y a des méthodes sympas, et sinon des autres méthodes qui varient selon ce que c'est

daring helm
#

salut les gens, je veut créer mon premier bot discord, et j'ai une petite question anodine... dans index.js, client.login(config.token) je tape vraiment token ou je tape le token que j'ai recu sur discord developers ?

sharp grail
#

config.token correspond surement à fichier json dans lequel est stocké ton token 🤔

daring helm
#

daccord, c'Est ce que je me disait merci.. dsl , j'ai débuter un cours en prog , et la je suis seulement au module ou j'aprend le c# , le bot discord c'Est par passion que je le fais

sharp grail
#

Pas de soucis, et cool ;)

daring helm
#

j'aime la commu dev et prog, ya de l'entraide 😛

tame kindle
#

wtf

#

discord js v13 fait du caca ou ?

sharp grail
#

t'as mis un array pour les embeds du msg ?

dire latch
#

Caca comme la qualité de ton screen 😅

sharp grail
#

sinon oui logik ça va te sortir ça, si t'as juste embeds: embed,

dire latch
#

Mdr

tame kindle
dire latch
#

Uttilise lightshoot

sharp grail
#

tu dois mettres les embeds dans un array

#

mdr

#

je savais que c'était cette erreur mdr

tame kindle
#

pourquoi je dois les mettre dans un array ???

sharp grail
#

embeds: [embed]

sharp grail
#

et si tu veux aucun embeds (dans le cas où tu edit un message), tu mets embeds: []

tame kindle
#

ca marche merci

sharp grail
dire latch
#

Nice

tame kindle
#

mon systeme economic et rpg vous me conseillez de le faire avec quick.db ou fs et de faire ma db seul ?

dire latch
#

Mysql

#

@tame kindle

tame kindle
#

ah

#

jefais faire avec fs hein

dire latch
#

Mdrr

tame kindle
#

comme ca je pourrais modif ma db dans un json

dire latch
#

Si tu as trop de donnée, va falloir changer car json, c'est pas top

tame kindle
#

ca devient lent ?

dire latch
#

Exactement

tame kindle
#

parce que la ma db c'est une sqlite

#

dis cc a la db

dire latch
#

sqlite, jamais utilisé

#

Je fais avec mysql perso

tame kindle
#

c'est quick.db qui utilise sqlite

dire latch
#

Jamais use comme j'ai dis donc 🤷‍♀️

tame kindle
dire latch
#

Go à l'instinct mdr

tame kindle
#

ui

#

j'fais les trucs de base

dire latch
#

Nickel

blazing wadi
#

Salut, vous avez des tutos/vidéos pour les slashcommands autre que la doc svp ?

dire latch
#

Vidéo youtube @blazing wadi

ashen rapids
blazing wadi
ashen rapids
blazing wadi
#

ouais justement je comprends pas

blazing wadi
ashen rapids
#

T'as le doc et t'as le guide 😏

blazing wadi
#
const { REST } = require('@discordjs/rest');
const { Routes } = require('discord-api-types/v9');
const { token } = require('./config.json');
const fs = require('fs');

const commands = [];
const commandFiles = fs.readdirSync('./commands').filter(file => file.endsWith('.js'));

// Place your client and guild ids here
const clientId = '856457165116276746';
const guildId = '852208115771899954';

for (const file of commandFiles) {
    const command = require(`./commands/${file}`);
    commands.push(command.data.toJSON());
}

const rest = new REST({ version: '9' }).setToken(token);

(async () => {
    try {
        console.log('Started refreshing application (/) commands.');

        await rest.put(
            Routes.applicationCommands(clientId),
            { body: commands },
        );

        console.log('Successfully reloaded application (/) commands.');
    } catch (error) {
        console.error(error);
    }
})();
#

J'ai ça

#

J'ai pas réussi à faire des / commands

slim anvil
#

@keen narwhal si tu as besoin d’aide met ton problème direct, si tu cherches un développeur pour bosser pour toi c’est sur le site directement

bold sparrow
#

Qu'est-ce que tu n'arrives pas ?

blazing wadi
#

Bah en fait ça ne marche pas

#

Mais j'aime pas le principe

bold sparrow
#

Si tu n'aimes pas pourquoi les intégrer ?

#

Et si ça ne fonctionne pas c'est que tu n'intéragis pas avec

blazing wadi
#

Pour les tester

#

Peut être que mon avis changera

blazing wadi
bold sparrow
blazing wadi
#

Ptdr

#

Nan mais c'est vrai

bold sparrow
#

Bon,

blazing wadi
#

Mais après je suis pas en condition pour Audi

#

Aussi

blazing wadi
#

J'ai fait avec l'exemple de Djs

bold sparrow
#

La v9 est déjà utilisée avec d.js v13 il me semble

ashen rapids
#

Pourtant c'est ultra simplifié, t'as plus besoin de parse ta commande

bold sparrow
#

Je vais essayer de te faire simple mathis

#

Psk j'ai pas trop le temps

blazing wadi
#

Vey

#

Au pire c'est pas grave

#

Je rentre de vacances Samedi on voit ça plus tard stv

bold sparrow
#

Ca m'arrengerait ouais lol

#

😂

#

Tu dois enregistrer, créer, intéragir avec

#

Aussi simple que ça

#

Tu peux les enregistrer en global ou guildOnly

#

Quand tu les créer, c'est avec des options

#

Et pour intéragir c'est via l'event interactionCreate

#

Sur ta classe Interaction tu as une public fonction pour qui renvoie un booléen qui vérifie si c'est bien une slash command isCommand()

#

A partir de ça, ça devrait être un peu plus clair

#

Ou alors tu créer un slash command handler ( ce que j'ai fait ) pour gérer ça 2x mieux et 2x plus rapidement

#

Pour débuter:

keen narwhal
#

Bonsoir

#

j'ai un petit problème

#

j'ai cette erreur pour ce code

#

UnhandledPromiseRejectionWarning: TypeError: option?.toLowercase is not a function
at Object.run (F:\Discord-Moderation-Bot-main2\Discord-Moderation-Bot-main\Discord-Moderation-Bot-main\commands\utility\prefix.js:56:24

slim anvil
#

Case

#

pas case

keen narwhal
#

ha, merci

sharp grail
#

pourquoi importes tu MessageEmbed de discord js pour utiliser new Discord.MessageEmbed

keen narwhal
#

quand j'ai fait le code j'ai trouvé sa plus pratique

sharp grail
#

bah du coup c'est un peu inutile, autant remplacer ça par MessageEmbed et supprimer la ligne de l'importation totale

keen narwhal
#

la sa fonctionne c'est good, je suis content

sharp grail
#

parfait 👀

keen narwhal
#

j'essaye de faire un truc

#

if (!args[0]) {
return message.channel.send(embedprefix)
}

#

ici je voudrais que tout les user peuvent l'utiliser

#

et que le bot n'envoi pas const embederreurperm

#

j'ai essayé avec un &&

#

sans sucés

sharp grail
#

ou tu fais un && args[0]

keen narwhal
#

C'est tellement satisfaisant de réussir une cmd sans Bug sans rien

#

😂

azure tapir
hazy mirage
#

@azure tapir yo!

lapis onyx
#

Bonjour, comment je peux vérifier que mon tableau a bien une clé "id" ?

#

Actuellement je capture l'erreur suivante : '{"message":"Cannot read property 'ID' of null"}'

#

ah

#

mais suis je con

#

si je lisais un peu plus le message d'erreur lol

#

Bon bah PB résolu

spring dock
#

😅

tame kindle
#

ce qui font des bots

#

vous le faites comment votre handler

#

perso j'utilise slappey qui m'aide beaucoup et j'aimerais savoir si il y a pas de meilleurs façon de faire son handler

keen narwhal
inner escarp
#

On est d'accord que tu as remplacé ces informations avant de poster ton code pour des raisons de sécurité et non pas parce que tu as juste oublié ?

keen narwhal
#

Oui oui j'ai remplacé

inner escarp
#

Ok et est ce que tu as une erreur quand tu start ton app ?

keen narwhal
#

Aucune, je ne reçois simplement pas les events

#

Même si je mets un mauvais ID de chaine

inner escarp
#

Est ce que tu sais tester ton hubCallback à part pour voir si il fonctionne

#

D'apres la doc tu devrais déjà faire ton subscribe avant ton handler comme ça tu pourrais voir si au moins l'event subscribe focntionne

keen narwhal
#

Mais c'est du synchrone donc c'est plutôt l'inverse non ?

inner escarp
#

De base le javascript c'est pas synchrone

#

Tu devrais utiliser une promise ou async / await pour t'assurer que ça fonctionne dans le bon ordre

keen narwhal
#

Je voulais dire async

inner escarp
#

C'est pas une raison pour le mettre dans le désordre ^^

#

et tu devrais rajouter juste après "notifier.setup();" notifier.listener();

#

Oups non ne fais pas ça si tu n'as pas de middleware

keen narwhal
#

Non toujours pas d'event

Tu as une idée pour tester le hubCallback ?

inner escarp
#

Ton hubCallback c'est un serveur web de microservices à mon avis donc si t'as rien setup à coté c'est pas tellement testable

#

Je ne sais pas si il y a d'autres librairies qui pourrait faire ce que tu cherche mais l'auteur de celle-ci a rendu son repo privé sur github ce qui est pas pratique vu le peu de doc dispo

keen narwhal
inner escarp
#

Ah, je me demande si le premier projet c'est pas un reponpage de celui-ci

keen narwhal
#

Je pense aussi mais je voulais tester les deux

inner escarp
#

C'est un petit peu plus compréhensible la doc

#

D'après cette doc la tu dois dans le handler notifier.on('start', ....) te sub à la chaine et à la fin start le tout

keen narwhal
#

Je fais ça et si j'ai le même problème, je redemanderai de l'aide

inner escarp
#

Et c'est effectivement un protocole pour faire du publish / subscribe via internet

#

Donc il te faut impérativement un serveur web setup

keen narwhal
#

C'est le cas donc normalement ça devrait fonctionner

inner escarp
#

Je peut pas t'aider plus je n'ai jamais utilisé pubsub

keen narwhal
#

Hum, merci quand même 🙂

sharp grail
tame kindle
spring dock
#

nodemon

sharp grail
#

Hey, j'ai regardé les slash commands sur le guide de discordjs, et en vrai c'est pas si mal, y a vraiment des options qui sont pratiques

lone flax
#

Ouais mais il manque quelques trucs

sharp grail
#

Oui, après je suppose qu'ils ajouteront des fonctionnalités au fur et à mesure

blazing wadi
#

Bonjour à tous

#

Est ce que ça change pour l'envoi d'un Attachment en djs v13 ?

sharp grail
#

oui

#

tu dois mettre le messageattachment dans les files:[]

keen narwhal
#

Tiens @blazing wadi

msg.channel.send({
  files: ['httpshttps://watchbot.app/img/logo.png?size=2048']
})
blazing wadi
keen narwhal
#

Je ne crois pas non 😉

blazing wadi
#

😩

sharp grail
#

si

#

ça fonctionne toujours

#

tu mets le message attachement dans les files

#

@blazing wadi

blazing wadi
#

Je peux faire const attachment = new MessageAttachment

sharp grail
#

oui

blazing wadi
#

keen narwhal
#

Bah voilà

#

Je n'ai pas encore étudié à fond la V13 😋

tame kindle
spring dock
#

bah donc c'est pas slappey qui te permet ça mais nodemon

tame kindle
#

Oui

sharp grail
#

hey, je pense que c'est vain mais quelqu'un s'y connait en slash commands avec discord js v13?

sharp grail
#

alors après avoir pas mal cherché sur le guide, la doc et la ddoc, et bah je comprends toujours pas comment set des permissions à une global commande. D'après le guide pas de soucis, mais dans la pratique, il me sort cette erreur (alors que j'utiliser le même code que dans le guide)

Error [GLOBAL_COMMAND_PERMISSIONS]: Permissions for global commands may only be fetched or modified by providing a GuildResolvable or from a guild's application command manager.

#

donc ce que je comprends c'est que seul les commandes d'une guild peuvent avoir des permissions de set, ou alors pour les commandes globales à travers une guild

#

toujours est il que c'est vraiment complexe à comprendre et qu'au niveau des permissions d'une commande c'est peu documenté

ashen rapids
#

Tu essaies de set des permissions sur des commandes globales peut-être ?

sharp grail
#

bah oui justement, mais d'après le guide

#

donc harold

ashen rapids
#

Tu peux update les permissions pour une commande globale mais tu devras préciser à chaque fois la guildId

#

C'est vrai que ce Tip peut porter à confusion

sharp grail
#

aah, mais du coup je le précise où ?

ashen rapids
#

Oublie ce tip, fais comme indiqué ci-dessus

#

Ou :

client.application.commands.permissions.set({
    guild: guildId,
    command: commandId,
    permissions: [...]
});```
sharp grail
#

je vois, merci beaucoup, mais je pense que je ne setterais pas de permissions pour les commandes globales car elles pourront de toute façon être utilisés en mp donc :/

#

mais merci !

opal harness
#

Yo,
Comment je pourrais faire un nombre aléatoire entre 1 et 20 ?

ashen rapids
opal harness
# ashen rapids `random()`

Mais comment je peux l'utiliser pour que cela me sorte une valeur entre 1 et 20 compris sans virgules soit 1, 2, 3, 4, 5, 6, 7, 8 ,9 , 10 ,11, 12, 13, 14 ,15 ,16 ,17 ,18, 19 ou 20

ashen rapids
#

La réponse est donnée dans l'exemple de la Doc

#

Regarde leur fonction getRandomInt

bold sparrow
keen narwhal
#

Bonjour

#

bonsoir

#

j'ai un problème avec ce code

#

( je suis encore en v12 )

dire latch
#

Pour ta région ${region[message.guild.region]} @keen narwhal

#

${verifLevels[message.guild.verificationLevel]}

#

Pour ta vérification

#

@keen narwhalTest et tu me dis 🙂

sharp grail
#

bah en fait pourquoi s'embêter à faire ça ?

#

vu que la valeur renvoyé est un string

dire latch
#

Car il a envie d'avoir des noms personnalisés

sharp grail
#

tu peux pas juste faire region[message.guild.region]

sharp grail
dire latch
#

Ba il décide après 🤷‍♀️

tame kindle
#

Il est possible de sortir le nom du fichier dans lequel on est dans un console log ?

#

genre si je suis dnas le fichier ping faire que ca me console.log('ping.js')

ashen rapids
#

Mais quel est le besoin ?

tame kindle
#

je n'ai jamais eu cette erreur

#

elle vient de la je crois

sharp grail
#

mmh

#

étrange

queen quiver
#

Bonjour !
Je débute avec JQuery et je m'exerce en ce moment sur la vérification des champs d'un formulaire.
Il me reste juste à ajouter un message d'erreur à côté du champ lorsqu'on en ressort, mais je sèche sur ce point.
Je vous partage mon code : https://jsfiddle.net/tev5m43L/

Si quelqu'un à des solutions, je suis toute ouïe !

Merci par avance.

slim anvil
queen quiver
#

@slim anvil je veux ajouter un message d’erreur lorsque l’on sort d’un champ sans l’avoir rempli. Par exemple je ne rempli pas le champ nom, et je clique sur le champ prenom , un message d’erreur doit apparaître sur le premier champ nom

slim anvil
#

tu dois rajouter un check via un onBlur

heavy path
#

Salut j'ai un soucis d'interpréteur :
J'ai installé correctement nodejs, avec l'option "Add to PATH", mais mon Visual Studio Code me renvoie constamment cette erreur lorsque j'essaye de lancer le code
J'ai même ajouté manuellement le chemin des fichiers nodejs au path, mais rien n'y fait
Quelqu'un aurait-il la solution ?

heavy path
#

J'allais envoyer l'erreur, mais en fait le fait de relancer mon PC (l'erreur était d'hier soir) semble avoir réglé le soucis :)

ashen rapids
#

A mon avis, t'avais pas relancé ton CMD

#

Du coup ça prenait pas en compte ton nouveau PATH

heavy path
ashen rapids
#

Ta console

#

Enfin Vscode dans ton cas

heavy path
#

Je l'avais fermé, alors peut-être pas entièrement

keen narwhal
#

sa ne fonctione pas

#

et la même pour les verif

ashen rapids
#

Alors

#

Il faut que tu mettes ton ${} entre des quotes si tu utilises cette feature

#

Là déjà, tu en as pas

keen narwhal
#

comment sa

ashen rapids
#

Regarde ta ligne 53

#

Tu as très bien fait le truc

#

Regarde la différence avec la ligne 54

keen narwhal
#

je switch avec mon tel j'ai un imprevu 2s

ashen rapids
#

Ok

keen narwhal
#

L'imprévu dure plus longtemps je te tien au courant

mystic bison
#

bonjour à tous, je voudrais faire une commande qui me permettrait de de récupérer des adresses mails. je ne sais pas si le bot peut les récupérer. Ou sinon que les personnes puissent faire !mail et puis écrive leurs adresses mails et que tout soit stocker quelque part

#

pour un bot discord en js

ashen rapids
#

Il faut utiliser l'API Discord et récupérer un object user

mystic bison
#

merci beaucoup

dire latch
#

@keen narwhal good ou pas ?

ashen rapids
mystic bison
#

c'est un 2 eme nom pour la commands

ashen rapids
#

Et bien la propriété n'est pas définie sur ton client

#

Pour ça que tu as cette erreur

keen narwhal
#

problème undefined

dire latch
#

@mystic bisonRégler ?

mystic bison
#

oui merci

dire latch
#

Ok

keen narwhal
#

bonsoir, je voudrais faire un truc avec mon code mais j'y arrive pas.
en gros je voudrais que la date de la création du serveur sois en mode FR comme sa :

#

le code qui me permet de faire sa ( cmd userinfo )

#

Je voudrais faire la même mais, avec la date de création du serveur
le code en question :
( cmd serveur info )

#

car la sa me donne sa

#

je travaille avec moment

ashen rapids
#

Créé ta date en faisant : moment(taDate)

Et ensuite tu fais ton format() à partir de là

ashen rapids
keen narwhal
#

je l'ai fait, mais sa ne fonctionne pas

ashen rapids
#

Rappelle toi, " Ça ne fonctionne pas " ça nous aide pas

keen narwhal
#
`${message.guild.createdAt.toString().format("dddd Do MMMM YYYY, à HH:mm")},\n(${checkDays(message.guild.createdAt)})```
#

j'ai fait sa

ashen rapids
keen narwhal
#

Bas si

ashen rapids
#

Je vois pas ton moment() dans ton code là

keen narwhal
#

je peux le mettre ou.. ?

#

je vois pas ou

ashen rapids
keen narwhal
#

ha oui

#

bien vus ;-;

dire latch
#

Ah ba good alors @keen narwhal

keen narwhal
#

Deprecation warning: value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which
is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.
Arguments:
[0] _isAMomentObject: true, _isUTC: false, _useUTC: false, _l: undefined, _i: function toString() { [native code] }, _f: undefined, _strict: undefined, _locale: [object Object]

#

j'ai jamais eu cette erreur

dire latch
#

Montre ce que tu as mis mdrr

keen narwhal
#
${moment(message.guild.createdAt.toString)().substr(0, 15)},\n(${checkDays(message.guild.createdAt)})```
ashen rapids
#

Enlève ton toString

dire latch
#

Sa sert à quoi ton .substr ? 🤔

ashen rapids
#

Refais comme tu m'as montré la première fois, c'était parfait

#

Je comprends pas pourquoi tu cherches à faire différemment

keen narwhal
dire latch
#

-__-

keen narwhal
#

😂

ashen rapids
#

Essaie de le refaire seul sans nous et sans copier ..

keen narwhal
dire latch
#

Ligne 59

keen narwhal
#

c'est le moment

dire latch
#

Normal

#

Sa fonctionneras pas avec cet façon là

#

Ya des trucs à enlever

keen narwhal
#

ha, pourquoi donc ?

ashen rapids
#

Tu as fait moment()()

#

Connais pas

keen narwhal
#

yep

dire latch
#

ton .substr

#

Il sert à rien

keen narwhal
#

oui mais, j'ai enlever un truc

#

je doit enlever sa

dire latch
#

(), il sert à quoi ?

#

Ya rien dedans

#

Et inutile

keen narwhal
ashen rapids
#

Ton code?

keen narwhal
ashen rapids
#

On a le any qui cache

keen narwhal
#
 .addField("Crée le", `${moment(message.guild.createdAt).format("dddd Do MMMM YYYY, à HH:mm")},\n(${checkDays(message.guild.createdAt)})`, true)```
#

yep tien

ashen rapids
#

Pourquoi tu as enlevé ton format() ?

#

Sans ça tu peux pas formater ta date

keen narwhal
#

comme sa ?

#

( j'ai modif )

ashen rapids
#

C'est déjà mieux oui

dire latch
#

Et c'est pas createdTimestamp à la place de createdAt par hasard 🤔

keen narwhal
#

Hé bien merci Mrs

keen narwhal
dire latch
#

🤷‍♀️

ashen rapids
#

L'un te donne une date, l'autre un timestamp

#

C'est selon le besoin et la pref

keen narwhal
#

d'accord

mystic bison
#

bonsoir à tous, j'ai besoin de votre aide, car je dois faire un commande pour un bot discord en javascript. Le but de la commande, c'est simple pêrmettre à l'utilisateur de données son adresse mail, pour l'inscrire à une sorte de "newsletter" et d'inscrire son adresse mail dans un base de données. commande type : !mail melvil@discord.com et pour faire ça j'ai besoin de votre aide, je ne sais pas par où commencer

dire latch
#

Va falloir apprendre à créer un bot discord sur ce coups @mystic bison

mystic bison
#

je sais je suis en train de le codé

#

j'ai tout finis sauf ça et je sais pas du tout comment faire.

ashen rapids
#

Tu peux pas

#

Faut passer par l'API Discord et faire en sorte que ton utilisateut se connecte avec OAuth2

mystic bison
#

pourquoi ?

dire latch
#

Ba nan @ashen rapids 🤔

ashen rapids
#

Et qui accepte de donner accès à ses informations personnelles

mystic bison
#

c'est la personne elle même qui va les rentrés

ashen rapids
#

Ha ok t'as changé le truc !

#

My Bad

mystic bison
#

désolé j'ai des petits probleme a l'écrit (dys tu connais)

ashen rapids
#

Dans ce cas faut que tu ais une base de données pour sauvegarder ta newsletter

#

Les adresses*

#

Oula j'ai du mal aussi ce soir 😭

mystic bison
#

comment je peux faire ?

ashen rapids
#

Tu sais ce qu'est une base de données et comment en utiliser une ?

mystic bison
#

oui et non, j'utilise mongodb mais j'ai ÉNORMÉMENT de problèmes

#

j'aimerais bien en changée

ashen rapids
#

Dans ce cas là, t'as tout ton bot à refaire à ce que je vois

dire latch
#

Mysql sinon

mystic bison
#

c'est pas grave, tu en a une a me conseiller

ashen rapids
#

Perso j'utilise MongoDb sur mon bot, pour la facilité, et j'ai jamais eu de soucis

#

Oui sinon t'as MySQL

#

SQLite

#

Ou une base de données basique dans un fichier

#

(pour de la petite data)

mystic bison
ashen rapids
#

Oui pas se soucis, poste ton problème 👍

mystic bison
#

j'ai plus de code erreur

#

mais j'ai rien qui s'inscrit

#

dans ma base de données

ashen rapids
#

Refais la manip pour avoir l'erreur du coup

#

Il semble se connecter sur une database externe

#

À mon avis, elle existe plus

mystic bison
#

d'accord

ashen rapids
#

(mais enlève ce screen, c'est le genre de données sensibles à ne pas mettre)

mystic bison
#

d'accord merci

#

demain est ce que t'aurais un créneau horaire ou même mercredi pour m'aider a setup tout ça svp ?

ashen rapids
#

Tu me ping ici et je serai surement là 👍

mystic bison
#

d'accord merci a demain

keen narwhal
#

rebonsoir x)

#

je stock les id des staff du bot dans un .json
dans l'userinfo je voudrais faire en sorte que les id soit reconue par le bot et qu'il mettent un truc sur le ui voici le code
enfaite, je sais pas quoi mettre apres le ==

dire latch
#

Tu peut les affichés avec leur rôles @keen narwhal au lieu de les stockers

keen narwhal
#

je préfere faire comme sa ^^'

slim anvil
#

Déjà mieux faire ton else pour commencer KappaRetard

keen narwhal
#

Comment sa ?

slim anvil
#

ah ok tu le fais inline pardon

#

c’est tellement affreux

dire latch
#

Pk tu t'appelles comme ça aussi ? MDRR

keen narwhal
dire latch
#

En gros

#

C'est comme ça

#
if () {
  // CODE
} else {
  // CODE
}```
keen narwhal
#

okay

slim anvil
keen narwhal
#

x)

keen narwhal
#

le fichier.json

dire latch
#

Si

slim anvil
#

fais un console Log de staff

keen narwhal
#

Ha je pensais pas que sa allait marcher donc j'ai pas même pas tester

slim anvil
#

Voir comment tu stock tout

#

Car j’ai du mal à croire que ta condition user.id === staff doit juste

#

Soit*

dire latch
#
if () // CODE
else // CODE

Comme ça l'autre façon ? @slim anvil

slim anvil
#

Oui c’est ça mais mélanger les 2 c’est bizarre à la lecture

dire latch
#

Yep

keen narwhal
keen narwhal
dire latch
#

Ba dans ton code @keen narwhal

#

Tu console.log staff

slim anvil
#

Juste après l’avoir require

keen narwhal
#

ha ok

ashen rapids
#

C'est un array

#

Tu peux utiliser includes() pour check si ton userId se trouve dans l'array staffId

slim anvil
#

T’écris plus vite que moi salopard mais sur tel c’est long

#

mais oui c’est exactement ça

dire latch
#

Mdrrr

keen narwhal
#

Vous pouvez m'expliquer un peux plus ? ^^

#

Je suis entrain d'apprendre la Doc x) donc des fois je galère un peux

ashen rapids
#

C'est pas la doc que tu dois apprendre là mais le JS 😏

keen narwhal
#

Mais ducoup le code il sera composé..euu

ashen rapids
#

Regarde comment utiliser includes() et fais des tests

N'hésite pas non plus à utiliser console.log() pour voir si t'as le résultat attendu et t'aider

keen narwhal
#

regardez se qu'il me sort

#

j'essaye

#

no jugement x)

dire latch
#

Ba essaye encore 🙂

keen narwhal
#

c'est quoi cette erreur même xD

slim anvil
#

C’est ton tableau qui includes

keen narwhal
#

Comment sa ?

slim anvil
#

Ton tableau contient

#

en français

keen narwhal
#

ho

slim anvil
#

Là tu fais mon user id contient mon tableau

#

Alors que non c’est mon tableau contient le user.id

keen narwhal
#

donc c'est bon je doit juste modifier qu'elle que chose

dire latch
#

😉

keen narwhal
#

mais quoi x)

dire latch
#

Modifie, tu es proche 👍

keen narwhal
dire latch
#

Pas ça mdr

keen narwhal
#

;/

slim anvil
#

T’as rien changé de ce que je t’ai dis

#

C’est la même erreur

keen narwhal
#

je vois pas de qu'elle tableau tu parler

slim anvil
#

Remonte et tu verras 😱

dire latch
#

@keen narwhal

keen narwhal
#

je veux bien comprendre

#

mais se que je comprend pas

#

se comment modifier se fameux tableau

dire latch
#

-__-

keen narwhal
#

jsuis naze a ce stade

jagged lynx
keen narwhal
#

vous pouvez m'expliquer svp

slim anvil
#

Le tableau c’est « staff »

#

On est ok là dessus ?

keen narwhal
#

oui

#

staffID

slim anvil
#

tu dois faire alors staff.staffID.includes(xxxx)

keen narwhal
#

c'est quoi les xxxx

ashen rapids
#

Ton ID 🤔

#

T'as pas regardé ce que faisait includes

keen narwhal
#

si

ashen rapids
#

Donc t'es censé savoir comment l'appliquer à ce que tu souhaites faire

keen narwhal
#

les Xxxx ne conresponde pas a l'id

slim anvil
#

Mais ….

#

xxxx tu le remplaces par ta valeur

keen narwhal
#

qui est staffID

slim anvil
#

je vais pas tout écrire non plus

keen narwhal
#

le tableau en gros

slim anvil
#

Mais non staffID tu t’en sers déjà avant

#

Tu vas pas regarder que ton tableau contient le tableau

#

si ?

keen narwhal
#

nan

slim anvil
#

Tu veux regarder quoi ?

keen narwhal
#

mais ben les id

#

les id que y'a dans le tableau

slim anvil
#

okay mais du coup tu le récupères d’où cet id

#

C’est quel id que tu veux vérifier ?

keen narwhal
#

les id qu'il y'a dans le tableau

#

que je rajouterait au fure et a messure

slim anvil
#

C’est ça que tu veux checker qui soit bien dans ton tableau

keen narwhal
#

oui

slim anvil
#

bon bah voilà

#

je peux pas + t’aiguiller sue ça

#

Que

keen narwhal
#

comment définir params

slim anvil
#

member.user.if

#

Pardon

#

Id*

#

je pensais tu avais mis params

keen narwhal
#

nan

#

sa me toujours user

slim anvil
#

Bon là je peux pas + t’aider

#

C’est juste du code de base sinon je vais juste te le faire

#

A ton avis de manière non code, ta condition elle veut dire quoi ?

#

Traduis là moi en langue française

keen narwhal
#

La le code la

#

ben je demande au bot de chercher dans un fichier si il vois qu'un message est l'auteur d'un id qui est dans se fameux fichier si c'est le cas il met "support" sur l'user infp

#

info*

slim anvil
#

Non je te demande pas ce que tu veux que ça fasse

keen narwhal
#

ha

slim anvil
#

Mais ce que tu as écris dans ton if

keen narwhal
#

ben il detecte l'id du message, si il le vois dans le tableau il met sur l'interface de l'ui 'support'

slim anvil
#

Non là tu as pas écris ça

#

Mais :

#

si l’id du membre est égale au fait que cet soit dans le tableau

#

Le includes te renvoie true ou false

#

tu dois juste faire un includes pas besoin du truc avant

keen narwhal
#

l'include on la déjà fait

#

non ?

boreal edge
#

En gros:
Si j'ai bien compris la discussion d'avant (j'ai pas tout lu)

#

Le .includes te return une boolean (true ou false) si la valeur est bien stockée dans ton Array donc tu n'as pas besoin de ce qu'il y a avant

slim anvil
#

Tu comprend pas lulthy

#

C’est vraiment les bases du js qu’il faut voir la

keen narwhal
boreal edge
#

Pas besoin du ===

keen narwhal
#

si j'enléve sa y'a des erreur

boreal edge
#

Oui, c'est normal

#

Tu cherches à faire quoi là actuellement ?

keen narwhal
#

j'ai mis des id dans un json

boreal edge
#

Sous forme d'array ou d'object ?

keen narwhal
#

je souhaite que si la personne qui fait la cmd ui et que l'id du mec et dans le json il mete un truc dans le ui

#

en fros

#

gros

slim anvil
#

Montre ton code actuellement

#

Je sens que tu as juste enlevé le === sans virer le truc avant

lone flax
#

Mais ta condition elle veut rien dire déjà

boreal edge
keen narwhal
lone flax
#

Toi tu veux savoir si le staff fait partie de ta table en json

slim anvil
#

oui max c’est ce que j’essaye de lui faire comprendre

boreal edge
#

Yep c'est ça

slim anvil
#

Mais bon

boreal edge
#

Ici :
if(member.user.id staff.staffID.includes(member.user.id)){

Que veut dire pour toi cette condition ?

lone flax
#
if (staff.staffID.includes(member.user.id))
  console.log("Le membre est un staff");
else
  console.log("Le membre n'est pas staff");
slim anvil
#

ouais mais faut pas lui écrire c’est ça le truc

#

Il apprend rien en faisant ça

#

c’est dommage

boreal edge
#

Fallait plutôt lui expliquer j'penses

keen narwhal
#

vous avez juste inverser

#

pourquoi ?

lone flax
#

Essaye de comprendre le code que j'ai envoyé

slim anvil
#

on a rien inverse

lone flax
#

Et de voir la différence avec ton code

slim anvil
#

On a juste utilisé le includes comme il faut :/

boreal edge
keen narwhal
#

c'est quoi cette doc ?

boreal edge
#

On va dire la doc pour le js

#

Mais y a pas que ça

#

Mais là on va juste s'en servir pour le js

#

Et donc là c'est ça toi que tu utilises

keen narwhal
#

d'accord je le connaisai pas

#

la

#

Merci pour tous en tout cas, je vais essayer de comprendre le code demain
Merci, @boreal edge@lone flax@slim anvil@dire latch

#

Bonne soirée à vous

dire latch
#

Dr @keen narwhal

pale void
#

Falut, falut !
J’ai un p’tit soucis : je bosse sur une application de vérification des QRCodes de pass sanitaire.

J’ai donc fait mon p’tit script qui check si le pass est valide, le script fonctionne parfaitement si je le lance avec Node.

Par contre, dès que je l’add à mon application React, pfiou ! avalanche d’erreurs !

La première : ReferenceError : variable TextDecoder is not defined.
La deuxième, pareil, mais pour Buffer.

J’ai donc installé les modules buffer et text-encoding.
Mais ça n’a pas résolu le problème, au contraire, d’autres erreurs sont apparues, disant que les données qui sont sensées être passées retournaient "undefined".

Quelqu’un aurait déjà eu ce problème ou saurait comment le résoudre ?

inner escarp
#

De mémoire, react est comme vue c'est fait pour faire du js vanilla et pas du node. Tu peut utiliser electron JS pour faire de l'IPC entre ton browser et ton nodejs

#

Ce qui devrait possiblement régler ton problème

pale void
#

C’est pour une application mobile

#

En React Native

#

Après recherche, tu as raison, il faut passer par un module tiers

#

J’essaierai tout à l’heure, je vous donnerai le fin mot de l’histoire ahah

pale void
#

Au final, là n'était pas la réponse.

#

Parce que, je ne l'ai précisé, mais j'utilise Expo, et non simplement React-Native. Donc on utilise bien NodeJS

#

Je suis complètement bloqué...

ashen rapids
#

Sinon n'importe qui pourrait bypass en decompilant l'application

pale void
#

Bah oui. Justement, c’est ce que je vous dis, j’utilise Expo, qui fonctionne sur NodeJS

ashen rapids
#

Expo c'est un framework

#

C'est quelque chose qui te faiclite le dev React Native

#

En aucun cas c'est un back

pale void
#

Non, mais NodeJS, oui

ashen rapids
#

Oui donc faut que tu te fasses un back en nodejs

pale void
#

Mais…

#

Quand tu lances ton projet Expo, c’est déjà sur un processus NodeJS

ashen rapids
pale void
#

Bah… un back en NodeJS est lancé par défaut, là n’est pas le problème

#

Le problème c’est que je ne sais pas comment avoir accès aux variables Buffer et TextDecoder

ashen rapids
#

Du nodejs n'est pas forcément du back. Enfin back entre grosse guillemet mais t'as compris

#

Expo te permet pas d'avoir un backend

#

Que utilises tu pour ton code de base qui check le QR ?

#

C'est un module que t'as trouvé sur npm ?

pale void
#

Le module expo pour cet usage

pale void
ashen rapids
pale void
#

Aaah, nan, c’est du fait maison

#

Et j’utilise les modules base45, pako et cbor pour déchiffrer et extraire la chaîne du QR Code

ashen rapids
#

Faudrait qu'on puisse voir la partie du code qui ne va pas

pale void
#

Justement, ce que je vous dit c’est que le code fonctionne si je le lance hors du projet Expo.

Mais dès que je le lance dans mon app, Expo me retourne les variables Buffet et TextDecoder comme non définies

ashen rapids
mystic bison
#

combien dur le temps de configuration et de connection pour mongodb @ashen rapids environ

ashen rapids
mystic bison
#

ok 15 min c'est bon ?

ashen rapids
#

Ouii

mystic bison
#

je la kill pour un refaire une nouvelle pour partir sur des bases seine ?

ashen rapids
#

A toi de voir pour ça

mystic bison
#

ok, tu pourrais vocal ?

ashen rapids
#

Non, je suis au taff

mystic bison
#

ok d'accord pas grave

#

tu peux quand même m'aider ou sinon plus tard

ashen rapids
#

Je peux t'aider par écrit yep

#

Pas de soucis 😇

mystic bison
#

merci

#

le cluster est en train de se créé

#

voila

ashen rapids
#

Ha oue ok tu paies une bdd as a service

mystic bison
#

?

ashen rapids
#

Je veux dire que tu paies un service pour avoir ta bdd dans le cloud

mystic bison
#

non, j'ai l'option gratuite

#

mais sinon si je peux le faire en local cela me va très bien

ashen rapids
#

C'est comme tu préfères ça

#

L'option gratuite c'est plutôt pour le dev

#

Mais tu pux utiliser ça si tu préfères

mystic bison
#

comment je fais pour le faire un local, je dois passé par d'autre appli, ou je créer juste un dossier avec un fichier dedans ?

ashen rapids
#

Tu peux garder celle de MongoDb atlas pour le dev

#

Si tu installes une base en local, tu pourras pas l'utiliser en prod

mystic bison
#

d'accord, car moi je veux pouvoir lire le fichier donc je suppose que mongoDb sera la meilleur option, du coup a partir du screen au-dessus je fais comment pour le connecter ?

ashen rapids
#

Tu dois avoir un lien de connection quelque part

#

Que tu places dans ton code

#

A l'endroit que tu m'avais montré l'autre fois

mystic bison
#

oui en haut

ashen rapids
#

En haut ?

mystic bison
#

A partir de la je choisie quoi ?

ashen rapids
#

Tu suis les différentes étapes

mystic bison
#

c'est fais et maintenant je choisis laquelle des 3 option

ashen rapids
#

La première

mystic bison
#

d'accord

#

ok il faut que je telecharge mongoose je reviens

#

c'est quoi $patch ?

ashen rapids
#

Si t'as déjà mongoose d'installé sur ton bot, pas besoin de l'installer sur ton windows

#

A moins que tu souhaites t'y connecter depuis un client Windows

#

Path c'est une variable d'environnement

mystic bison
#

faire quand le terminal de visual studio code et faire nmp install moongoose csa fonctione

ashen rapids
#

Ca permet de localiser tes exécutables et de pouvoir les utiliser facilement (en gros)

ashen rapids
mystic bison
#

ok

#

et après le lien qui est en bas je le colle et je n'ai plus rien a faire ?

#

et juste je le copie colle dans mon config.json ?

ashen rapids
#

Oui, pour init la connection

pale void
pale void
#

@ashen rapids, voici :

module.exports = {
    decodeData: function (data) {
        const base45 = require('base45');
        const pako = require('pako');
        const cbor = require('cbor');

        const passBody = data.substr(4);

        const decodedData = base45.decode(passBody);
        const output = pako.inflate(decodedData);

        const results = cbor.decodeAllSync(output);
        [headers1, headers2, cbor_data, signature] = results[0].value;

        const passData = cbor.decodeAllSync(cbor_data);

        return passData[0].get(-260).get(1);
    }
}
mystic bison
#

je peux enlevé username elon

#

@ashen rapids

pale void
#

Enlève le guillemet qui précède les deux tirets

mystic bison
#

je ne sais pas j'ai copier coller le code que me donne mongo

pale void
ashen rapids
#

Oui place correctement les guillemets et c'est bon

ashen rapids
pale void
#

Elle se situe dans le module base45 lorsqu'il fait appelle à Buffer, dans Cbor lorsqu'il fait appel à TextDecoder, etc

ashen rapids
#

Ok je vois, donc erreur propre au module

pale void
#

Mais non justement 😐

#

Tout fonctionne parfaitement hors du l'application Expo

ashen rapids
#

Non mais cherche pas, c'est un package nodejs

pale void
#

Mais non !

ashen rapids
pale void
#

C'est seulement une fois que je mets le script dans l'application Expo que le script le ne fonctionne plus

pale void
# ashen rapids

Mais je sais bien... mais cela n'a rien à voir avec le problème que je vous pose

ashen rapids
#

Oui car tu as testé sur une application nodejs directement ?

pale void
#

Oui

pale void
#

Et là ça fonctionne

pale void
ashen rapids
#

React Native c'est pas du nodejs 🤔

slim anvil
#

Expo te run ton application react mais ce n’est pas du nodejs

#

C’est du client

#

Donc forcément ce package fonctionnera pas

#

Si tu as testés avec une app nodejs oui ça fonctionnera car c’est fait pour

#

dans ce cas là calypso a raison sur le fait d’avoir une API en nodejs

pale void
#

Ah okay, pardon @ashen rapids. Je n'avais pas compris ta réponse comme ça 😅
Je pensais que tu disais que le soucis venait du package.

slim anvil
#

Et ton app react fait appel à ton api

pale void
#

Et est-ce que vous en connaîtriez ?

slim anvil
#

ouais mais calypso c’est un noob aussi il explique mal kappo

pale void
#

😂

ashen rapids
#

Ue

slim anvil
ashen rapids
#

Cependant t'as des librairies d'encodage pour JavaScript

pale void
#

Une API qui permettrait de lancer ce script dans l'application ?

slim anvil
#

Bah tu peux faire ta propre api ou oui utiliser un package client

#

doit y en avoir c’est sur

#

t’en as même peut être des fait exprès pour react

pale void
#

Le truc c'est que l'app doit pouvoir fonctionner hors-ligne. Donc un package m'arrangerait

slim anvil
#

C’est bien un qr code reader que tu cherches ?

pale void
#

Non x)

#

Je cherche un package qui peut me permettre d'exécuter du code NodeJS

ashen rapids
#

Bah tu peux pas 🤔

pale void
#

Si

ashen rapids
#

Faut que tu fasses un serveur

#

Quel est le besoin ?

pale void
#

Y'avait un package qui le faisait mais le maintener a arrêté le développement. Donc il n'est plus utilisable

ashen rapids
#

Généralement quand tu dois utiliser NodeJS, c'est pour faire des choses de backend. Donc faire des choses de backend dans un front, c'est pas toujours une solution viable

#

C'était quoi le package ?

pale void
#

Le truc, c'est que pour déchiffer les données du QRCode des pass sanitaires, il n'y a que le moyen utilisé dans le code ci-dessus

ashen rapids
#

C'est un code que tu as fait toi ?

pale void
#

Yup

#

À partir du code public de TAC

ashen rapids
#

Comment tu sais que c'est le seul code possible ? J'ai jamais touché au pass sanitaire donc j'en sais rien

#

Oui donc tu dois faire ces verifs dans du back. T'imagine si on faisait directement les verifs dans le front ?

#

Niveau sécurité c'est pas ouf

pale void
#

Parce qu'il faut forcément déchiffrer avec un module qui gère base45, qu'il faut forcément l'extraire avec une librairie type ZLib et qu'il faut le décoder avec Cbor

ashen rapids
#

Tu peux envoyer le lien du code public ?

pale void
#

C'est la version Android, mais c'est grosso modo pareil sur la version iOS

#

Pareillement, le même système est utilisé par CovidPass (le site pour utiliser son pass sanitaire dans Apple Wallets)

#

Et, a priori, il n'y a pas d'autres moyens possibles

ashen rapids
#

Je regarde

#

Histoire que je me renseigne un peu sur comment ils fonctionnent

pale void
#

Yeah ahah

#

Mais si jamais quelqu'un trouve la solution à mon soucis, ce serait cool x)

#

J'utiliserai bien quelque chose d'autre, mais pour les app mobiles, je ne connais que React avec Expo

ashen rapids
#

Ils ont pas une sorte de page web pour les développeurs ?

slim anvil
#

Non mais me soucis ne vient ni de react ni de expo t’inquiète po

slim anvil
#

mais ouais la vérification côté front c’est pas dingue mais bon

pale void
ashen rapids
#

TAC

pale void
#

À la base c'est privé

#

Même le code source que je t'ai envoyé n'est pas complet x)

ashen rapids
#

Vu que c'est TAC, le soucis vient sûrement d'eux comme d'hab 😏

pale void
#

Bah nan x)

#

C'est moi qui sait pas utiliser un script NodeJS dans une app React-Native

ashen rapids
#

Mais à ce que je vois, t'as transformé un code Java en nodejs

pale void
#

C'est juste ça qui me bloque

ashen rapids
pale void
#

Mais

slim anvil
#

Par contre j’ai une question, tu cherches juste à faire quoi avec le QR code exactement

dire latch
#

Pourquoi récupérer le qrcode des pass sanitaire ? MDRR

slim anvil
#

Juste récupérer les infos de celui ci ?

pale void
#

Le script js envoyé au-dessus fonctionne quand je le lance avec NodeJS. Je veux l'utiliser dans mon app React

pale void
#

C'est ce que fais le script que je vous ai envoyé

ashen rapids
#

Perso je l'utilise pour Fake mon pass et boire des binouzes à volonté 😎

slim anvil
#

Oui mais les déchiffrer c’est pour récupérer quoi dedans

#

Généralement c’est un lien ou autre

pale void
#

C'est transformer la string du QRCode en JSON avec les données lisibles

dire latch
#

Je pense que c'est pas légal de faire ça 🤔

slim anvil
#

bah ouais

pale void
#

Of course yes

#

Bien sûr que si

slim anvil
#

Mais du coup le package que je t’ai envoyé il gère déjà tout ça

pale void
#

Non x)

#

Lui il me sort la string du code

#

Moi mon script la déchiffre pour en sortir le JSON lisible

#

Essayez de lire le QRCode de votre pass. vous aurez une suite de chiffres de lettres sans queue ni tête

#

Mon script déchiffre ça vers un JSON avec des donnnées lisibles

dire latch
#

Tu peut prouver que c'est légal de faire ça 🤔

ashen rapids
#

Désolé j'ai vraiment du mal à comprendre mais
Le repo que t'as envoyé, c'est du java

#

Toi tu as utilisé ce repo pour le transformer en nodejs

#

Jusqu'à là j'ai raison ?

#

Du kotlin plutôt*

slim anvil
#

Le truc c’est que ouais te faut un package pour read du base45 mais à part celui que t’as envoyé j’en ai pas trouvé d’autre

#

Donc à part passer par une api, même local à ton app react je ne vois pas

ashen rapids
#

Il serait pour JS apparemment

pale void
pale void
dire latch
pale void
pale void
slim anvil
dire latch
#

Une appli le fait déjà ça

slim anvil
#

Il a l’air valide côté client

pale void
dire latch
#

Je pense pas que tu as le droit de le faire toi même 🤔

ashen rapids
pale void
pale void
#

Mais c’est le même fonctionnement partout.

dire latch
pale void
ashen rapids
pale void
#

Je l’ai dit juste au-dessus…

dire latch
#

Je ne pense pas qu'une personne random à le droit de vérifier des pass sans raison 🤷‍♀️

pale void
#

Cette app est pour ma bibliothèque où on doit scanner les pass sanitaires de clients pour les laisser entrer…

dire latch
#

Ba tu passes par leur appli 🤔

pale void
#

Hein ?

dire latch
#

Je ne comprends pas trop, je crois pas que tu as le droit de copier leur appli mdr

ashen rapids
#

En effet ça me semble bizarre que TAC propose aucune Doc pour les devs qui veulent vérif les pass

pale void
pale void
#

Et c’est pas nouveau que le gouvernement et l’open data c’est pas la folle histoire d’amour

dire latch
pale void
#

Mais non !

#

Bref, je vais manger. J’essaie avec base45-js et je vous redis ça

ashen rapids
#

Des milliers d'infrastructures doivent donc s'adapter sans documentation ?

Comment ils ont réussi à s'adapter sans documentation ? Je trouve ça étonnant

dire latch
#

Mais ils utilisent l'appli officiel

#

Car ils passent par leur base de donnée

ashen rapids
dire latch
#

Pour le pass, ils utilisent leur propre bdd, donc je ne pense pas qu'il te donne accès à ça mdr

#

Donc bon

ashen rapids
#

Je suis curieux de savoir par quelle application ils fonctionnent et comment y accéder

#

Doit bien y avoir l'info quelque part

dire latch
#

Je ne pense pas que sa devient légal sur ce coups mdr

ashen rapids
#

Les bars utilisent quoi ?

#

L'appli officielle ?

dire latch
#

Une appli officiel oui

ashen rapids
#

Ils ont une appli exprès qui est fournie juste pour eux ?

dire latch
#

Pas que pour eux

ashen rapids
#

Oue ok ça se tient

dire latch
#

Pour tout les magasins

ashen rapids
#

Ha j'ai !

#

Ils doivent utiliser ça peut-être

dire latch
#

Yes

ashen rapids
#

Oui donc je suis
Je pense que s'il y a pas de Doc, c'est interdit de faire autrement mais à vérifier

timid loom
#

la vérification est disponible pour n'importe qui

#

t'as juste aucun détail

spring dock
#

Pas parce que y a pas de doc que c'est interdit 🤔

dire latch
#

Ba si

spring dock
#

Bah non?

dire latch
#

Tu n'as pas le droit de copier leur appli, de plus, tu ne vas pas avoir accès à leur bdd

ashen rapids
#

Non bien-sûr

dire latch
#

De plus, si tu y as accès, tu pourrais te mettre le pass et tout donc bon, pas très légal

spring dock
#

Hein

ashen rapids
#

Mais ya aucune info à ce niveau

dire latch
#

Sa te dis si tu as le pass, donc si 🤔

#

Surtout que ya ton nom/prénom

timid loom
#

par défaut @spring dock si une api n'est pas publiquement documentée tu dois considérer qu'elle est probablement pas publique

#

je pense

dire latch
#

Exact

#

Surtout une appli du gouvernement mdr

timid loom
#

rien de légal dans ce que je dis je sais pas si c'est réellement interdit hein mais c'est un conseil que je donne

spring dock
#

Je pense que s'il y a pas de Doc, c'est interdit
je répondais juste à ça qui laissait penser que pour lui dans n'importe quel cas, une api sans documentation publique était forcément interdite d'utilisation

#

et j'insiste sur le "interdite"

timid loom
timid loom
#

comme ça aucun risque

pale void
pale void
dire latch
#

Et ils font comment pour savoir si vous avez le pass alors 🤔 @pale void

#

Par magie ?

pale void
dire latch
#

Ok mek

#

Si tu le dis mdrr

pale void
#

On y récupère le date de vaccination, on check le vaccin et on vérifie que la pass ait plus de 7 jours si une vaccination avec Cominarty (Pfizer), plus de 28 si c’est avec Jansen, etc

dire latch
#

Je pense que tu ferais mieux de te renseigner toi mdrr

pale void
#

Bah vas-y… je t’écoute…

#

Qu’est-ce que tu as trouvé que mes heures à consulter les papiers officiels sur TAC ne m’ont pas appris ?

timid loom
# pale void Mais il n’y a aucune API avec TAC… Renseignez-vous un peu, avant…

j'assume totalement répondre sans aucun renseignement (je l'ai dit juste après)
ça me paraît effectivement bizarre que la vérification se fasse via une base de données, cela dit je pense qu'il existe effectivement une application (sans doute pas tous anti covid ou un autre quelconque outil disponible au public) qui peut réaliser des recherches dans une base de données qui doit n'être accessible qu'au personnel soignant ou l'assurance maladie, contrairement à ce que tu dis dans ton message juste au-dessus
rien que le si-dep pour les tests semble attester cette théorie

pale void
#

Mais non, il n’y a aucune base de données des pass sanitaires !

#

Toute vérification se fait grâce aux QRCodes

#

T’imagine si n’importe qui pouvait désactiver le pass sanitaire d’un autre en enlevant son enregistrement dans la DB ?

timid loom
#

pas des pass sanitaires, mais pour la nécessité de remboursement des vaccins il y a au moins une liste pour l'assurance maladie

pale void
#

Ah, oui, ça oui

timid loom
#

je dis pas que n'importe qui y a accès

pale void
#

Mais je parle ici de la vérification de la validité de pass sanitaire avec QRCode

timid loom
#

ouais effectivement

pale void
#

Si je suis ton raisonnement, bien sûr qu’accéder à ces renseignants est illégal

#

Je ne m’y risquerai pas, déjà pr éthique

#

Ensuite parce que ça doit juste être relou à mettre en place x)

timid loom
#

ça je me doute que la vérification se fait pas via bdd
au delà du problème éthique, si toutefois il y a une panne des serveurs ou une avarie d'accès à un internet du côté de l'utilisateur ça devient inutilisable (ce qui me semble peu probable)

pale void
#

Oui, ça c’est sûr

timid loom
#

bref évidemment ça ça fait aucun doute

#

mais voilà je préférais prévenir juste au cas où sur le sujet des apis non documentées

pale void
#

Mais ce n’est justement pas une API 😶

dire latch
#

Sa se fais via bdd 100%

spring dock
#

t'es borné toi

pale void
#

Mais Glen fais exprès !?

#

*t’en

dire latch
#

Tu comprends rien toi, à croire que tu as raison -__-

pale void
#

Lis les papiers officiels ! Renseigne-toi ! Fais quelque chose !

#

Mais j’ai raison !

dire latch
#

Toi renseigne toi, tu as totalement tort

pale void
#

Scan ton QRCode, fais des recherches, enfin !

pale void
timid loom
pale void
#

D’où tiens-tu tes informations ?

dire latch
#

J'ai pas de QRCODE, sorry man

pale void
pale void
#

De mieux en mieux !

dire latch
#

Mdrr

timid loom
#

pas la peine d'aller sur ce terrain

pale void
#

Donc ça parle sans avoir fait de recherches…

dire latch
#

Donc je suis antivax car je me suis pas fais vacciné ?

pale void
dire latch
#

Ta mentalité = 0

timid loom
#

juste mcduck du point de vue technique c'est peu probable qu'un scan de ce type soit fait sur une api

pale void
dire latch
#

Va ailleurs car tu as un comportement de gamin là

pale void
timid loom
dire latch
timid loom
#

nan, mais pas la peine de le provoquer derrière

dire latch
#

Ba c'est un comportement de gamin, c'est pas de ma faute sur ce coups, qu'on sois pas vacciné, en quoi on est antivax, quesce qu'on s'en fout mdr

#

Mais bref

pale void
#

Bref, moi, tout ce que je dis, c’est que camper sur des positions sans avoir de recherches alors que le camp d’en face nous prouve par a+b qu’on a tort, c’est de la stupidité pure et dure

timid loom
#

nan mais arrête en fait

#

et toi aussi @pale void

pale void
#

C’était mon dernier message sur le sujet

#

Je vous donnerai donc un retour sur la solution de Calypso demain, une fois que j’aurai pu la tester 👌

#

Et comme y’a que les cons qui ne changent pas d’avis, je voudrai m’excuser de l’allusion puérile, ça c’est sûr, à propos des antivax.

ashen rapids
#

Mais tu l'avais pas déjà testé ?

pale void
#

Pas sur le projet Expo

#

Mais sur le NodeJS tout court il ne fonctionnait que très mal

ashen rapids
#

C'est normal car c'est pour du JS