#javascript-typescript

1 messages · Page 48 of 1

oak turret
#
 const raison = message.content.split(" ").slice(1).join(" ");
        if(!raison) return message.channel.send(`${message.author}, vous devez spécifier une raison !`);
        const embed = new Discord.MessageEmbed()
        .setColor("#0099ff")
        .setTitle("Commandes | aLife")
        .setAuthor(message.author.tag, message.author.avatarURL)
        .setDescription("Votre demande a était envoyée.\n Vous devez savoir qu\'une mort rôle-play engendre une suppression de votre personnage et tous ses biens. \n Une fois fais, aucun retour en arrière est possible.")
        .setTimestamp()
        .setFooter("aLife | Bot", "https://i.imgur.com/T7beXKg.png");
        message.author.send(embed);

Juste comme ça

#

c'est résolu

#

j'ai juste fait une const = message.author.avatarURL();

#

et ${avatar}

#

Et sinon pour mon problème de db.get dans mon embed comment je peux l'use ? j'ai pas trouvé

oak turret
#

Bon en fait je vais renoncer à compter les tickets, j'ai delete enmap et bettersqlite3 de mon dossier, mais du coup mon ticket ne s'envoie plus, (j'ai remis comme avant), wtf ?

slim anvil
#

c'est dommage de baisser les bras, t'aurai du continuer et essayer des trucs

#

de chercher sur internet etc, pas demander dès que tu bloques

oak turret
#

Bah ça fais depuis ce matin que je cherche ^^, j'ai pas envie de bloquer sur un truc qui est pas vraiment indispensable, je me remettrais dessus plus tard mais pour l'instant ça me parait pas indispensable ^^

crimson fern
#

T'avais essayer de console.log ?

oak turret
#

ouais mais il voulait pas me le prendre

slim anvil
#

Faut console.log avant l’erreur harold

oak turret
#

y en avais pas xD

#

j'en fais plein pour mon intranet mais là y en avais pas xD

slim anvil
#

Tu regardais bien dans la console hein harold

oak turret
#

bah oui sue

slim anvil
#

Et tu l’avais mis où exactement ? Dans ta commande pour compter les tickets ?

oak turret
#

mais merci pour votre aide ! Quand je le referais je reprendrais le code et je le ferais fonctionner coute que coute xD

#

j'avais fais une const nbr_ticket = db.get(user.{message.author.id}.ticket);

#

et je faisais juste ${nbr_ticket} pour l'afficher

#

mais en fait

slim anvil
#

hein

oak turret
#

j'ai capté que mon return; arrêtez le code là

slim anvil
#

c’est quelle langue ça harold

oak turret
#

c'est ce que m'avais donner Samuel

#
const db = new Enmap({name: "tickets"});
        const nbr_ticket = db.get(`user.{message.author.id}.ticket`);
        if(!db.get(`user.${message.author.id}.ticket`)) return db.ensure(`user.${message.author.id}.ticket`, 0); 
         const reason = message.content.split(" ").slice(1).join(" ");
         if(!reason) return message.channel.send("Vous devez mettre une raison ! `&ticket raison`");
         else {
            db.math(`user.${message.author.id}.ticket`, "+", 1)
             return;
            
         }
          message.author.send(`Bonjour/Bonsoir ${message.author}, un membre de notre équipe va prendre en charge votre ticket.`);
         const admin_send = client.guilds.cache.get('708665648494149693').channels.cache.get('708729093834670161');
         const admin_embed = new Discord.MessageEmbed()
         .setColor("#0099ff")
         .setTitle(`Ticket n°${nbr_ticket} de ${message.author.tag}`)
         .setAuthor("aLife | Bot", "https://i.imgur.com/T7beXKg.png", "https://alife.mtxserv.com/")
         .setDescription("<@&709126548657274952>")
         .addFields(
            { name: 'Utilisateur', value: `${message.author}`, inline: true },
            { name: 'Raison', value: `${reason}`, inline: true },
            { name: 'Channel', value: `${message.channel}`, inline: true },
            
         )
         .setTimestamp()
         .setFooter("aLife | Bot", "https://i.imgur.com/T7beXKg.png");
         admin_send.send(admin_embed);
     }
slim anvil
#

il a du oublier le $

#

t'aurai pu le voir

#
db.get(`user.${message.author.id}.ticket`)
crimson fern
#

Ah fuck peut-etre

#

Ah bah non moi je les avait pas oublié

oak turret
#

non non je l'avais bien mis ^^

#

juste là je l'ai oublié

zenith condor
#

Bonjour Bonsoir,
je suis actuellement entrain de faire un bot embed j'ai sus faire la base mais je sais pas ou placée le @ everyone et surtout quelle est la commande
Voici ma ligne de code :

client.on('message', (message) => {

            if(message.content.startsWith(prefix+'annonce')){
                message.delete();
            
            
          
              var arg = message.content.split(" ").slice(1)
              var contenu = arg.join(" ")
          
              if(!arg[0]){return message.channel.send('syntaxe incorrect')}

              const emebed = new Discord.MessageEmbed()
               .setAuthor("Annonce", client.user.avatarURL)
               .setColor('#2f6ae0')
               .setDescription(contenu)
               .setFooter(`Demande traité par ${message.author.displayName}`, message.author.avatarURL)
               .setTimestamp();
          
               message.channel.send(emebed)
          
            
          
            }
          
          
          })
red snow
#

C'est à dire ou placer le everyone ?

zenith condor
#

je voudrais ping everyone sur le embed en gros

red snow
#

Déjà il faut le placer en dehors de lembed, sinon ça mentionnd pas je crois

#

Mais du coup

#

Pour mentionner tu fais

#

message.channel.send(`${message.guild.roles.everyone}`)

zenith condor
#

merci

red snow
#

Avec bien ces guillemets la

zenith condor
#

d'accord merci

red snow
#

Pas de soucis :)

slim anvil
#

pourquoi tu le mets entre ‘ ‘ ??

#

Si tu passes qu’une seule variable pas besoin de la mettre dans une string thinkintense

zenith condor
#

🤔

red snow
#

Ça mentionne pas sino'

#

Enfin du moins avec les joueurs ça mentionne pas

zenith condor
#

Perso sa marche bien donc voila

slim anvil
#

mais tu peux juste faire .send(message.guild.roles.everyone) pas besoin de ‘ ‘

red snow
#

Ui

slim anvil
#

Tu crées une string pour juste passer une variable c’est pas utile

red snow
#

Moi quand je fais ça ça mentionne pas

#

Ça mets juste l'id

zenith condor
#

ah

slim anvil
#

Ah bon bizarre les ids sont de type number peut être alors du coup ça créer pas de string

#

Possible

zenith condor
#

D'ailleurs sur cette ligne de code :
.setFooter(`Demande traité par ${message.author.displayName}`, message.author.avatarURL)
Voilà ce que sa me fait

#

Alors que c'est sensé mettre le nom de la personnes qui à poste le message

#

Affaire résolu enfaite

oak turret
#

réglé ^^

oak turret
#

Re-bonsoir, après avoir réussi à héberger mon bot, je viens de voir qu'à chaque lancement d'une commande il me dit que mon client const client = new Discord.Client() n'est pas lisible ou qu'il n'existe pas alors que ça marchais bien en local :x
Et du coup il ne me lance pas mes commandes

slim anvil
#

tu as npm i ?

oak turret
#

tout est bien installé, il se lance tout bien etc

#

mais le client passe pas

#

hébergé heroku d'ailleurs

zenith condor
#

Re, je galère un peux pour mettre en place un système de warn sur mon index.js
Voici la ligne de code (je pense pas trop c'est fait pour que se soit dans le index.js)

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

    if(message.channel.type === "dm") return;
    message.delete()
    if(message.author.bot) return;
    var  mentionned = message.mention.users.first()
    if(!message.guild.member(message.author).hasPermission("VIEW_AUDIT_LOG")) return message.reply("Tu n'as pas les permissions ! :rage: ")
    if(message.mention.user.size === 0) { 
        return message.channel;send("Tu as oublié de ping l'utilisateur ! :exploding_head: ")
    }else{ 
        const args = message.content.split(' ').slice(1)
        if(args[0] === "<@!" + mentionned.id + ">" || args[0] "<@" + mentionned.id + ">"){
            if(args.slice(1).lenght !=0) {
                message.channel.send(`${mentionned.tag} à été averti !`)
                mentionned.send(`Salut, tu viens d'être warn par ${message.author.username}\nRaison : ${args.slice(1).join(' ')}`)
            }else{
                return message.reply("Syntax incorrect")
            }
        }else{
            return message.reply("Syntaxe incorrect")
        }
    }
}

module;exports.help = { 
    name:
}

es-ce que je pourrait avoir les bonnes lignes de code pour les warns ?

oak turret
#

et j'ai look sur internet mais rien qui m'aiderais

slim anvil
#

@zenith condor module.exports

zenith condor
#

a oui

#

Marche toujours pas

#

je crois que c'est parce que c'est pas fait pour que se soit dans l'index.js

slim anvil
#

if(args.slice(1).lenght !=0) {

#

je regarde rapido car je joue

#

mais length

#

pas lenght

#

pas bonne la condition non plus

#

relis ton code y a quelques coquilles

zenith condor
#

oue je sais bien

#

je galère un peux je vais pas te le cacher je débute dans le js

slim anvil
#

commence pas avec une librairie alors

crimson fern
#

evite les var aussi

slim anvil
#

mais avec du js vanilla

crimson fern
#

utilise des const dans ton cas

#

vu que tu édit 0 variables

zenith condor
#

c'est pas un .js a part il est dans le index

crimson fern
#

Tu fais un export dans ton fichier principal ?

zenith condor
#

Oui je fais tout sur le même fichier

crimson fern
#

Tu as copié le code sur internet ?

zenith condor
#

Je l'ai appris sur internet, c'est un pote qui ma conseillé de faire sa

crimson fern
#

Et bien les modules.exports se font dans un autre fichier

#

et non dans le fichier principale

zenith condor
#

tu n'aurais pas le code pour le warn ?

crimson fern
#

Tu l'adaptes

zenith condor
#

how ?

crimson fern
#

tu check si le content du message = ton prefix + 'warn'

#

et tu enleves tous les modules.exports

zenith condor
#

oki doki merci @crimson fern et @slim anvil

#
client.on('message', (message) => {
if(message.content.startsWith(prefix+'warn')){
                    message.delete();
``` c'est good sa pour le début du code
crimson fern
#

faudrait fermé ton accolade

zenith condor
#

nn mais j'ai la suite

crimson fern
#

sinon oui

#

et respecte les tabulations

#

et

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

Cliquez sur 📄 pour accéder au message.

evite les var aussi

zenith condor
#

d'acc merci

#

Je mets quoi a la place du var ?

crimson fern
#

const

#

tu édit pas tes variables

zenith condor
#

d'acc

#
if(args[0] === "<@!" + mentionned.id + ">" || args[0] "<@" + mentionned.id + ">"){

Je suis bloqué sur cette ligne je fais quoi ?

slim anvil
#

aucun intérêt de lui dire d'utiliser des const ou let, il faudrait simplement qu'il aille apprendre les bases du js

crimson fern
#

Bloqué ou ne pas essayé de chercher 🤔

slim anvil
#

les conditions, les variables

zenith condor
#

thx

zenith condor
#

Hey, est-ce qu'on pourrait me dire qu'elle est le problème avec mon scripte pour clear ?

// Clear

client.on('message', (message) => {
  if(message.content.startsWith(prefix+'clear')){
    message.delete();

    if (!message.member.hasPermission("MANAGE_MESSAGES")) return message.channel.send("Tu n'as pas les permissions sufisante !")
    if (!args [0]) return message.channel.send("Il faut inclure un nombre apres le\`!clear` !")

    message.channel.bulkDelete(args[0]).then(() => {
      message.channel
        .send ("**" + args[0] + "messages supprimer")
        .then(msg => msg.delete(6000))
    })
  }
})
slim anvil
#

!args [0]

#

l'espace en trop entre les 2 déjà

zenith condor
#

faut pas d'espace ?

slim anvil
#

bah non

#
if (!args[0]....
zenith condor
#

marche toujours pas😕

slim anvil
#

tu as pas une erreur ?

zenith condor
#

non

#

sa crash quand je fait la commande

slim anvil
#

Donc tu as une erreur

#

c'est quoi l'erreur affiché

zenith condor
#

att

#
ReferenceError: args is not defined
    at Client.<anonymous> (e:\LuxBot\index.js:114:5)
    at Client.emit (events.js:323:22)
    at MessageCreateAction.handle (e:\LuxBot\node_modules\discord.js\src\client\actions\MessageCreate.js:31:14)
    at Object.module.exports [as MESSAGE_CREATE] (e:\LuxBot\node_modules\discord.js\src\client\websocket\handlers\MESSAGE_CREATE.js:4:32)
    at WebSocketManager.handlePacket (e:\LuxBot\node_modules\discord.js\src\client\websocket\WebSocketManager.js:386:31)
    at WebSocketShard.onPacket (e:\LuxBot\node_modules\discord.js\src\client\websocket\WebSocketShard.js:436:22)
    at WebSocketShard.onMessage (e:\LuxBot\node_modules\discord.js\src\client\websocket\WebSocketShard.js:293:10)
    at WebSocket.onMessage (e:\LuxBot\node_modules\ws\lib\event-target.js:125:16)
    at WebSocket.emit (events.js:311:20)
    at Receiver.receiverOnMessage (e:\LuxBot\node_modules\ws\lib\websocket.js:800:20)
slim anvil
#

Bah yes, c'est assez clair

#

tu utilises la variable args mais tu l'as récupères d'où

zenith condor
#

ah c'est pas bête

#

pourtant args je l'ai utilisé sur toutes mes commandes et elle fonctionne bien

slim anvil
#

Oui mais car tu as du le définir

#

là c'est pas le cas

zenith condor
#

ahhh ok

#

merci merci, je vais modif sa

full scaffold
#

Je cherche à faire un embed qui aura comme author l'avatar et le pseudo du user qui a emit le message mais comment faire :/

#

Finalement j'suis juste con

#

.setAuthor(msg.author.username, msg.author.avatarURL(16,128,true))

oak turret
#

@full scaffold fais une const avatar = message.author.avatarURL()

#

puis tu fais : ${avatar}, ce que tu veux

red snow
#

Il a trouvé

oak turret
#

ouais mais j’lui donne une autre soluce !

#

c’est toujours bien d’en avoir plusieurs

slim anvil
#

@oak turret à la limite faire un

const { author } = msg

car ensuite tu réutilises author un peu partout ok, mais juste stocker un avatar, alors que tu l'utilises une fois, ça n'a pas grand intérêt

oak turret
#

question d’opti à ce moment-là

slim anvil
#

question d’opti à ce moment-là
waitwhat

#

qu'est-ce qui est une question d'opti

timid loom
#

c'est pas de l'opti c'est juste de la lisibilité

full scaffold
#

Je ne trouve pas comment récupérer le salon pour les messages systèmes :/

timid loom
#

Je te conseille d'éviter de compter là-dessus parce que c'est rarement défini

crimson fern
#

D'ailleurs Firyo, utilise displayAvatarURL

full scaffold
#

Sinon j'vais en prison ?

#

Mais j'avais trouvé entre-temps Taink

#

Je demande sur gca et je trouve 5 sec après enfait

crimson fern
#

C'était un conseil

full scaffold
#

Mais genre pourquoi je devrais le changer

crimson fern
#

Mais si la personne n'a pas d'avatar, ca va te mettre une erreur console

full scaffold
#

ok

crimson fern
#

Et pas envoyer l'embed

full scaffold
#

Je change ça ducoup

#

J'ai ça comme code et ça ne fonctione pasjs member.guild.channels.get(member.guild.systemChannelID).send("Coucou");});

#

TypeError: member.guild.channels.get is not a function

hybrid berry
#

Salut les coupaings, comment update nodejs sur v.12 sur linux

slim anvil
#

Si tu uses nvm

nvm use 12.xx.xx
``` par ex
#

xx par les numéros si tu veux une version précise

hybrid berry
#

C'est quoi nvm ?

full scaffold
hybrid berry
#

Si c'est pour faire sa je ne vois même pas pourquoi tu es dans ce channel

#

ce n'est pas parce que je demande l'utilisation que je ne me renseigne pas

slim anvil
#

node version manager, en gros avec nvm tu gères facilement tes versions npm et node

#

vulgairement haha

hybrid berry
#

Tu connaîtrais des cours ?

full scaffold
#

des cours de ?

hybrid berry
#

j'ai envie de dire de création de bot discord

#

même si sa ne veut rien dire

full scaffold
#

Youtube aide pas mal

#

La doc est grave utile aussi

red snow
#

Le JS c'est pas mal aussi, faut commencer par ça

#

Si tu ne sais pas déjà le faire

full scaffold
#

J'arrive pas à tag un user, rendu : @Berthram#8575
Code : ```js
@${member.user.tag}

magic orbit
#

Essaie avec <@${member.user.id}>

#

Mais je crois que ça marche si tu met seulement ${member.user} mais j'ai pas test

full scaffold
#

<@${member.user.id}> fonctionne merci

magic orbit
#

De rien

timid loom
#

tu peux juste mettre ${member}

full scaffold
#

Roger roger

full scaffold
#

J'ai un système dans lequel j'envoie un MP au nouvel arrivant du discord et je cherche un event du genre le bot reçoit un mp

red snow
#

Les MP c'est compté comme l'event message

full scaffold
#

ok

red snow
#

Après pour vérifier si c'est en mp je regarde ça

#

Tu as deux façon :
if(message.guild === null)
ou
if(message.channel.type === dm)

#

Essaye un des deux j'ai pas test

full scaffold
#

Le type fera l'affaire

full scaffold
#

J'arrive pas à set un role sur un user, avec js msg.author.roles.add("710375902269276291");

fringe wyvern
#
msg.author.addRole( "710375902269276291" );
#

essaies ca

full scaffold
#

TypeError: msg.author.addRole is not a function

timid loom
#

author est un User

#

Vous voulez un GuildMember

full scaffold
#

hmm

slim anvil
#

Tu veux ajouter un rôle au membre du discord

full scaffold
#

oui

slim anvil
#

pas à l'utilisateur lui même

full scaffold
#

En effet

slim anvil
#

on t'aiguille

full scaffold
#

J'avais compris 😦

slim anvil
timid loom
#

je vais être sympa

full scaffold
#

Pour changer ducoup

timid loom
#

msg.guild.members.cache.get(id)

#

aok firyo

#

si t'es en v11

full scaffold
#

v12

timid loom
#

msg.guild.members.get(id)

#

voilà

#

att

full scaffold
#

ok

timid loom
#

t'es en v11 ou en v12 ?

full scaffold
#

le id je mets l'id de la guild ?

#

V12

timid loom
#

nop du membre

#

ok

full scaffold
#

k

timid loom
#

alors

#

msg.guild.members.cache.get(msg.author.id)

#

par exemple

full scaffold
#

Je vois

timid loom
#

et du coup pour ajouter un rôle

#

msg.guild.members.cache.get(msg.author.id).addRole(idDuRole)

full scaffold
#

C'est ce que je venais de faire

timid loom
#

alz

full scaffold
#

Ducoup vu que le message viens d'un DM j'peux pas utiliser guild

#

J'ai fais ça js const myGuild = client.guilds.cache.get('710266507053105182');

timid loom
#

ouais

full scaffold
#

Mais ducoup le msg devant guild est useless

#

(le premier)

timid loom
#

ton bot du coup ça veut dire que tu peux l'utiliser que sur un seul serveur

full scaffold
#

oui

timid loom
#

okk

full scaffold
#

TypeError: myGuild.members.cache.get(...).addRole is not a function

#
const myGuild = client.guilds.cache.get('710266507053105182');
myGuild.members.cache.get(msg.author.id).addRole("710375902269276291");
console.log(myGuild);```
timid loom
#

ah ils ont changé ça aussi sur la v12

full scaffold
#

ah

timid loom
#

du coup c'est myGuild.members.cache.get(msg.author.id).roles.add("710375902269276291");

full scaffold
#

ah

#

J'suis con bordel

timid loom
#

haha

#

il faut lire la doc

full scaffold
#

Et c'était bien roles.add

#

Yes ça fonctionne

hybrid berry
#

elle comment je peux get le name de l'owner de la guild ?

timid loom
#

@hybrid berry va sur la doc de Guild

#

et tu trouveras

oak turret
hybrid berry
#

Je me demande si je suis dans un channel d'entraide ou google sérieusement

timid loom
#

Tu vois t'aurais posté ton screen plus tôt

#

t'aurais gagné du temps

red snow
#

Il faut faute client.guilds.cache.get

timid loom
#

du coup il se passe quoi autour de la ligne 139 ? où est-ce que ça se situe

hybrid berry
#

bon j'ai presque réussi

#

mis il me sort undefined

timid loom
#

ok

#

c'est quoi ton code

hybrid berry
red snow
#

.owner.user.username

#

Ou

timid loom
#

message.guild.owner.user.tag

oak turret
#

.tag

hybrid berry
#

oui mais je veux le nom pas le tag ?

timid loom
#

Le nom sera dans le tag

red snow
#
`${message.guild.owner} `
oak turret
#

le tag = Tata#0000

red snow
#

Ça mettra la mention

timid loom
#

ça fera ça un truc de ce type : "Taink#9231"

hybrid berry
#

mais je veux pas que l'owner sois ping

timid loom
#

il sera pas ping

red snow
#

Il le sera pas

hybrid berry
#

okok

oak turret
#

ça affichera juste

timid loom
#

au pire teste hein ¯_(ツ)_/¯

hybrid berry
#

mais pourquoi username me return endefined ?

red snow
#

Il y aura juste son profil comme ça @red snow mais sans mention

#

Parce que cezt message.guild.owner.user.username je crois

timid loom
#

guild.owner retourne un guildmember
hors voilà ce que contient un guildmember

#

y a pas de propriété "username"

#

donc ça return undefined

oak turret
#

juste user

red snow
#

Trop de chznce de pas être sur Tel vous

oak turret
#

xDD

timid loom
#

c'est pour ça que je te dis : "va sur la doc de Guild et tu trouveras"

#

parce que tout est sur la doc

red snow
#

En vrai, si tout le monde regardez la doc, ce serait tellement mieux

oak turret
#

même t'as des mecs qui ont eu le pb avant toi et qui ont postés des trucs

red snow
#

Après ya des erreurs un peut plus complexes

timid loom
#

après ouais c'est vrai qu'on te sort les mêmes réponses que google
mais c'est parce que les solutions sont les mêmes pour tout le monde

red snow
#

Mais pour les petites erreurs de ce genre faut look la doc

oak turret
#

et puis c'est de l'entraide puisque on te donne les liens avec la réponse dedans 👀

red snow
#

Après ya des fois on trouve pas même avec la doc alors que c'est tout con (Oui je me vise)

oak turret
#

on est deux mdrr

timid loom
#

c'est toujours sur la doc

hybrid berry
#

Mais Taink je vois pas de tag dans ton screen

timid loom
#

normal

#

je te dis de prendre la propriété user de ton owner

#

donc

ancient sonnetBOT
#
Citation de Taink#9231 posté dans #aide-bots

Cliquez sur 📄 pour accéder au message.

message.guild.owner.user.tag

timid loom
#

parce que le user contient la propriété tag

hybrid berry
#

tu vois sa ou ?

timid loom
#

ok

#

att

#

je vais faire un gif

oak turret
#

en gros quand tu cliques sur un truc tu peux voir ce que tu peux utiliser avec

#

genre user.tag

timid loom
red snow
timid loom
#

pas plus compliqué que ça

hybrid berry
#

ouaaah faut chercher 😂

oak turret
timid loom
#

ça s'appelle lire la doc @hybrid berry

#

si t'en es pas capable c'est pas la peine d'essayer de faire un bot

hazy mirage
#

@timid loom fais une commande doc discord js stp 😂

timid loom
#

C'est une des docs les plus simples à lire que j'ai vues

oak turret
#

y a des exemples presque partout en plus

hazy mirage
#

Omg qu’est-ce que tu montre sur la vidéo ci dessus ? Qu’est-ce que ça a l’air bien !!!! soif

timid loom
#

Je peux te montrer la doc d'Android

#

parce que ça c'est moins rigolo

red snow
#

La doc de gmod

#

La doc de XenForo

#

Meilleure doc c'est largement discordjs effectivement

#

Et Spigot

#

(ça n'a rien avoir)

hybrid berry
#

et autre petite question, comment faire des mises en formes comme ceci

timid loom
#

comment ça ?

red snow
#

La troisième option

timid loom
#

c'est un embed

red snow
#

Le booleen

hybrid berry
timid loom
#

ah

#

le truc à trois sur une seule ligne

#

ouais c'est la propriété inline du champ que tu veux ajouter

hybrid berry
#

bah pour faire une mise en forme comme sur les 2 screens

timid loom
#

ouais

#

trois sur une seule ligne

hazy mirage
#

C’est le bool inline sur le addField (j’espère que j’ai pas fais de faute soif)

timid loom
hybrid berry
#

j'ai trouvé je cherchais RichEmbed

timid loom
#

t'es sur la v11 de discord.js ?

#

yes

hybrid berry
#

oui

timid loom
#

c'est à dire ?

hazy mirage
#

Cela n’est possible que si le bot est owner du discord

hybrid berry
#

bah que le bot puisse setowner

ancient sonnetBOT
#
Citation de SuperBurger#6853 posté dans #aide-bots

Cliquez sur 📄 pour accéder au message.

Meilleure doc c'est largement discordjs effectivement

timid loom
#

ah ouais il doit être owner obviously

hybrid berry
#

un bot peut être owner ?

crimson fern
#

Celle d'eris est meilleur

timid loom
#

ouais

#

si il crée la guild

hybrid berry
#

ok merci pour ton aide

oak turret
#

Bonsoir, vous pensez qu’on peut use l’api top-serveurs avec un bot ? genre récup tous les votes et les afficher dans un embed ?

timid loom
#

Tu peux recup les votes

#

donc les afficher dans un embed je pense ouais

oak turret
#

yep je l’ai fais en php

#

mais sur un bot j’en ai aucune idée

timid loom
#

je vois pas pourquoi ça serait pas possible

oak turret
#

je me posais la question

#

je vais essayer, mais merci ^^

red snow
#

Perso je fais ça avec gmod-servers on peut recup les joueurs hyper facilement

#

Les votes les joueurs, les donateurs

red snow
#

Bonjour, du coup pour les invite @slim anvil je viens de regarder l'objet user, et il ne renvoie pas d'invitation :/ Comment je pourrais faire ?

crimson fern
#

Faut check les invitations dans une guild

#

Si c'est ca que tu veux faire

red snow
#

J'aurais pu faire ça, mais du coup, si l'utilisateur quitte, et qu'il revient, il aura des invitations

slim anvil
#

Pas sur que tu puisses gérer ce cas là, sauf si tu as une date sur les invitations

red snow
#

Ah :/

slim anvil
#

du coup tu check le member join et le createdAt de l'invitation

#

je pense

#

Mais no sé si il y est sur l'invitation ce champs

red snow
#

Et tu pense que mettre tous les utilisateurs dans une base de donnée ça serait opti ?

slim anvil
#

Pourquoi faire

red snow
#

A oé non enft

slim anvil
#

ça dépend l'objectif

red snow
#

Parce que ça servira a rien

slim anvil
#

si c'est juste les mettre en base ça sert à rien haha

red snow
#

Parce que j'allais dire, comme ça, si l'utilisateur est dans la base, de pas rajouter d'invitation, mais c'est discord qui gère ça

slim anvil
#

Tu peux gérer le truc de ton côté

crimson fern
#

Tu veux faire quoi exactement ?

slim anvil
#

mais tu vas rentrer dans un chantier énorme

#

juste pour count des invitations

red snow
#

Nono je vais pas gérer de mon côté

slim anvil
#

En soit que le mec leave et rejoin

red snow
#

ça sera beaucoup trop long alors qu'il y'a invite manager

slim anvil
#

c'est normal qu'il ai encore les invitations

red snow
#

Mais du coup je me demande comment ont fait les créateurs d'invit manager 🤔

slim anvil
#

Ils doivent gérer le truc sur des bases à eux

#

car tu peux clear les invitations de certains users etc

#

donc je pense qu'ils stockent toutes les informations nécessaires chez eux direct

#

après c'est un je pense

red snow
#

ça a du être un travail monstrueux :o

#

Moi qui croyait que c'était simple

brave coral
#

Bonjour j'aurai besoin de quel que conseille pour connecter mon bot discord a mon site web en JS (pour la partit bot) ou le PHP (pour la partie web) merci d'avance 🙂

crimson fern
#

Utilise express

#

Et tu vas devoir créer une api pour relier le bot au site (c'est ce que j'ai fait)

rough summit
#
module.exports.run = (lwmc, message, args, LogsAll, err, fs) => {
    const Discord = require("discord.js")
    if (!message.channel.name === "ticket") return err.noTicket(message.channel)
    let modo = message.guild.roles.find(r => r.id === "647182175405604920")
    let web = message.guild.roles.find(r => r.id === "646592479587598336")
    let claimer = message.author.id
    console.log(claimer)
    message.channel.replacePermissionOverwrites({
        overwrites: [
            {
                id: claimer,
                allow: ["VIEW_CHANNEL", "SEND_MESSAGES"],
                deny: []
            },{
                id: web,
                deny: ["VIEW_CHANNEL", "SEND_MESSAGE"],
                allow: []
            },{
              id: modo,
              deny: ["VIEW_CHANNEL", "SEND_MESSAGE"],
              allow: []
          }
        ],
    })
    let embed = new Discord.RichEmbed()
    .setAuthor("Ticket Claim")
    .setDescription(`By : ${message.author.tag}(${message.author.id})`)
    lwmc.channels.get(LogsAll.ticket).send(embed)
}
module.exports.help = {
    name: "claim",
    desc: "Claim un ticket ( support seuleument )"
}
```Et l'erreur ``UnhandledPromiseRejectionWarning: RangeError: Invalid bitfield flag or number.``
red snow
#

Elle te renvoie quelle ligne ?

keen narwhal
#

Bonjour

#

Quelqu'un sait comment mettre un lien dans un embed ?

#

Je suis en python

slim anvil
#

c'est du markdown

[text apparant](https://lien.com)
full scaffold
#

Bah un bot peu être dans plusieurs discord à la fois

red snow
#

Pour récupérer l'id tu fais client.guilds.cache.get('id')

crimson fern
#

Attend, tu veux get l'id d'un serveur en faisant un get avec l'id de ce serveur

#

C'est pas logique

red snow
#

Hein?

#

Je veux juste get l'id d'un serveur

crimson fern
#

Bah il demande comment avoir l'id d'un serveur

#

Mais la tu get via l'id du serveur

red snow
#

Oui et ?

crimson fern
#

Bah avec ton code il sait deja l'id alors qu'il le cherche

red snow
#

Non je veux juste lui dire que ici 'id' c'est l'id qu'il fuat qu'il mette

crimson fern
#

J'ai pas reellement compris ce que tu voulais faire Arthur

red snow
#

Get un serveur

#

Je pense

crimson fern
#

Comment je pourrais récuperer l'id

#

et non récupérer une guild via un id 🤷 c'est ca qui m'étonne vu que tu lui as passé un code pour récupérer le contenu d'une guild via un id et non de trouver un id

hybrid berry
#

Hello mon bot deviens un peu fouilli et je voudrais savoir comment faire par ex un ./commandes/kick.js

#

etc pour mieux organiser la chose

slim anvil
#

Hello, honnêtement je te conseille de basculer sur commando si ton bot est axé sur des commandes

#

Ça va te clean le truc et te faciliter le travail pour tes futurs commandes

hybrid berry
#

ah euh mais je veux pas un truc complet, c'est juste un bot pour modération, info, musique ^^

slim anvil
#

oui mais commando c’est pas un bot discord hein, c’est une surcouche js au bot

hybrid berry
#

actuellement je veux juste scinder dans plusieurs fichiers pour m'y retrouver car tout dans un index sa devient fouilli

slim anvil
#

Si tu veux rester sur ton système actuelle, ça va être long d’expliquer ici comment faire, je te conseille de checker pour le coup un petit@tuto ou ils font ça (y en a bcp) au moins tu pourras pas te tromper

hybrid berry
#

tu en aurais en stock ?

slim anvil
hybrid berry
#

@slim anvil tu n'as pas plus simple qu'un handler car je suis totalement perdu sue

#

je veux vraiment pas un truc complexe, c'est juste un bot à la con

red snow
#

C'est le plus simple un command handler

hybrid berry
#

Voila @slim anvil j'essaye

#

mais je n'arrive pas à installer ceci

hybrid berry
#

des gens ?

red snow
#

C'est pas juste Commando ?

#

Essaye on sait jamais

hybrid berry
#

bah la j'ai que sa

#

et cette erreur

hybrid berry
#

sa résonne ici

slim anvil
#

@hybrid berry essaye tout simplement de réinstaller un bot au propre avec comme config de base celle de commando

#

car là tu as une erreur mais pas de ton côté je crois

hybrid berry
#

c'est ce que j'ai fait

slim anvil
#

Et tu as l’erreur ? 🤔

#

Ton projet est sur git ?

hybrid berry
#

je bosse sur github desktop

slim anvil
#

Yes bah push tout ton truc et envoie en mp le lien du repo je vais regarder après

hybrid berry
#

bah y'a rien dans mon truc

#

y'a l'install de base de commando

#

et la v12 je peux pas installer

#

et voila mon code actuel

slim anvil
#

Je check juste après la pause dej ok?

hybrid berry
#

ok pas de soucis merci

#

en fait j'ai réglé l'erreur en modifiant le code de commando

#

il fonctionne en v12

#

bon bah je vais patch tout sa au fur et a mesure

slim anvil
#

okep !

hybrid berry
#

Bon commando j'en ai déjà ma claque

#

je dois tout update laisse tomber

#

y'a pas un autre moyen d'organiser les commandes sans handler genre un fichier kick.js clear.js etc

red snow
#

Bah c'est le but d'un handler donc non :/

hybrid berry
#

y'a bien un autre moyen pour load des commandes séparément quand même

red snow
#

Non

#

Vu que ça s'appelle un Handler ça

timid loom
#

@hybrid berry tu peux le faire toi-même sinon

hybrid berry
#

le handler ?

timid loom
#

voui

#

c'est pas bien compliqué

hybrid berry
#

je sais

#

mais je comprend pas le système de execute etc

timid loom
#

@hybrid berry t'as installé Git ?

hybrid berry
#

oui

timid loom
hybrid berry
#

Même je vais le faire moi même

#

mais sa focntionne pas mdr

#

il se lauch mais ne répond rien

timid loom
#

essaies de mettre des console.log ici et là pour voir si tout fonctionne comme tu le souhaites

#

mais je comprend pas le système de execute etc
@hybrid berry mais ça c'est juste qu'il faut quelque chose à exécuter pour faire fonctionner la commande, et ce quelque chose c'est nécessairement une fonction

main vapor
keen narwhal
#

@hybrid berry C'est quoi le thème que tu utilises ?

hybrid berry
#

Atom Dark

crimson fern
#

y'a pas un autre moyen d'organiser les commandes sans handler genre un fichier kick.js clear.js etc
Si les classes

lunar nebula
#

Bonjour,
Je voulais s'avoir si le bots discord GCA-Base utilisé une API pour aller chercher les info sur le wiki de gmod ?
Merci (je sais si tout est claire ?)

queen ocean
#

Pour le wiki gmod on fais avec le package request et cheerio car je pense pas que le nouveau wiki possède une API :/

Pour les autres wiki comme Valve on se base sur l'API du wiki

lunar nebula
#

Merci bien

keen narwhal
#

Bonjour.
Je souhaite envoyer un message dans un salon précis.

@bot.command()
async def envoyer(ctx):
    message = ctx.message
    channels = ctx.message.channel
    print(channels)
    await ctx.send("Choisis ton salon.")
    def check(m):
         return m.author == message.author and m.channel == channels
    reponse = await bot.wait_for("message", check=check)
    salon_avec_caractere = reponse.content
    salon = re.sub(r'\D', "", salon_avec_caractere)  
    channel_id = salon
    print(channel_id)
    await channel_id.send("TEST")

J'ai Command raised an exception: AttributeError: 'str' object has no attribute 'send' comme erreur.

oak turret
#

@keen narwhal t'as suivis le tuto de Graven ?

keen narwhal
#

No

oak turret
keen narwhal
#

Merci mais y'a vraiment aucun rapport

oak turret
#

me semble t-il que il y a un moment où il fait une commande pour l'envoyer dans un channel précis

plain crystal
#

Salut, vous savez comment utiliser ceci ? https://www.blagues-api.fr/ (partie js)

module.exports.run = (__client, message) => {
    request("https://www.blagues-api.fr/api/random", (error, res, body) => {
        if (error) { return message.channel.send("Error-API"); }

        var body = JSON.parse(body);
        console.log(body)
    });
}

J'ai ceci mais comme output j'obtiens : Object {status: 400, error: "Bad Request", message: "Authorization header is required"}

slim anvil
#

Il faut que tu passes dans tes headers un token surement

plain crystal
#

euhhhhh

west plover
plain crystal
#

ah, merci x)

slim anvil
#

ahh guthen trop rapide

west plover
slim anvil
#

Faut lire la doc quoi

#

tout est expliqué dessus

queen ocean
plain crystal
#

ta réussi toi ?

slim anvil
#

sue la blague

queen ocean
plain crystal
#

moi j'comprend rien

slim anvil
#

Darz tu as déjà use une api externe ?

plain crystal
#

pas aux blagues hein

#

nan

queen ocean
#

ta réussi toi ?
@plain crystal j'ai pas test, c'est dans le repos github ca

slim anvil
#

Peut-être regardé des tutos de comment utilisé une api

#

Mais dans ton profil ils vont te donner un token

#

dans les headers de ta requête tu vas l'envoyer

#

et ca va te retourner une data qui ressemble au screen de Zaros

queen ocean
plain crystal
#

oof

cyan iron
#

YEEEEES MERCI GCA
@plain crystal GCA > all

plain crystal
#

là je vais faire les filtres du coup :p

#

avec les args

cyan iron
#

PTDR

plain crystal
#

Je crois que j'ai besoin d'aide...

slim anvil
#

Et quel est le soucis

plain crystal
#
    } else if(args[0] != "dev" || "global" || "dark" || "limit" || "beauf" || "blondes") {
        let ArgsErrorEmbed = new Discord.MessageEmbed()
        .setTitle("Blagues par https://www.blagues-api.fr/")
        .setDescription("Une erreur est survenue, veuillez vérifier l'orthographe de la catégorie")

        .addField("Catégories disponibles", "`global`, `dev`, `dark`, `limit`, `beauf` et `blondes`")
    
        .setTimestamp()
        .setFooter(`Requête par ${message.author.username}`)
    
        .setColor(config.maincolor)
    
        return message.channel.send(ArgsErrorEmbed);
    }

Pas d'erreurs mais la condition ne marche pas :/

slim anvil
#
else if (!['dev', 'global', 'dark', 'limit', 'beauf', 'blondes'].includes(args[0])) {
  // do it
}
#

du coup tu peux stocker ce tableau de string a l'extérieur, une mini config pour ne toucher que à ça et plus au code si tu veux ajouter des conditions

plain crystal
#

pareil :/

slim anvil
#

c'est quoi le premier if du coup ?

plain crystal
#

c'est bon 👍

plain crystal
#

c'est encore moi x)
je voulais savoir s'il était possible de modifier le nom d'un channel vocal ?

plain crystal
#

Merci ça fonctionne

mint oasis
#

bonjouuuur, j'aimerai savoir comment faire pour que, lorsqu'on effectue une commande, cela effectue une requête SQL sur une base de données, et affiche ensuite la donnée obtenue

#

(Discord.js)

slim anvil
#

Du coup c’est plus dans #440540332912934915 , mais tu as juste à regarder comment faire une requête sur une base de donnée en JavaScript et tu intègres ça à ton bot

#

Ça reste du JS hein ne l’oublie pas ^^

mint oasis
#

ui pas faux, okidoki merchi ^^

mint oasis
#
    at Object.run (C:\projets\ws exabot\commands\info\infos.js:17:25)
    at Client.<anonymous> (C:\projets\ws exabot\index.js:51:17)
    at Client.emit (events.js:310:20)
    at MessageCreateHandler.handle (C:\projets\ws exabot\node_modules\discord.js\src\client\websocket\packets\handlers\MessageCreate.js:9:34)
    at WebSocketPacketManager.handle (C:\projets\ws exabot\node_modules\discord.js\src\client\websocket\packets\WebSocketPacketManager.js:105:65)
    at WebSocketConnection.onPacket (C:\projets\ws exabot\node_modules\discord.js\src\client\websocket\WebSocketConnection.js:333:35)
    at WebSocketConnection.onMessage (C:\projets\ws exabot\node_modules\discord.js\src\client\websocket\WebSocketConnection.js:296:17)
    at WebSocket.onMessage (C:\projets\ws exabot\node_modules\ws\lib\event-target.js:120:16)
    at WebSocket.emit (events.js:310:20)
    at Receiver.receiverOnMessage (C:\projets\ws exabot\node_modules\ws\lib\websocket.js:789:20)
(node:1412) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
(node:1412) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.``` j'ai une petite erreur 😓
#

le code en question :

module.exports = {
    name: "infos",
    description: "Permet d'avoir diverses infos sur le serveur",
    run: async (client, args, message) => {
        const embed = new RichEmbed()
            .setColor('#ff9308')
            .setThumbnail('https://i.imgur.com/wSTFkRM.png')
            .addField('Forum', 'https://exalife.mistforums.com/')
            .addField('Boutique', 'https://exa-life.fr/')
            .addField('WorkShop', 'https://steamcommunity.com/sharedfiles/filedetails/?id=1554620101')
            .addField('IP du serveur', '217.182.158.212:27250')
            .addField('Règlement du serveur', 'https://exalife.mistforums.com/category/rglements-777393')
            .setThumbnail('https://exa-life.fr/img/logo.png');
        
        message.channel.send(embed)
    }
}
red snow
#

Tu mets quoi quand tu start la commande?

mint oasis
#

ah nan c bon finalement

#

merchi kanmem

full scaffold
#

Comment je peux vérifier qu'une table contient une valeur en js ?

#

Une fonction du genre table.hasValue() en lua

west plover
#

Array.includes() 🤔

full scaffold
keen narwhal
#

salut ! j'ai fait mon bot et ma commande mzrche pas :

(node:14892) UnhandledPromiseRejectionWarning: TypeError: aMember.roles.has is not a function```

```js
const Discord = require("discord.js");
const colours = require("../colours.json");
 
module.exports.run = async (bot, message, args) => {
 
    if(!message.member.hasPermission("MANAGE_ROLES")) return message.channel.send("Vous n'avez pas la permission")
    if(!message.guild.me.hasPermission("MANAGE_ROLES")) return message.channel.send("Je n'ai pas la permission")
 
    let aMember = message.mentions.members.first()
    if(!aMember) return message.channel.send("Mentionnez un utilisateur.")
    let role = message.guild.roles.cache.get(r => r.name == args[1]) || message.guild.roles.cache.get(r => r.id == args[1]) || message.mentions.roles.first()
    if(!role) return message.channel.send("Mentionnez un grade.")
 
    if(aMember.roles.has(role.id)) {
        return message.channel.send(`${aMember} à déjà ce rôle.`)
    } else {
        await aMember.addRole(role.id)
        aMember.createDM().then( channel => {
            channel.send(`Le rôle, **${role.name}** vous a été ajouté`)
        })
    }
 
}
 
module.exports.help = {
    name: "addrole"
}
#

j'ai un commands handler...

red snow
#

Erreur ?

#

Ou juste elle ne se lance pas ?

hybrid berry
#

Lit l'erreur

red snow
#

A j'avas pas vus en haut 🤦‍♂️

#

A

#

Bah ui c'est quand même assez clair

keen narwhal
#

bas j'ai regler mes mtn j'ai ça...

#
(node:2368) UnhandledPromiseRejectionWarning: TypeError: aMember.addRole is not a function```

```js
const Discord = require("discord.js");
const colours = require("../colours.json");
 
module.exports.run = async (bot, message, args) => {
 
    if(!message.member.hasPermission("MANAGE_ROLES")) return message.channel.send("Vous n'avez pas la permission")
    if(!message.guild.me.hasPermission("MANAGE_ROLES")) return message.channel.send("Je n'ai pas la permission")
 
    let aMember = message.mentions.members.first()
    if(!aMember) return message.channel.send("Mentionnez un utilisateur.")
    let role = message.guild.roles.cache.get(r => r.name == args[1]) || message.guild.roles.cache.get(r => r.id == args[1]) || message.mentions.roles.first()
    if(!role) return message.channel.send("Mentionnez un grade.")
 
    if(aMember.roles.cache.has(role.id)) {
        return message.channel.send(`${aMember} à déjà ce rôle.`)
    } else {
        await aMember.addRole(role.id)
        aMember.createDM().then( channel => {
            channel.send(`Le rôle, **${role.name}** vous a été ajouté`)
        })
    }
 
}
 
module.exports.help = {
    name: "addrole"
}
#

mes ça quand je mes .cache.has ça marche pas 😂

oak turret
#

tu l’as mis où l’id du grade ?

humble storm
#

let role = message.guild.roles.cache.get(r => r.name == args[1]) || message.guild.roles.cache.get(r => r.id == args[1]) || message.mentions.roles.first()

oak turret
#

J’aurais pas fais comme ça donc idk look le wiki

keen narwhal
#

Bonjour tout le monde. J'ai réussi à faire en sorte que mon message s'envoit tous les 1 minutes ( même si dans le code ce n,est pas ça seulement, je n'arrive pas à faire en sorte qu'il envoit l'heure. J'ai essayé ça mais ...

module.exports = async(client) => {

  const channel = await client.channels.fetch('707581273618776144')
  let d = new Date();

    function myTimer() {
       var d = new Date();
    }

    setInterval(myTimer => {
        channel.send(Date)
    }, 1000); 
};``` seulement ça ne marche pas donc si vous avez une idée de comment je pourrais faire ça serais sympa :3
slim anvil
#
setInterval(() => {
  channel.send(new Date())
}, 1000)
#

et avec l'heure un truc comme ça

setInterval(() => {
  date = new Date()
  channel.send(date.toLocaleString('en-US', { hour: 'numeric', minute: 'numeric', hour12: true }))
}, 1000)
keen narwhal
#

Oh, merci mais si je veux qu'il envoit l'heure fr

#

?

slim anvil
#

fr-FR

keen narwhal
#

Je met fr-FR ?

#

xD

#

Oki merci

normal burrow
#

Bonjour j'ai besoin de quelqu'un pour me passer le code d'information de joueurs sur sont serveur gmod via discord en mode sous le bot discord c'est marquer "joue a" la ligne de code: "
client.user.setActivity('TEST', {type: 'PLAYING'})
" et je veut a la place de "TEST" l'information du nombre de joueurs donc Nombres/32

keen narwhal
#

Mais ça affiche l’heure NA...

slim anvil
#

c'est pas bon ??

#

Parce que en vrai tu peux aussi juste faire un

const date = new Date()
const hour = date.getHours()
#

et pareille avec minutes

#

Mais si ton bot est sur un serveur fais gaffe a bien set le timeZone pour éviter d'avoir l'heure US ou autre harold

keen narwhal
#

Mmh. Merci mais ouais pour le ├F10: PM┤ on fait comment pour le retiré ?

slim anvil
#

chelou ça je l'avais pas, la comme ça idk

keen narwhal
#

Oh pas grave ce n'est pas bien dérangeant mais ouais, j'ai changé la timezone du serveur etc

#

Mais toujours l'heure NA

oak turret
#

mets les ;

slim anvil
#

les ; sont plus du tout obligatoire en js

oak turret
#

on sait jamais

slim anvil
#

tu peux avoir des erreurs et encore quand tu minifie ton script

oak turret
#

je test en js normal et ça fonctionne perso

slim anvil
#

Oui ça fonctionne normalement aussi sans ;

keen narwhal
#

Ça n'a rien changé

oak turret
#

yep

#

montre ton code pour voir

keen narwhal
oak turret
#

idk pour le coup

slim anvil
#

supprimes déjà tout ton code useless histoire de clean le truc

keen narwhal
#
module.exports = async(client) => {

  const channel = await client.channels.fetch('707581273618776144')
  
    setInterval(() => {
        date = new Date()
        channel.send(date.toLocaleString('fr-FR', { hour: 'numeric', minute: 'numeric', hour12: true }));
    }, 60000)
};```
#

Du coup ça me donne ça

slim anvil
#

Enlève le channel.send, et test juste de faire un

const date = new Date()
console. log(`${date.getHours()}:${date.getMinutes()}`)
#

dans ton interval

#

et commente le channel.send

#

regarde juste ce que tu auras dans ta console

keen narwhal
slim anvil
#

Bon bah du coup met

#
channel.send(`${date.getHours()}:${date.getMinutes()}`)
keen narwhal
#

ouais mais c'est l'heure que j'ai chez moi et non elle en france ...

slim anvil
#

ou habites-tu pour qu'il soit 14h36 quebec ?

keen narwhal
#

Oui

spring dock
slim anvil
#

remplace le const date par

#
const date = new Date().toLocaleString('en-US')
#

tu peux laisser en US on a la meme heure

#

si je dis pas de connerie harold

spring dock
#

bah tu dit des conneries harold

slim anvil
#

ah fuck

#

oui car il va te la transformer en string je suis con moi

keen narwhal
#

x')

#

Ah bah en même temps ça a regler l'autre problème :3

slim anvil
#

là je connais pas le truc par coeur, look juste comment set le timezone d'une date

spring dock
#

.toLocaleString('en-US', { timeZone: 'UTC' })

oak turret
#

new Date().toLocaleString("en-US", {timeZone: "America/New_York"})

slim anvil
#

ca va le transformer en string du cp

#

donc le getHours ne fonctionne pu

spring dock
#

ah

keen narwhal
slim anvil
#

et voila

keen narwhal
#

:3

#

Mais, il ne faut pas que je le mette en America/New_York mais en Europe/France

#

...

slim anvil
#

Sinon tu auras juste a le gérer sur ta machine

#

tu mettras le TZ à europe sur ton vps

#

car dans tout les cas il faudra le faire

keen narwhal
#

J'ai pas de VPS ;-;

#

Mmh

#

Ouais, je vais regardé merci les potes :3

normal burrow
#

En vps je te conseil Inova perf trés bon hébergeur ^^

coarse umbra
#

Bonjour je suis entrain de crer mon propre bot discord mais quand je fais F5 pour le démarrer voila ce qui se passe

#

Un conseil ou une solution ?

cyan iron
#

Tu n'a pas installé node

#

Tout simplement

#

@coarse umbra

coarse umbra
#

je linstalle ou

crimson fern
#

Installe la recommended ou la latest

coarse umbra
#

ah mais ca je lai deja fais

crimson fern
#

essaye de rechercher dans tes applications windows "node"

#

et clique sur la première application (comme moi)

coarse umbra
#

et apres

crimson fern
#

t'as quelle version ?

coarse umbra
#

de ?

crimson fern
#

node.js

coarse umbra
#

la derniere !

crimson fern
#

normalement sur l'application que ca t'ouvre, t'as la version

#

Ok

coarse umbra
#

Welcome to Node.js v12.16.3.

crimson fern
#

essaye dans ton terminal de faire:
node <nomdetonfichierprincipal>

coarse umbra
#

ok jessaye

#

Type ".help" for more information.

node <C:\Users\roudo\OneDrive\Bureau\ff-bot>
node <C:\Users\roudo\OneDrive\Bureau\ff-bot>
^

Uncaught SyntaxError: Unexpected token ':'

crimson fern
#

le nom de ton fichier

#

pas le path

#

par exemple :
node app.jsdans mon cas

coarse umbra
#

ah ok

#

ca ne bouge pas

crimson fern
#

pas dans ca

#

sur Visual Studio Code

#

tu ouvres un nouveau terminal

red snow
#

J'ai pas lu, mais ya une erreur avec le node ?

crimson fern
#

et tu fais node index.js

#

@red snow Il arrive pas a débugger son bot

red snow
#

A

crimson fern
#

A cause de node

red snow
#

Au pire ajoute ton fichier au workspace, Et F5

coarse umbra
#

workspace ?

red snow
#

Sur visual

coarse umbra
#

oui

red snow
#

Dans ton workspace (Le truc gris à gauche)

coarse umbra
#

oui

red snow
#

Click droit

#

Add folder to workspace

#

Tu sélectionne le dossier de ton bot

coarse umbra
#

?

indigo remnant
#

On voit ton token supprime

red snow
#

Oui

#

Suppr

#

Et à gauche

coarse umbra
#

oui

red snow
#

Mais tu l'as déjà ajouté

#

Donc la tu vas dans l'icône début

#

Debug*

coarse umbra
#

c quoi alors

red snow
#

Puis en haut tas une liste avec une icône verte

#

Tu sélectionne le nom de t on bot

#

Et F5

coarse umbra
#

launch.json ?

red snow
#

Oui

#

Envoie ce qu'il ya dans le launch.json déjà pour voir s'il est bien réglé

coarse umbra
#

quand je fais F5

red snow
#

Open

#

Et envoie le launch.json (Un screen juste)

coarse umbra
#

{ // Use IntelliSense to learn about possible attributes. // Hover to view descriptions of existing attributes. // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [

red snow
#

🤔 pourquoi t'as queca dedans

coarse umbra
#

jsp

red snow
#

T'as rien en dessous ?

keen narwhal
#

Hey j'ai un problème avant je l'avais pas maintenant sa me sort que Discord.RichEmbed() n'est pas un constructeur normal ? ( Je débute )

coarse umbra
#

non@red snow

red snow
#

Bah comment ça ce fait qu'il a génére une erreur de lui même

coarse umbra
#

jsp

red snow
#

Refais le launch

coarse umbra
#

comment

red snow
#

Pareil que tout à l'heure

keen narwhal
#

On peut m'aider ou pas ?

red snow
#

Oui

#

Maintenant c'est Discord.MessageEmbed

#

Si t'as mis à jour

keen narwhal
#

Ok ok merci de l'info ^^ je vais faire sa

#

On est d'accord que si je veux mettre 10 minutes de timer c'est 600 000 milli seconde?

red snow
#

Oui je crois

keen narwhal
#

mais ça ne marche pas ça me met un error ?

red snow
#

Après vérification c'est bien ça

coarse umbra
red snow
#

Envoie l'erreur

#

Fais f5

keen narwhal
coarse umbra
#

yen a pas

#

mais mon bot nes toujours pas en ligne !

red snow
#

Alex, parce que tu l'as copié depuis la calculatrice Windows

keen narwhal
#

Ah ouais

#

Pas con

#

Mais ça change quoi ?

red snow
#

🤷‍♂️ mais moi ça me fait la même

#

Il doit avoir des caractères cachés je suppose ou une police qui se copie je sais pas du tout

crimson fern
#

Remplace 600000 par 600_000

red snow
#

Pas obligé

normal burrow
#

Bonjour j'ai besoin de quelqu'un pour me passer le code d'information de joueurs sur sont serveur gmod via discord en mode sous le bot discord c'est marquer "joue a" la ligne de code: "
client.user.setActivity('TEST', {type: 'PLAYING'})

" et je veut a la place de "TEST" l'information du nombre de joueurs donc Nombres/32

crimson fern
#

j'ai jamais tester

#

mais ca a l'air de plutôt bien fonctionner

red snow
#

Et je me sers de leurs api

#

(Très simple et bien expliquée)

crimson fern
#

Choisis celui qui est le plus simple pour toi 🤷

keen narwhal
#

Merci Super :3

#

C'est quoi déjà la commande pour que la commande soit supprimé quand le bot à envoyé ce qu'il doit envoyé ou faire ce qu'il doit faire

slim anvil
#

message.delete()

keen narwhal
#

merci

normal burrow
#

Merci beaucoup @crimson fern mais j'ai a moitier compris le script je peu remplacer "mc.example.com" part l'ip de mon serveur gmod ou pas car sinon je voit pas

crimson fern
#

Oui tu met l'ip de ton serveur gmod sans le port

oak turret
#

oui

crimson fern
#

Et t'as un annex pour mettre ton port

normal burrow
#

okok

#

en tout cas merci beaucoup

#

bon faut que j'attende un vps car heroku n'a pas l'option npm install mais sinon merci énormement sa fait un moment que je cherche le code

#

Merci encore @crimson fern ❤️

crimson fern
#

Np myman

oak turret
#

tu peux pas héberger ton bot chez heroku?

normal burrow
#

oe

#

Bah si on peu

#

se que je fait pour les bots qui on pas besoin de npm install

#

mais sur heroku tu peu pas t obliger d'avoir node donc tu peu pas npm install pour cela il faut un vps

oak turret
#

tous mes bots j’use npm install dans la nodejs promt et je les fous sur heroku après

#

fin je comprends pas bien

red snow
#

Je crois que tu peux envoyer une commande depuis ton code

crimson fern
#

Tu download ton package npm

#

et ensuite tu push ton code sur github

oak turret
#

bah oui

#

même sur heroku ils te permettent d’use github mais sans qu’on le voit

normal burrow
#

enfaite j'ai rien dit

#

sur heroku on peut npm i

oak turret
#

bah oui

#

xD

normal burrow
#

donc pas besoin de passer par github

#

je met juste le code

#

et pis voila

crimson fern
#

J'utilise plus heroku

normal burrow
#

ensuite je npm i sur heroku

#

bah après plus simple sur vps

#

je viens de penser mais enfaite comment on indique le nombre de joueurs sur le serveur avec le description du bot ?

slim anvil
#

Push les node modules sur git suefort

#

le push de l’enfer

normal burrow
#

client.user.setActivity('TEST', {type: 'PLAYING'})

#

Je remplace test par quoi ?

crimson fern
#

Tu fetch les infos

normal burrow
#

sa veut dire ?

crimson fern
#

Je t'avouerai que j'ai jamais utilisé le module

#

Tu en as besoin pour ce soir ? Si non, je suis dispo demain vers 9h30 si personne ne peux t'aider

normal burrow
#

Non j'en ai pas besoin tout de suite

#

je veut juste faire le script pour être tranquile

#

je t'add en amis on fait sa demain ?

crimson fern
#

Vasy

red snow
#
        chnl.updateOverwrite(message.guild.roles.everyone.id, {SEND_MESSAGES: false});
                
     })```
Hello, auriez vous une idée de pourquoi je ne peux pas faire chnl.send ?
crimson fern
#

car tu filtres pas les channels vocaux

#

et donc je suppose que ca doit te mettre une erreur thinkingplayer

normal burrow
#

@red snow tu peu m'expliquer comment faire le truc a ta facon ?

red snow
#

Mets ton serveur sur gmod-servers

#

Et travaille avec leurs API

#

Sur leurs doc

normal burrow
#

J'ai pas compris mdrrr

red snow
#

Qu'est ce que t'as pas compris ?

normal burrow
#

Tout mdrrr

red snow
#

Tu mets ton serveur gmod

#

Tu vas sur leurs documentation

#

Tu lis

#

Et tu écris ton code 🤷‍♂️

normal burrow
#

Elle et ou leurs doc ?

red snow
#

Sur leur site

normal burrow
#

Tu peu m'envoyer directement le lien si sa te dérange pas ^^

#

?

red snow
normal burrow
#

Merci

#

Mais y'a pas de rapport avec un bot discord ?

red snow
#

Une API n'est pas faite pour utiliser un langage précis (Sauf certaines vraiment bien)

normal burrow
#

Oe bah chui perdu mdrrr je suis pas trés fort du tout en js

red snow
#

Donc la tu dois utiliser une librairie (J'utilise axios)

crimson fern
#

Y'as un truc qu'ils disent pas, c'est du post ou du get 200iq

#

je suppose que c'est du get

red snow
#

Ui

#

Enfin je fais du get avec axios

#

Mais je crois que c'est précisé en bas

#

A non même pas

crimson fern
#

Comme quoi leur doc est pas folle

red snow
#

Je la trouve assez bien

#

C'est pas la meilleure mais elle est simple

#

Après on travaille avec des objets, alors il faut voir ce qu'il y'a dedans :p
Ils vont pas tout écrire à la main

crimson fern
keen narwhal
#

Je ne sais pas si c:est ce que il a demandé un peu plus haut, mais je voudrais faire un peu comme la commande pour le lui une recherche dans la documentation sauf pour un autre wiki. Je ne sais pas par où commencer donc si vous avez des idées est serait Nice

crimson fern
#

Quel wiki ?

#

Ont-ils une api ?

keen narwhal
#

Je sais pas, comment je peux le vérifier?

crimson fern
#

Tapes sur API <nom du site>

#

Et c'est quoi le site où tu veux prendre tes infos ?

keen narwhal
#

Du coup il en possède une ?

crimson fern
#

Je pense pas

#

J'ai pas cherché

keen narwhal
#

Merde.

#

Mais il n'aurait pas moyen que j'en crée une ?

crimson fern
#

Non

keen narwhal
#

;-;

crimson fern
#

Car il faut avoir acces au site

keen narwhal
#

Je pense que je pourrais avoir les perms du site

crimson fern
#

Avoir acces au code ?

#

Tu as deja fais une api ?

keen narwhal
#

Nope

crimson fern
#

Tu utilises quoi comme langage ?

keen narwhal
#

JS

#

Je pense avoir accès au code de la page pour la modif...

#

Etc

crimson fern
#

Non mais ca marche pas avec un inspecter l'element

keen narwhal
#

Pas inspecter

#

Carrément le site qui propose une manière

crimson fern
#

Essaye mais ca m'étonnerait que ca marche

keen narwhal
#

Je dois faire quoi du coup

#

Je pense que le site d'origine ( Fandom ) possède un API

#

Tu penses que ça marcherais ? @crimson fern

crimson fern
#

Ca a l'air de pouvoir marcher

keen narwhal
#

Du coup, il faut que je fasse quoi pour prendre un wiki en question ?

#

Et pour faire tous

#

( Je sais pas par quoi commencé ni quoi faire )

keen narwhal
#

@crimson fern

oak turret
#

pas bien de tag

keen narwhal
#

;-;

#

Tu sais comment faire ? ( Ou tu as peut-être un tuto )

oak turret
#

bah si tu sais pas use des api's go tuto ? xD

keen narwhal
#

C'est la première fois donc non, je ne sais pas

oak turret
#

regarde des tutos

keen narwhal
#

Tu en as un à me conseiller ?

oak turret
keen narwhal
#

Okay merci :3

oak turret
#

np

crimson fern
#

il fait une requete JS pas une requete en PHP

keen narwhal
#

Tu as un meilleur tuto ?

#

Pour le JS ?

crimson fern
#

Ca va te permettre de faire des get

keen narwhal
#

Merci :3

crimson fern
#

T'as leur doc si tu veux

#

Elle est plutot bien

keen narwhal
#

Je regarderais ça, mais je pense que je comprendrais plus avec un tuto

crimson fern
#

Pourtant tu as des jolis examples

#

Et il vaut mieux apprendre en faisant soit meme qu'en faisant ce qu'une personne dicte 🤔

keen narwhal
#

J'essayerais :3

crimson fern
#

Check la doc

keen narwhal
#

Yep i will do this

#

Je dois prendre lequel des trucs celle node ou celle Browser ? ( Je suis perdu )

crimson fern
#

Pas compris

#

Quand tu as npm install superagent

#

Tu le require avec une const, tu fait ensuite un <SuperAgent>.get(url)

#

et tu .then

keen narwhal
#

Je comprend pas

#

Seulement ça ?

crimson fern
#

Yep

#

mais ensuite tu fais un .then

#

Pour revevoir le callback

keen narwhal
#

Mais la commande a!search Nature de chakra ne marche pas

#

...

#

Comprend rien ;-;

#

( Je suis un peu beaucoup débile sur les bords )

crimson fern
#

attend mais la t'utilise pas l'api

#

T'es dans l'event message ?

keen narwhal
#

Je n'y étais pas maintenant j'y suis

crimson fern
#

Ah mais non t'as fait ta commande search ?

#

Si oui met ce que t'as dans le module.exports.run

#

Et ensuite, va check leur api

keen narwhal
crimson fern
#

Sauf que la tu get quelque chose qui n'est pas une api

#

As-tu au moins les bases du JS ?

red snow
#

Super agent passe pas par des promise ?

keen narwhal
#

( J'ai les bases des bases des bases. Donc vraiment les prints etc... )

crimson fern
#

@red snow Il me semble pas car perso tout marche nickel

red snow
#

Je crois que je vais arrêter axios alors

crimson fern
#

Je vais de toute facon devoir y aller

keen narwhal
crimson fern
#

tu dois get un url

keen narwhal
#

L'url du wiki ou l'url que l'API me donne ?

crimson fern
#

Je suppose que c'est l'url du site de base + l'url qu'il te passe

keen narwhal
#

D'accord :3

crimson fern
#

sans le /fr/wiki/Accueil

keen narwhal
#

Okay changé

#

:3

#

Du coup normalement ça devrait marcher ?

crimson fern
#

Non

#

Tu as déjà utilisé .then ?

red snow
#

Tob then continue pas

keen narwhal
#

Pas vraiment non

red snow
#

Un then se constitue comme ça je crois : objet.then(redefinition de l'objet en quelque sorte => {
Blabla sur l'objet
})

#

Enfin pas redefinition

crimson fern
#

.then permet d'avoir un Callback

#

Une suite a la fonction utilisée avant

red snow
#

Merci

keen narwhal
#

Ok, mais je dois mettre quoi dans le Then ( Je suis vraiment stupide ;-; )

crimson fern
#

Suit le modele qu'a mis superburger

red snow
#

Parce que je me retrouvais plus la 🤦‍♂️ :

#

Pis après tu fais un console.log(callback)

#

Ça te permettra de voir tous les attributs

#

Si tu cherche les attributs bien évidement

keen narwhal
#

?

red snow
#

A

#

Non

crimson fern
#

exemple :

function.then(call => console.log(call))```
red snow
#

Callback tu le remplace par member du coup

keen narwhal
#

Okay, mais je mets seulement ça et ma commande marche ?

crimson fern
#

non

#

ca te permettra de voir ce que ca te return

#

normalement un object

#

(du json si tu veux)

keen narwhal