Transcription
1. Introduction: Bonjour et bienvenue dans ce cours. Je m'appelle Debbie
en papas et je suis ingénieur logiciel principal
et mathématicien. De quoi consiste ce cours. Dans ce cours,
vous apprendrez à coder la production prête, mais avec cela suggère
et déployé sur Heroku,
le mot-clé est prêt pour la production. De nombreux tutoriels vous
montrent comment cuisiner, mais sans structure clairement
définie et déployés pour la répliquer. Je ne
vous recommanderai jamais de faire ce genre de choses. Dans ce cours,
nous allons apprendre meilleures pratiques et comment déployer vos fesses Heroku
à l'aide d'
un déploiement continu. Ce que vous apprendrez, vous
apprendrez TypeScript, ce qui est génial
car il vous offre la sécurité des
types en JavaScript, ce qui est clairement quelque chose que vous voulez lorsque vous
travaillez dans de grands projets. Même si vous ne
travaillez pas dans de grands projets, vous devriez vous familiariser avec TypeScript car
c'est l'objectif de votre carrière d'
ingénieur logiciel : écrire un bon code, répondre aux messages
et à ces tribunaux. . L'ancienne façon de
faire des commandes dans
les squirts était donc d'ajouter un
préfixe tel que le point d'exclamation, et ce sera le
début de votre commande. Mais nous allons également
apprendre à créer des
commandes obliques, ce qui est la façon moderne de
créer des commandes
dans ces groupes. Boutons et liens de grille. Collecteurs de messages, embarqués, nous ciblons rapidement et les messages
que les pensées peuvent envoyer. Collecteurs de réactions
pour réagir aux messages. Superbes sous-commandes,
obtenir des informations sur un utilisateur et ses rôles aux options, les commandes lors des tests nos commandes et déployées
sur Heroku, comme je l'ai dit, sans connexion à GitHub pour le déploiement continu sur
CD, cela signifie que vous poussez
un changement et que vous n'
avez pas eu à vous soucier de quoi que ce soit. Vous verrez simplement votre
code déployé et votre dernier changement
de production, bonnes pratiques, etc. Vous apprendrez
beaucoup de choses dans ce cours. Et j'espère que le cours vous
a plu
autant que j'ai aimé le faire. voit lors de la prochaine conférence. Au revoir.
2. Ce que vous devez savoir: Bonjour et bienvenue. Je dois vous dire quelques choses avant de commencer ce cours. abord, une clause de non-responsabilité concernant
ces points carrés. Nous allons utiliser
la dernière version de ce code dot js au moment
de l'enregistrement de cette vidéo, qui est la version 13. De plus, nous allons utiliser la méthode recommandée pour construire
des commandes, c'
est-à-dire que d carrés j
est un paquet de constructeurs verrouillés. s'agit donc pas d'une application empaquetée
qui implémente
le constructeur, le modèle de signe, et
c'est vraiment très bien. C'est le moyen recommandé de créer une barre oblique
et d'autres choses. Nous allons donc
utiliser ces bibliothèques. Cependant, ces
paquets ne
disposent pas encore d'une version v1,
ce qui signifie qu'il change très souvent. Il vous donne des mises à jour
très, très souvent. Et nous ne savons pas
encore quand il va se stabiliser et vous pouvez suivre vos mises à jour sur la page GitHub
plus jeune ou sous le canal Squared, où elles peuvent également résoudre nombreux doutes. Si c'est le cas. Nous allons utiliser le
sous-système Windows pour Linux. Wsl. J'ai codé
sous Linux de ma vie et j'ai dérangé le fait que
Linux soit le meilleur système d'exploitation à enduire. J'ai tout ce qu'il a également
utilisé le Mac et Windows. Et c'est mon avis, mais je pense que la boiterie
est la meilleure solution. Cependant, l'enregistrement de
la porte sur Linux peut entraîner des vidéos de mauvaise qualité
selon votre machine. Principalement pour ceux-ci parce que pour des problèmes
d'incompatibilité matérielle et des choses comme ça. Et malheureusement,
c'est aussi mon cas. Et je l'ai fait lors des cours
précédents et certains étudiants
se plaindront la qualité vidéo
des cours. C'est pourquoi je vais
utiliser le sous-système Windows pour Linux. sous-système Windows pour
Linux dispose essentiellement d' une distribution Linux
à l'intérieur de vos fenêtres. C'est donc génial pour le codage
car c'est essentiellement comme un t-shirt Linux natif,
mais à l'intérieur de Windows. Je peux donc utiliser un
logiciel d'enregistrement pour enregistrer des leçons avec une meilleure qualité
audio et vidéo. Nous allons utiliser NVM. Je vais vous montrer dans une prochaine vidéo
comment l'installer. Eh bien,
les instructions pour l'installer. Et il s'agit essentiellement
d'un outil pour gérer plusieurs nœuds ou plusieurs nœuds
dans votre machine. Et NodeJS,
évidemment, ces deux-là ne
fonctionnent que pour Linux et Mac. Donc, si vous êtes sous Windows
plutôt qu'une alternative, vous avez également une version Linux
ou quelque chose du genre. Mais il est tout simplement plus facile d'
essayer le sous-système Windows pour
Linux car vous
pourrez installer nvm dans Windows si vous allez
utiliser le sous-système Windows pour Linux, et ce sera très, très facile. Et nous allons
utiliser via scope. Je n'ai pas utilisé ce code ou programme dans plusieurs langages de
programmation, python, Ruby,
JavaScript, TypeScript, eux, même aller lien. Et ce n'est que mon opinion, mais je pense que si vous utilisez VS Code avec la
bonne extension, cela peut être encore meilleur que les alternatives comme Webster. J'ai également utilisé
WebStorm, mais j' aime
vraiment plus de VS Code avec des
extensions correctes, non ? Nous allons utiliser Heroku. Heroku dispose d'un niveau gratuit où vous pourrez héberger
votre bourgeon gratuitement. Et cela vous donnera évidemment un
nombre d'heures par mois. Vous devrez probablement
mettre votre carte de crédit. Vous voulez conserver ces heures gratuites si
vous n'en avez qu'un, et vous voulez payer n'importe quoi
par mois si vous le faites. Bien que je vous recommande de
mettre votre carte de crédit à Heroku pour que votre bot
puisse être en direct tout le temps. Ce sont donc les choses
que vous devez savoir. Et dans les prochaines vidéos,
je vais
vous montrer comment , par exemple,
installer nvm, installer nvm, qui est la partie la plus
importante ici, que tout le monde ne
connaît peut-être pas ces barres d'outils. C'est assez standard si vous
utilisez plusieurs versions de nœud. Comme dans mon
cas, j'utilise une version pour un projet dans R1 pour travailler
et des choses comme ça. C'est ça. J'espère que cette vidéo vous a plu. On se voit dans le prochain. Au revoir.
3. WSL: Bonjour et bienvenue. Donc une chose que ACE est facultative, mais je vous recommande vraiment de
faire si vous utilisez Windows, installez Windows
Subsystem for Linux. Donc, il suffit de rechercher le sous-système Google
Windows pour Linux, accédez au premier lien. Ici. Il vous montrera toutes
les conditions préalables à l'installation du sous-système
Windows pour Linux. Il est dit que les humains
exécutent Windows 10, Brush et 2004 et
hangar ou Windows 11. Si vous avez déjà Windows 11, vous n'avez qu'à le faire dans l'invite de commandes Windows, WSL moins l'installation. Désolé. Cette commande permet d'activer les composants
facultatifs requis. Téléchargez le dernier noyau
Linux, définissez WSL comme
valeur par défaut et
installez la distribution
Linux par défaut. Voir ci-dessous pour modifier cela. C'est donc nouveau. Je pense que la dernière fois que j'ai
vérifié cette documentation, il
fallait
installer manuellement Windows Subsystem
for Linux à droite. Maintenant, si vous faites cette commande, vous allez voir ce sous-système
Windows pour
Linux pour faciliter la valeur par défaut, ce qui est meilleur que celui. Honnêtement, je vous
recommande vraiment de rester avec Ubuntu si vous préférez
utiliser d'autres SRO, ce que je n'ai pas fait parce que
je suis d'accord avec Ubuntu. Ensuite, vous pouvez
suivre ces instructions. Et ensuite,
après avoir suivi
tous ces guides, vous aurez ces
terminaux où vous pourrez utiliser
une blessure pour entendre. Peut faire sudo apt mise à jour
et utiliser, désolé. Je pense que j'ai mon
clavier en anglais. Utilisez un clavier espagnol. Vous pouvez rouler. Donc, le jour, vous pouvez voir que c'est Ubuntu. C'est comme si vous aviez un os
sur votre machine Windows. C'est ça. C'est tout ce que je voulais vous
montrer comment faire. Il suffit de suivre ces
instructions ici. Encore une fois, c'est facultatif
mais fortement recommandé. Voir dans la vidéo suivante, Bye bye.
4. NVM: Bonjour et bienvenue. Je me trouve sur la page GitHub de la machine virtuelle ou du gestionnaire de
version Node. Vous pouvez le trouver et
vous auriez MDM dash, SH, une barre oblique npm est l'organisation moon. C'est le nom. Nous pouvons lire un
peu à ce sujet. Indiana vous permet d'installer et
d'utiliser rapidement différentes versions de nœud
via la ligne de commande. C'est donc facile comme jours, l'utilisation finale et
la version que vous voulez. Si vous souhaitez installer une version comme celle-ci
, puis installer 12. Vous pouvez également spécifier une
version plus spécifique comme 12.21 pour n'importe quelle version du gestionnaire
, car aucune version de Diaz n'est entrée, installée par utilisateur
et appelée par shell et fonctionne sur n'importe quel shell
compatible POSIX. Je suppose que H dash TSH, TSH, c'est celui que j'utilise. Bash, qui est celui que vous allez probablement
utiliser si vous utilisez Linux. J'ai utilisé TSH, même si j' utilise un sous-système Windows
pour Linux, c'est plutôt cool. Si vous vouliez y jeter un
coup d'œil, vous pouvez le faire. En particulier sur
ces plateformes. Sous-système Macos et Windows pour Linux, Unix inclut toutes les distributions
Linux et Windows. Wsl est ce que je vous ai dit, sous-système
Windows pour Linux. C'est pourquoi je vous
recommande d'essayer l'installation et la
mise à jour et ainsi de suite
qu'ils ont été grattés, il
vous suffit d'exécuter ces
commandes dans votre terminal. Donc, si vous êtes dans le sous-système
Windows pour Linux, Mac ou Linux, vous suffit de copier cette commande
ici et de la coller ici. Et cela va être installé
dans la machine virtuelle de votre machine. Et il va essayer d'
écrire dans l'un ou l'autre de
ces fichiers comme ça, point css HRC, qui au
cas où vous utiliseriez SSH. Bash RC inclut
que vous utilisez bash. Je vais ajouter ces
lignes de code ici. Laissez-moi voir si nous pouvons voir ici. Allons à la
table des matières. Nous voyons d'autres
informations supplémentaires, vérifions l'isolement,
saisissez simplement ces commandes. VM ou tapez simplement une machine virtuelle. Cela va vous dire
s'il est installé ou non, puis une fenêtre de type ici. Mais des notes importantes, c' est là
que je voulais aller. Si vous exécutez un système sans
bannière préemballée disponible, ce qui signifie que vous n'allez pas faire
de JS ou cela ne le fait pas. Ce n'est pas notre cas. Nous sommes macOS et Linux, nous avons déjà
ces paquets ici. Il est assez rare que vous n'ayez pas
déjà installé la paix. Node npm prend également en charge Windows. Dans certains cas, vous devez travailler via le
sous-système Windows pour Linux. Selon la version de WSL, c'est important, généralement la deuxième version que
nous allons voir. Et cela devrait aussi fonctionner
avec le Bash ou un segue. Je n'ai pas utilisé ces deux choses. Je ne sais pas ce qu'ils sont. En fait, sage pour Windows
et Turnitin de champ, qui ne sont ni
commandés ni développés par nous. Ceux-ci connaissent ces
NBS et les fenêtres. Donc, si vous ne voulez pas suivre
mes conseils et simplement utiliser notre outil ou simplement installer
NodeJS à partir de zéro. Vous pouvez aussi le faire en sachant que
ça s'ennuie. Vous pouvez aller sur suggest.org
et installer Node à partir d'ici, mais il va s'
agir d'une version fixe. Et je ne le
recommande vraiment pas. Mais si vous avez NVM, si vous avez Windows, vous pouvez
également utiliser NPV pour Windows. Bien que je ne vais
pas vous montrer comment faire cela parce que je n'ai pas
utilisé cette chose. C'est ça. Une fois que vous
avez installé une machine virtuelle, je peux vous montrer quelques
commandes ici. Npm current va
me montrer la version actuelle, 12.10, DMLS va me
montrer toutes les
versions que j'ai installées. Vous pouvez voir que j'ai de nombreuses versions installées et que la valeur par défaut est 12.100. Si je voulais installer une version
spécifique et que je peux, laissez-moi taper de l'aide ici
dans l'aide d'installation indienne. Vous pouvez voir ici toutes les
commandes d'aide. C'est probablement celui que
nous essayons de vous dire, les Indiens salent une version spécifique. Si vous voulez résoudre
la version LTS, il suffit d'installer nvm dash, dash LTS. Et si nous voulons
utiliser une version spécifique,
désolée, la
version LTS est utilisée comme LTS. Ou si vous souhaitez utiliser une autre
version que vous avez ici, npm utilise Quatorze points
en 16 par exemple. Et maintenant, vous allez
utiliser cette version. Courant NVM. Je vais voir que
c'est la version que j'ai spécifiée. C'est ça. C'est un outil très cool, je
vous recommande
donc de l'utiliser dans ce cours. C'est ça. J'espère que ça vous plaira. On se voit
dans la vidéo suivante. Au revoir.
5. Extensions VSCode: Bonjour et bienvenue. Comme je l'ai dit, je vais utiliser VSCode, besoin de mon identifiant préféré et
je le recommande vraiment. C'est totalement facultatif. Si vous souhaitez l'installer, il suffit de rechercher Visual
Studio Code
et Google et de chercher comment le
télécharger ou aller directement au code
Visual Studio qui chargé pour
votre portail logiciel, mais ce n'est pas le
but de cette vidéo. Le but de cette
vidéo est de vous montrer quelques extensions utiles car nombreux étudiants m'ont
déjà demandé quelles
extensions ils étaient utilisés. Et je veux juste vous
montrer quelques-uns d'entre eux. Tout d'abord, si vous
utilisez un
sous-système Windows pour Linux, il
est probablement très
important d'installer le
WSL ou l'extension bash distante. C'est le premier que
vous voulez résoudre. Vous utilisez le
sous-système Windows pour appareil Linux. Consultez cette option installée localement. Et je fais défiler vers le bas, vous pouvez voir que
ceux-ci sont comme ça. Et si je fais défiler cette icône, cela indique que cette
extension est activée dans l'
hôte de l'extension distante car elle préfère gouverner certains d'entre eux préférés à la
vôtre dans l'hôte WSL. Permettez-moi donc de vous montrer quelques
extensions que je veux utiliser, peut-être non seulement pour la partition, mais aussi pour d'autres choses. Par exemple, cette couleur halite puis Web
colore Senior Editor. Nous allons donc utiliser certaines
couleurs ici dans ce cours, mais vous pouvez
également utiliser des couleurs hexadécimales
ici dans ce cours, si vous préférez, je
vais l'utiliser, mais vous pouvez certainement le
faire si vous le souhaitez. Et
cette extension vous donnera la couleur sur le dessus de la chaîne de couleur hexagonale
diese ici. Ok, donc ce qui est peut-être
lié est très important. Nous allons mettre en place
quelques règles LinkedIn et ces
objectifs très importants sont également très bons. Mais cela fonctionne mieux si vous travaillez dans un
projet plus important avec d'autres personnes, pour voir le blâme et les
choses de ce genre, pour voir les demandes de sondage faites. Pour une modification spécifique du code. C'est plutôt bien. Quoi d'autre ? Coûts d'importation. C'est très
bien car il montre le coût important et
la taille de certaines importations. Encore une fois, dans
un premier temps pour le développement web où c'est très important. Ceux-ci étaient utiles
dans cet arc-en-ciel. Je l'aime bien. Cela vous montre
juste quelques couleurs lorsque vous mettez du code
en retrait, du code Delhi. C'est très, très utile. Quoi d'autre ? C'est pour le développement
assisté par l'IA juste à la surface
d'
auto-complétion de certaines choses. Je pense qu'avec le script batch,
c'est moins utile, mais c'est toujours
très, très utile. Je recommande donc vivement
ces extensions. Et bien, quoi d'autre ? Plus joli, plus joli, c'est
très, très important,
très important. Parce que nous allons
utiliser pendant
ce cours , le formatage du code est quelque chose que vous
devez automatiser. Rappelez-vous les crochets, c'est
également très utile à réaliser. La raquette est dans la même voiture pour voir où elle commence
et où elle se termine. Quoi d'autre ? Laissez-moi voir. Ce que j'ai
d'autre ici. Voyons YAML, Morris
et l'objectif d'erreur sage. Celui-ci est également
très sympa d'avoir les erreurs affichées dans le code. Je pense que c'est très, très utile.
Thème de l'icône de matériau. Oui, c'est juste une chose
purement visuelle. Vous pouvez ensuite voir ces icônes
ici, les icônes de matériaux. C'est juste une chose visuelle. Je pense que ce sont
ceux que je vous
recommande pour ce cours et peut-être pour le développement Web. Vous pouvez voir que j'ai d'autres
choses, GraphQL terraform. Ils ne sont pas nécessaires
pour ce cours. C'est donc ça. C'est tout ce que je voulais
vous montrer comment faire, comme une vidéo. On se voit dans le
prochain. Au revoir.
6. Code Github: Bonjour et bienvenue. Je veux juste dire que tout le code de ce
cours se trouve dans ce dépôt. Vous pouvez me trouver sur GitHub comme
w0 qui a été ce iss. Et vous pouvez trouver
ce score SDI de dépôt. Mais bien sûr, tous
les gamètes sont là. Vous pouvez y aller. Le premier gamète, si
vous vouliez voir comme eux, des changements spécifiques. Pour une leçon. Vous allez, par exemple, à ce gamète et
vous pouvez voir, hé, je viens d'ajouter ces
morceaux de code ici. Donc, si vous voulez voir le contenu
similaire de tous les fichiers,
décodez tous les fichiers. Par exemple, ici, des
réactions ajoutées au collecteur. C'est le code que j'ai ajouté. Et ici, vous pouvez
voir Parcourir les fichiers. Allez donc dans Parcourir les fichiers. Et c'est le
code dans cet état. C'est ça le poids. Vous pouvez parcourir le code dans les leçons
des partitions. C'est ça. Si vous avez des
questions, il suffit de les poster. Je serai heureux de répondre. voit dans la prochaine leçon. Au revoir.
7. Créer Un Serveur Et Des Bots: Dans cette vidéo, nous allons
noter les serveurs afin de pouvoir tester notre bot. C'est une jolie vue ECE qui a
déjà un serveur, alors n'hésitez pas à sauter
cette partie et à aller à la partie où je crée
le bourgeon pour le cyber. Il suffit de cliquer ici. Créez le mien. Oui, c'est le serveur. La partition. serveur acheté, peu importe. Super. Oui, j'ai eu du sida. Il y a beaucoup de conseils. Je vais dans le navigateur et je vais sur les développeurs score.com slash
en tant qu'applications lashed. Ensuite, vous pouvez voir que j'ai déjà créé
ces deux robots pour
mon serveur Discord personnel. Nous allons en créer deux autres. Disons que
ce sera
le cours acheté. Créons-le. Dans cet onglet, ici. Je vais ajouter un bouton. Oui, fais-le. Ce nom d'utilisateur ne peut contenir le nom d'utilisateur de
partition. Ok, alors supprimons simplement
le carré d du nom, sauvegardons les modifications, et
essayons de le créer à nouveau. Maintenant, j'ai la mort de mes
fesses. Cela va être
utile pour les sourds locaux. Allons à o. et passons
au générateur d'URL. Ces années où vous allez
créer l'URL pour inviter votre bateau, vous êtes sur le point d'accéder à votre serveur. Il a donc besoin de certaines étendues, de
certaines autorisations. Je vais sélectionner
cette autorisation de bogue. Et ces applications
commandent également l'autorisation. Je vais vous expliquer
ce que c'est dans le futur. Lorsque vous lui accordez les autorisations de
bud, vous devez lui donner
toutes les actions que ces robots peuvent
faire sur votre serveur. Donc, si vous rencontrez vrai BAD évolutif
avec beaucoup d'utilisateurs, assurez-vous qu'il ne
dispose que des autorisations nécessaires. Mais nous apprenons ici, donc nous allons simplement
sélectionner des administrateurs qu'il puisse tout faire. Nous n'avons pas eu à nous soucier de
lui donner toutes
les autorisations. Bon, donc maintenant, nous allons copier ce
lien ici. Collons-le. Et puis il va
dire que, oui, vous voulez ajouter ces
cours sourds en masse à un serveur. J'ai mon serveur
Discord personnel et mon serveur que
je viens de créer. Donc, c'est comme celui-là. Continuons à confirmer
que l'administrateur va disposer des autorisations d'
administrateur. Autorisons-le. Nous devons résoudre ces
petites Capture ici. J'espère que je ne suis pas un robot. Vérifiez. Super. Donc maintenant, si nous
allons aux partitions, si nous allons aux
partitions, mais bien sûr, vous allez voir que
dans le canal général, qui est le canal par défaut, vous allez avoir le cours
spot ici. En fait, c'est ici, mais
il est hors ligne pour le moment. Lorsque vous construisez un véritable achat et que vous
souhaitez déployer en production, mais que vous souhaitez toujours
effectuer des tâches. Ensuite, la stratégie que j' utilise est pour le rendre
sourd mais fier. Mais si nous revenons ici aux applications et que nous
créons une nouvelle application, je vais créer
mais sonder le cours. Ok, donc ils ne seront utilisés que
pour le produit
et pour l'instant, nous ne sommes pas le point de vente des produits,
alors ne vous inquiétez pas. Maintenant, nous créons le cul. Passons à la même chose, mais l'application
commande et
donnons-lui les
autorisations d'administrateur. Copiez le lien,
collez-le dans le navigateur. Sélectionnez le serveur,
qui est celui-ci. Autoriser a résolu le capitaine. camions. Encore des camions. Oui. J'ai
créé avec succès mais pour les sourds, c'est ce
que nous allons
utiliser principalement dans ce cours. Et lorsque nous déploierons sur prod, nous allons utiliser
celui-ci ici. C'est tout pour cette vidéo. J'espère que ça vous plaira. On se voit dans le prochain. Au revoir.
8. Configuration initiale Partie 1: Maintenant que nous avons créé notre
serveur et nos pensées, il est temps de commencer à écrire du code. Allez dans votre répertoire préféré et créez un nouveau dossier appelé, je ne connais pas le
score du cours. Allons ici. Je vais utiliser VSCode, ouvrir
ce répertoire
vide, et je vais ouvrir
un terminal intégré. J'ai un raccourci pour eux
que vous pouvez le faire à partir d'ici. Je suppose. Oui, un nouveau terminal. Et cela va créer
un nouveau terminal pour vous. D'accord, donc tout d'abord, initialisons cette largeur, obtenons que nous puissions créer
des gamètes et tout ça. Nous devons maintenant initialiser
un fichier package.json. Mais tout d'abord,
créons un fichier NVM RC. Disons donc Touch dot nvm RC. Ici, nous allons mettre la version du nœud que nous
voulons utiliser dans ce projet. Laissez-moi voir quelle est ma version
actuelle et ma version VM. C'est dépassé. Installons la version LTS. Ce n'est pas la version 16.14.2. Je vais mettre
ce numéro ici, 16.14 à chaque fois que vous êtes
dans ce répertoire, vous devez écrire
cette commande npm use. Et vous allez voir
cette version ici. Si vous n'aviez pas cette version
, NVM va
l'installer pour vous. Aussi, si vous êtes curieux, j'ai comme un laissez-moi voir. Si je peux vous montrer. J'ai un fichier C RC point et j'ai ces cuisiniers ici
parce que j'utilise z ASH. Vous utilisez probablement la
même chose si vous êtes sur Mac. Je suis sur le
sous-système Windows pour Linux, mais j'utilise un COSH
parce que c'est génial. Ici, vous pouvez voir que j'ai
cette utilisation automatique de la NVM. Ce que fait essentiellement le livre,
c'est que chaque fois que vous allez dans un répertoire contenant
ces fichiers NVM RC, nvm utilisera
automatiquement pour vous. Par exemple, si je ferme ce terminal et que je l'
ouvre, ouvrez-le à nouveau, alors vous voyez que
ce crochet trouve ce fichier MRC NBA et qu'il
émet la commande utilisée par nvm. Si vous êtes curieux, vous
pouvez mettre en pause la vidéo, l'
ajouter à votre fichier TSH RC. Si vous utilisez bash, vous
devez probablement faire
une autre chose, ou simplement Google comment le faire. Mais c'est totalement facultatif. Si vous ne voulez pas
utiliser ce cerceau, écrivez simplement npm à
chaque fois. Maintenant que nous avons
notre version noeud, nous allons utiliser jarring. Nous allons installer Yarn car je préfère le fil au NPM. On va donc dire que npm
installe moins le fil G. Cela installe le dessin à l'échelle mondiale. Maintenant, on peut faire quelque chose
comme du fil dedans et ça va créer cette
leçon de points pour moi. Maintenant que
notre fichier NVM RC est
empaqueté JSON, nous allons également avoir besoin d'un fichier de configuration ts car nous
allons utiliser TypeScript. Donc, tout d'abord,
ajoutons TypeScript. Donc, filez à moins le D majuscule, sorte que nous lui disons qu'il s'agit
d'un TypeScript de dépendance de développement. Maintenant, nous avons ces dossiers de modules de
nœuds et ces fils ce fichier journal. Ces modules de nœuds. Nous ne voulions pas
engager cela parce que c'est trop gros et
c'est inutile. Donc, avant d'aller plus loin, créons ce hayon de
fichier dot git ignore que nous ne
voulons pas recommander les modules de nœuds. Maintenant, vous pouvez le voir devenir gris parce qu'il n'est pas
ignoré par le bien. Ajoutons maintenant TypeScript, le conflit Ts dans ce fichier JSON. Disons de fil, TSC, tiret, tiret dedans. Et comme vous pouvez le constater, il crée ce fichier ici. Ok, super. Donc, avec ce
dossier, nous le disons. Le code que nous voulons compiler
avec ces options ici. Comme vous pouvez le constater, il existe de nombreuses options. La plupart d'entre eux sont
commentés et ils ont des valeurs
par défaut. Nous n'allons pas plonger en
profondeur là-dessus. Nous allons probablement
modifier cela là-bas. Et je ne sais pas quoi d'autre, mais pour l'instant,
gardons ça comme ça. Ok, donc maintenant que
nous avons des Ts confortables, nous avons ce que nous
avons empaqueté d'autre JSON. Ajoutons plus joli. Si vous ne savez pas
ce qu'est le niveau gratuit, il s'agit essentiellement d'un formateur de code. Au lieu de se battre. Si vous voulez des
guillemets semi-simples ou doubles, il
vous suffit de créer un
fichier de configuration et de le définir et de
créer le code pour que les militaires
prennent en charge ces détails. Alors, allez tout d'abord
et les extensions, si vous utilisez VSCode, recherchez le prédicateur. Si vous utilisez un autre
EDI pendant que vous
devez rechercher comment utiliser le
prédicateur avec votre EDI. Mais dans ce code, EECS installe ce code plus joli
pour les échanges monétaires. D'accord, mais ce n'est pas tout. Nous devons également ajouter un fichier
de configuration. Créons ces points. Fichier RC de niveau gratuit. Disons que dans mon projet, j'ai une seule citation
au lieu de guillemets doubles. Et il y a beaucoup d'options que
vous pouvez configurer. Comme, vous savez, voyons
quelles sont les autres options que nous avons. Probablement un
point-virgule, des points-virgules, un coma. C'est pour avoir
une virgule à la fin de ses objets et des
choses comme ça. Supposons donc qu'il s'
agisse d'un objet qui suit des virgules, il
suffit de lui donner ces virgules ici. Oui, en fait, ils ont
ces extensions qui
me disent les flèches que j'ai dans mon code. Il me dit que
c'est une voiture traînée, mais c'est parce que
c'est un Jason. ne s'agit pas de JavaScript. En JavaScript, je vais avoir
de la richesse TypeScript. Nous allons avoir
ces virgules de fin. Vous pouvez rechercher toutes
ces options ici. J'imprime avec ça
aussi quelque chose que j'aime. J'aime mettre les 100 entraînements qu'il brise après
120 personnages. C'est donc
la configuration que nous allons utiliser pour
prédicateur dans ce projet. Nous avons maintenant besoin d'une autre chose qui sera
plus tard avec les liens ES. Créons donc un fichier
RC, ce fichier JSON. Encore une fois, il existe une
extension VSCO que vous pouvez utiliser, appelée ES lint. En fait, cela habite
installé parce que je
devais l'installer pour
Windows Subsystem for Linux. Je vais
le résoudre après cette vidéo. Mais l'important ici est que ce
fichier de configuration, nous devons l'écrire. Tout d'abord, je vais
dire racine égale à vraie. Quel est cet itinéraire qu'il vous dit
essentiellement est lié. Hey, ne cherchez pas d'autres fichiers de configuration
en dehors de ce répertoire. Laissez-moi voir si je peux
planer cette chose. Cela ne me dit pas, mais c'est essentiellement ce qu'est la racine. Cela nous dit,
n'essayez pas d'obtenir la configuration de
l'extérieur de ce dépôt. Ensuite, j'ai besoin d'un analyseur car nous allons
utiliser TypeScript. Et en fait, installons le plugin qui va
faire un excellent travail
avec TypeScript. Donc, minus ab moins le D majuscule, analyseur oblique
TypeScript et oblique de
TypeScript se connecte à la peluche. J'ai eu une erreur. Voyons voir. Analyseur TypeScript introuvable. Désolé, ce n'est pas un analyseur
TypeScript. C'est l'analyseur de
peluches
TypeScript ES et le tiret TypeScript Eastland,
Eastland plutonium. Et vous avez vu que nous avons maintenant ce blocage
d'erreur de tiret. Vous pouvez simplement le supprimer ou le
mettre dans le gitignore. Je préfère le mettre
indiqué ni dire tout ce qui commence par
une extension de journal, il suffit de l'ignorer. Donc, le journal des points d'étoile, ignorez-le. Maintenant, vous pouvez voir ce sacré blocage d'erreur de tiret devenu gris. Parfait. Maintenant, dans l'analyseur ici, nous allons dire que nous allons dire type, utiliser l'analyseur oblique de
peluche TypeScript ES. Nous allons étendre la
configuration. Et cette configuration
provient de ce plug-in
que nous avons installé. Nous disons donc que la colonne de plug-in, TypeScript, la
barre oblique ES est recommandée. Slash recommandé est
essentiellement un ensemble de règles d' opinion
provenant des auteurs de ce paquet de peluches TypeScript
dash ES. Cela vous donne simplement les
meilleures options pour ES Linked. Contrairement aux règles par défaut qui sont les
meilleures pratiques et autres. C'est ce que nous
faisons ici avec ces étendues et nous
lui donnons cette valeur ici. Nous ne faisons qu'étendre un ensemble de
règles avec les meilleures pratiques. Maintenant que nous avons tout, installons également liens de dépendance de développement
acide et aussi plus jolis. Vous me dites, pourquoi
installez-vous ces paquets si nous utilisons déjà
ces extensions ici ? Eh bien, une chose est que votre EDI
utilise ces extensions. L'autre chose est d'installer ces dépendances pour que je puisse faire ce que fait l'ID. Mais à partir de l'interface de ligne de commande, c'est juste une bonne pratique car vous utilisez probablement quelque chose de très
ésotérique comme Vin, qui est un taux d'identification
compliqué à utiliser. Ce n'est même pas une idée. Je pense que c'est comme un éditeur de texte
ou quelque chose comme ça. Si vous utilisez cela
et que cela n'a pas comme un plug-in pour son penché ou pour plus joli que vous voulez
probablement faire ce formatage ou ce
linting de code à partir de la ligne de commande. C'est pourquoi j' installe ces paquets
dans le paquet Jason. Nous avons donc maintenant des liens,
nous avons des meubles, et nous pouvons commencer à créer
des scripts ici
afin de formater notre code, notre lien
ou notre code. Nous allons le faire plus tard. En ce moment. Je voulais juste vous dire
pourquoi nous installons Lyndon plus jolie l'une des choses que
le paquet
fait réellement quelque chose à partir du lien CLI, fil
plus joli, peu importe. Une autre chose est que votre pièce d'identité. Il le fait en installant la configuration
de l'extension. OK. C'est donc tout
pour la configuration, pour tout le pardessus
de la chaudière. Il suffit de faire un git add git
commit avec votre message. Cela n'a donc pas perdu
ces progrès. J'espère que cette vidéo vous a plu. On se voit dans le prochain.
9. Configuration initiale Partie 2: Dans cette vidéo, nous
allons continuer
à modifier
la configuration. Je sais qu'ils sont ennuyeux, mais croyez-moi, si vous
le faites bien depuis le début, ce sera beaucoup plus
drôle d'écrire code parce que nous n'avions plus
à nous en inquiéter. Commençons par le début. Ensuite, nous
allons écrire codes et probablement apporter
des modifications à la configuration, mais ce sera minime. Allons donc dans ce fichier de configuration ts et
passons à des choses qui
vont être importantes. La première est la bière racine. Donc, cela
indique essentiellement le groupe de types, où sont vos fichiers ? Et je vais écrire tous mes fichiers TypeScript et taper le répertoire source que
je n'ai pas encore noté, mais je peux le faire maintenant. Créez votre source. Dans ce répertoire vide. Nous allons écrire tous nos types
de fichiers de grille. Et la deuxième chose, c'
est cette option chère. Donc, en gros, je vais
dire que lorsque je compile les fichiers TypeScript, veux placer tous
ces fichiers compilés dans
ce répertoire de construction. Au fur et à mesure que
nous faisons cela, nous voulons le placer dans
ce fichier gitignore car nous ne voulions pas
entrer dans la construction du projet. Ce sont les
deux seules choses que je veux faire dans le fichier de configuration
ts. Allons maintenant et allons
ouvrir le fichier JSON du paquet. Ici, nous allons
ajouter quelques dépendances. Je vais vous expliquer
quelles sont ces dépendances, même si vous allez en comprendre mieux
, nous les utilisons. C'est génial. Certains scripts aussi. Tout d'abord, souvenez-vous ce que je vous ai dit dans
la dernière vidéo. Nous avons installé ce
blogging en code VS. Mais supposons que vous
utilisiez ce code et que
vous utilisiez un
identifiant ésotérique ou un éditeur de texte, alors vous devez donner aux autres développeurs un moyen de maigrir
et de formater leur code. Pour cela, nous allons créer deux scripts ici de
celui de LinkedIn. Et nous allons
dire que c'est une source liée. Nous allons trier, relier ces fichiers
avec une extension TS. Je dis ici que ces scripturaires ne liaient que
le dossier source, tout ce qui se trouve dans le dossier
source et tout ce qui a
une extension tf. Vous pouvez le rendre plus général. Par exemple, vous pouvez décider pencher sur tout ce qui
se trouve ici. Mais si vous faites cela,
assurez-vous de mettre E est lié à ignorer le fichier avec les modules de nœud et
le dossier Build. Sinon, vous allez
pencher des choses que vous
ne voulez pas prêter. Je vais juste le faire
comme ça, rester simple. Ensuite, je vais ajouter
un autre script appelé format, où nous allons
utiliser le plus joli. Je pense que ce commandement est peut-être
quelque chose comme ça, non ? Et nous devons préciser
ce que nous voulons formater. Je vais donc dire source d' une barre oblique, tout à l'intérieur ici. Tout ce qui se termine
par un fichier txt point. Encore une fois, vous pouvez le
rendre plus général comme un joli tiret, un
tiret, un point droit. Mais vous devez ensuite
créer le fichier d'ignorer
plus joli point afin d'
ignorer le dossier des modules de nœuds. Encore une fois, restons simples. Faisons ça comme ça. Testons ces
deux scripts ici. Ajoutons un fichier txt de points d'index. Et faisons quelque chose
comme des tests
sans coût sur la chaîne
d'affectation aléatoire. Mon extension
VS Code me dit que vous avez un problème ici. Mais supposons que vous
n'utilisiez pas ce code, alors nous devons en
fait que j'essaie formater et de sauvegarder
et je ne me souviens plus, je faisais quelque chose ici. Donc, si j'ai dit à l'éditeur ce
format sur Safe to True, alors lorsque j'enregistre ce fichier, alors lorsque j'enregistre ce fichier,
vous pouvez voir que plus joli
ajoute le point-virgule ici. Et c'est parce que j'ai
précisé cette chose ici. Célibataire, célibataire, je suis désolé, semi égal à vrai. Si vous voulez le faire comme
ce que j'ai fait en ce moment
pour la sécurité du méthane, allez dans les paramètres du fichier
JSON, qui sera. J'ai probablement un raccourci ici, mais vous pouvez le trouver
avec cette icône d'engrenage. Accédez aux paramètres, et
vous pouvez le définir sur l'interface utilisateur ou vous pouvez accéder à cette icône ici et
indiquer les paramètres ouverts. Et Jason, et moi utilisons Jason
parce que pour moi c'est plus facile. Vraiment. Il suffit d'ajouter cette option ici, de modifier, d'
éditer un format
non sécurisé égal à vrai. Ensuite, lorsque vous
enregistrez votre fichier, vous allez formater
votre code avec un prédicateur. Mais supposons encore une fois que vous
n'avez pas une pièce d'identité comme celle-ci, alors je dois simplement
faire ce qui suit. Cela veut dire, permettez-moi de fausser
cette option. Donc, si j'ai enregistré le fichier, il n'
admettra pas ce point-virgule. Je vais donc exécuter ce format de fil de
commande, et vous pouvez le voir à
ce point-virgule pour moi. Maintenant, si je cours pendant le vent, vous allez voir que
j'ai ce problème. Le test consiste à attribuer la
valeur mais n'est jamais utilisé. Vous devez résoudre ces problèmes. En gros, nous sommes venus
faire n'importe quoi ici parce que c'est juste un
test que je faisais. Mais c'est ainsi que vous saisissez les plus jolies
erreurs du terrorisme Is
Lean avec ces scripts. En fait, ici je peux aussi
cette commande fixe. J'ai bien aimé ça. Il va essayer de corriger ces
erreurs ou ces avertissements ici, mais parfois cela peut faire
parce qu'Eastland va supprimer votre variable, ce sera dommage, non ? Donc, lorsque vous rencontrez d'autres problèmes
résolubles, ce drapeau
va le faire pour vous. Bon, maintenant, nous
avons ces scripts. Je veux en ajouter deux autres. Cela va être
la commande build. Je vais juste exécuter TSC. Gsc signifie que le compilateur de projet
TypeScript a été construit l'aide de toutes ces propriétés, entendant le conflit de TAS que Jason est en
conflit. Nous allons
également ajouter un type de contrôle, qui sera
la même commande TSC. Mais nous allons ajouter
ces indicateurs sans image. Donc ce que c'est
talentueux TypeScript c'est de ne rien
construire, il suffit de vérifier les types. Assurez-vous qu'ils sont corrects. Assurez-vous que nous ne
faisons rien de bizarre. Oui. C'est le drapeau No Emmett. OK. Je pense que c'est fini. Maintenant. Faisons deux autres choses. Nous allons ajouter les dépendances que
nous allons utiliser. De toute évidence, nous allons
utiliser un jazz Z-score, qui est la dépendance la plus
importante ici. C'est tout l'intérêt de ce cours utilisant cette bibliothèque d'ajustement
discord. Ensuite, nous allons
suggérer les bâtisseurs de slash. Bon, je vais donc
prendre un moment pour expliquer ce qu'est ce paquet
lesbienne discourtois. Nous ne pouvons donc écrire du code qu'avec ces bibliothèques t-score
dot js. Et c'est tout à fait très bien. Mais la documentation qui guide vous recommande d'
utiliser ce
paquet de constructeurs de
barre oblique Z-score js afin implémenter le
modèle de constructeur de sont
des d'
implémenter le
modèle de constructeur de sont
des classes utilisées pour pouvoir réduire les
commandes, des choses comme ça. Si vous ne savez pas ce qu'est
le modèle constructeur, je
vous recommande vivement de le lire
car le modèle constructeur
se trouve sur le modèle de signe. Si vous n'avez jamais entendu
ce terme auparavant, le modèle de signe, encore une fois, je vous suggère fortement de
lire à ce sujet parce que
si vous voulez devenir un vrai développeur de
logiciels logiciels, réel, et peut-être vous êtes un développeur de
logiciels, mais un bon développeur de logiciels, alors vous devez savoir quel est
le modèle du constructeur. C'est en fait une
question assez courante quand ils vous ont demandé, Hé, connaissez-vous
les mêmes parents ? Parlez-moi de ça. Dites-moi quel est le modèle de
conception comportementale ou
quelque chose comme ça ? Les motifs créatifs
et ce genre de choses. Le modèle constructeur est donc
un modèle de conception
créative qui nous permet de
construire des objets avec des méthodes au lieu de
tout transmettre dans leur structure de
coûts. C'est donc plutôt
joli, très utile, plutôt cool. Je suggère de lire à ce sujet. C'est la bibliothèque
que nous allons
utiliser un wrapper pour la partition
JS pour utiliser ces constructeurs. Nous allons également utiliser ce
score Z juste un repos oblique. Les partitions. Types d'API. Ces deux bibliothèques
vont nous permettre de faire un appel API à l'API. Pourquoi voulons-nous passer un
appel API à l'API z-Scores ? Eh bien, essentiellement
parce que nous voulons enregistrer nos commandes obliques. Pour enregistrer
nos commandes obliques, nous devons passer un
appel API au sqrt et dire, Hey, ce sont mes
commandes, les enregistrer. Et oui, c'est essentiellement la fonction de ces
deux bibliothèques ici. Ensuite, nous voulons utiliser
dot f pour gérer nos variables d'environnement car nous allons avoir
trois variables d'environnement. Le jeton, le
jeton secret du but, l'ID d'application sur l'ID de
guilde ou l'ID du serveur. Rappelez-vous, la constante dans le contexte des liaisons de programmation dans ces partitions et ce genre de
choses. Les serveurs sont appelés guildes. Une autre dépendance, qui
sera NPM ou oncle, qui va nous
permettre de créer scripts qui s'exécutent
séquentiellement ou en parallèle, dans notre cas, sera séquentielle. Vous allez voir à quoi
cela est utile. Une bibliothèque plutôt cool. En fait. Ajoutons ce truc. Après que nous ayons fait ça. Attendez que ça se termine. Nous allons ajouter
d'autres dépendances de développement. Le premier sera le nœud
des types de notes. Fondamentalement, si vous
travaillez avec, connaissez-les, faites parcourir ces bibliothèques. Fondamentalement obligatoire. Ou si vous
allez rencontrer des problèmes d'échange
Bay.
Je l'ai toujours eu. Lorsque vous utilisez,
sachez que TypeScript. Ensuite, nous allons ajouter une autre dépendance de développement,
qui est le noeud 1. nœud 1 va être utilisé pour
démarrer notre serveur de développement. Chaque fois que nous effectuons un changement, le serveur
détectera ce tank. Redémarrez le serveur pour nous afin que nous n'ayons pas à nous arrêter pour
redémarrer. Non, le noeud 1 va s'
en charger. Encore une fois. Ce sera son nœud. Rappelez-vous que je vous ai dit que nous n'allions pas
passer un appel d'API. Donc, l'API Discord. Nous allons donc
exécuter le fichier, que nous allons appeler register a stash
commandes dot ts. Et ces registres, les commandes dash, dash, dash points D vont ressembler à un script
ou quelque chose comme ça. Chaque fois que nous démarrons l'AB en production ou que nous redémarrons
le serveur de développement, nous allons exécuter ce script, puis démarrer le serveur ou
démarrer l'ampoule et le serveur. Il va s'agir d'une séquence
de commandes d'abord exécutées, exécuter ce fichier,
puis de démarrer le serveur. Pour exécuter le fichier TypeScript, nous devons utiliser ce nœud Ts car nous ne pouvons pas
simplement dire, Hey, pas de nom d'espace du fichier. Cela ne
fonctionnera pas car il s'agit d'un fichier TypeScript en
production, nous n'en avons pas besoin. C'est pourquoi nous ajoutons
ces dépendances de développement. Je
vous ai déjà expliqué pourquoi nous avons besoin que ces npm exécutent toute
la dépendance. C'est parce que nous voulons d'
abord exécuter le script, le script de
commande barre oblique de registre, puis démarrer le serveur. Et je les mets
dans les dépendances et non dans les dépendances de développement parce que
nous voulons le faire
aussi en production. Si je l'ai mis dans des dépendances de
développement, il ne sera pas
installé en production. C'est essentiellement ça. Attendez que ça se termine. Et c'est en fait
supprimé ce fichier d'index. C'est tout pour cet
allèle vidéo un peu trop long. Dans la vidéo suivante, nous
allons donc ajouter nos fichiers d'
environnement. J'espère que cette vidéo vous a plu. On se voit dans le prochain. Au revoir.
10. Configuration initiale Partie 3: Bon, continuons
avec la configuration. Nous allons utiliser
WAF comme je vous l'ai dit, pour lire nos variables d'
environnement. Nous ne les avons pas encore
définis, donc nous allons
créer deux fichiers. Le premier sera un modèle
de point EnB, et l'
autre sera
uniquement le modèle de point EnB. Nous allons, comme
le suggère le nom de fichier, mettre en place un modèle de nos variables d'
environnement. Nous allons avoir besoin de
l'identifiant de l'application. Nous allons devoir nous identifier. Et nous allons avoir
besoin du jeton, du jeton secret de la, mais je vais tout
copier ici
et le coller ici. Et évidemment, ce point NB
dépose celui qui va
avoir les valeurs réelles. Et nous ne voulions pas valider ces valeurs dans un référentiel. Ajoutons simplement une autre
entrée dans notre git. Ignorez tout ce qui se termine
par un enB, puis ignorez-le. Vous pouvez maintenant voir ce NBC en gris car nous ne voulons pas le
valider dans GitHub. Comment obtenir ces valeurs
réelles ? Allons sur le portail des
développeurs d squared. Voyons les
informations générales ici. Vous pouvez trouver l'ID de l'application. Nous allons donc copier et coller ici. Allons
chercher l'ID de guilde. Pour obtenir le GIL
que vous deviez être, vous devez commencer à activer le mode développeur
dans ces carrés. Il suffit donc d'accéder aux paramètres utilisateur. Et je pense que ce devrait être
quelque part des groupes d'écoute peut-être, oui, ici vous avez le
mode développeur, il suffit de l'activer. Ensuite, vous
pourrez copier
votre identifiant de guilde à partir de l'
endroit indiqué. Voyons voir, Allons dans
les paramètres du serveur. Où est la carte de culpabilité ? Je pense que nous
devons cliquer avec le bouton droit sur le serveur dans le panneau de gauche
ici et simplement copier l'ID. Je vais donc juste copier
la pièce d'identité et passer de la base ici. Cela ressemble beaucoup à l'
ID de l'application, mais ce n'est pas le cas. Le jeton va
être entendu à l'intérieur, mais cliquez sur le
jeton de réinitialisation qui sera affiché en premier lieu
si vous n'avez pas créé, si vous n'avez pas encore obtenu
le jeton, et ceci est va
être le signe secret. Il suffit donc de cliquer ici, copier et de le coller ici. Évidemment, je vais
supprimer ce jeton une fois que j'ai fini
d'enregistrer ce cours, alors n'essayez même pas de l'utiliser. N'oubliez pas qu'ils sont comme
le mot de passe de vos bateaux, ne le partagez jamais avec personne. Nous avons maintenant notre
fichier ENV, notre modèle DMV. Maintenant, un modèle que
j'aime utiliser dans tous mes projets et cours est facile à utiliser ou à centraliser toutes
ces variables d' environnement
dans un seul fichier. Commençons donc à écrire notre
premier fichier TypeScript, qui sera
le point de conflit. Nous allons importer le
point m depuis le point F. Et nous allons dire
ça avec le conflit. Cela dit, Hey, allez dans ce fichier BNB et obtenez toutes ces variables d'
environnement. Maintenant, nous allons
exporter const le jeton, qui va
traiter ce jeton point NBA. Nous allons faire un, je ne sais pas
comment dire cela comme une valeur par défaut d'
une chaîne vide. Parce que si nous les survolons, vous voyez que le processus de jeton
BNB peut être soit
une chaîne, soit indéfini. Mais nous voulons qu'il soit toujours défini de manière
à ne pas avoir d'erreurs de
type étranges. Cela va être de type, de chaîne et de flux ou non défini. C'est donc aussi un
modèle que j'aime utiliser. Exportons ensuite l'ID de l'application
const, qui va
être traité un
ID d'application F point ou une chaîne vide. Ensuite, exportez l'ID de guilde const, qui va être traité
par EnB pour une industrie. En faisant ces chaînes ou une chaîne vide où nous attachons un réservoir
TypeScript, ID de l'application
Tolkien
et l'ID seront toujours définis comme une force. Le k que nous ne
définissons même pas, le définissant ici. Ça ne s'inquiète pas. Discord va se plaindre que vous
lui transmettez un anti-force. C'est simplement pour éviter les erreurs
TypeScript lorsque nous codons. C'est le modèle que j'utilise car je peux tous les
voir ici. Environnement, la Bible
ne fait pas de processus que je suis un gros jeton dans un endroit
aléatoire dans le code. Alors Ben, ayant
une poupée autour du code, il vaut mieux avoir un
dîner centralisé. Je pense que nous avons maintenant configuration de
nos
variables d'environnement pour notre projet et ils sont
prêts à les utiliser. Nous devons effectuer une étape
de configuration supplémentaire. Mais ce sera
assez facile cette fois. Nous allons donc le faire
dans la vidéo suivante. Adieu.
11. Configuration initiale Partie 4: Bonjour. Dans cette vidéo, nous
allons simplement créer un
dépôt dans GitHub. Si vous n'avez pas compté
GitHub que de les noter, très, très facile à faire. Alors, allez vous reposer
et créer un nouveau dépôt. Appelons-le ça. Je ne connais pas le
score, bien sûr. Je vais dire un
dépôt pour ces partitions. Parcours. Je vais le rendre public. Et je vais
créer le REPL. Pourquoi avons-nous besoin de notre dépôt ? Eh bien, essentiellement
parce que nous voulons le
connecter à Heroku
lorsque nous le déployons. Ainsi, chaque fois que nous fabriquons une branche à un
humoriste, ce sera le
maître ou le principal, où que vous vouliez l'appeler. Ensuite, l'héroïque allait
lire le rebelle, déployé
automatiquement
sur un serveur d'instance. Pour relier
le serveur, désolé, le dépôt à notre dépôt local, nous devons faire
quelque chose comme ça. Nous avions déjà un référentiel
existant. Copions tout ici en
cliquant sur ce bouton. Et maintenant, passons à
notre CLI, notre terminal. Il suffit de copier-coller. Maintenant. Invitez à actualiser cette page ici. Vous pouvez voir que maintenant j'
ai un code ici. C'est ça. C'est tout ce que
je voulais vous montrer. C'est très important pour cette partie, car sans le dépôt, nous n'aurons pas
l'intégration Heroku. C'est ça. Maintenant, nous pouvons commencer coder et ce
sera la partie amusante de tout ça. Je vous vois dans la vidéo suivante. Adieu.
12. MISE À JOUR : Correction des versions du paquet: Bonjour et bienvenue. Comme je l'ai dit dans les vidéos précédentes, nous allons utiliser des versions
spécifiques
des paquets liés à décourager le jazz parce qu'
ils ont trop de titres. Ils changent très souvent, ils ne
sont pas dans la version v1. Vous pouvez voir ces jupes JS
Wheelers est un acier sur 0,12. Donc ce n'est pas
même si la version v1, donc c'est très, très changeant. Pour corriger ces paquets
vont dire Jahren. Ces bâtisseurs
luxuriants
de la Cour à plusieurs points ici. Ceux-ci ont marqué le repos
slash jazz à 0,3, et ceux-ci ont marqué
les types d'API 0,30 point 0. Ce fichier script.js se trouve à l'est dans la version 13, 13. Mais quand même, si nous mettons
à jour cette chose d'une manière ou d'une autre, nous aurons des problèmes de
compatibilité avec
ces autres bibliothèques. Nous allons
faire de même avec VSCO ou Jazz et 13.6. Lorsque nous faisons cela, voyons ce qui se passe. Vous pouvez voir que ces
quatre paquets ont été modifiés. Il n'a plus ce signe de
carat, ce qui
signifie que nous ne pouvons pas essayer mettre
à niveau ces deux autres
versions de ces paquets. Le John Locke a également changé parce que c'est ce qui est utilisé pour
réparer ces choses. C'est ça. C'est très important. Sinon, vous rencontrerez probablement des problèmes avec les bibliothèques. J'espère que vous aimeriez vous voir
dans la prochaine vidéo. Au revoir.
13. Faire le Bot Go Online: Nous allons commencer à
créer notre bot. Créons donc un nouveau fichier et à l'intérieur de la source,
golden main.js. Et c'est un début,
le client important de la partition, Jess. C'est génial. La nouvelle variable client,
le nouveau mot-clé. Nous allons maintenant avoir
ces erreurs TypeScript. Si vous voyez ici, il est dit que attendiez les
arguments sur guts 0. Comme vous pouvez le voir ici, les options sont un argument obligatoire car elles ne comportent pas d'interrogation
avant la colonne. Si c'est de la laine, alors il
sera facultatif, mais
ce n'est pas le cas. Allons-y et cliquez sur Ctrl+cliquez ici ou sur Commande n'importe où. Nous pouvons voir que le
client est une classe qui étend les plans de base
et que son constructeur attend cet argument d'options qui est de type options client. Voyons quelles sont les options de ce
client. Vous pouvez donc spécifier
beaucoup de choses, des
graphiques, le nombre de t-shirts
et gagner de l'argent. Et remarquez qu'ils sont
tous facultatifs car ils ont ce point d'
interrogation avant la colonne. Mais il y en a un qui n'
est pas facultatif. Et c'est cette
propriété intense ici. C'est celui que
nous devons préciser. Sinon, nous
aurons cette erreur ici. Les autres sont optionnels. Si nous passons ici à
la définition
de type de ceci, c'est de plus en plus
compliqué. Donc, au lieu d'essayer de
deviner ce qu'est cette chose, elle va dans la documentation, ce sera plus clair. Si vous allez à D carré
j'ai ce guide et allez à la section
intense de la passerelle. Vous allez dire
ce que sont les intentions. Les intentions de Ghibli ont été
introduites par jour carré. Ainsi, les développeurs de robots peuvent choisir
quels événements leur sang reçoit en fonction
des données dont il a besoin pour fonctionner. C'est essentiellement ça. C'est la phrase la plus
importante ici. Fondamentalement, si
vous prenez un bus et nom est utilisé par beaucoup
de gens. Vous voulez vous
assurer qu'il ne reçoit que les données
dont il a besoin pour fonctionner. Sinon, vous rencontrerez problèmes
d'évolutivité parce que votre corps
va avoir, va recevoir
de nombreux événements. Ils l'ont fait très bien. Laissez-moi voir,
Activer, activer intense. Vous pouvez voir ce que vous voulez que
votre argent reçoive. Tout d'abord, réfléchissez aux événements votre bouton doit opérer. Sélectionnez ensuite l'
intention requise et ajoutez-les à structure de coûts de
votre client, comme indiqué ci-dessous. Toutes les passerelles intenses et
les événements qui y appartiennent sont répertoriés dans la documentation de l'
API Discord. Ok, c'est donc l'
important ici. Nous allons y aller. Et cela donne un exemple. Si vous avez besoin que vos mégots
reçoivent des messages, vous devez guilder l'
intention des messages. C'est ce que nous voulons. Nous allons l'ajouter plus tard. Si vous vouliez que vos fesses publient
un message de bienvenue
pour un nouveau membre, vous avez besoin que le membre de la
guilde chez Indi suggère que vous avez besoin d'une intention de
membre de la guilde, etc. C'est ainsi que vous
spécifiez cette chose. Intense qui signale cette culpabilité. Nous devons donc obtenir cela de
ces cours également. Mais passons d'abord à la
documentation de l'API Discord et voyons quels sont les incidents ici. Nous avons donc
les guildes, ce qui permet, vous
permet de créer une
guilde de mise à jour, de
supprimer, de canaliser, de
créer une mise à jour de chaîne, de supprimer des
chaînes, jour des menaces de niveau de
thread ou de supprimer une étape notes d'instance. Et beaucoup de choses. Pour les membres de la guilde. Vous pouvez ajouter des membres, les mettre à jour, les supprimer. Pour les groupes, vous pouvez ensuite
participer à des emojis. Vous ne pouvez pas mettre à jour les mises à jour des
autocollants emojis, hooks web de guildes d'intégration
de
milliards , des
présences, des messages Gil. C'est celui que
nous allons utiliser beaucoup. Quoi d'autre ?
Messages de culpabilité, réaction, je pense que cela
sera également utilisé dans le discours. Messages destinés à envoyer des DM, des réactions directes aux messages
et à la saisie directe des messages, un
calendrier des événements, etc. Certains sont
privilégiés, intenses, comme les présences qualifiées et les membres
cédés en raison
de leur sens. Si la nature des données. Donc, fondamentalement, vous pouvez les utiliser, mais lorsque vous atteignez,
lorsque vos boutons, comme très célèbres,
vous aurez besoin vérification de vos fesses
pour soutenir cette chose ici. Mais nous n'allons pas les
utiliser dans ce cours. Pour que vous soyez au courant. Ils peuvent être utilisés avant que
votre pare-chocs ne devienne célèbre. Et nous avons des limites de taux. Il indique qu'ils
sont autorisés à envoyer 120 commentaires de passerelle
toutes les 60 secondes, ce qui signifie que vous pouvez envoyer en
moyenne deux commandes par seconde. Les clients qui ont dépassé sa limite immédiatement déconnectés
de la passerelle. De même que l'API HTTP, récidivistes verront
leur axe API révoqué. Donc, c'est quoi d'autre ? Eh bien, vous pouvez, vous pouvez en apprendre beaucoup sur toutes
les choses ici. Je pense que je voulais
seulement vous montrer ce que sont ces intentions Gateway. Pour l'instant. Nous n'allons pas nous
inquiéter pour eux, mais nous devons tout de même le préciser. Nous allons dire intense, et nous allons
dire un tableau vide. Je vais ajouter l'intense plus tard. Ok, maintenant nous devons
enregistrer le client, mais avant de brancher le client, connexion
signifiera essentiellement que votre corps sera en ligne. Avant de faire cela, je vais
créer un auditeur prêt. Ainsi, lorsqu'un client sera prêt, nous recevrons un événement. Je pense que ça s'appelle Ready
ou quelque chose comme ça. Nous allons simplement
afficher le journal de la console
indiquant que nos corps sont en ligne. Nous allons créer le
nouveau dossier des écouteurs. Ici, nous allons
commencer par créer un fichier txt Ready Dot. Index. Le fichier TS n'est pas prêt. Je vais exporter
une fonction non prête qui va recevoir un client qui va être de type. Client. Le code est cool car il
me permet d'importer automatiquement le
client de la discorde. Devinez. Je vais dire que
les clients sont prêts. Donc, lorsque nous
recevrons cet événement prêt, nous allons
faire quelque chose. Voyons ce que
nous allons faire. Ici, à l'intérieur. Nous allons
dire journal de la console. Je vais dire que nous allons
utiliser une interpolation de chaînes
et dire au client que l'utilisateur,
que le nom d'utilisateur est en ligne. D'accord ? Maintenant, TypeScript se plaint de
dire que l'objet est peut-être connu parce que
l'utilisateur l'est peut-être. Regardez la
définition de type ici. Permettez-moi de survoler à nouveau, un
client ou un utilisateur ou une valeur nulle. Pourquoi ça peut être non. Rappelez-vous que nous avons créé le premier et
l'obligation et
que, après avoir
créé la duplication, le bourgeon n'est pas obligatoire
pour avoir une application. Nous avons une application qui n'a pas d'utilisateur copain. Et c'est pour cela que vous, monsieur. Bon, donc fondamentalement, nous pouvons résoudre ce problème en mettant simplement
ce point d'interrogation ici. C'est ce qu'on appelle le chaînage
optionnel et il est refroidi par
mère et JavaScript, mais nous l'obtenons gratuitement lorsque nous travaillons
avec ce script. Nous allons maintenant accéder à notre fichier principal et nous
allons appeler ces fonctions
non prêtes. Mais d'abord, écoutons
ce fichier d'index sur
lequel nous allons déjà exporter. Maintenant. Nous pouvons simplement
exporter à partir du fichier d'index. Et cela signifiera que nous aurons juste besoin de l'importer à partir d'une barre oblique auditeurs au lieu de sa dernière laisse est slash
auditeurs comme un rayon de fouet. Parce que nous allons
avoir plus d'auditeurs ici. Désormais non prêt. Souvenez-vous de ces besoins. Les clients vont
passer un client. Et maintenant, nous allons
dire jeton de journalisation des clients. Le jeton, rappelez-vous que nous
l'avons défini dans le fichier de conflit. C'est là. Maintenant,
notre client est connecté. Comment commencer cette chose ici ? Commençons par créer un paquet raclé à l'intérieur de package.json. Je vais donc créer un nouveau script appelé
Deaf column main. Je vais utiliser le nœud 1, la source
du nœud, main.js. nœud 1 est donc cool car il gère automatiquement les fichiers
TypeScript. Nous n'avons pas eu à faire
de configuration
folle pour qu'elle fonctionne avec TypeScript. Exécutons donc cette
commande avec fil, colonne moyenne, et
espérons que cela fonctionne. Mais bien sûr Dev East en ligne. Passons donc à ces partitions. Et comme vous pouvez le voir ici, mon bourgeon, ceux-ci
en ligne, c'est ci-dessous. C'est au-dessus de moi. Et oui, le cours de l'ampoule est
large, malheureusement. Malheureusement, l'acier de terre parce que nous ne l'avons pas encore
déployé. Mais oui, c'est en ligne, nous avons
donc réussi à se
connecter à notre bot ici. C'est tellement cool, c'est tout. Nous allons faire ces vidéos. Et nous allons commencer à amuser davantage
dans les prochains. Adieu.
14. Ping Pong: Dans cette vidéo, nous allons
commencer à créer notre première
interaction avec About. Ce que nous allons
faire, c'est que nous allons
taper le rose dans un canal, un canal
serveur. Et le corps va
répondre avec le punk. C'est un exemple très, très
simple, mais nous allons apprendre
beaucoup de concepts. Allons ici et tapez
sur la création de message. Nous allons importer le
client à partir du score dot js. Je vais exporter contre cela
sur message create listener, qui va obtenir le
client de type client. Nous allons dire au client que nous avons ici toutes
ces options. Mais celui que nous allons recevoir
un message crée le virage. Ce sera le rappel. Lorsque nous recevons un nouveau message. Ils reçoivent un message qui va
être de type message. Vous pouvez voir les méthodes de type. Tout d'abord, nous
allons faire une technologie disant que si l'auteur
du message est exposé, ce message de méthode a
une propriété auteur. Et ces autres
propriétés Roberts de type utilisateur. Et ce type d'utilisateur
a ces propriétés mais qui me dit si l'
utilisateur E sous-beurre ou non. Et c'est un booléen, donc
c'est vrai ou faux, alors nous allons revenir. Donc, si c'est vrai, nous reviendrons
parce que nous ne voulons pas écouter les messages
provenant de bosses. Ensuite, nous allons obtenir le
contenu du message, qui va être
un message que le contenu
que le test ToLowercase cas. Nous allons dire si les
contenus sont égaux au rose. D'accord ? Nous allons répondre
à ce message. Comment répondre à un message ? Le message comporte
des méthodes de réponse et nous pouvons passer une synchronisation de chaîne ou une charge utile de message ou une option de message de
réponse. Vous pouvez passer en mode
Ctrl+cliquez ici. Et si vous souhaitez voir tous ces éléments ici, vous pouvez consulter les définitions
de types. Nous allons créer des choses avec une
charge utile de messages à l'avenir. Donc, pour l'instant, nous
allons rester simple et passer une corde. Il va s'agir d'une chaîne
interpolée car nous allons obtenir le nom complet de
la personne qui a envoyé
le message rose. Disons que le message
ne se souvient pas, point, affichage, nom, colonne. Le punk. Regardez ce membre est
une propriété facultative. Toujours, il s'agit toujours d'une option appropriée à partir du message. Pourquoi ? Parce que ce message
peut être envoyé à
partir d'un, d'un serveur ou d'un DM. Nous allons voir comment
les faire fonctionner dans ADM dans un instant. Mais pour l'instant, il s'
agit faire appel à l'opérateur de
chaîne optionnel pour voir s'
ils ne sont pas nuls ou si
cela n'existe pas, alors cela sera
fondamentalement défini. Donc, ça va dire punk de colonne
indéfini. Mais ne vous inquiétez pas, nous
allons nous en occuper
lorsque nous apprendrons comment faire fonctionner
le bouton dans un DM. Bon, maintenant, passons
au fichier d'index. Exportons à partir
du message créer. Exportons la fonction de
création de message. Allons dans le
fichier main.js et au-dessous du non prêt, passons au
message, le client. Passons devant un client. Et je pense que c'est presque fini. Nous avons besoin d'une autre chose. Et ce sont les plus intenses. N'oubliez pas que notre corps ne va pas prendre d'informations inutiles. Nous devons donc
spécifier le type d'
informations que nous voulons que
le robot reçoive. Passons à la documentation
où nous avons
parlé de ces intenses et intenses. N'oubliez pas que nous
avons ici le score Z, la documentation de l'
API. Pour moi, au moins
ce n'est pas clair à 100 %, mais nous avons besoin de ces intentions
car nous devons
recevoir des messages
d'un canal de guilde. Une fois que nous avons obtenu ces informations de la chaîne et
des choses similaires, comme par exemple la
création, la mise à jour, la suppression de chaînes. Ensuite, nous allons
recevoir les messages. De la part des guildes. Nous allons donc avoir besoin de cette intention de messages de
guilde. Nous avons besoin de ceux qui sont trop intenses ici. Allons donc importer
intensément, puis devenons intenses. Cette culpabilité au point de lin crée une intensité qui signale
à Gil les messages. Bonjour. Ok, parfait. Donc maintenant, si nous allons sur le serveur, je faisais quelques tests. Essayons maintenant de taper. Je dois
répondre avec le punk. Le débat est mon nom complet. Je peux modifier mon nom complet en faisant quelque chose comme
ça, en sauvegardant les modifications. Et si je tape rose, ça va répondre
avec le punk retest. Pourquoi ? Parce que nous disons
de le faire dans le code. Nous vous demandons d'
obtenir le nom complet. Ok, parfait. Donc maintenant, si j'essaie de taper
ping dans un message direct, vous pouvez voir que les bourgeons ne veulent
donc pas Me répondre. Pourquoi est-ce que c'est ? Eh bien, il y a une raison
si nous allons sur le disque ou le guide
SIG et que nous passons à
la mise à jour à partir de la version
V12, V13 de d squared. Jess, tu vas voir ces
choses dans les canaux M. Il est dit que ces API quadrillées V8 et plus tard à la
fin des canaux n'
émettent pas la ville créer le groupe. Cela signifie que ces
critères demandent qu'il
ne soit pas en mesure de les encaisser
automatiquement. Rappelez-vous que ces créations de tau
proviennent de ces guildes. Chattel crée. Il ne le fait pas sur d
Squared API version huit. Donc, pour que vos
robots reçoivent les m,
ce canal partiel
doit être activé. Cela nous amène
à une autre question. Que sont les partials ? Nous avons ici dans le guide lui-même la section « structures
partielles ». Vous pouvez lire
ce paragraphe. Mais la chose la plus importante ici, c'est
la dernière phrase ici. Avant cette fonctionnalité. Ces magnifiques clients,
les événements n'
émettent pas si l'un des nécessaires est école
structurée
ne soit pas construite avec suffisamment pour garantir une structure
entièrement fonctionnelle. Si vous n'
optez pas pour un DCS partiel c'est toujours le cas dans notre code. Dans notre fichier main.js que vous êtes, vous pouvez voir que nous n'avons
pas de partiels activés. Lorsque nous envoyons un message à
About dans un message direct, IEP ne peut pas dire de quel canal nous essayons d'envoyer
ce message. Si nous allons ici, envoyez un message à ce canal,
ceux-ci ne seront pas définis, mais cette jupe JS
est suffisamment assignée pour l'attribuer à différents
types de types. Et cela semble redondant. Mais ici, nous avons le canal DM, qui
provient du script S. Si nous envoyons ce
message à partir d'un message direct, à partir du message direct interne, vous n'aurez pas cette information. Pour dire à
ces Cortez, Hé, nous allons essayer d'envoyer ce message à un message
direct. Ensuite, nous devons
activer ces
canaux partiels , et c'est tout. Et nous avons également besoin d'une autre intention, les messages
directs DOT de lin. Un. Nous pouvons maintenant envoyer des messages car l'argent va
écouter les messages directs. Et peu importe si nous
n'avions pas les
informations sur la chaîne, car nous sommes activés ces
partiels et nous allons
recevoir un message
va probablement être de type DM canal ou
quelque chose comme ça. comme ça. Nous allons taper ping ici. Nous avons un punk indéfini, les gars de l'informatique. Maintenant, le message, le
message ne fait pas partie de la taupe parce que l'auteur du message ne
fait pas partie d'une culpabilité. Donc, pour résoudre ce problème, nous allons dire le nom d'utilisateur de point de
message. Si nous allons envoyer un message, il va prendre
mon nom d'utilisateur à la place. C'est ça. C'est tout ce que nous
devons faire
pour que notre message
crée un écouteur,
écoute des messages soit sur une guilde, soit suffisamment de messages
directs. Une autre chose que je voulais dire ici, c'est que dans cet accord, nous avions ces commandes avec
un préfixe comme des commandes. Le monde a commencé avec Adam, sans signe d'exclamation ni point d'
interrogation. Je ne sais pas. C'est ce qui a été
fait à l'avenir. J'allais vérifier
quelque chose comme, je ne sais pas si le contenu du
message commence par quelque chose comme ça, puis gère à nouveau la commande. Et c'est l'ancienne
façon de faire les choses. La nouvelle méthode consiste à
utiliser une commande barre oblique, et c'est ce que nous allons
faire dans les scores que nous allons faire, tout le reste que
nous allons faire dans ce cours se fera
par le biais d'une barre oblique de commentaires. Ils sont bien, bien meilleurs dans la gestion de choses
telles que les validations, comme la
gestion des options. Beaucoup de bonnes choses. C'est ce que nous allons
voir dans les prochaines vidéos. J'espère que ça vous a plu. Assurez-vous de faire un gamète. On se voit dans la vidéo suivante. Adieu.
15. Gestion des commandes Slash: Dans cette vidéo, nous allons
obtenir tout ce
dont nous avons besoin pour gérer
ses commandes de cils. La première chose que nous allons faire est
à l'intérieur de la source. Nous allons définir un
fichier appelé types dot ts. Et nous allons créer une interface appelée
commande barre oblique. Il va avoir une
propriété appelée commande, qui sera de
type constructeur de commandes obliques. Ces types proviennent de ces
cours, des constructeurs de barres obliques, qui est la bibliothèque que
nous allons
utiliser pour créer des commandes. Ensuite, il va
avoir une propriété run, qui sera essentiellement une fonction ou un rappel
que nous
appellerons lorsque nous gérerons
l'interaction. Cela va recevoir un
paramètre appelé interaction, qui sera de
type interaction de commande. Nous allons renvoyer la
promesse nulle de cette chose afin que nous puissions
gérer les opérations asynchrones. Et pourtant, ces types vont être utilisés
dans de nombreux endroits. C'est pourquoi je voulais être centralisé et
commun pour les anciens fichiers. Bon, nous allons maintenant
créer un nouveau dossier appelé cette barre oblique de
commandes obliques. Et dans ce
dossier, nous allons
créer un fichier index.html, non un fichier de dossier, index.js. Dans ce fichier, nous allons
créer un tableau de commandes obliques. Et chaque élément de ce tableau va être de
type barre oblique. Si facile, simplement, faisons-le
comme cette commande barre oblique, qui va être de
type est la commande barre oblique. Et ça va être un tableau. Pour l'instant, nous
n'avions aucune commande, donc nous avons défini par défaut
un tableau vide. Lorsque nous commençons à créer
nos commandes, ces tableaux seront
remplis de ces valeurs. Ok, super. Allons maintenant
créer un nouvel auditeur ici. Nous allons appeler
cela sur l'interaction. En effet. Pourquoi en interaction ? Super. Parce que les commandes de cils sont
ce qu'elles appellent des interactions. Exportons const sur la création
d'interaction. Cela va
recevoir un client qui sera de type
client du fléau. Va dire que
l'interaction client crée. Nous allons avoir un rappel d'
évier pour ça. Et ce
rappel asynchrone va
avoir une interaction
avec cela en ce moment, c'est une interaction de type. Rappelez-vous que dans
nos types, il s'agira d'une interaction
de type commande. Donc, ici, ces années
d'interaction de type, et ici il s'agit d'interaction de
commande de type. Eh bien, parce qu'une interaction
peut se produire lorsque vous cliquez également sur un bouton, lorsque vous sélectionnez
quelque chose dans un menu ou lorsque vous faites quelque chose dans le
menu contextuel. Tout d'abord, nous devons nous
assurer qu'il s'
agit réellement d'une interaction de
commande, de commande. Pour cela, nous avons des commentaires sur
les points d'interaction. Nous avons cette méthode ici. Et si dans une commande,
nous allons appeler autre fonction et une
autre fonction appelée commande barre oblique de handle. Créons cette fonction en
dessous de cette chose ici. Appelons ça la commande « handle
slash ». Ce
sera aussi un évier. Et il va recevoir une interaction d'interaction de
commande de type. Tout d'abord, nous allons obtenir
la commande barre oblique à partir de
ces commandes de cils, de
tableaux, de barre oblique
à partir de commandes barre oblique. C'est une gomme à effacer. Nous pouvons utiliser la commande Find
de la méthode fine. Nous allons dire que la commande slash, la
commande point, le nom du point, est égal au nom de la commande
point d'interaction. Laissez-moi le dire comme ça. En fait, juste dans le
but d'enregistrer, faites une petite chose ici. Je vais au plus beau RC. Je vais le mettre
à 80 que je ne peux pas. Vous pouvez mieux voir
ce qui se passe ici. Permettez-moi donc d'utiliser mon
script à partir d'un paquet adjacent. Je vais donc dire le format sacré. Encore une fois, il va
formater tous mes fichiers uniquement dans le but de retarder parce que mon
écran n'est pas si grand. Une commande barre oblique peut être soit une
commande barre oblique, soit non définie. Nous devons vérifier si cette
chose est définie en premier. Si elle n'est pas définie parce que la commande
barre oblique n'a pas été
trouvée pour quelque raison que ce soit. Nous pouvons répondre en disant
interaction point réponse. Nous devons dire
commande de contenu, introuvable. Nous revenons. C'est ainsi que nous répondons à l'interaction, à la commande barre oblique en disant
simplement interaction qui répond. Si c'est le cas, s'il a trouvé
la commande barre oblique, alors nous allons
attendre que la commande lash exécutée et nous passons
l'interaction. Fonctionnement très facile. Maintenant, ici dans le client que
nous allons juste attendre, gérer une commande barre oblique
et nous passons l'interaction. Ceci. C'est vrai. Nous avons maintenant un moyen de
gérer n'importe quelle commande. Nous devons simplement commencer à ajouter
des éléments ici dans ce tableau. Et c'est ce que nous allons
faire dans la prochaine vidéo. Mais avant de terminer cette vidéo, rappelez-vous que nous ne l'avons pas fait, nous ne les avons pas utilisés lors fonction de création d'
interaction
dans le main.js. Alors, faisons-le maintenant. Exportez-le à partir de ce fichier d'index. L'exportation à partir d'une
interaction crée. Exportons sur les notes d'
interaction. Nous pouvons donc l'obtenir à partir d'ici. Interaction crée un client. Ok, super. Je pense que c'est tout ce que nous allons
faire dans cette vidéo. Je serai comme si c'était
à vous voir dans le prochain. Au revoir.
16. Création de commande Hello: Dans cette vidéo, nous allons
créer notre première commande barre oblique. Ce sera juste une commande de
salutation. Donc, vous plongez simplement comme un coup fouet et ça va vous
répondre par bonjour. Et il va mentionner
votre nom d'affichage. Créons donc un nouveau
fichier appelé Hello Dot. Exportons const
la commande hello, qui va être
de type barre oblique. Il doit commander et
la mauvaise propriété. Définissons donc d'abord la commande à l'aide d'un générateur de commandes
obliques. C'est ce que je vous
disais
il y a quelques vidéos sur le modèle de
conception du constructeur. Nous avons ici deux options. Nous non plus,
voyons voir, déclarer la classe. Nous devons définir les propriétés en
appelant certaines méthodes. C'est ce que nous
allons faire, définir le nom. Le nom de la
commande va être bonjour et la description envoyée, qui va être
renvoyée une ligne de salutation. Il s'agit de la
commande constructeur en action. Désolé, c'est le pouvoir de
conception du constructeur en action. Nous déclarons la classe
, puis nous commençons à ajouter les propriétés de cette
classe avec ces méthodes. Ici. Encore une fois, tout ce
qui a besoin du verre, va être
ajouté par des méthodes. C'est ça. C'est le constructeur,
le signe thyroïdien. Nous allons maintenant
définir la méthode run. Rappelez-vous que cette chose
reçoit une interaction. Nous allons simplement dire
une interaction de poids. Cette réponse. Et le contenu
va être Hello. Nous allons utiliser une
interpolation de chaîne et nous devons
obtenir le pseudo du membre, le
nom mentionné. Comment faisons-nous cela ? Comment obtenir le
surnom de membrane mentionné ? Eh bien, il y a à l'intérieur ces bâtisseurs le
surnom mentionné. Il suffit de
lui transmettre l'ID utilisateur. Et c'est tout. Rappelez-vous,
mentionnez le surnom et nous
transmettons l'ID utilisateur de l'interaction. C'est essentiellement ça. Ce que nous devons faire maintenant, c'est de le placer dans
cette commande barre oblique ici. Disons bonjour, commandement. C'est ça. Soyez aussi en bonne santé pour importer cette chose directement. C'est ça. Maintenant, allons
commencer à def main. Maintenant, si nous allons sur
notre serveur et essayons de
rechercher cette commande, vous
verrez que nous n'avions pas commande Hello. Que se passe-t-il ici ? Par conséquent, pour
obtenir nos commandes, n'oubliez pas que nous spécifions ces commandes d'application
dans les autorisations. Allons à Bud Course Def. Allons dans le générateur d'URL. N'oubliez pas que nous
prenons cette chose ici. Dans ces partitions, il existe
deux types de commandes. Il s'agit de
commandes d'application disponibles pour les anciennes
guildes pour tous les serveurs. Comment
activer cette chose ? Eh bien, allons-y alors que
peut-être l'auditeur non prêt. Prêt. Après avoir dit cela,
les corps et la ligne, nous pouvons faire ce qui suit. Nous pouvons dire ensemble de points
d'application cliente. Et nous pouvons entendre dire
toutes les commandes. Tout d'abord, veillez à
ce que le client, cette application soit
peut-être la valeur nulle. Nous allons donc utiliser l'opérateur de
chaîne optionnel ici. Nous pouvons définir cette
gamme de demandes. D'ici. Nous pouvons le mettre ici essentiellement. Mais quel est le problème avec ça ? Eh bien, il n'y a pas de problème. Allons le faire maintenant. Disons des commandes. Disons les commandes
de ce truc ici. C'est ma
commande de barre oblique d'ici. Allons, allons obtenir uniquement la commande
point de commande barre oblique sur JSON. En gros, là où nous
convertissons cette chose ici, ces classes ici,
deux objets adjacents, c'est quelque chose que le constructeur de commandes
barre oblique peut faire. Nous pouvons simplement passer des commandes ici. C'est ça. C'est ainsi que vous enregistrez
les commandes de l'application. Mais il y a
un problème à faire. Si je lance ça, John def main à nouveau et mon cours de
livre Davies en ligne, allons dans mon serveur
et tapons. Bonjour. Vous pouvez voir que je n'ai toujours pas
ces commandements ici. Pourquoi est-ce que c'est ? Eh bien, c'est parce que les commandes de l'
application prennent un certain temps pour se propager. Cela peut prendre jusqu'à une heure. C'est pourquoi dans ce cours, nous allons également
enregistrer les commandes de la guilde car elles sont
immédiates, immédiates. Nous devons simplement envoyer
une requête HTTP à l'API
Discord et c'est tout. Les commandes seront affichées immédiatement. Sinon, je dois attendre
une heure pour les voir
et ce n'est pas pratique. Mais oui, c'est ainsi que vous enregistrez des commandes
pour toutes vos guildes. C'est donc tout pour l'instant. Dans la vidéo suivante, nous
allons voir comment enregistrer des commandes v0 pour notre guilde uniquement parce
qu'elles seront nécessaires. J'espère que cette vidéo vous a plu. On se voit dans le prochain. Au revoir.
17. Enregistrement des commandes de la guilde: Bonjour. Nous avons donc attendu
plus d'une heure, peut-être
la commande de l'application
disponible ici sur notre serveur. Au fait, vous savez, lorsque
vous vous développez, vous ne voulez pas attendre
une heure ou deux pour tester vos choses. Vous voulez que cela soit médiateur. C'est pourquoi nous allons
créer un script
afin d'enregistrer les commandes de
guilde. Ce que nous devons faire,
c'est d'aller ici à l'intérieur source et de créer un nouveau fichier appelé commandes de
rendement enregistré. Vous pouvez le nommer n'importe quoi. Au fait, j'ai choisi des commandes de culpabilité
enregistrées
et nous allons créer cette fonction de commande de registre, qui va être asynchrone. Ici, nous allons faire
deux ou trois choses. Tout d'abord, nous
allons définir les commentaires que nous
voulions enregistrer. Nous allons obtenir
les commandes obliques partir de ce fichier d'index de
commandes de cils, et nous allons les mapper. Et nous allons détruire uniquement la propriété command
et la convertir en
commande JSON que Jason. C'est
essentiellement ce que j'ai fait ici sur l'auditeur non prêt. Je viens de le faire dans la
structure ici, mais nous pouvons essayer de
le faire ici aussi. Donc, oui, c'est
fondamentalement la même chose, mal maintenant
dans ce
script ici, si
vous le souhaitez, vous pouvez créer une fonction pour obtenir, réutiliser ici et à droite, un auditeur qui dépend de vous, Je sais que je vais classer
ces clients de repos avec un repos. Avec ces restes qui
proviennent de ces
SIG de base, c'est le repos oblique. Et nous devons spécifier
la version à utiliser. Je vais préciser
que je veux utiliser version 9 au moment
de l'enregistrement de cette vidéo, nous devons définir un jeton
pour être autorisé à faire le put-call pour enregistrer le
rendement de notre application commandes. Nous appelons donc ce jeton de jeu et nous lui donnons le jeton
de notre fichier de conflit. Au fait,
enveloppons tout ce qui est à l'intérieur ici dans un piège d'essai. Ils sont à l'intérieur de l'essai. Et maintenant, nous allons
dire dans le journal de la console commençons à actualiser
les commandes de rendement. Ensuite, nous avons émis le point de repos de l'appel
API. Il va s'agir d'une demande PUT. Où dois-je, quel est le point de terminaison où nous
allons passer cet appel d'API. Eh bien, nous devons obtenir
cela à partir des routes. À partir de ces types d'
API notés, VP9. Nous disons « route ». L'application
produit les commandes. Cette chose, comme vous
pouvez le voir ici dans la documentation
de cette méthode. Il s'agit de l'itinéraire pour ces
trois points de terminaison ici. Nous allons donc appeler le point de terminaison put on
needs dans l'URL, l' l'application
et l'ID de guilde. Nous allons donc juste obtenir l'ID de l'application, l'
ID de guilde. Et le corps va être les commandements
que nous
venons de rassembler d'ici. est aussi facile que ça. Ensuite, nous allons imprimer
à nouveau que nous avons réussi ou rechargé
les commandes de la guilde. D'accord ? S'il y a une erreur
pour une raison quelconque, nous allons simplement imprimer cette erreur. Ensuite, la dernière chose
à faire est simplement appelée cette fonction ici. C'est ça. Maintenant, nous sommes prêts à enregistrer
notre culpabilité. La prochaine chose que nous
allons faire est de
créer ou de modifier
nos scripts ici. Une chose avant de faire cela, je pense que nous avons installé NPM ou
plutôt toutes les dépendances des actifs. Mais en fait, je ne
veux pas le faire. Je voulais l'installer
en tant que dépendance sourde. Enlevons-le. Avec John. Supprimer npm tout exécuter. Ajoutons-le encore une fois. Mais en tant que
dépendance de développement comme celle-ci, moins D npm majuscule exécute tout. Et il va être ajouté
en tant que dépendance de développement. Que va-t-on faire ensuite ? Nous allons définir ces
commandes ou scripts de culpabilité du registre. Utiliser D comme nœud
pour exécuter le fichier TypeScript. Nous allons dire que les commandes de culpabilité du
registre source. Ensuite, nous allons à
The find the Deaf, un script qui
va utiliser ces npm run all NPN Bernal peut être utilisé comme ceci pour exécuter commandes
séquentielles
sont comme ceux-ci à utiliser pour exécuter
commentaires parallèles. Nous voulons qu'ils soient séquentiels. Nous voulons d'abord enregistrer les commandes de guilde
émises par cet appel d'API. Ensuite, je veux
exécuter la colonne sourde
principale dans cet ordre. Enfin, nous allons définir
le script qui va être
utilisé en production. Et cela ne
sera que le même que def main, mais pas de main.js reconstruit
lors de la compilation, lorsque nous avons construit notre projet. En fait, nous pouvons le faire maintenant. Jahren construit juste un, vous pouvez le voir, vous verrez que ce dossier
Build a été créé. Et nous avons tous nos
fichiers à partir de la source. Mais en JavaScript, main.js
est cette chose ici. Vous pouvez donc voir
que nous
allons exécuter ce fichier en production
et c'est pourquoi ce script de
démarrage
n'a pas été accordé ici. Mais c'est pour l'avenir. Pour l'instant, sortons sourds. D'accord. On dirait que nous avons enregistré
les commandes avec succès. Si nous allons sur le serveur
et que vous tapez est slash bonjour, vous pouvez voir que nous
avons maintenant deux commandes barre oblique. L'une sera pour les commandes de l'
application, et l'autre devrait être
pour les félicitations de la guilde. Nous pouvons donc maintenant
les tester immédiatement. Ils vont être répétés
deux fois et un développement que je ne pense pas que ce soit un problème. Ensuite, si nous voulons tester la commande en dehors
du serveur AAA, nous voulions la tester
dans un message direct. Eh bien, nous n'avions pas
trop d'alternative. Nous devons attendre, hum, jusqu'à ce que le commandement East soit
enregistré en tant que commande globale. Essayez de le tester
, de le tester sur le serveur, puis de le tester sur le message direct s'il
doit être disponible. Message acidotique. C'est tout pour cette
vidéo, j'espère que ça vous plaira. On se voit dans la
vidéo suivante. Au revoir.
18. Déploiement À Heroku: Bonjour, donc maintenant vient
la partie amusante. En fait, nous avons maintenant
quelque chose qui fonctionne. Ma philosophie est donc que si vous avez quelque chose
qui fonctionne, vous avez déployé le plus tôt
possible en production. Parce qu'après,
ça va devenir de plus en plus
compliqué. Nous sommes sur Heroku. Si vous n'aviez pas de compte
, rendez-vous sur Heroku, heroku.com et
créez un compte. n'y a pas de science
à faire cela. Ensuite, vous
aurez votre tableau de bord. Voici dashboard.heroku.com. Et comme vous pouvez le voir, j'ai acheté mon application
pour mon serveur. Mais évidemment, pour ce
cours, nous allons
aller ici et créer une nouvelle application. On peut l'appeler cours
Discord bot. Les régions que vous pouvez
choisir les États-Unis ou vous pouvez choisir dans l'
original comme, eh bien, il n'y a que deux régions, oui , en
tant qu'Europe, je vais
choisir les États-Unis. Créez ici. Je vais improviser
un peu. Donc oui, nous allons nous connecter
à GitHub, souvenons que nous avons hébergé notre projet
plutôt que ce dépôt GitHub. Vous devez pousser toutes
vos commandes, désolé, toutes vos commandes. Si vous ne l'avez pas fait, c'est facile, simplement git, ajoutez git commit avec un
message, votre message de commit. Je n'avais
rien pour le moment, donc ça ne me dira rien au gamète, au
travail en traitement. Et puis Git Push. Pousser. Si c'est la première fois que vous
faites votre agenda push, vous devez faire git push moins u origin master ou le
nom de la branche, c'
est-à-dire votre branche principale. Donc après, désolé,
après
cela, ils vont dans ces
Déploiement et connectent GitHub, connectent votre GitHub
et recherchent cela. Ces 44, oui,
vous devez d'abord, je pense, connecter votre compte
de GitHub à Heroku. Comme je l'ai déjà fait
avec mon autre projet. Il ne me montre pas ici, mais ça va vous
inciter à le faire. Si c'est la
première fois que vous le faites. Eh bien, je dois indiquer
le nom de mon dépôt. En fait, je ne sais pas
que c'est le haut de ma tête. Donc, si je vais ici, et ce sera ces derniers,
ils ont marqué le parcours. Laissez-moi juste copier le
nom de cette chose. Allons ici et collé la recherche. Je le montre ici. Je vais juste cliquer
sur ce bouton pour dire que Connect va essayer de se connecter. D'accord, et ça me dit
quelle est ma branche principale ? Ma branche principale s'appelle Master. Attendez qu'un CI passe avant
le bleu, nous n'avions pas de CI. On peut laisser ça comme ça. Ensuite, nous devons aller dans les paramètres. Nous devons aller dans les barreaux de conflit. Je dois ajouter notre environnement de
développement, je suis désolé, nos
variables d'environnement ici. N'oubliez pas que dans le
modèle EMF, nous avons l'ID de l'application
qui est divisé ici. La valeur de ces choses. Vous pouvez le rechercher sur votre obligation de
buck course prod. Rappelez-vous que c'est celui-ci ici. La valeur va
être cette chose ici. Ensuite, nous allons ajouter
l'autre clé, qui est l'ID de guilde. Donc, l'ID de guilde ne l'est pas. Oui, en fait, nous n'avons pas besoin l'identifiant de
guilde car l'ID de culpabilité ne
sera utilisé que pour le registre. Enregistrez le commandement de culpabilité, désolé, nous avons cherché la culpabilité , l'
iode, tout notre projet. Vous pouvez voir que
nous ne l'utilisons ici
que dans les commandes de culpabilité du
registre. Nous n'allons donc pas
établir cette culpabilité IV. Et le jeton, le jeton
dont nous avons réellement besoin, il ira jusqu'à où est-ce qu'il a acheté
quelque chose ? Token de réinitialisation. Il suffit de le faire. Et ça va me
donner un signe et je l'affronte ici et j'ajoute
le problème de l'environnement. Je pense que c'est tout ce nous avons à faire à
l'intérieur d'Heroku. Aussi facile que ça. Nous devons créer un
autre fichier en ligne. Nous devons créer
ces fichiers proc ici. Ces Procfile, nous devons
mettre le fil de travail démarré. Pourquoi devons-nous faire cela ? Eh bien, lorsque nous avons déployé
une application dans
Heroku, Heroku va supposer
que votre application va être
liée à un port. Mais comme vous pouvez le voir,
notre application,
nous sommes en train de spécifier ici, hé, lie cette chose au port 3 000 ou
quelque chose comme ça. C'est une règle générale. Si votre obligation de ne pas vous
lier à un port spécifique
, Audi ne fonctionne pas. Et c'est ce que nous
allons faire ici. Le travailleur a besoin d'un certain
commandement pour démarrer le travailleur, évidemment, cela va
être gênant de commencer. Rappelez-vous, sait, construit principal. Heroku est assez intelligent pour créer votre application
car elle va
chercher des scripts, ce
qu'on appelle build. Et il va lancer
ce script ici. abord, il va
installer les dépendances. Il vient de dire les dépendances de développement
ainsi que les dépendances. Il va créer
votre application, puis il va supprimer
les dépendances de développement. Et enfin, il va s'
exécuter, désolée, la commande que
vous spécifiez ici, ce qui est gênant,
commence dans ce cas. Je pense que c'est tout ce que
nous devons faire. Essayons ces choses. Nous allons donc ajouter un commit, ajouter un fichier Brock, un fichier
pour le déploiement Heroku. Allons le pousser. Ok, donc si je
fais ça et que je vais à l'activité, voyons voir, ça
devrait apparaître ici. Oui, je pense que nous devions
cliquer sur ce bouton ici. Et ils se déploieront automatiquement. Voyons donc si cela
résout notre problème. Je suppose que nous devons, nous devons faire une commande, refaire un git push. Allons donc faire
quelque chose comme ça. Git commit moins,
moins une minute. Je suis ici à la fin pour
que ce soit différent. Ensuite, nous devons faire Git
Push, Dash, Dash Force. Maintenant, nous avons déjà parcouru l'histoire. Bonne histoire, et elle apparaît
maintenant ici. Voyons la progression de la construction. Cela va aller au détective de l'application
NodeJS. Et il est écrit dans
les binaires de style et ne neigait pas. Et npm utilise-t-il un
résultat d'erreur dans la version Node ? Oui, c'est probablement un. Nous devrions également le faire. Mais tout d'abord, voyons voir. Nous devons encore spécifier la version du nœud que
nous voulons utiliser ici. Mais voyons ce qu'
il fait ici. Il installe des dépendances. C'est un bâtiment avec John construit. Exécutez ces commandes TSC. Ensuite, il imprime
les dépendances de développement. Ensuite, il met en cache la construction avec ces commandes de trésorerie géantes. C'est donc assez intelligent pour le faire. Et découvert
ces types de seins, les profils déclarent les
types de travailleur et du web. Nous n'avons pas besoin du
Web, donc nous allons désactiver cette chose ici. Allons à C. Ok, donc c'est là. Il a fallu beaucoup de temps à montrer. J'ai eu les ressources incontournables. Et dans les ressources, il va
magasiner sur le Web et le travailleur. Sur le Web, nous allons
le désactiver. Chez Worker, nous
allons l'activer. C'est ça. Maintenant, si nous allons ici pour vous
montrer plus de journaux d'affichage, il s'agira de vos journaux. Vous allez voir que maintenant notre cours acheté est
mis en ligne. C'est essentiellement ça. Nous l'avons eu maintenant. Notre chemin va
être maintenant que notre sang est en
production. Essentiellement. Ce que nous devons faire, ça ne se montre pas ici. Il est ici. C'est donc une surprise. Voyons voir. Bon, donc ça marche. Je pensais qu'il allait
falloir plus de temps pour obtenir les
commandes des applications ici, mais c'était presque immédiatement. Et c'était une surprise pour moi. Mais oui. Il est maintenant là. Il est en production et ça va toujours être une
ligne ici parce que, vous savez, c'est à
Heroku, donc oui. Oui, c'est tout. Nous avons tout déployé avec succès
à Heroku. J'espère que cette vidéo vous a plu. On se voit dans le prochain. Au revoir.
19. Ajout De La Version De Noeud Dans Le Paquet Json: Bonjour, juste une chose de plus. Rappelez-vous dans le module de construction que nous n'avons pas
spécifié la version du nœud. Il a utilisé la version LTS de
suppose, qui est 16.4.2. Je pense donc que c'
est une coïncidence. En fait, il n'
utilise pas de fichier NVM ou C, mais avec la version LTS Heroku. Nous voulons donc faire correspondre la
version que nous utilisons en développement à celle
utilisée en production, puis il est facile
d'ajouter ces moteurs, Robert D dans le paquet
JSON et ajouter ces nœuds. Ceux-ci, elle sera la
même version ici. Donc maintenant, nous allons laisser Heroku utiliser la
version de nœud qu'il veut, allons utiliser la même chose que
nous utilisons pour le développement. Et si c'est le cas, si vous
travaillez en équipe, vous pouvez choisir de ne pas les
mettre à jour tant que vous ne le savez pas, vous mettez à jour correctement les paquets
et des choses similaires. C'est donc quelque chose qui
arrive beaucoup lorsque vous
travaillez dans un grand projet. Vous ne voulez pas vous contenter de
mettre à jour les dernières nouveautés sans vous soucier de casser les changements et les choses de ce genre. C'est pourquoi vous voulez probablement la même version que
vous utilisez et développez en production, d'accord, donc fondamentalement, nous abandonnons, tout est
ajouté à la version du nœud. En fait,
à côté, ce sera notre message de validation. Ensuite, on se fait pousser. Nous pouvons aller à l'activité
et rafraîchir cette chose. Nous avons maintenant ces nouvelles
constructions en cours. Et maintenant, vous pouvez voir que ce n'
est plus sans précision. Il va utiliser 16.4.2
c'est assez rapide. Ces constructions, elles ont
fini aussi vite. Nous pouvons maintenant accéder aux journaux BYU. Vous pouvez voir oui. Bien sûr, le large n'est pas aligné, donc oui. C'est essentiellement ça.
Je serai comme cette vidéo. On se voit dans le
prochain. Au revoir.
20. Ajouter la commande: Bonjour. Donc, dans cette vidéo, nous allons commencer à
ajouter une autre commande, qui va
pouvoir ajouter deux chiffres. Je sais que cela semble très facile à faire et en fait,
c'est facile à faire, mais nous allons
commencer à augmenter la complexité de nos
commandes au fur et à mesure que les vidéos passent. Bon, ajoutons une autre
commande appelée add app.js. Je vais exporter une
variable const appelée commande EPC, qui va être de
type commande lash. Et il semble que TypeScript
ne m'aide pas. Je dois donc importer cette commande
mentalement en tant que barre oblique à partir de la propriété command et de la propriété. Commençons par faire la propriété
command, et nous allons utiliser le générateur de commandes
obliques. Voyons donc si VSCode
m'aide à connaître la commande slash. Oui, il semble que cette chèvre m'
aide à importer automatiquement, c'
est-à-dire le générateur de commandes slash. Ajoutons une option numérique. Nous avons ici une méthode
appelée option ajouter un numéro. Ici, je vais dire option. Nous devons maintenant commencer à
construire cette option ici. Nous allons dire,
nous allons passer un rappel avec une
option qui est,
qui est de type son option de numéro de
commande de cils. Et nous allons utiliser le modèle constructeur
pour construire une hypothèse. Je dois d'abord
dire que le nom, je vais être numéro un. Et la description. La description peut également
ressembler au numéro un. Nous allons définir le
nécessaire pour être vrai. Lorsque nous exécutons notre commande as lash. Nous allons devoir
entrer ce numéro un. Numéro un. Nous allons maintenant
ajouter un deuxième numéro. Nous allons dire l'option
numéro. Option. Nous allons faire
la même chose. Mais cette fois, nous allons
appeler ce numéro deux et le numéro deux. Maintenant, nous devons également définir le nom de
la commande, évidemment. Le nom va donc être à l'adresse. Et aussi cette description, qui va être, renvoie
la somme de deux nombres. Ok, super. Nous avons maintenant notre propriété
de commandement. Définissons maintenant correctement
notre course. Disons une course asynchrone. Et cela va avoir une
interaction comme arguments. Et voyons ce que
nous allons faire à l'intérieur de ces rappels ici. abord, nous allons tirer parti
de l'interaction. Nous allons
distraire cette chose ici. Que se passe-t-il ici ? Ce n'est pas comme ça. C'est comme si j'avais oublié. Oui, sans ça, comme ça, j'ai presque oublié comment la
même chose a été corrigée en JavaScript ? Donc, oui, l'interaction
va être quelque chose de destructeur
par semaine par rapport à
ces options ici. Parmi les options, nous pouvons obtenir
le numéro un et le numéro deux. Numéro un, on peut
le faire comme ça. Options delta obtention du numéro. Je vais passer le
nom de l'option, qui est numéro un. Nous allons passer le deuxième paramètre qui
va être requis. Ceux-ci exigés ici seront les mêmes que ceux qui sont requis ici. Nous allons donc dire que
nous allons dire vrai. Et cela me dit essentiellement que
ce numéro un
va toujours être défini et qu'il viendra
toujours
dans notre interaction. Comme vous pouvez le voir, le numéro
un est de type numéro. Si je retire ces vrais ici, numéro un est teint
numéro ou nul. Mais nous savons que
nous ne pouvons pas exécuter cette commande si nous ne
passons pas ces deux options. Nous voulons donc que le nombre
soit toujours défini. numéro deux va
être la même chose, mais avec le nom numéro deux. Nous avons maintenant le numéro
un et le numéro deux. Nous avons donc juste besoin de la somme, qui est essentiellement numéro un. Numéro un plus numéro
deux, et c'est tout. J'ai maintenant la somme
de deux chiffres. Et nous allons dire,
attendez, interaction. L'autre réponse. Le
contenu sera, eh bien, nous allons dire que le numéro un plus le numéro deux est
égal à la somme. Et c'est tout. Maintenant, nous pouvons commencer à
tester notre commande, mais n'oubliez pas de la mettre
dans celles-ci sous forme de commandes de cils. Essayons donc de le
mettre comme cette commande. C'est là. Allons taper la profondeur dans notre terminal
car rappelez-vous que profondeur brutale va
enregistrer les commandes de la guilde. Et puis ça va
commencer notre sourd Jahren. Ok, donc maintenant, les
noyaux du livre, chevalet neuf. Voyons voir. Oui, maintenant
Dev and Prod ou Land, rappelez-vous que fier sera
toujours en ligne parce qu'il est
déjà déployé. On peut donc entrer une barre oblique. Et notre développement de cours
est vert en ce moment. Allons donc ici et les commandes
cd ici. Et nous avons deux commandes. La seule facilité pour le
monde et l'autre concerne le commandement de la guilde. Essayons donc n'importe lequel d'entre eux. Ils sont les mêmes.
Nous allons dire que dix plus 1610 plantes
plus 16 sont égales à 70. Maintenant, allons-y et tapez. Essayons d'
exécuter cette commande. Note ci-dessous, dix plus 61718. Notre commande de cils fonctionne
à la fois dans une guilde et à l'intérieur du dm. C'est tout. N'oubliez pas que vous souhaitez
déployer votre nouvelle commande, puis créer un
gamète et le pousser à
maîtriser ou à n' importe quelle branche que vous avez
définie pour le déploiement automatique. Et c'est tout. Vous allez voir cela se
refléter dans la production. C'est ça. J'espère que ça vous plaira. On se voit dans la
vidéo suivante. Adieu.
21. Ajouter un lien: Bonjour et bienvenue. Aujourd'hui, nous allons
ajouter une autre commande qui va
simplement afficher un lien. Pour aller sur Google. Avec cela, vous
saurez comment ajouter des liens à vos interactions. Créons un nouveau fichier. Appelons ces google.png. Il suffit de copier
et de coller depuis l'application, partir de la commande de l'application. De toute évidence, il
va falloir
remplacer beaucoup de choses ici. Dans la commande crée un nouveau. Tout d'abord, modifions
la commande Google Office. Peut-être. Dans la commande, créons le nouveau générateur de commandes
obliques. Et nous allons juste
définir le nom de ces derniers pour qu'ils soient Google. Et la description renvoie un lien vers Google, le plus simple. Maintenant, dans l'interaction, supprimez tout cela et procédons comme suit. Créons le lien en bas. Nous allons instancier une ligne d'action de message de
classe de ligne d'action de message. De ces corpons, je suis. Nous pouvons ajouter des composants
à ces lignes. Nous pouvons ajouter des composants avec
cette méthode d'ajout de composants. Le seul composant
que nous allons
ajouter dans notre cas est
le bas du message. Disons donc le bouton de message qui est importé
de la partition js. Nous pouvons définir l'URL ici. Vous pouvez voir l'URL définie. Définissons une constante
appelée URL Google. Il va évidemment s'
agir de google.com. URL Google. C'est ce qui permet de définir le style comme lien. Comme vous pouvez le constater, nous
avons plus d'options. Nous avons Bangor, link, primaire, secondaire et succès. Parce que le bouton Message
peut non seulement être un lien, il peut s'agir d'un bouton normal et nous allons
les utiliser plus tard dans ce cours. Mais les liens sont des
boutons spéciaux car ils sont censés être cliqués et
rhétoriques en raison d'un endroit. C'est pourquoi ils ont
besoin d'une URL définie. Vous devez appeler
la méthode
set URL définir le style est lié. L'étiquette ne sera que Google ou
ce que vous voulez. Maintenant, nous pouvons essentiellement sous
le bouton de lien, il suffit d'attendre. L'interaction ne répond pas. Ici, nous pouvons transmettre
un objet et le sujet accepte la propriété de ces
composants, qui est un tableau de composants. Et le seul composant sur
lequel nous
aurons ce bouton de lien ici. Ok, super. Maintenant, mettons également ces éléments à l'intérieur de ce tableau de commandes
obliques. Allons-y et Google Commande. Allons courir sourd déchirant. Il a enregistré les ordres de
culpabilité. Maintenant, le
développeur du cours de bosse, elle sera en ligne. Je devrais donc
pouvoir taper Google ici. Il me donne ce lien ici, qui si je clique dessus, il va dire
retenir ces linguales, vous
emmener sur google.com. Voulez-vous vraiment y
aller et vous pouvez faire confiance à ce domaine si
vous faites confiance à Google. Je fais confiance à Google et bien, dans mon deuxième moniteur,
ouvrez google.com. C'est ainsi que vous ajoutez
des liens à votre robot. J'espère que cette vidéo vous a plu. On se voit dans le
prochain. Au revoir.
22. Commande d'information utilisateur Partie 1: Bonjour et bienvenue. Dans cette vidéo, nous
allons créer une commande permettant de connaître les
informations utilisateur de quelqu'un. Commençons par
créer un nouveau fichier appelé userinfo dot ds. Copions la boilerplate à partir de la dernière commande que nous avons créée. Nous allons avoir besoin de ça. Aller, je vais écrire ceci partir de zéro et aussi
à partir de zéro. Juste en bas. En fin de compte,
cette commande
va être appelée, désolé, elle aura d'
abord une option utilisateur. Nous pouvons ajouter une option utilisateur. Ici. Nous pouvons soit
aussi vite que l'option utilisateur de la commande barre oblique, soit construire l'option
à l'intérieur ici avec un rappel. Nous allons donc faire la deuxième méthode. Je vais dire « option ». Cette option vous permet de définir
le nom de l'option. Je vais appeler ça la description de
l'utilisateur. Je vais dire l'utilisateur, que nous connaîtrons. Nous allons définir
la valeur requise de ces options pour qu'elle soit vraie. Nous ne pouvons pas utiliser cette commande sans spécifier l'
utilisateur que nous voulons connaître. Ensuite, il faut
bien évidemment lire le nom. Et je vais nommer ces commandes des informations de
soulignement de l'utilisateur. Ensuite, nous allons dire, la description à renvoyer
les informations de l'utilisateur, de l'utilisateur spécifié. Dans la fonction Run. Nous allons créer
ce qu'on appelle un pari M. Tout d'abord,
prenons l'utilisateur. Comment obtenir l'
utilisateur de l'option ? Eh bien, l'interaction
a une propriété options. Cette propriété options possède
une méthode appelée get user. Nous devons spécifier le
nom de l'option, qui est celle-ci. Nous allons donc copier l'utilisateur. Ceux-ci peuvent recevoir
un deuxième argument, qui est facultatif, et
c'est la condition requise. Nous allons dire,
oui, c'est nécessaire. Ainsi, notre type d'utilisateur
variable est de type utilisateur. Si je ne
les spécifie pas, ça va dire, Hey, c'est utilisateur ou null. Mais nous savons que nous ne pouvons pas
exécuter cette commande si nous ne spécifions pas ces options et
nous allons dire nécessaire. Maintenant que nous avons l'utilisateur, nous pouvons obtenir des
informations le concernant. On peut dire const, avatar, affichage de points utilisateur, URL d'
avatar, qui
nous donnera une URL de l'avatar. Et maintenant, nous allons
commencer à créer notre premier, je vais dire M
pari nouveau message M, qui vient
des scores points js. Il s'agit donc d'une importation
à partir de ces coordonnées. Et les week-ends spécifient
plusieurs choses ici. abord, nous allons spécifier
la couleur, la couleur, et nous avons de nombreuses options
que nous pouvons utiliser par défaut Vous pouvez utiliser du
code hexadécimal si vous le souhaitez. Mais je vais dire que je veux que ces outils soient flous. Je ne sais pas quelle est la couleur. Nous pouvons également définir le titre. Le titre sera
la balise utilisateur. Donc, vous avez dit cette étiquette. Nous pouvons également spécifier la
vignette du jeu de miniatures. Et ce sera
l'avatar que nous avons obtenu d'ici à partir de l'URL de l'avatar d'
affichage de points de l'utilisateur. Nous pouvons également ajouter la date à laquelle ces utilisateurs se sont enregistrés
pour la première fois. Je vais utiliser
ces autres champs. Je vais dire que le nom
va être enregistré à l'adresse. La date,
sera créée par l'utilisateur. Il doit s'agir d'une chaîne. Donc, pour l'instant, mettons
ces deux verres de dattes. Nous allons créer plus tard une fonction qui
tient compte du
fait que le local de l'utilisateur
de l'interaction, désolé. Le troisième paramètre
est cette ligne. Champ qui
nous indique essentiellement que nous pouvons ajouter
d'autres champs en ligne. Je vais donc dire oui, car nous allons ajouter
d'autres champs à l'avenir. Avant de le faire, ajoutons également un pied de page. Je vais dire intégrer
ce filtre. Et je les fais séparément. Parce qu'entre cette chose ici, ces lignes de code et
ces lignes de code, nous allons ajouter d'autres
choses à notre système intégré. Ici. Dans le pied de page défini, vous transmettez un objet possédant une
propriété appelée texte. Et je suis là. Je vais dire que l'ID de
l'utilisateur est le point utilisateur. Enfin, nous
allons répondre à cette interaction en
disant une réponse d'interaction. Et je vais dire,
désolé, mes lits. Et nous allons
passer nos embarcations. Nous allons ajouter
d'autres choses. Pour l'instant. Modifions le nom
de ces commandes,
les commandes d'informations utilisateur. Évidemment, nous devons
l'ajouter ici, commande d'informations utilisateur. Parlons de fils sourds, et voyons ce qui se passe. Allons-y. Attendons les deux débits de
courbes en ligne. Allons maintenant sur notre serveur
et saisissons les informations utilisateur. Vous pouvez voir ici
que je peux sélectionner tous les utilisateurs
disponibles sur mon serveur, qui ne sont que trois. Voyons voir, le mien, mon propre utilisateur. Il est dit que c'est mon tag. J'ai été inscrit le
vendredi 29 novembre 2019. Et c'est l'idée de mon utilisateur, et c'est la couleur du pôle flou, et c'est l'avatar, que je l'ai défini comme vignette. Passons en revue ce qui se
passait ici. Nous avons défini la couleur pour qu'
elle soit floue, c'est cette ligne ici. Nous avons défini le titre
comme étant la balise utilisateur, ce
qui est ici. Nous avons ajouté la vignette, qui est mon avatar ici. Et nous avons ce domaine
qui est enregistré à l'adresse. Enregistré à correspond au titre
de ces champs ou du nom. Et nous avons la valeur qui est user.name a créé
cette chaîne à ce jour. Ces valeurs ici. Et nous avons également ces vrais, ce qui signifie que le champ
d est intégré. Et cela aura plus de sens une fois que nous ajouterons plus d'informations
à ces éléments intégrés ici. C'est tout pour cette vidéo. Dans la vidéo suivante,
nous allons ajouter plus d'informations à ces
n-bits. J'espère que ça vous plaira. On se voit dans la vidéo suivante. Adieu.
23. Commande d'information utilisateur Partie 2: Bon, continuons donc
avec nos informations utilisateur de M ben. N'oubliez pas que notre
bot peut réellement envoyer vos réponses à l'intérieur d'un
rendement et en dehors du rendement. Si vous êtes à l'intérieur d'une guilde, vous disposerez
d'informations supplémentaires telles que, par
exemple, le surnom que
vous utilisez à l'intérieur, ressentez cette culpabilité, désolé. Le joint chez. Donc, lorsque vous rejoignez ce serveur
ou que vous êtes coupable en particulier. Et aussi ce qu'on appelle ça, les rôles que tu as
dans cette culpabilité. Toutes ces informations
ne
seront disponibles que si l'interaction
provient d'une culpabilité entre
la création de l'Intégrer et la définition du
pied de page pour l'intégration. Je vais d'abord vérifier si l'interaction provient d'une interaction de
guilde dans le rendement. Si c'est vrai, nous aurons des informations
supplémentaires. Tout d'abord, nous allons
obtenir la guilde de la culpabilité de l'
interaction. Nous allons donc
définir cette
variable de guilde où le CE,
interaction cette culpabilité. Maintenant, si nous le faisons, voyons la définition de la définition de
type de Gill. Vous allez voir qu'ils
peuvent être guildes ou nuls. Fondamentalement,
c'est parce que le roi de la guilde n'est pas dans la cache. Si cela se produit, nous
allons dire ou, et nous allons dire,
attendez, interaction. Un client qui se guilde, permettez-moi de les fermer un peu. Ce truc. Et nous allons passer l'
interaction, l'ID de guilde. Cela revient à une culpabilité. Et comme vous pouvez le constater,
nous utilisons le poids. Si cette chose est nulle
, nous allons
chercher la guilde. Et maintenant, vous pouvez voir que la
variable de champ n'est que de type, culpabilité. C'est génial. Et maintenant, nous pouvons obtenir le
membre de ces guildes. Ce que nous allons faire,
c'est dire membre constant, EC égal aux membres de la guilde que nous devons rechercher
dans le cache. Obtenez l'utilisateur. Encore une fois, si ces éléments ne
sont pas dans le cache, ils
reviendront sur définis. Cette fois, il retourne non défini. Si cette chose retourne indéfinie, alors nous allons dire que
nous allons chercher le, pour le, pour que le
membre puisse dire attendre les membres de la
guilde qui vont chercher. Et nous allons
transmettre l'ID utilisateur. Et ces effets vont renvoyer
une
prémisse qui renvoie une
promesse avec un membre de la guilde. Maintenant, nous pouvons voir que ce membre n'
est que de type « big deal ». Il ne sera plus
indéfini. Et maintenant, nous sommes sûrs
que la culpabilité et le membre de
cette guilde existent. Maintenant, nous allons obtenir le joint sur le terrain auprès des membres. disons donc simplement que le
membre dot se joint à cela. Vous pouvez
aussi détruire si vous le souhaitez. Nous allons également obtenir
le rôle de maladie des rôles des membres qui comptent. Heureusement, ces
choses sont de type collection, c'est-à-dire, qui a une chaîne
et une collection
de règles dans la partition, le jazz n'est qu'une carte avec
des choses supplémentaires. Et quand je parle de lui, j'
ai dit quelque chose
comme cette nouvelle carte. Il s'agit d'une carte en JavaScript. La collection n'est essentiellement qu'une carte avec d'
autres choses. Maintenant, nous allons définir la description des
incorporés qui vont dire M, mais c'est une description définie. Et nous allons utiliser
une fonction YouTube, qui provient en fait de ces constructeurs
de slash de garde
js, qui est le surnom de membre
mentionné. Voyons voir. Pour ce faire, nous devons
transmettre un ID de membre, qui est l'ID utilisateur. Voyons voir ce que
nous avons jusqu'à présent. Allons sur notre serveur. Tapez qu'est-ce que c'est ? Userinfo, et c'est mon utilisateur. Et vous pouvez voir que
c'est la méchante. Désolé de ce
surnom de membre mentionné. OK. C'est comme ça, mais à l'intérieur des enrobages. Je peux donc cliquer dessus
et vous verrez des choses. Revenons maintenant
au code et
voyons qu'ils rejoignent ça. Vous pouvez voir qu'il y a une date. C'est de type date ou ancienne. Donc, nous allons simplement dire adhérer
à cela. Si cette chose existe
, je vais ajouter un champ. Le champ va
être appelé « joint at ». Maintenant, nous allons mettre la date, mais au lieu de les faire, joignez cette chaîne à date. C'est génial. La fonction à l'intérieur de
cette méthode ici appelée appelons-le
obtenir les formats ont. Cela va recevoir une date qui
va être de type. Je vais y retourner. Au lieu d'utiliser une chaîne de date, je vais utiliser deux chaînes de date
locales. Et nous allons utiliser l'
interaction, le local. Ici. Nous avons deux choses ici. Le premier est le local. La personne qui utilise la
commande ou le local de la Guilde, qui est l'auteur local Gil. Je vais l'utiliser pour utiliser le local de l'utilisateur
exécutant cette commande. Et nous pouvons
préciser que le jour de la semaine
est une chemise longue et étroite. Il ne s'agit donc que de JavaScript. Nous pouvons spécifier l'engrenage à deux chiffres ou numérique,
numérique le mois. Encore une fois, nous avons de nombreuses options pour DDD long, court numérique étroit. Je vais répéter
les poumons le jour, beaucoup d'options à la
TNT ou au numérique. Je vais le dire numérique. C'est à vous de choisir. Vous pouvez utiliser n'importe quelle autre
chose étrangère si vous le souhaitez. Ok, donc ils sont dans
ce joint et je vais passer à la
date de mise en forme. Je vais passer la variable
jointe à la variable. Je vais dire que ces champs
devraient être intégrés. Ici aussi, permettez-moi d'utiliser
la même fonction ici. Obtenez des dates formatées. Je vais passer un
utilisateur qui a créé cela. Ok, super. Voyons maintenant ce que nous avons ici. Reprenons
Userinfo avec moi-même. Et comme vous pouvez le constater maintenant, je me suis inscrit le vendredi 29
novembre 2019 et j'ai rejoint le serveur le vendredi 25
mars 2010202022. Désolé. C'est l'
articulation de ce domaine. Ajoutons maintenant une autre chose, savoir les rôles que nous
avons spécifiés ici, les rôles. Voyons maintenant. Filtrons d'abord les rôles. Parce que, eh bien,
créons d'abord quelques rôles, parce que je pense que je n'avais pas
de serveur. Voyons où cela
peut être dans les paramètres du serveur. Allons dans Roles. Et comme vous pouvez le voir,
nous avons deux rôles, mais bien sûr sourds et
achetés, bien sûr préparer. Il y a tout le monde, qui est un
rouleau complet, c'est génial. Un autre, disons le propriétaire. Et ça va être jello. Et un bas a mentionné ce rôle. Nous allons le
garder comme ça. Afficher le membre
du rôle séparément des membres de la terre, peu
importe. Nous allons donc enregistrer les modifications
ici dans les membres. Je vais m'ajouter ici. Maintenant, vous pouvez voir que j'ai
ce rôle de jello ici. Allons ici. Je vais dire
M lit ce champ. Commençons par créer une variable appelée rôles
filtrés. Pour l'instant, je vais juste
prendre la chaleur de la carte
tableau de rôles , comme ce rôle. Et puis je vais
utiliser un autre utilitaire de la mention du rouleau froid des constructeurs. Je vais dire que Roll a mentionné
que je vais passer un rôle. Enfin. Voyons voir, je vais me joindre
à ce truc. Ce tableau avec un espace. Donc, en gros, je vais
juste dire des rouleaux. Ensuite, je vais interpoler
les rôles de filtre cette longueur et
les mettre entre crochets comme celui-ci. Pour voir le nombre de rôles
de cet utilisateur. Et la valeur de
cette chose va être des rôles filtrés. En fait, je ne peux pas le faire
parce que c' est déjà joint. Cela va donc
me donner la longueur de la chaîne plutôt que
la longueur du tableau. Alors, faisons-le ici. Ok, donc maintenant je sais que je n'ai pas spécifié
cette chose comme en ligne, donc elle devrait apparaître sous les champs inscrits
et joints à. Allons ici et saisissons UserInfo. Mettons-moi moi même. Comme vous pouvez le voir, nous
avons ces rouleaux et il est
dit que j'ai deux rôles, le rôle de propriétaire et
l'annonce chez tout le monde. Cette annonce à tout le monde. Je ne veux peut-être pas le montrer. Je vais juste
dire les rôles de filtrage. Et ici, je vais
filtrer les rôles. Je vais dire Roll, Roll. Si le nom du rôle n'est pas
égal à tout le monde, je ne veux pas
inclure ce rôle. Maintenant. Je dois vérifier
si les rôles de filtre ont
des éléments, car il peut s'agir d'un tableau vide pour
quelqu'un qui vient de rejoindre, par
exemple,
ECM va juste dire règles de
filtre qui
durent ces éléments. Et je vais le
faire ici. Maintenant, saisissons à
nouveau UserInfo avec moi-même. Et maintenant, vous pouvez voir
que j'ai filtré ça chez tout le monde parce que ça n'a pas de
sens de le mettre ici. Si vous le vouliez, vous le calculez. Si vous ne le voulez pas,
vous pouvez le filtrer. Et l'héritage, j'ai
mes rôles de propriétaire. OK. C'est donc ça. Je pense que la
partie la plus importante que vous devez en
tirer est que ces
informations ne peuvent être incluses que. Iv, vous êtes
coupable d'avoir besoin d'aller chercher la Guilde et le membre s'ils ne
sont pas dans le cache. En fait, écrivons ici
un message d'allèle à notre robot. Disons UserInfo. Cette fois, je peux juste mettre
comme moi ou les bots. Voyons ce qui se passe. Maintenant, je ne peux obtenir que
ces informations, le registre ajoute l'ID. Je peux obtenir des informations supplémentaires
car cette commande
n'est pas exécutée par la
culpabilité d'AIG. C'est ça. J'espère que ça vous plaira
et que vous
savez maintenant comment obtenir des
membres de guildes et, au fond, en les connaissant, vos
possibilités sont infinies. Conditions de construction de bots. Vous utilisez TypeScript,
donc nous sommes en bonne voie. J'espère que cette vidéo vous a plu. On se voit dans le prochain. Au revoir.
24. Commandement du sondage Partie 1: Bonjour et bienvenue. Nous allons maintenant commencer à créer une commande de sondage
et de barre oblique. Ce sera la chose la
plus complexe que nous allons faire maintenant. Commençons par créer un
nouveau fichier appelé pole dot ds. Et notre sondage va
être très, très complet. Nous allons donc construire quelque chose de
très, très complet. La première chose que je
vais faire est d'aller copier
et coller
certaines choses ici. Enlevons tout ici. Enlevons-les. Et modifions ces commandes
pour qu'elles soient la commande pull, qui sera
de type barre oblique. Commençons à construire
notre commandement. Ici. Mettons tout simplement pour que nous
n'obtenions pas cette erreur. C'est annuler
l'interaction. Commençons à construire
la commande ici. Notre commande E va
être un complexe d'allèles. Donc, ce que je vais faire, c'est créer une fonction qui
va être appelée immédiatement. Expression de
fonction immédiatement invoquée, ou qui est essentiellement le Sud, contrairement à ce que vous créez
votre fonction ici, vous dites
amour du Conseil, peu importe, bas. Maintenant, c'est une fonction et
pour l'appeler immédiatement, vous le faites comme ça. Il s'agit d'une expression de fonction. Et immédiatement évoqué l'expression
fonctionnelle invoquée. Si j'attribue ces
deux variables a, vous verrez cet ABC. Vous allez voir
que le type de cette chose est une fonction
qui renvoie nulle, retourne par exemple une. Ensuite, cette chose va
renvoyer un numéro, sa fonction normale, mais
elle est appelée immédiatement. C'est ce que je vais
faire ici parce que ma fonction va
être un peu complexe. Et c'est pourquoi je devais
faire une
logique particulière ici. Commençons par déclarer une variable de commande
barre oblique de coût. Je vais dire que Mu est un constructeur de commandes
obliques. Et pour l'instant, vous pouvez voir
que ces commandes se plaignent du créateur de commandes
slash, nous pouvons, pour se
débarrasser de cette erreur,
simplement renvoyer les commandes barre oblique . Maintenant, nous avons une carte d'identité propre sans avertissement ou
quoi que ce soit de ce genre. Commençons maintenant à créer
cette commande barre oblique. La première chose que
nous allons ajouter est une option entière
qui sera le moment où le sondage sera disponible. Pour cela, je vais
dire une option de type entier. D'accord ? J'ai besoin de construire l'option. Je crée donc un rappel
comme argument. Et ce
sera le nom du point Option. Le nom de cette option
va être heure. Ensuite, je dois définir
la description. Et la description
va être
la durée du sondage. Maintenant, je vais dire que
c'est un argument obligatoire. Tellement triste, nécessaire à vrai. De plus, je veux mettre une
valeur moyenne et la valeur maximale. C'est à vous de décider, mais je veux une valeur moyenne de
1 et une valeur maximale de 60. Maintenant que nous avons le temps, nous devons
maintenant spécifier
l'unité de temps. Nous devons voir s'il s'agit de
secondes, de minutes, d'heures. Pour ça. abord, je vais
créer une énumération, qui sera une unité de temps. Je vais dire que les secondes sont
égales à quelques secondes. Cela signifie qu'il est égal à
des minutes et des heures égales aux nôtres. Ce n'est pas nécessaire, mais je veux le faire comme une
bonne pratique pour que vous ayez un endroit central où vous gérez ce
genre de choses. Ajoutons maintenant une autre option qui sera
une option entière. Je suis désolé, une option de chaîne. Je vais dire ajouter
une option de chaîne. Je vais créer l'option de rappel ici, ce nom de jeu. Et leur nom va
être
des unités de soulignement temporel. Une chose, je ne pense
pas avoir mentionné ces noms, mais ces noms ne peuvent être séparés que par un trait de soulignement. Si vous faites quelque chose comme
ça, cela va échouer. Si vous avez des mots composés
comme ceux-ci, utilisez un trait de soulignement. Maintenant, la description
va être n'importe quelle, juste pour dire que l'unité de
temps sera utilisée. Cela va également s'
avérer nécessaire. Je vais donc fixer le
salaire requis sur vrai. Et c'est là
que j'ajoute les choix. Donc, aux choix et ceux-ci
s'attendent à un ensemble de tableaux. Le premier, il sera le deuxième, la deuxième option. Je vais donc dire l'unité de
temps point secondes. Et le premier élément de
ce tableau sera le nom qui
sera affiché dans cette cour. Et la deuxième valeur se trouve sur le deuxième élément
de ces tableaux pour être la valeur réelle que vous allez utiliser dans votre code. Ici, je peux mettre des secondes, et ici je peux mettre des secondes d'unité de
temps. Ou vous pouvez simplement utiliser la même chose si vous ne vous
souciez pas de la capitalisation. Je vais le faire ici. Je vais juste répéter
le nom et la valeur. Et je vais
répéter ce processus. Mais avec quelques minutes, avec des heures. Heures et heures. Encore une fois, si vous souhaitez modifier l'étiquette qui
sera affichée dans ce carré, il suffit de modifier ce premier
élément du tableau. Dans ce cas, je ne m'en
souciais pas trop, donc je vais utiliser
le même nom et la même valeur. Maintenant, rappelez-vous que nous
devons nommer ces commandes. Donc, définissons le
nom sera pole et la description va
être, crée un sondage. Ou si vous pensez à quelque chose de
mieux, n'hésitez pas à l'ajouter. Nous allons maintenant
ajouter les options. Et les options vont
être totalement deux options vont être nécessaires
parce que quand il au moins deux options pour un poteau. Et les huit autres options, car cela
aura un maximum de dix options. Les autres
options
seront facultatives. Pourquoi est-ce que c'est ? Eh bien, la façon dont nous
voulons voter pour notre pôle est pour
réagir à certains emojis. Nous n'avons que dix emojis
pour les numéros 12345678910. Nous ne pouvons avoir qu'au
plus dix options. En fait, faisons-le. Créons ce tableau d'emojis. Je vais le créer. En fait, je vais juste
le copier et le coller. Mais il faut que tu puisses aller à cette cour,
aller sur cette grille. Ici. Vous pouvez accéder à cet accord
et chercher cet emoji. Laissez-moi voir. Où
sont ces emojis ? Peut-être que Tier bien, chercher. Je pense que c'est quelque chose
comme un ou vous pouvez simplement l'envoyer à vous-même ou autre et le copier
dans votre code comme
celui-ci en quelques
guillemets simples autour. C'est ainsi que vous créez
ces différents emojis. C'est donc quelque chose
que nous allons utiliser
à l'avenir. Mais je
vous dis juste comment vous pouvez créer
ces tableaux d'emojis. Et l'autre chose que
nous allons faire est créer le tableau d'options. Je vais appeler ça des options. Laissez-moi l'ajouter ici. Nous allons utiliser le
tableau point des méthodes. Le premier paramètre de
0 distinct, un objet itérable. Un objet itérable
peut donc être quelque chose qui spécifie essentiellement
la longueur du tableau. Je veux dire, hé, je veux un tableau de longueur dix. Et la deuxième
option est une carte fn. Il s'agit donc d'une
fonction de mappage permettant d'appeler chaque élément du tableau et créer un tableau à partir
d'un objet itérable. Mais ici, le deuxième
argument est l'indice. heure actuelle, notre baie
a 10123456789. Et nous voulons convertir ces valeurs en
quelque chose de plus complexe. Et je veux y retourner. Dans un objet pour chacun
de ces index, l'objet aura
quelque chose comme la moyenne, qui sera
le nom de notre option. Je vais utiliser l'
interpolation de chaînes ici. Ça va être moi plus un. Lorsque nous aurons 0, ce sera l'option 1. Quand nous en aurons une, ce sera l'
option deux, etc.
Jusqu'à ce que nous atteignions, je suis égal à neuf. Il s'agira de l'option dix, ce qui sera essentiellement
l'hypothèse ici. Le second sera
la description. Là, ici. Je vais juste dire
option, sondage, option. Je ne connais pas le numéro ici. Je vais dire que
j'ai encore une fois plus un. Cela va donc être la
description de l'hypothèse. Et la
propriété la plus importante que nous allons ajouter ici,
c'est qu'elles sont nécessaires. Requis va
être booléen. De toute évidence. N'oubliez pas
que les deux premières options seront nécessaires car nous avons besoin d'au moins deux options. Si je suis inférieur
ou égal à un,
alors nous sommes bons
parce que c'est 01. Donc, les deux premières options, ce sont celles qui seront
nécessaires et ces
valeurs seront vraies. Maintenant, dans notre commande, nous pouvons, en dessous de cela, nous pouvons choisir chacune
de ces options, ajouter une option de chaîne
comme nous l'avons fait ici. Faisons ça. Pour chacun d'entre eux. Je vais
déconstruire ici
les propriétés de
chaque objet. N'oubliez pas que nous avons un nom, nous avons une description, nous avons un retour obligatoire. Nous allons faire quelque chose
avec ces propriétés. dire
la commande barre oblique, l'option de chaîne,
l'option de chaîne. Je vais construire l'option. Nous allons dire une
option qui a dit nom. C'est le nom
qui a été spécifié ici. Option Je plus
une description. Cela va être la
description a été spécifiée ici, l'option numéro I plus un. Et ensuite, nous allons dire que
requis est égal à requis. D'accord ? C'est ainsi que nous avons créé ou
ajoutons dynamiquement de nombreuses options. Nous ajoutons donc dix
options et les deux
premières sont obligatoires. Je pense que la vidéo
est longue, donc je vais continuer construire cette commande
dans la vidéo suivante. Adieu.
25. Commandement du scrutin Partie 2: Bonjour et bienvenue. Commençons donc. Continuons à ajouter d'
autres options à notre commande barre oblique. Avant de renvoyer, notre commande
barre oblique aura une autre option de
chaîne. Ajoutez donc l'option de chaîne et
construisons cette option. On va dire l'option
qui donne le nom, le titre. Et nous allons
définir la description. Permettez-moi de terminer ça. Et ce sera
le titre du poteau, donc le pollen doit
avoir un titre. C'est ce que nous faisons ici. Nous allons également ajouter
une autre option de chaîne. Et cette fois-ci, il s' agira de la
description du poteau, la description réelle
d'un bol. Notez également que je
les envoie pour être facultatifs. Donc, pendant que je vais
être requis, je vais dire la description
du sous-nom. Et la description
de
la description sera celle
d'un ballon. Est-ce que Paul va éventuellement avoir un titre et une description. Ensuite, je vais dire
ajouter l'option booléenne. Maintenant, c'est si difficile d'écrire
ce symbole plus grand que le symbole. Et la dernière option va
être quelque chose appelé l'option DM vilain cinq
qui définit le nom DM N5. Notre pool va
envoyer un message comme le sondage et avec succès. Et cela va être vrai
ou faux. Donc, si vous définissez la valeur
false, le sondage
se terminera correctement, mais il ne vous
avertira pas via un DM. Maintenant, la description de l'ensemble, nous allons dire
si
la pulpe s'est terminée avec succès. Super. Ce sont donc les trois
dernières options
facultatives que nous allons ajouter
à nos commentaires. Avant d'aller plus loin, je voudrais
vous expliquer encore une chose. Eh bien, tout d'abord, comme je vous l'ai
dit dans la dernière vidéo, nous allons
réagir au pôle, qui va évidemment envoyer
un message. Et le message va être :
il va y avoir
des réactions qui vont avoir
1234, ces emojis ici. Pour ajouter ces
émojis à un message, nous avons besoin d'une autre intention et nous allons l'ajouter avant de
l'oublier. Et ça va
être qualifié d'intense. Cela signale la culpabilité,
les messages, les réactions. Nous avons donc besoin de cette intention. Et l'autre chose que
je voulais
vous dire , c'est que nous allons permettre que ces sondages ne
soient appelés qu'à l'intérieur d'une guilde. Et pourquoi pas DM ? Eh bien, vous pouvez certainement utiliser un poteau à l'intérieur d'un DM
avec plusieurs personnes. Mais ça devient plus
compliqué que ce qu'il est. Nous allons
donc simplement nous concentrer sur le fait que
cette chose fonctionne à l'intérieur d'une guilde
et dans un canal de texte. Ce que nous allons
faire dans cette course vers l'est, c'est comme ça. Si l'interaction
n'est pas coupable, coupable, nous avons cette
méthode de culpabilité pour l'interaction. Si cette chose
n'est pas coupable, nous allons répondre. Interaction. Cette réponse. Nous allons
répondre avec du contenu. Vous ne pouvez utiliser ces
commandes qu'à l'intérieur d'un serveur. La deuxième chose, c'est que l'interaction
n'a pas de canal. Parce que si vous allez voir le type d'
interaction de ce canal, voyons quel est le
type de cette chose. Cette chose peut être soit un canal basé sur
du texte, soit null. Si le canal de texte
n'existe pas, si vous essayez de
faire des choses bizarres. Ici, je vais juste dire réponse aux données
d'interaction. Le contenu est que vous
ne pouvez utiliser cette commande que
dans un canal. Pour être plus précis. Je vais aussi le dire, ou le client n'a donc
pas la bonne intention. Alors pourquoi je dis que le client n'a pas
les bonnes intentions, vous allez dans le fichier main.js. Vous allez voir que nous avons cette intensité qui
signale les guildes. Et si vous vous en souvenez correctement, ces informations nous permettent de voir des informations
sur les canaux de la guilde. Si nous ne définissons pas cette intention, il ne sera pas en mesure interagir avec ce canal. Même si vous essayez d'exécuter la commande barre oblique dans
un canal basé sur du texte. Pour être clair à 100 %, j'ajoute
un message ici. C'est huit. Dans la
vidéo suivante, où nous allons faire c'est commencer à construire
l'interaction ici, ce qui va
être un peu compliqué. Alors prends-moi dans la vidéo
suivante. Adieu.
26. Commandement du scrutin Partie 3: Bonjour et bienvenue. Nous allons maintenant commencer à
créer notre message intégré. Le
message intégré va donc être Web contenant les
informations relatives au sondage. Pour cela, nous allons avoir besoin informations sur
la guilde, informations au-dessus du membre, informations sur
les options brillantes. Parce que rappelez-vous, nous n'
avons que deux options requises. Nous avons d'autres options
optionnelles. Nous n'avons qu'à obtenir
ceux qui sont spécifiés. Nous devons obtenir des
informations sur l'heure, l'heure avez-vous besoin du titre, la description, etc. Avant de commencer, j'ai oublié
de faire quelque chose ici. Nous devons revenir après avoir
postulé, car nous ne voulons pas continuer avec le flux suivant que nous allons définir ici. Tout d'abord, déconstruisons
à partir de l'interaction. Beaucoup de choses. Nous allons obtenir les options
pour obtenir l'utilisateur, nous allons obtenir l'ID de guilde. Je vais chercher
le client pour l'instant. Donc, la première chose que
je veux obtenir, les informations sur la culpabilité, je vais obtenir ces variables de culpabilité. N'oubliez pas que nous l'avons déjà
fait dans UserInfo. Nous obtenons l'interaction de
cette guilde et cette chose n'existe pas parce qu'elle peut
revenir, vous serez notre null. Ensuite, nous allons le
récupérer à partir de l'interaction qui guilde qui
récupère l'interaction que BLAT. Alors, faisons-le. L'interaction fait de la culpabilité. Et si je ne fais que
cela, la
culpabilité sera de type. Si je le survole, culpabilité ou non, je veux que cela
soit toujours affiné. Et c'est pourquoi je
vais faire un client que les guildes vont chercher. Et je vais passer la
guillotine comme dette ECS. Maintenant que j'ai la culpabilité, je peux maintenant
obtenir
la formation de la membrane. Encore une fois, c'est quelque chose
que nous avons fait dans les informations utilisateur et nous pouvons simplement
copier et coller ici. Guildez les membres qui ont mis
en cache Get User ID. Cette chose peut renvoyer soit un membre
branchial soit indéfini. Ou je ne veux pas que cela
soit indéfini. Donc, si ce n'est pas défini, je vais le chercher
auprès de la guilde des membres
qui vous vont chercher, monsieur. Ok, super. J'ai maintenant des informations
sur la guilde. J'ai des informations
sur le membre. Maintenant, je veux que les options
affichées soient classées, ce qui va être
un tableau contenant uniquement les options
affichées ou spécifiées. Je vais déclarer les options
affichées. Et je vais obtenir
le tableau d'options. Et ensuite, je vais le cartographier. Donc le premier argument, il peut
s'agir de la course. Il peut donc s'agir d'un objet
possédant ces propriétés. Je vais juste déconstruire
le nom d'ici. C'est la seule chose dont j'ai besoin. Le deuxième argument
est l'index, que je vais l'appeler I. Cette chose va renvoyer un autre objet qui va contenir l'emoji
associé à cette option. Et comment puis-je obtenir le MOG ? Je viens d'accéder au tableau d'
images à la position I. C'est tout. Maintenant, nous avons besoin de l'étiquette, qui va essentiellement être, si vous vous souvenez dans
UserInfo, quelque chose comme ceux-ci, étiquetés ici dans l'étiquette de champ, peut, ce peut être cette option de
description numéro un. En fait, faisons-le. Cela permet également de déconstruire
la description. Je vais définir l'étiquette comme
étant la description. Si vous voulez. Vous pouvez
spécifier n'importe quelle autre chose. Mais pour l'instant,
restons simples et définissons la
description sur la valeur. y aura des options qui
obtiendront le nom de la chaîne. Nous allons donc associer cette option
à son nom. Et si vous survolez
ça, ça va être
une chaîne ou nulle. Pourquoi ? Parce qu'il peut être présent
ou non. Et nous allons filtrer
ces choses en fonction de cela. Maintenant que nous avons ces cartes, nous allons dire filtre à points. Je vais avoir
l'option épaule. Ici. Je
vais juste dire, Hé, donnez-moi ces valeurs
où l'option brille, cette valeur est la bonne. Vérité. Si cette chose est nulle , le filtre va
le filtrer. Voici une chose
intéressante. Si nous allons ici et
survolez ces options affichées, vous voyez qu'il s'agit
d'un tableau d'objets et que ces objets ont la chaîne
emoji, étiquetée chaîne. Et voici la partie
intéressante. La valeur est une chaîne ou une valeur nulle. Cependant, nous avons déjà filtré
les valeurs nulles. agit donc d'une
chose intéressante dans TypeScript lorsque vous appliquez un
filtre à une carte et
que vous filtrez en
fonction d'une condition quelconque, il ne
multiplie pas le type pour vous. Vous devez vraiment
le faire vous-même. Et comment pouvons-nous faire cela ? En fait, c'est
assez simple. Après cette option affichée, nous allons dire
colonne affichée option. Et nous allons spécifier
le type emoji, chaîne,
étiquette, force de valeur de chaîne. Maintenant, je survole
ces options affichées. Vous pouvez voir que maintenant
la valeur est toujours, sa formation a été filtrée et
le type d'affichage d'
une option a été corrigé. C'est quelque chose que
peu de gens connaissent, mais c'est très, très utile. Maintenant que les options
sont affichées, nous allons obtenir les
informations comme l'heure. Le temps est des options qui
entrent dans votre temps. Il est nécessaire. Nous allons donc le
mettre en valeur. Nous allons obtenir le
temps dont vous avez besoin avec options et obtenez un moment
étrange dont vous avez besoin. Ceux-ci sont également nécessaires. Et voici la partie
intéressante. Cette chose en ce moment
est de type chaîne qui se souvient que
les choix de l'annonce, nous les définissons comme une unité de temps. Donc elle sera comme S time parce que c'est
quelque chose à partir de là. Nous savons qu'il
souffre de là. Maintenant, const, titré
va être options dot obtenir le
titre de force, et c'est facultatif. Nous n'allons donc pas envoyer
qui sont nécessaires pour être vrais, nous obtiendrons également la
description. Options qui obtiennent une description de
chaîne. Pourquoi pas ? La variable phi
méchante de DM. Options
booléennes et non définies. Ils peuvent être
booléens ou nuls. Si cette chose est nulle,
alors, en fait, si
cette chose est fausse, nous voulons que ce soit faux. Mais si nous faisons
cela, nous allons passer
à cette condition ici. Si je l'ai fait, cela sera
toujours vrai. Oui, vous pouvez voir
que DM notifie vrai. Je veux donc que ceux-ci soient soit
vrais, soit faux, donc booléens. Donc, pour les dettes, je vais utiliser cet opérateur ici,
double point d'interrogation. Donc, si je vois cela, c'est
maintenant de type booléen. Ce double point d'
interrogation me dit, hé, est-ce que cette chose est toujours indéfinie
ou nulle ? Alors, allez ici. Si cette chose est fausse, alors gardez-la
comme telle, fausse. Si c'est vrai, c'est
évident que ça va être vrai. Si cette chose
n'est pas nulle ou non définie, allez ici et définissez-la sur true. C'est donc comme
la valeur par défaut. C'est comme le
volume par défaut. Quoi d'autre ? C'est tout ce que
nous allons obtenir. Nous avons maintenant beaucoup
d'informations. Nous devons maintenant utiliser
ces informations. Nous devons utiliser ces informations. Nous allons créer
l'intégration au-dessus de
toutes ces choses et en dessous de
toutes ces conditions ici, je vais créer une fonction à
l'intérieur de cette fonction. C'est ce qu'on appelle une
fermeture dans le script GAO. Je vais recevoir un appel que ça va
construire et ça ou mort au lit. Ce que vous voulez. Je vais appeler
ça s'embarquer. Construit dans le lit. Son intelligent, correct. La première chose que nous
allons faire est de déclarer ces formats à l'unité temporelle. Et je vais
dire que c'est de type unité de temps ou chaîne. Ensuite, je vais le régler
ici,
alors que c' est des unités de temps. C'est la
partie intéressante des fermetures. Nous pouvons utiliser des variables
en dehors de la fonction. Lorsque vous déclarez une fonction
à l'intérieur d'une fonction, la fonction interne peut utiliser des éléments de la fonction externe. C'est essentiellement une fermeture. Pourquoi ? Je déclare ces variables de
format à l'unité temporelle. Eh bien, si le temps
est égal à un, si le temps est égal à un, alors je veux ce format de temps. Vous devez avoir des unités de
temps formatées, 0 moins une. Donc, ce que cette chose fait, c'est que si vous dites le poteau, temps est d'une heure. Donc, au lieu de dire une heure, cela va être
transformé en une heure. C'est essentiellement ce qu'il y a ici. juste une petite chose, mais c'est bien d'avoir ça. Bon, alors
commençons à créer notre intégration. Donc je vais dire que const
and bad va être un
nouveau message M beth
de disque ou Jess. Je vais définir l'auteur sur objet
BIM avec une propriété name qui sera le
membre du nom complet. Nous pouvons également définir l'URL de l'icône. J'ai une sorte d'URL. Il
s'agit de l'utilisateur qui
affichera une URL cible. C'est ça. Maintenant, nous avons les auteurs
dans le même lit. Nous allons maintenant
définir le titre. Le titre sera soit
le titre que nous obtiendrons d'ici. N'oubliez pas que c'est
une chaîne ou une valeur nulle. Si cette chose est nulle, je vais le
régler sur quelque chose comme
Paul, quelque chose comme ça. Nous allons maintenant
définir la description. En fait, ici. Je ne veux pas
autoriser les chaînes vides, donc je vais également utiliser l'opérateur OR.
C'est à vous de choisir. Vous pouvez utiliser ceci ou ceci. Je vais les utiliser parce que
je ne veux pas de tuiles vides. Bien que je pense que cela n'est pas permis par l'option
que je ne connais pas. Maintenant, la description
sera soit cette description,
soit quelque chose comme React to boat. Le sondage sera disponible pour le temps. Pour mon moment difficile. Il s'agit du message
par défaut et c'est que vous transmettez la description. Ensuite, vous allez définir cela, si ce n'est la belle passe qui , alors vous allez
définir ce message ici. Nous allons définir la
couleur de l'embed. Ça va être que
je ne sais pas, bleu. C'est à vous de choisir. Je vais définir le
pied de page en disant quelque chose comme dans le texte
en cas de tirage, une option aléatoire sélectionnée. Maintenant que nous
avons ces éléments intégrés, nous voulons ajouter les champs. Tout comme nous avons ajouté
les champs ici. Rappelez-vous où sont les champs IT. Nous voulons maintenant ajouter ces
champs ici à l'élément. Pour cela, je vais utiliser
le tableau d'options brillantes. Je vais économiser pour
chaque option affichée. Je vais chercher l'étiquette. Je vais avoir la valeur ,
puis j'aurai l'emoji. Le rappel va simplement intégrer
ce champ d'ajout. Le premier argument est le nom, qui sera l'étiquette. Le deuxième argument
sera la valeur, qui sera la valeur du tiret
emoji. Le troisième argument
sera l'intérieur des terres. Je ne veux pas que ça soit à l'intérieur des terres, donc je vais le
garder comme ça. Enfin, nous allons renvoyer
l'intégration à partir de ces modèles de
build. Maintenant que nous avons ces fonctions
intégrées, nous allons juste dire que
const et lit sont égaux à construire, à les construire, alors. C'est ça. Nous avons fait
beaucoup de choses ici. Fondamentalement, nous obtenons l'information du branchion, du membre. Nous serions en mesure de
montrer un spectacle. Nous obtenons cette description du titre
de l'unité de temps. Ces DM ont averti que
nous n'avons pas encore utilisé. Ensuite, nous utilisons des fermetures pour créer cette fonction qui formate le temps dont vous avez besoin en premier. Ensuite, il définit l'
auteur, le titre, la description, la
couleur, le fluide central, ou il ajoute tous
ces champs pour les options brillantes et
renvoie l'intégration DDL finale. Et nous l'appelons ici.
Beaucoup de choses à digérer. Arrêtons-nous ici et
continuons dans la vidéo suivante. Adieu.
27. Commandement du scrutin Partie 4: Bonjour et bienvenue. Continuons à construire
notre commande de sondage. Maintenant, nous avons le système Embed. Nous allons maintenant
ajouter quelques boutons. Et il ne s'
agira que de deux boutons. Définissons donc ces boutons. Obtenir des boutons. En dessous de notre fonction construite
et Beth. Nous allons créer une autre
fonction par laquelle vous pouvez compacter cette fonction
en cliquant ici dans le code VS. Je vais créer ça, obtenir des boutons ou construire des
boutons, peu importe. Une fonction qui va devenir
une fonction interne. Et puis je vais juste
retourner une nouvelle ligne d'action de message. Rappelez-vous que nous les
utilisons déjà, je pense que c'était peut-être Google. Ici, nous avons ajouté ces
méthodes section corde, et nous devons ajouter quelques
composants pour ajouter des boutons ici. Nous allons donc ajouter
deux boutons. Le premier sera
ce nouveau
bouton de message. Fermez ça. Et je vais définir l'ID
personnalisé pour qu'il soit annulé. Ce bouton va nous
permettre d'annuler le poteau. Aller définir l'étiquette
comme étant égale à Annulation. Il a dit cette tuile. Ce sera
comme un fond de rat. L'autre bouton, qui va être
le bouton de message. Nous allons définir le client. Et seule la personne qui
a créé ce sondage sera en mesure de le faire
avant l'expiration du délai. Je sais que c'est peut-être quelque chose que
nous ne voulions pas sonder, nous voulons que tout le monde vote. Mais cela va nous
permettre d'apprendre certaines choses sur les autorisations
et sur ce genre de choses. Ladite étiquette. Tirez maintenant et satisfaites
d'être primaire. Vous pouvez le rendre
secondaire, peu importe. Je vais juste le faire. Le principal ici, ce sera des
boutons construits qui n'obtiennent pas de bas. Maintenant, nous avons l'intégration, nous avons les boutons. Maintenant, nous allons faire
quelque chose de très intéressant. Nous allons dire
interaction qui répond. Nous n'allons pas répondre avec l'imbed ou le bouton. Nous allons juste répondre avec un message générique tel que
Paul a créé avec succès. Ensuite, nous allons
envoyer le lit M mauvais en
tant que message séparé, poids du
message. Et peut-être devons-nous
déconstruire le canal
de l'interaction. Maintenant, la chaîne n'est qu'un canal basé sur le texte de
culpabilité. Ce sable. Ici, nous allons
inclure l'intégration, qui
ne sera que les composants, qui
seront les boutons. Pourquoi je fais cela, pourquoi j'envoie d'abord un message
générique, puis je crée séparément le message et je
l'envoie séparément. Eh bien, il m'a fallu
beaucoup de temps pour le remarquer, mais rappelez-vous que si
nous passons à notre commande, nous avons défini la valeur moyenne un et réglez la valeur maximale sur 60. Il peut s'agir de secondes, de
minutes ou d'heures. Voici la partie intéressante. Vous ne pouvez pas répondre. Vous ne pouvez rien faire
avec l'interaction. Avec réponse d'interaction. Vous pouvez tout faire. Vous avez supprimé, vous pouvez y répondre. Vous pouvez tout faire. Si 15 minutes se sont écoulées
depuis votre usine. Il y a donc un jeton qui a expiré en coulisses, alors vous ne pouvez pas
actualiser ce jeton. Il est impossible pour le
moment de le faire. Nous devons donc créer le
message car ce message, qui est de type message, peut être modifié
après 15 minutes. Si nous ne devions
modifier que la réponse, nous n'aurions rien
pu faire. Mais ce message,
chapitre 15 minutes, nous allons
pouvoir modifier cela. Vous allez voir à quoi je veux modifier
ce message. Alors que nous allons de l'avant. C'est pourquoi
je fais ce truc ici. En fait, nous pouvons exécuter Def. Nous pouvons aller à cet accord. Remarquez cela, mais
Chris Davies en ligne, nous pouvons, évidemment, nous
devons enregistrer cette chose. Nous ne l'avons pas fait. Annulons ça. Et écoutons ajouter
les commandes de sondage. Allons courir sourd harring. Encore une fois. Quel cours y a-t-il en ligne ? Voyons voir, sondages. Maintenant, je dois spécifier l'heure, disons 15 secondes. Bon, maintenant, nous avons
ces trois options ici. Rappelez-vous ces options
que les étiquettes de ces options sont en fait
ce que nous avons dit ici. Ceux-ci, la première chose
dans le désarroi, unités de
temps vont
être des secondes ou l'option 1 sera une et l'
option deux sera moi. Et si je tape la touche de tabulation, je peux voir que j'ai toutes ces options supplémentaires
facultatives. Gardons ça comme ça. Maintenant, il est dit que Paul
a créé avec succès , c'est mon nom
complet, mon avatar. Je n'ai pas défini de titre, donc le titre
va être pole. React aux deux
sondages sera disponible pendant 15 secondes. Et ici, nous avons
l'option de sondage numéro un. Cela me pousse à réagir avec un si je
voulais sélectionner un, deux, si je veux sélectionner B, et ça dit dessiner un aléatoire, ce sera une
option aléatoire qui est sélectionnée. Alors que cette
option aléatoire est désélectionnée, je dois annuler
et terminer le sondage. Maintenant, si je
clique dessus, ça ne fera rien. Cela va me dire
que cette interaction échoue parce que nous n'avons pas créé de collecteurs
pour les fonds. Essayons donc de le faire. On va peut-être finir
ça dans la prochaine vidéo. Je veux dire, finis de créer
le collecteur de composants. Mais ajoutons d'abord un
temps en millisecondes. Et MS, je vais nommer
cette fonction pour obtenir du temps. Mme, en millisecondes. Je veux convertir le temps pendant lequel j'ai passé
deux millisecondes. Pour cela, c'est assez facile. Je vais juste créer
une autre fonction interne appelée get time in an in NMS, désolé, ici, et nous allons créer
une instruction switch. Je vais prendre les unités
de chronométrage. Et cette fois, vous devez vous rappeler que e est de type unité de temps. Je peux donc dire le cas en quelques secondes. Je vais retourner le temps multiplié par
cent dix cents, car ce temps
sera en quelques secondes. Pour le convertir en millisecondes, je dois le multiplier par une. Dans le cas d'une
unité de temps en minutes
, je dois retourner le
temps multiplié par 60, multiplié par un millième. Cela convertit donc le
temps en minutes en secondes, puis ce
facteur deux millisecondes. Et enfin, si l'unité de
temps est la nôtre, temps de
retour est multiplié par 3 600 fois 10000. D'accord ? C'est donc le nombre
de secondes en une heure. C'est donc le deuxième. Vous pouvez également le faire d'une autre
manière. Mais c'est mieux pour moi. C'est plus compréhensible
car il
y a 303 600 secondes
en une heure, puis je convertit les
secondes en millisecondes. Vous pouvez peut-être mettre ça à l'intérieur d'
un autre ou à l'extérieur ici. Mais de toute façon, je
l'accorde ici comme fonction
intérieure
pour que je puisse utiliser temps dont vous avez besoin dans le temps comme celui-ci. Sans passer la mort, une dispute ou
quelque chose comme ça. Maintenant que j'ai le
temps en secondes, et c'est un
nombre que je vais
créer ce qu'on appelle collecteur. Et nous aurons besoin
ici de collectionneurs composants et
collecteurs de réactions. La réaction est que le
collecteur va filtrer et
spécifier
combien de temps nous voulons que les
réactions soient collectées. Et les composants
collecteurs sont les mêmes, mais pour les composants qui, dans
ce cas, sont les bouteilles. Donc, cette réaction
est un peu
plus compliquée. Commençons donc par le collecteur de
composants. Collecteur de composants. Pour créer le collecteur GED ou
construire des composants. Et commençons à
construire cette chose. Donc en dessous du
timing d'obtenir, la masse. Faisons vraiment ça. En dessous du moment, le gâchis. Je vais créer le collecteur de composants de
construction, une fonction simple qui
va renvoyer un message. Rappelez-vous donc que nous avons la variable de
message qui crée, alors que c'est le collecteur de
composants de message. Et comme option, nous devons
spécifier combien de fois nous
voulons collecter des interactions
pour ces bloqueurs. C'est donc là que nous
utilisons ce temps. Mlle Bible. C'est ça. Nous avons maintenant notre collecteur de
composants qui sera
utile à l'avenir. Encore une fois, il s'agit d'une vidéo en train de se faire seul, alors arrêtons ici et
continuons dans la vidéo suivante. Adieu.
28. Commandement du scrutin Partie 5: Bonjour et bienvenue. Nous avons maintenant le collecteur de
composants. Maintenant, nous devons créer le collecteur de
réactions qui va être
compliqué mais pas
trop, juste un peu. Créons cette réaction
appelée électeur comme ça. Créer la fonction de
collecteur de réactions de génération qui
sera créée sous le collecteur
de
composants de facturation sera la conférence Build
Reactions. La première chose
que nous voulons faire, et ce n'est qu'
une chose d'optimisation. Est pour créer et carte des emojis. Ces cartes emojis vont
avoir comme clés,
l'image elle-même. La valeur va être un dicton
booléen, Hey, ouais, ces emoji East dans les options affichées que
nous envoyons dans l'Intégrer. Donc, quelque chose comme ça. Cela va simplement
faire cela manuellement. Comme prenons ces
3 premiers hématologues. Alors que c'est ici. Supposons que la première
option s'affiche bien, les deux premières
seront toujours affichées comme ceci. Ensuite, le troisième, il peut être vrai ou faux. Donc, si nous spécifions l'
option numéro trois, il
s'agit de l'option numéro trois. Cela va être vrai. Si nous ne l'avons pas
précisé, ce sera faux. Et la même chose avec quatre
ou 56700 jusqu'à dix. C'est ce
que nous voulons construire avant de
construire
le collecteur de réactions. Bon, donc c'est
plutôt simple. Créons cette carte emojis
montrée. Et au fait, pourquoi
je fais ça ? Eh bien, parce que je veux créer
un filtre dans le courant, dans le collecteur de réactions
qui le dit. Il me dit que
c'est un emoji ici ? Oui, puis
filtrez-le. N'est-ce pas ici ? Alors ? Filtrez-le. Désolé, s'il est ici
, ne le filtrez pas. Si c'est faux,
filtrez-le, quelque chose comme ça. Encore une fois, il
s'agit uniquement d'
une optimisation. Nous pouvons y parvenir en
trouvant simplement l'emoji dans les options
affichées à chaque fois, mais ce n'est pas suffisant. Un objet accédant à des éléments d'un objet présente une
complexité temporelle de O one. Et c'est pourquoi nous faisons cela. carte des emojis
affichée sera affichée des options qui réduisent la réduction
pouvez-vous spécifier et réduire le résultat
des commentaires ? Je le suis. Donc, dans notre cas,
ça va être un objet. On peut dire enregistrer ces chapeaux x
récurrents deux paramètres. Le premier est le
type de clé, qui va
être de type chaîne. Et le type de la valeur qui va
être de type Boolean. C'est essentiellement le type, désolé, de
notre carte qui en résulte. Le premier facilite un rappel. Permettez-moi de terminer ça. Dans ce rappel, nous
allons d'abord obtenir la carte. Deuxièmement, l'image. Nous allons
déconstruire l'emoji de l'option ici. Le deuxième argument
n'est qu'un argument
qui est un rappel. Et le deuxième argument
sera la valeur initiale, qui sera un objet
vide, une carte vide, peu importe. Ce n'est pas la carte, à
proprement parler, c'est juste un objet, mais
sa fonction est d'être cartographique. C'est pourquoi je les
appelle. Je vais donc dire emoji de carte, être vrai et retourner
la carte. C'est ça. C'est notre émission,
leur montrer le mode que Mab
va être la chose que
je viens de vous montrer avant. Créons maintenant le collecteur de
messages, disons qu'il retourne un message qui crée un collecteur de réactions. Le premier bien
sera le moment. Combien de temps nous voulons que les
réactions soient collectées. Je ne vais pas seulement
programmer le gâchis, mais juste tester les composants. C'est pourquoi nous avons créé cette fois-ci. Et ensuite dans MS pour le réutiliser
ici et dans le collecteur de
composants. Et la deuxième chose que nous
allons utiliser, c'est le filtre. Le filtre est un rappel. Le rappel reçoit une réaction. Nous allons dire que les émoji de ces réactions étaient une réaction que le nom de point
emoji. Ce nom est en fait
comme ça ici. Ce sera donc le
nom du singe. Ces choses peuvent être
à bout ou à ficelle ou nulle pour être honnête à 100%, je ne comprends pas
pourquoi elle peut être nulle, mais nous allons juste
être en sécurité ici. Nous allons dire non
emoji, puis nous retournerons faux. Quand le vent, les emojis bizarres
n'ont pas de nom. Si cette chose porte un nom que
nous allons dire, revenez. Et nous allons utiliser un double bang pour le lancer
sur un booléen. Et nous allons
dire que les emojis ont
montré la carte et cette chose va être montrée. Et nous allons simplement cartographier. Cette chose va être
vraie, soit cette chose
ne sera pas définie. Si c'est vrai, alors la double banque
vraie est toujours vraie. Et si cette chose n'est pas définie parce qu'elle n'est pas
affichée sur la carte des motifs, alors cette chose ne sera pas définie. Un double coup d'indéfini
va être faux. Nous avons maintenant créé notre collecteur de réactions et
notre collecteur de composants. Maintenant, créons
une autre variable. En fait, ça va être deux, mais pour l'instant,
ce sera juste un. Et cela va
s'appeler des fréquences. Ce sera encore
un objet. Enregistre donc le numéro de chaîne. Il va s'agir d'un numéro de chaîne d'
enregistrement. Cela signifie qu'il s'agira
d'un objet avec des clés en tant que flux. Si le nombre est
le nombre de fois et que l'
emoji apparaît. Donc, ce sera comme
si les fréquences comptaient. D'accord ? Ce que nous allons faire ensuite, c'est créer la
fonction qui sera en mesure de placer des
informations à l'intérieur de
ces fréquences. C'est ce que nous allons faire dans la prochaine vidéo. Je serai comme ça. On se voit dans la vidéo suivante. Adieu.
29. Commandement du scrutin Partie 6: Nous avons maintenant notre collecteur de
réactions
ou notre collecteur de composants. Nous devons maintenant préciser
ce que nous voulons faire lorsque nous collectons quelque chose que
nous allons créer. Composants. Sur les composants collectent la fonction
qu'il va spécifier ce que nous voulons faire
lorsque nous appelons une clique, dans ce cas à partir des boutons. Tout d'abord, je
dois préciser une chose. Si nous allons chez les personnes non assurées pour
créer un auditeur, nous devons faire face à
un changement d'allèle. Lorsque nous cliquons sur un bouton. Rappelez-vous les boutons
difficiles à annuler et, et Paul maintenant bouton. Nous ne devons rien faire
lorsque cette interaction intervient. C'est donc ce que
nous allons faire ici. Va dire si l'interaction, en bas, va dire
attendre l'interaction. Ce V pour. En gros, nous
disons à ces marqués, hé, ne faites rien pour l'instant. Parce que l'interaction
du bouton, ce que nous allons réellement
faire avec le bouton que nous allons gérer
dans la commande Tout. Nous allons créer une méthode de collecte de
composants, notre fonction interne ici. Je vais le créer
sous le collecteur de
composants de ceinture. Désolé, ci-dessous la
réaction de build est collectionneur. Je vais créer ces
composants collectés. Je vais dire collectionneur de composants,
collectionner. Rappelez-vous que nous les avons mis à
disposition, puis non collectées. C'est ce qui nous intéresse. Et nous allons recevoir l'interaction entre
les composants. C'est la
partie déroutante car, désolé, car ces
interactions entre composants viennent ici sur notre interaction crée. Et ici aussi, nous ne
voulons pas le gérer ici, peut-être que vous allez construire plus
de commandes. Vous devez donc
les modifier et jeter le fond du bol. Mais pour l'instant, nous
allons le faire. Donc, nous allons juste dire, Hé, je ne voulais rien faire
avec ce bouton ici que je veux faire quelque chose
ici sur les composants. La première chose à faire est de vérifier
si l'
ID personnalisé du point d'
interaction de coupe du composant est égal à annuler. N'oubliez pas l'identifiant client que
nous avons indiqué sur le bouton. Nous allons maintenant vérifier si
c'est le bas de l'annulation. Voici la partie intéressante. Je vais dire E de l'interaction des
composants. Cet ID est différent
de celui de l'utilisateur. N'oubliez pas que ces utilisateurs utilisent fermetures afin que nous puissions utiliser des variables
extérieures à cette fonction. Il s'agit de l'utilisateur de
l'interaction. Donc, si ce n'est pas votre ID de
l'ID d'interaction utilisateur
, nous allons dire une interaction de composant de
poids. Récupère la réponse. Je vais vous expliquer
cela dans un instant. Interaction des composants éloignée. Suivi. Je vais dire du contenu. Vous ne pouvez pas annuler. Tirez. L'éphémère
va être vrai. De toute évidence, nous allons revenir. Ce que je fais ici, c'
est aller chercher le replay. N'oubliez pas que la réponse
peut se faire après certains moments. Nous devons donc
récupérer la réponse de ces interactions entre
composants. Ensuite, effectuez ces suivis. Si je fais cela, ça
ne marchera pas. Nous devons d'abord
chercher la réponse. Nous devons ensuite donner
suite à cette réponse. Ce sont des femmes. Je pense que nous n'en
avons pas parlé. C'est une vraie femme
signifie que vous seul pourrez voir le message. Si ce n'est pas le cas. Si je suis le, si l'ID utilisateur de l'interaction du
composant est égal à mon ID
, nous devons faire quelque chose. Nous devons arrêter le collecteur de
réactions. Donc ces collecteurs de réactions ont cette méthode de talon
et nous pouvons spécifier un récent et nous allons
dire que la raison
est annuler, tirer. Ce récent sera
investi dans votre avenir lorsque nous
créerons notre
collecteur de réactions et notre fonction. C'est donc la
première condition. La première condition lorsque
le bouton que nous interagissons facilement
le bouton d'annulation. Maintenant, lorsque nous cliquons
sur les autres boutons. Nous allons donc dire que si l'interaction des
composants que l' iode de
Kusto est égal au pôle N, va faire essentiellement
la même chose. Laissez-moi copier et coller ça. Au lieu de dire que vous ne pouvez pas annuler ce bol, nous allons dire que vous
ne pouvez pas terminer cet automne. Si je suis autorisé à mettre fin au sondage, je vais appeler les méthodes de
données du collecteur de réactions. Peut-être pourrait-on préciser ce que je ne vais pas préciser
un récent ici. Nous n'allons pas
préciser de raison ici. Arrêtez simplement le truc ici. Nous pouvons éventuellement
mettre un retour ici. Ce n'est pas nécessaire car
cette dernière condition, au
fait, je vais
l'ajouter quand même. Ok, donc maintenant nous avons nos
propres composants collectés. En gros, passons en
revue ce que nous avons fait. Nous avons réglé un appel vers l'on collecte une interdiction
du collecteur de composants, où la première technologie et si
c'est le bouton d'annulation, la pizza le bouton d'annulation, nous allons vérifier si nous sommes autorisé
à annuler le ballon. Nous sommes le même
utilisateur qui a créé l'interaction initiale de
notation de la commande poll. Et puis nous y allons, nous ne sommes pas autorisés. Ensuite, nous allons
faire un suivi avec une personne qui a essayé d'
annuler le fond et de dire : «
Hé, vous pouvez annuler cette balle. Et si nous sommes autorisés, nous allons simplement augmenter le collecteur de réactions
avec cette méthode supérieure. Et il en va de même pour le sondage final. Nous vérifions si l'utilisateur
qui a créé le sondage n'est pas un utilisateur. Nous allons juste dire que
vous ne pouvez pas mettre fin à ce sondage. Et si nous sommes l'utilisateur de
cette grille au pôle, les réactions de l'État
romain ont collecté ce stock sans aucune raison. Ce sera comme
un estab normal comme si le temps a expiré, mais simplement
en cliquant simplement sur le bouton.
Bon, donc c'est tout. Dans la vidéo suivante, nous allons
ajouter les réactions. J'espère que ça vous plaira. On se voit dans la vidéo suivante. Adieu.
30. Commandement du scrutin Partie 7: D'accord. Il est temps d'ajouter que les
réactions pour
ce rapport vont juste attendre
les réactions au message. De toute évidence. Pour cela, nous allons créer une autre fonction. Ce sera donc quelque chose
comme les réactions de const. Et ça va être synchronisé. C'est pourquoi nous sommes pondérés. Que ce
soit un dysfonctionnement va
être une jolie scène. Nous allons juste dire
pour l'avance, j'égaux à 0, je suis inférieur aux options brillées longueur de
point I plus, plus. On va juste attendre. Le message qui réagit. Options affichées de l'IA. UN MOOC. C'est ça. Nous allons
simplement ajouter chaque réaction
des options brillées au message. Message. Est-ce que cette méthode réagit que vous passez l'
emoji et c'est tout. Nous réagissons simplement au message. Maintenant, ajoutons du fil. Allons courir en cas de sourd, désolé. Faisons en sorte que nous ayons les réactions du message de
guilde. Nous pouvons réagir. Allons ici et créons un sondage. Temps de minuscules secondes. Ajoutons une option trois C. Pourquoi pas une option pour d Phi ? Ceci, vous pouvez voir
que nous avons 1234. Ce sont là les réactions et nous pouvons évidemment y réagir. Maintenant, la dernière étape
consistera à collecter toutes ces réactions
après l'expiration
du délai
ou après avoir cliqué sur le bouton de sondage maintenant. Commençons par le faire. Nous allons créer une
réaction On, se termine sur les réactions. Encore une fois, cela va
être une fonction. Ajoutons ça sur le sens de la réaction. Ce que nous allons faire ici, est prendre en charge le
collectionneur de réactions. Nous allons passer
un rappel asynchrone. Et ce rappel asynchrone
comporte deux arguments. Le premier est celui collecté. Il s'agit essentiellement des entrées
collectives qui vont être une
carte et une version récente. Rappelez-vous, quand nous
avons fait
collecter les composants et nous l'avons ajouté en
haut et ces derniers récents ici. C'est la raison pour laquelle nous allons recevoir ici. Maintenant que nous avons toutes
les réactions sur
ces cartes collectées, nous devons voir celle qui
a la fréquence la plus élevée. C'est la première chose
que nous allons faire. Nous
allons dire que la touche max soit une chaîne vide et que le nombre maximum
soit 0. Nous allons donc initialiser
ces deux variables. Je vais dire pour const, clé et valeur des entrées de points
collectées. Il existe une méthode pour
ces collectifs, qui est rappelé qu'il s'agit d'une collection qui est
essentiellement une carte fantaisie. Il a donc ces méthodes d'entrées. Nous allons dire que si le
nombre de valeurs est supérieur
au nombre maximal, clé maximale est égale à c0 et le nombre maximum est
égal à value.com. Ok, parfait. Maintenant, rappelez-vous que
nous avions ces réseaux de fréquences, donc maintenant nous
allons l'utiliser. Après cela, nous allons
économiser les fréquences d' équipe qui seront
égales à value.com. clé est essentiellement l'emoji et la valeur est une réaction de message. Nous pouvons donc rechercher ce type. Nous pouvons, laissez-moi voir
si nous pouvons le faire. Réaction par message. Voyons voir. Nous pouvons exprimer la réaction du message d'aujourd'hui. Nous pouvons essayer de l'importer et il
suffit de cliquer sur Ctrl ici. Et c'est le cas. Il va passer à la définition
de cette réaction de message. Comme vous pouvez le constater, nous
avons ce compte public. Nous avons ce message que
l'utilisateur supprime la récupération. C'est donc tout ce que
cette réaction au message a. L'une des
choses importantes ici, c'est le compte. Nous voulons connaître le nombre de réactions de ce message et
évidemment la clé de l'ECMO. Maintenant que nous connaissons la clé maximale,
le Mexique, souvenez-vous de l'ECMO. Maintenant que nous connaissons
ces informations, nous pouvons obtenir les informations, toutes les informations
du gagnant. Il suffit d'aller aux options
brillées et de trouver, trouver l'élément où l'emoji est égal
à la touche maximale. Emoji est incroyablement similaire à max key. Nous pouvons en fait renommer ces
deux emojis les plus fréquents, c'
est-à-dire qu'ils sont plus grands. Nous avons les
emoji les plus fréquents est égal à emoji, alors c'est le gagnant. Maintenant, nous pouvons commencer, nous pouvons commencer à
modifier notre intégration. Rappelez-vous que nous l'avons fait,
alors que notre intégration ,
Voici nos embarcations, nous pouvons
commencer à modifier cette chose. La première chose que je
vais dire, c'est la couleur. Je veux qu'ils soient verts parce que le pôle et la dette et quand
quelque chose et avec succès, la couleur est généralement verte. Et la description sera à moitié vapeur et le gagnant va
utiliser une interpolation de cordes. Nous saisissons cette valeur. La dactylographie m'
aide en fait avec ces points d'interrogation car le gagnant peut également
être indéfini. Si ce n'est pas défini, ce
sera un cas bizarre. Probablement. Nous allons régler cette affaire
à l'avenir. Pour l'instant. Soyons satisfaits de ça. Et je vais également
réinitialiser les champs. Les champs vont
être un tableau vide. Maintenant, je le veux aussi, j'ai redémarré les champs, mais je veux également voir la tension de chacune
des options. Je vais juste
dire les options affichées. Maintenant, je vais avoir la
valeur et l'emoji. Je vais dire
intégrer ce champ d'application. Je vais enregistrer que le
nom sera celui de Bode pour la valeur. Ce sera les
textes du nom. Et je vais dire les fréquences
d'emoji à une chaîne. Parce que c'est un nombre
pour le convertir en force. Et c'est tout. Maintenant, nous pouvons voir les
votes pour chaque option. La prochaine étape consistera donc à supprimer toutes les réactions
du message. Nous avons juste besoin de dire que les
réactions qui suppriment, c'est à vous de décider. Vous pouvez laisser les
réactions si vous le souhaitez, mais je veux les supprimer. La dernière chose sera
un message de poids. Eh bien, ce n'est pas une dernière chose
que nous allons faire, mais juste pour voir
quelque chose sur Discord, nous allons dire l'édition des
points de message et nous
allons dire « intégrer ». Les composants incorporés
vont être un tableau vide. Nous ne voulions pas
ajouter de boutons ici. Pour l'instant, ajoutons une étape
supplémentaire ici. Nous allons enregistrer les
notifications DM égales à true. Nous allons dire un
moyen de poncer les utilisateurs. Et nous allons
dire votre sondage. Et nous allons ajouter
le message, cette URL, ce
message, cette URL,
puis le succès complet. Je pense que c'est tout ce
dont nous avons besoin pour l'événement
du collecteur de réactions. Essayons donc de tester
ces choses maintenant. L'heure, disons 15 secondes. Option B, le sondage a
été créé avec succès. Nous avons ces deux options. Je vais voter pour. L'option de. Je vais attendre quelques
secondes
pour voir ce qui se passe. C'est donc ce qui se passe. Incorporer l'habitat de l'intestin. Il est dit maintenant que le polaire
est terminé et que le vainqueur, il est ce
bateau pour un, un
seul vote et
les votes pour B. Et c'est tout. Je pense que nous avons fait un
excellent travail pour cela. Et remarquez que j'ai ce message indiquant votre
sondage et que, si je clique sur ce lien, il va
me lire ce message ici. C'est tout pour cette vidéo, nous devons toujours manipuler
ces boutons ici. Nous allons le faire dans la vidéo suivante. Adieu.
31. Commandement du scrutin Partie 8: Bonjour et bienvenue. Maintenant, faisons encore une chose. Prenons en charge l'affaire
où nous annulons le poteau. Parce que si nous allons
ici et que nous
disons Paul, disons dix minutes,
options a et b.
Et supposons, d'accord, j'ai
recueilli les réactions. Je veux savoir, je
veux mettre fin au scrutin. Je vais juste mettre
fin au scrutin maintenant. Ça va marcher. Il va m'envoyer
le message à 10h5 pour faire quelque chose de spécial ici car il ne
fait que suivre le flux des réactions et de
l'événement. Lorsque nous avons un sondage récent et
des raisons annulé, nous voulons faire
quelque chose, être amis. Nous allons dire ici que le récent u
équivaut à annuler un sondage. Je vais dire que les
intègrent la couleur rouge. Et ensuite, je vais définir la description sur quelque
chose comme ça. Ball West a annulé le jeu, défini le pied de page sur Null. Supprimez le pied de page. C'est ça. Également. J'annule le scrutin. Je ne veux pas simplement m'
envoyer un message
au SM parce que c'est idiot. Je sais déjà que j'
annule le scrutin. Je vais ajouter
une condition ici. Vous avez récemment
changé que d'annuler, les
extraire, de m'envoyer
ce message aussi. Voyons ce qui se passe. Si je dis Paul, c'est l'heure. Je suis dix minutes, A
et B par opposition, j'ai fait quelque chose de mal. Je ne voulais pas
mettre A et B et C, alors je clique simplement sur ces annulations. Et maintenant, il est dit que ces sondages West ont annulé des bateaux pour
un bateau pour moi. Si vous souhaitez
les supprimer également, il
vous suffit d'ajouter le champ, de
définir les champs comme étant vous suffit d'ajouter le champ, de
définir les un
tableau vide ou null où que vous soyez. Et c'est tout. C'est ce vous devez faire pour
les supprimer si vous le souhaitez. C'est tout pour l'instant. Nous avons tout
sur place, je pense. Mais il y a encore une prise, une autre affaire H. Si vous souhaitez déployer cela
en production et que vous êtes une entreprise sérieuse
et que vous avez une assurance qualité, vous ne le transmettrez pas. Je vais vous dire pourquoi il y a un
bug dans notre application en ce moment. Si je dis sonder une seconde
et deviner ce qui se passe, ça va échouer. Si je fais N pole maintenant, ça ne marchera pas. Cela va dire que ces
interactions échouent. Si je dis encore une fois, 1 seconde, et B. Maintenant, c'est encore pire. Il ne répond pas parce que j'ai
probablement quelque chose. Oui, l'application se
bloque, vous pouvez voir Impossible de lire choses de
propriété sur la lecture
fine sur la chaîne. Si je vais ici, on utilise ça juste pour drainer la sculpture de réaction
et l'événement en disant : Hé, cette chose n'a pas fréquences et cette
chose n'est pas définie. Je n'ai probablement pas
eu le temps pour les entrées collectives de
la clé et de la valeur. Maintenant, cette chose n'est pas définie. Nous avons de nombreuses options ici. N'oubliez pas que nous avons ajouté
une certaine valeur moyenne. Définissez le corps maximum sur 16. Mais quand il s'agit d'une seconde, nous ne pouvons pas
changer dynamiquement ces derniers pour qu'ils
soient 51020, peu importe, car nous ne
savons pas à
l'avance ce que l'utilisateur va mettre. Si ce sera des
secondes, des minutes, des heures. C'est juste déclaratif, n'est-ce pas ? Nous n'avions donc pas le moyen de le
savoir à l'avance. Nous avons deux options ici et
nous devons prendre une décision. La première est de
voir si l'heure est ici, désolé, pas cette fois. Le mot qu'il a dit, le timing MS, est
inférieur à un certain seuil. Nous pouvons dire que le sondage est trop court, nous avons besoin de plus de temps pour que
cette chose réagisse, pour que les messages soient dans le message, que les réactions
soient dans le message. C'est une option. La deuxième option, qui, à mon avis est un peu
plus compliquée, mais c'est mieux car
cette fois en millisecondes. Cela dépend du nombre de
réactions que vous ajoutez. Si vous n'avez que
deux réactions
, cinq secondes suffisent. Mais si vous ajoutez
dix réactions, cela prend
peut-être un
peu plus de temps. Vous devez donc placer le
seuil pour être Hager, vous devez augmenter
le seuil. Allons donc ajouter une autre
variable appelée trop vite. C'est le nom de ma variable. On va
appeler ça trop vite. J'ai appris à faire des choses
intéressantes
selon que trop vite est faux ou vrai. Nous allons définir par défaut cette variable
plus rapide pour être fausse. Dans le, où
est-il, les réactions. Et nous allons, en dessous de cette boucle for-loop,
disons trop vite, est égal aux options affichées. Doublement. Différent des touches de points d'objet. fréquences. Cette langue. Fondamentalement, les fréquences
sont un tableau qui doit avoir la même
longueur que les options affichées. Si le poly se sécurise trop vite
, ce ne sera pas vrai. Les fréquences ne seront pas de la même taille que celle des
options affichées. Si c'est vrai, nous voulons faire quelque chose
juste en dessous de cette chose. Je vais dire
trop vite, trop vite. Ensuite, nous allons dire
intégrer cet ensemble Description. Je vais dire que le poteau est trop faible pour que les
réactions y surviennent. Parce que vous voyez, ils augmentent. Nous allons définir
la couleur pour qu'elle soit rouge parce que quelque chose de
mauvais s'est produit. Je vais définir le
pied de page pour qu'il soit nul. Si c'est trop rapide, sinon nous voulons faire
ce que nous avons fait ici. Ce truc ici, ça va
être dans la clause autre. Ici aussi, je veux, je ne veux pas envoyer le
message rapidement c'est vrai. Si ce n'est pas trop rapide. Et le récent sondage
n'est pas annulé, DM notifie est vrai. Alors envoyez-moi
un message au DM. C'est essentiellement que nous devons encore
faire une autre
chose à ce sujet. Essayons tout de suite. C'est donc génial. Le sondage avec 1 seconde. Voyons voir. Bien que les
réactions aient été ajoutées, il fixe que le temps de pôle est trop bas pour que les
réactions y soient. Il y avait une
condition de course là-bas. Faisons donc cela avec
d'autres options comme celle-ci. Je pense que c'est suffisant.
D'accord, 1 seconde et je n'ai pas le temps de réagir, mais ça ajoute toujours
les réactions. C'est toujours dans la réaction. C'est donc une chose
que nous devons éviter. Et c'est très simple à résoudre. Nous passons simplement à la section Ajouter des réactions. Rappelez-vous qu'il y avait cette boucle for-loop qui, si elle est trop rapide
pour aller trop vite, alors
revenez à l'intérieur pour ajouter plus de
réactions à cette chose. Recommençons ça. 1 seconde, A, B, C, D. Je pense que c'est suffisant. 12, c'est trop rapide et maintenant
je n'ajoute plus de réactions. Je dois augmenter le
temps de cette chose. Maintenant, je pense que nous avons tout en place pour que ce sondage fonctionne. Vous pouvez maintenant ajouter un poteau. Le temps peut aller de 1 à 16 ans. Si j'ai essayé 17 minutes, ça va déjà se plaindre. Entier b en entrée de un à 60. Je dis 24 heures, A et B. Cela va marcher. En fait, cela va marcher. Si c'est le cas, vous utilisez
cette commande en production, vous allez
travailler à condition ne pas arrêter votre processus. C'est également une chose intéressante que vous devez savoir. Nous n'allons pas faire cela, mais je voulais simplement
faire des commentaires là-dessus. Lorsque nous déployons une nouvelle modification, lorsque nous effectuons un nouveau
déploiement de notre code, le code va
probablement être remplacé et le processus
va être fermé. Cette chose ne fonctionnera
pas parce qu'il
n'y a pas de processus qui
écoute cette chose. Il va
traîner pour l'éternité. C'est là qu'il existe plusieurs
stratégies de déploiement qui existent dans
plusieurs développements. bleu, le vert, les catégories
et tout ça, quoi qu'il en soit. Ce n'est pas quelque chose que
nous allons voir, mais il suffit de penser à cela. Que si vous comptez effectuer un nouveau déploiement et qu'un sondage n'
est pas terminé. Et vous rencontrerez
un problème si vous essayez de
remplacer votre ancien
code par un nouveau code. Mais encore une fois, ce problème n'est pas
facile à résoudre. C'est pourquoi il y a des
gens spécialisés dans ce
genre de choses. Et la malédiction sera très,
très complexe si nous essayons d'
être aussi parfaits là-dessus. À propos de ça, c'est tout. J'espère que ça vous plaira. On se voit dans la vidéo suivante. Adieu.
32. Commande API Partie 1: Nous avons terminé notre sondage. Ajoutons maintenant une autre commande qui va utiliser une API. Pour les appels d'API.
Nous allons utiliser l' axe du fil
axiom pour
installer ces dépendances. Je pensais, eh bien, ce que l'on peut utiliser Frank
échantillon, contrairement aux animaux. Je vais donc utiliser
cette API Deacon,
qui est l'API non officielle de
mon animal East. Et plus précisément, nous allons obtenir un
animateur aléatoire à partir d'ici. Nous allons donc
passer un appel GET,
obtenir des demandes à
ce point de terminaison ici. Vous pouvez voir que cette
chose peut renvoyer 200, vous avez lu les retours
avec succès et animer ou 400 en cas de mauvaise
demande ou quelque chose comme ça. C'est leur exemple de réponse. Vous pouvez tout couvrir et
vous pouvez voir toutes
les choses
qui sont retournées ici. Vous pouvez voir qu'il renvoie l'URL, peut-être qu'il redirige vers mon animal, au moins .com ou autre. Le titre du carrelage japonais. Quoi d'autre ? Les
plaies de type, épisode, épisodes, IV, C'est Erin ne
sont pas de durée. Nous avons
beaucoup de choses ici. Ajoutons un nouveau fichier
appelé get random animate. Il suffit de
copier une chose ici. Modifions ces éléments aléatoires et n'oublions pas
de les ajouter ici. Le nom de cette
commande va
être « get random element ». On va juste dire qu'il
retourne un élément aléatoire. Maintenant, nous allons également déclarer une URL d'animation aléatoire constante, qui
sera cette URL ici. voici un, il suffit de le
copier, de le coller. Vous y allez. Maintenant, nous allons
utiliser des axes et nous
allons utiliser x pour former la réponse, de sorte que la
réponse soit quelque chose qui nous donne déjà
ces informations, les informations non pertinentes que
nous voulons
d'ici. Je viens de créer ce type et je vais juste
copier et coller parce que DC fait beaucoup de saisie et je ne voulais pas me
concentrer sur la frappe ici. type get random animal response va avoir une
propriété appelée data. Et ces données,
ou il y
aura beaucoup de choses ici. Je n'ai pas tout inclus. Si vous souhaitez inclure tout ce qui vient d'être
ajouté à ce type. Modifiez le sang que nous allons faire ici
dans ces commandes. Et c'est tout. L'URL, le titre, le titre et le Japon, la marée, les épisodes. Synopsis classement des images. En fait, je vais juste
utiliser un Web p ici. Supprimons donc
cette propriété ici. L'URL de l'image, qui
sera constituée de chaînes, score
en fonction des durées. C'est l'évaluation des genres, thèmes, beaucoup de choses. Ce n'est pas tout ce que
ces API peuvent renvoyer. Il peut rendre les pires choses. Je vais simplement les utiliser dans
le cadre
de cet exemple. Enlevons ça. Et la première chose que
je vais faire, interaction de poids d'
E
qui est favorable. Permettez-moi donc de vous expliquer
pourquoi j'utilise ces différents noirs parce que je pense que
nous ne l'avons pas encore utilisé. Mais nous utilisons quelque chose de
similaire ici sur l' interaction du bouton
qui a différé la mise à jour. Le troisième pli
signifie essentiellement la même chose. Donc ça veut dire, hé, je ne veux pas
répondre à ces moments parce que
l'API appelée peut dire, eh bien, si elle échoue, c'est dommage, mais ça peut être lent
parce que les serveurs sont lents parce qu'il y en a aussi
beaucoup de trafic ou autre. C'est pourquoi nous en avons besoin différemment. Par défaut. Vous pouvez. Si vous prenez plus de
trois secondes pour répondre, vous aurez des
problèmes, n'est-ce pas ? Alors, mais mon garçon, fais des problèmes d'écharpe. Donc, pour différer l'application
plus de trois secondes, vous devez les utiliser pour le sang. C'est donc un mécanisme pour
dire, peut-être,
peut-être que je peux prendre plus de
trois secondes pour répondre. Attendez-moi. Ensuite, nous allons obtenir la
réponse de l'appel d'API. Nous allons donc
utiliser des axes pour cela. Rappelez-vous quand les axes de pierre
vont dire accès point get, ils s'attendent à un argument. Et le premier argument
auquel il s'attend, réponse, le type de réponse. C'est le cas, le type de
données de la réponse qui va obtenir des données
aléatoires sur la réponse animale. Maintenant, cela va
être une fonction, il faut donc passer
quelques arguments. La première est l'URL d'animation
aléatoire. Le second est
un objet options. Il peut être aussi complexe
que vous le souhaitez. La seule chose que je veux, c'est la réponse
la plus facile à transformer. Cette réponse
va être de type n'importe lequel car il s'agit de JSON. Je vais dire que Jason
constant est égal à JSON.Parse response rag. Maintenant, c'est de type. Donc je vais juste dire, Hé, je veux que ce soit de
type avoir des anomalies aléatoires, puis retourner JSON ça. Je sais. Cela peut être un
peu compliqué car la documentation de
l'axe n'est même pas claire. Mais ensuite, nous essayons d'
expliquer ce que j'ai fait ici. Axis obtient, j'ai besoin
de passer un certain type. Le genre sera celui
que je retourne ici, Ok,
donc ce type de retour doit être le
genre de cette chose. Ici, j'attribue le type, le JSON.Parse parce que
c'est la réponse brute. Il va avoir ces
données avec toutes ces choses. C'est pourquoi je dis, Hey, je veux que ce JSON après l'
analyse soit cette fois. À partir de là, je vais juste
retourner les données JSon. Une partie de cette réponse est qu'un axe répond
avec ce type ici. Voici la partie déroutante
d'un battement abîmé, confus. Maintenant, la réponse comporte de nombreux
éléments tels que le café, les
données, les en-têtes, les requêtes, le statut
et les statistiques standard. C'est celui qui est intéressant pour nous
car les données vont contenir toutes ces choses ici toutes ces choses que nous avons spécifiées
dans notre type. Je vais tirer parti
de la réponse. Je vais déconstruire les données. Ici. Je vais juste
déconstruire beaucoup de choses. Titre en images japonaises. Les images sont un objet. Alors ici, je vais juste
déconstruire le web B, qui est encore une fois un autre objet que je vais
déconstruire l'URL de l'image. Nous pouvons déconstruire plus de
choses comme le classement, l'URL, un synopsis de type. Ceci permet de tatouer le score obtenu
par la note, la durée. Les genres. Je pense que nous savons une chose. D'accord, nous avons donc
déconstruit toutes ces informations
à partir de la réponse. Dans la vidéo suivante, nous allons en fait créer l'Intégrer et répondre
avec l'émetteur. J'espère que cette vidéo vous a plu.
On se voit dans le prochain. Au revoir.
33. Partie 2 de commande de l'API: Bonjour et bienvenue. Maintenant, nous n'avons plus qu'
à monter le Embed, ce qui est la partie facile. Je pense. La clarté consiste à
intégrer la variable. Appelez cela un nouveau message intégré. Rappelez-vous deux méthodes importantes, gambit du score point js. Définissez ensuite le titre. Cela sera
égal à l'URL du titre. Il sera
égal à l'URL que nous déconstruisons ici. Très bien. Quoi d'autre ? Nous pouvons définir l'image
comme URL de l'image. Et on peut fixer les deux premiers. Le nom peut être le
titre en japonais. La description peut
être le synopsis. Et nous allons
ajouter plus d'informations. Mais pour l'instant, répondons. Modifions la réponse.
Que devons-nous faire ? Ne répondez pas, mais modifiez la réponse. Pourquoi est-ce que c'est ? Eh bien, la raison est que nous avons renvoyé la réponse afin que cela puisse prendre plus de trois
secondes d'excédent. Nous devons donc maintenant modifier la
réponse lorsque nous le faisons, au lieu de simplement rejouer. Allons courir sourd déchirant. J'ai déjà testé cela. Courez. La commande get random animate. Je prends ces animaux. C'est l'auteur, qui est le titre
et les DC japonais. Il s'agit du
titre avec une URL. Donc, si vous cliquez dessus, il
vous redirigera vers mon animal vous pouvez
probablement voir qu'il vous
redirigera vers mon animal. Est-ce que c'est atteint ? La description de
ces intégrations, le synopsis, l'image sera bien celle
renvoyée par l'API. Nous voulons ajouter plus d'
informations car nous
avons plus d'informations
disponibles ici pour cela, allons créer juste une petite
fonction d'aide pour ajouter des champs. Je vais appeler ce champ de
fonction. Cela va recevoir un champ qui
sera une chaîne et une valeur qui sera une chaîne ou un nombre. Ce que nous allons
faire, c'est dire que si la valeur existe,
la valeur existe. Nous allons prendre l'
InBev et ajouter le champ. Le nom sera
le champ
et la valeur sera une chaîne de valeur point deux car n'oubliez pas qu'il peut s'
agir d'un nombre ou d'une chaîne. Donc, s'il s'agit d'une
chaîne à chaîne ne fera rien. S'il s'agit d'un nombre, il
va simplement convertir la chaîne. C'est vrai, on disait :
Hé, je veux que ça soit en ligne. Voici une chose intéressante. Peut-être avez-vous déjà
pensé à cela, mais regardé que nous faisons ici une condition d'affirmation
disant evalue, pourquoi nous faisons cela. Eh bien, nous sommes en train de dire : Hé, tout peut aller bien ? Mais ce n'est pas vrai. Je l'ai peut-être vu, et c'est purement expérimental. Et c'est quelque chose qui n'est pas détaillé dans la documentation. Mais il se peut que, par exemple, score au lieu du nombre soit non. Au lieu de cela, nous pouvons le faire, nous pouvons certainement faire
ce nombre ou null. Mais encore une fois, je dois chauffer
l'API plusieurs fois pour voir toutes les choses qui peuvent être nulles
ou même indéfinies. C'est donc quelque chose qui
a craint cette API. Ce n'est pas de notre faute, c'est le pli API
qui ne spécifie pas ce qui peut être nul et
ce qui ne peut pas être nul. Mais vous pouvez certainement
faire quelque chose comme ça. Ce sera plus correct. Ce sera plus correct, mais je ne veux pas
toucher l'API plusieurs fois juste pour voir ce qui est défini et ce qui n'
est pas défini. Au lieu de le faire, je les fais
simplement dans le code, disons, Hey Eve, seules
les valeurs présentes. Parce que n'oubliez pas que
ces TypeScript vont être compilés
en JavaScript. Et lorsque vous exécutez ces valeurs, ce n'est pas quelque chose qui peut venir sous la forme d'une chaîne ou d'un
nombre, cela peut venir maintenant. C'est juste que nous
voyons dans les claquettes. Bien. Hé, nous savons que c'
est une chaîne ou un nombre, mais dans le monde réel,
ils peuvent être nuls. C'est donc une petite
explication à ce sujet. Maintenant, faisons quelque chose. Appelons cette fonction f. Avec le rang de champ. Nous allons passer le rang. Appelons ça avec le type
qui va passer le temps. Appelons ça avec un score. Score. Et vous voyez que
cela devient très facile car nous
définissons cette fonction. Puis il a marqué par. Ensuite, nous avons la note. On peut aussi ajouter quoi d'autre ? Vous pouvez ajouter cette durée. Nous en avons. Nous devons également ajouter
un tatouage de statut. Permettez-moi de l'ajouter ci-dessous marqué par. Nous avons maintenant utilisé toutes
ces informations. Nous n'avons que des genres et des
thèmes qu'ils sont matriciels, donc nous devons le
convertir en chaîne, et c'est assez facile à faire. Nous avons juste besoin de le faire. Nous allons dire des genres, une corde ou quelque chose comme ça. Ce sera des genres
qui cartographient, cette carte. Nous allons obtenir
le nom et l'URL. Et nous allons utiliser un lien hypertexte du
fléau est slash builders. Cette chose s'attend essentiellement à ce
que
le premier argument soit les textes qui
vont être affichés, qui dans ce
cas, ce sera le nom. Et le deuxième
argument est l'URL. Nous allons faire de même, mais avec les thèmes. Thèmes. Thèmes, thèmes,
boissons est égal à cela. Maintenant, nous ajoutons simplement les
champs indiquant les genres, qui vont être la
jaunisse, une chaîne. Et il s'agit toujours d'une carte. Nous devons donc nous joindre à
cette chose et nous pouvons rejoindre la
base des achats ou par de nouvelles lignes, je vais le faire par de nouvelles lignes. Je vais faire de même, mais avec les thèmes. Thèmes, force. Je pense que c'est fini. Allons ici
chercher un animal aléatoire. Encore une fois, ça
prend son temps. À l'application n'a pas
répondu probablement parce que c'était le serveur qui
était en cours de redémarrage. Et maintenant, nous avons cette chose ici. Le titre en japonais, je ne comprends pas qu'il s'agisse d'un titre. Et vous pouvez cliquer dessus
et il lira reg en raison de mon animal est
le synopsis du type. C'est dire que le propriétaire est fini de diffuser des
tatouages, lire des thèmes de durée
et de regarder ça. C'est intéressant
parce que cette chose ici n'a pas la partition, la partition par genre. Aucune de ces
informations n'est donc présente. Et nous n'avons pas eu
d'erreur car nous avons ajouté ces valeurs IV. Vous pouvez constater que
dans le monde réel ces informations
ne peuvent pas être présentes. Et il vaudra mieux que vous
puissiez faire quelque chose comme ça. Mais encore une fois, la documentation n'est pas claire
et je ne veux pas
trop lire là-dessus. C'est ça. Vous savez maintenant comment créer
des commandes appelées API. L'important ici est ces interactions
qu'avant de répondre. Parce que si vous ne faites pas
cela, vous aurez
des problèmes. De plus, cette chose peut échouer. Axial, peut retourner peut-être 500
ou quelque chose comme ça. Alors ce sera
génial si vous le pouvez. Peu d'améliorations pour
gérer ces cas. Cette documentation dit : Non, ils reviennent toujours
en écriture manuscrite ou 400. Et si vous faites une mauvaise demande
ou quelque chose du genre, mais ce n'est pas vrai. Il y a de la documentation qui
ment que vous pouvez avoir un 500, vous pouvez avoir
4142, peu importe, peu importe, parce que rien n'est parfait
dans le monde du logiciel. Vous devez donc également voir ce cas où l'appel
API lui-même échoue. C'est ça, c'est tout. J'espère que cette vidéo vous a plu. On se voit dans le
prochain. Au revoir.
34. Commandes d'aide: Bonjour et bienvenue. Nous allons maintenant
ajouter la dernière commande, qui sera à la commande
qui définit les sous-commandes. Ce sera une commande d'aide. Donc, en gros, ce que nous allons
faire dans la partition Est, quelque chose comme une barre oblique. Et cela nous montrera une liste de sous-commandes où nous pourrons
obtenir plus d'informations. Comme par exemple, Une autre
information sur le sondage, alors je dirai dans cette cour que c'est une aide luxuriante du sondage Mme Slash. Nous allons le faire
pour chaque commande ici. Je veux dire, nous pouvons, mais nous allons ajouter une propriété
nuptiale appelée Aide dans le type
de cette commande barre oblique. Nous allons donc
ajouter quelque chose comme ça, aider la force. Maintenant, si je l'inclue
dans n'importe quel côté,
quelles que les commandes que je veux, alors cela s'
affichera dans cette liste. Et si ce n'est pas le cas, ça
ne se montrera pas. Nous allons le faire de
manière très intelligente. Tout d'abord, créons
une aide avec ce fichier ts. Et ce que nous allons faire ici va être
un peu différent. Nous allons faire ici, c'est créer la fonction qui va
recevoir un argument d'aération d'aide. Et nous allons
voir
ce genre de choses dans un instant. Et cette fonction va
renvoyer une commande barre oblique. Commençons donc à le faire. Disons d'exporter
const, commande d'aide. Cela va
recevoir un assistant A. Et nous allons voir
quel type de sphincters. Et cela va
renvoyer une commande barre oblique. L'assistant a.
Définissons ce type ici. Type d'exportation, aide. Il va s'agir d'un tableau. Ce tableau va être
un tableau d'objets le nom de la sous-commande, qui sera une chaîne. Description de la sous-commande,
qui sera une chaîne. Et une aide de sous-commande d'aide, qui sera également
une chaîne de caractères. Ok, donc maintenant, nous allons
utiliser ce type de raid d'aide. Et en gros maintenant ce que
nous allons faire, faciliter le fichier index.js. Nous allons faire un
petit changement ici. Premièrement, nous n'allons pas
exporter cette chose tout de suite. Nous voulons d'abord
obtenir ces aides en effectuant une transformation
vers les commandes barre oblique. Ensuite, nous allons appeler
cette fonction de commande d'aide. Et nous allons le pousser
vers cette barre oblique. Et nous allons
exporter cela à la fin. Donc, la dernière étape, nous pouvons le faire maintenant. Il va exporter
ces commandes obliques. Définissons maintenant
l'aide ou le but. Ces commandes d'aide a vont
être une barre oblique. Nous allons d'
abord filtrer les commandes qui n'ont pas de propriété
de santé. Nous allons dire commandement. Cette chose va me donner uniquement les commandes qui
ont l'aide de la propriété. C'est pourquoi j'utilise ces deux opérateurs bancaires qui frappent l'opérateur pour
filtrer ces choses. Ensuite, je vais dire « Dot Map ». Et je vais
avoir le commandement. Et l'aide. Je vais retourner un objet. Et cet objet va
avoir le nom de la sous-commande, qui sera le nom du canal de
commande. Description de la sous-commande, qui sera la
commande de cette description. En fait, laissez-moi taper
cette chose ici. L'aide du sous-commandement, qui
va être ainsi,
aide Roberta ici. Greg, maintenant, il se plaint pourquoi ? Parce que rappelez-vous ces choses, un acier m'a permis de voir le
genre de choses. Vous pouvez voir que le type de cette chose est une chaîne de
sous-commande, une description de
sous-commande de la
sous-commande chaîne maintenue dans la
chaîne ou sur le Rechercher. Dans notre assistant, un type. N'oubliez pas que cela n'
est pas indéfini. Pour corriger
cela dans le filtre. Ici, on peut dire commande
oblique de commande oblique. Ce que je fais
avec ces exigences exige essentiellement que chaque propriété du type
que nous passons est obligatoire. Cela convertira ces choses ici en quelque chose
comme la même chose, mais sans cette
propriété pour être facultative. C'est ce que la
poussière requise dans TypeScript. Maintenant que nous avons cela, nous devons obtenir le commandement de l'aide. Je vais dire que la commande d'aide
va être une commande d'aide. Nous passons une pluie d'aide. Enfin, nous allons dire que les commandes
obliques qui ont
aidé à entrer en jeu. Ensuite, nous allons
l'exporter comme dernière étape. Maintenant que nous avons un filtre
de ces commandes sans la propriété help que nous
avons passé avec succès taux d'assistance à
la commande help. Commençons à construire
notre commande d'aide. Rappelez-vous donc qu'ils doivent
renvoyer une commande barre oblique. Mais avant de faire cela, nous allons faire
quelque chose de très intelligent, à savoir construire une carte d'aide. Nous avons fait quelque chose de similaire
dans la commande poll où nous construisons une carte emoji
ou quelque chose du genre. Eh bien, ici, nous allons faire
essentiellement la même chose. Nous allons créer une carte où les clés sont le nom
de la sous-commande. La valeur est l'aide, c'est l'aide à renforcer
l'aide du sous-commandement. Je vais prendre
le tableau d'aide. Je vais le réduire. Et le type, le résultat de cette chose va
être un objet où la clé est une chaîne et
la valeur est également étrange. Maintenant, je vais
passer un rappel. Et le deuxième argument
est la valeur initiale, qui va
être un tableau vide. La carte sera cette matrice ici. Ensuite, le deuxième argument est la valeur actuelle que vous pouvez voir avec le nom de la sous-commande, description de la
sous-commande
et l'aide des sous-commandes. Je vais déconstruire cette
chose et je vais obtenir
le nom de la sous-commande et
l'aide de la sous-commande. Et je vais faire
ici est essentiellement dire que la carte du nom du sous-commandement est
égale à la santé du sous-commandement. Et rendez-les. Maintenant que nous avons construit, construit cette carte, nous devons renvoyer cette commande
oblique, n'est-ce pas ? Je vais donc
retourner un ordre. Cette commande
va être un IIFE. Si vous ne vous souvenez pas de
ce que c'est. Il s'agit d'une expression de
fonction immédiatement appelée. Donc, quelque chose comme ça,
quelque chose comme ça. Il s'agit d'un IIFE. Ces fichiers IIFE doivent revenir
est le constructeur de commandes Lash. Je vais déclarer la commande
slash égale à nu is slash
command builder. Je vais définir le
nom pour aider. Je vais définir
la description pour
obtenir de l'aide pour une commande spécifique. Maintenant, je vais obtenir
cette information. Chaque tableau de la baie. Je vais dire que pour chacun, je vais obtenir le
nom, la description. Ce que je vais faire de
cette information Ysaye, c'est commande
slash, cette sous-commande. Je dois construire le sous-commandement. Et pour construire la sous-commande, je vais juste dire
sous-commande que SetName. Et puis je vais
définir le nom sur cette variable ici, name , qui libère le
nom de la
sous-commande. Et ce sera le nom de la
sous-commande de description de
sous-commande, puis définira la description comme description de sous-commande. Cette astuce, nous avons ajouté des sous-commandes pour toutes
les commandes qui
ont l'aide de la préparer. Enfin, il suffit de retourner
cette dernière commande. Maintenant, les années 80 se plaignent parce qu'il approprié de courir vers l'est pas ici. Nous allons donc simplement
ajouter la fonction run, qui va
recevoir une interaction. Et puis je vais dire que nous
aider à nous former sera égal pour
aider à cartographier les adoptions d'interaction. Cela reçoit des sous-commandes. Et c'est tout. Nous avons juste besoin de
répondre maintenant à la direction qui répond avec le contenu. Le contenu va nous aider
à rêver. C'est ça. C'est tout ce que nous devons faire. Afin d'ajouter
dynamiquement ces commandes
d'aide aux commandes
qui possèdent cette propriété. Par exemple, permettez-moi d'
ajouter une propriété en entendant le sondage car cela peut être plus complexe. Dans l'aide, nous allons ajouter
du texte comme une commande. Pour créer un sondage dont le temps
est compris entre 160
secondes, minutes, heures. Alors que jusqu'à dix options. Vous pouvez également, éventuellement, ajouter un titre, une description de titre,
une description du
titre, et
si vous souhaitez ou non être averti VIA DM
lorsque le pôle se termine. Je pense que c'est un texte
assez raisonnable pour notre commande d'extraction, n'est-ce pas ? Maintenant que cette chose
a une commande d'aide, nous sommes désolés, une propriété santé. On peut être sourd. Je suis, voyons ce qui se passe.
Je les ai achetés en ligne. Allons donc taper de l'aide. Maintenant, vous pouvez voir que
nous avons de l'aide au sondage. Maintenant, il est écrit commande pour
la notation que j'ai tirée qui peut avoir un temps entre tous les textes que
nous venons de définir. Ajoutons-en un pour le bonjour. Peut-être ajoutons-en un pour les informations utilisateur car le
jaune est trop simple. Il va y avoir de l'aide. Cette commande renvoie
les informations de l'utilisateur. L'heure où il a rejoint le serveur pour
discorder son profil, image, ses rôles, etc. Maintenant, allons lancer le développement. Encore une fois.
Allons sur notre serveur. Maintenant, vous pouvez voir que j'ai l'aide à tirer et j'ai
également tenu à userinfo. Si je tape, je vous aide, désolé, OVNI. C'est dire que cette
commande renvoie l'OVNI de l'utilisateur comme le
moment où il a rejoint. Toutes ces
informations peuvent être très utiles pour l'utilisateur. Vous pouvez voir que
seules les options sont
réservées aux commandes qui
possèdent cette propriété help. Pour ceux qui n'ont pas la propriété qu'ils sont
et cela est montré. Et pourquoi j'ai
décidé de le faire de cette façon. Je l'ai fait de cette façon parce que je ne veux pas ajouter d'informations
inutiles. C'est ça, c'est tout. J'espère que cette vidéo vous a plu
et vous verrez dans la prochaine.
35. Ajouter Jest Config: Bonjour et bienvenue. Dans cette section, je
vais vous montrer comment
ajouter des tests à nos commandes. C'est quelque chose que je n'ai pas vu très bien faire parce que c'est un sujet complexe en ce
sens qu'
il ne s'agit
pas de bibliothèques qui ont essayé de
marquer des choses comme
l'interaction, qui est un sujet très complexe. Nous pouvons donc passer des heures à essayer d'étudier
comment traire un objet filet. C'est tout à
fait possible,
mais cela va prendre beaucoup de temps. Donc, disclaimer ici facilement, nous allons tester, nous allons ajouter des tests. Une commande pour
vous montrer comment c'est fait. Mais ce n'est probablement
pas le meilleur moyen. Mais encore une fois, je ne vois pas
d'autre meilleure façon de le faire. Tout d'abord, nous avons besoin de toute
cette plaque de cuisson pour configurer notre configuration car
nous allons utiliser Oui. Alors ajoutons d'abord en
tant que dépendance sourde, plaisantage et de types simplement parce que où voyez-vous
dans TypeScript, alors même si nous n'
utilisons pas TypeScript, nous avons besoin de cette bibliothèque
pour JavaScript
pour aidez-nous à compléter automatiquement
les méthodes à l'intérieur. Allons juste à ce truc. Et attendons un
instant que cela se termine. Maintenant, ajoutons des haltères
ou de la Bible ou, cependant, je ne sais pas comment c'est vraiment des
pronoms. Mais ces années, il
s'agira de trois leviers qui
vont nous aider à transférer le code de fichier
écrit en JavaScript. Donc les tests écrits
en TypeScript, JavaScript. Il est donc prédéfini qu'il
sera utilisé par digest
afin que vous puissiez comprendre
nos tests TypeScript. Ajoutons-les comme
ça, mais Bellcore, Bell préréglage, préréglage TypeScript. Le fichier que je vais ajouter, vous pouvez également le trouver dans la documentation
de juste pour qu'il ne soit
pas facile de trouver
cette documentation. Mais tout d'abord, exécutons cette commande pour initialiser notre fichier
de configuration. Tellement foutue TSC, tiret, tiret dedans. Pas de TAC, désolé,
bordez-y. Il va poser
quelques questions, alors essayons d'y répondre. Nous aimerions utiliser l'ESC. Nous exécutons des tests de
grattage du paquet JSON. Je répondrai oui. Nous aimerions utiliser TypeScript pour le fichier de configuration. Je vais encore dire oui. Et cela va me dire de choisir l'environnement de test qui
sera utilisé pour les tests. Si nous réagissions par exemple, nous allons lier JS DOM, mais nous utilisons un revers. Nous allons dire noeud. Voulez-vous simplement ajouter des rapports de
couverture pour l'instant ? Je vais chanter non, parce que sa couverture ne
va pas être bonne parce qu'on ne
va écrire qu'un seul test. À partir de laquelle
il devrait être utilisé pour
instrumenter la couverture du code. Et encore une fois, nous n'allons pas faire attention à la couverture du
code. Vous pouvez donc sélectionner
ce que je vais sélectionner V8. Vous pouvez le dire par Bill, effacer
automatiquement les appels simulés, instances et les résultats
avant chaque test. Je vais dire oui. Je vais
vous expliquer ce que c'
est, ce qu'ils ont généré. Il a donc généré ces fichiers. Et la dernière question qui disait, effacez
automatiquement les
instances et les résultats de Michael avant que chaque test soit traduit dans
cette propriété ici, effacer MCS égal à vrai. Le fournisseur de couverture. Et ce qui est
tout, tout le reste est commandé pour que nous
puissions le laisser comme ça. Le projet se développe probablement. Vous devrez voir
les options ici, juste alors voir quelle est
cette option ici, et pleurer pour les utiliser. Maintenant que nous avons ce fichier juste
dot config dot txt, nous devons créer un autre
fichier qui va s' appeler bible dot dot js. Cela va nous
aider à utiliser nos fichiers de script de type. Je vais simplement utiliser le
module qui exporte. Et nous allons dire des préréglages. Nous allons d'abord mettre un
tableau, le premier élément, qui aura un EMF prédéfini par barre oblique de
babble, puis ne cible aucun courant. Le deuxième
élément
sera simplement le type de script prédéfini
de barre oblique. C'est ça. Ce fichier de configuration
pour bible va nous
permettre d'écrire
des tests avec TypeScript, ce qui est génial car nous voulons que tout soit
écrit en TypeScript. Je pense que TypeScript se
plaint parce qu'il dit fichier juste un conflit que TS Il n'a pas souscrit cerf, qui est le dossier source. Je pense donc que c'est
quelque chose comme ça ici. Donc source de chevreuil, c'est dire, Hé, ce fichier
copy.txt n'est pas
à l'intérieur de la source. Je me plains,
c'est facile à résoudre. Nous disons simplement qu'ici exclut
évidemment les modules de nœuds juste au cas où et juste point
ds. C'est donc ça. Maintenant, le problème est sel et je pense que les modules Node
ne sont même pas nécessaires. Mais je vais juste le
mettre ici, juste au cas où. Mais je pense qu'il n'est pas
nécessaire de le mettre ici. Mais il vaut mieux être
explicite que d'avoir des erreurs, des erreurs imprévisibles et
imprévues. C'est ça. Dans la vidéo suivante, nous allons essayer d'
ajouter un test pour une commande. J'espère que cette vidéo vous a plu. On se voit dans le prochain. Au revoir.
36. Test Pour Ajouter Une Commande: Bonjour et bienvenue. Dans cette vidéo, nous allons réellement
créer le test. N'oubliez pas, dans notre commande add, qui est la commande que
nous allons tester. Nous avons évidemment
la propriété command et la propriété qui
est une fonction asynchrone. Nous allons donc tester la mauvaise propriété uniquement
parce qu' il s'agit d'une logique
métier réelle. La commande n'est qu'un moyen
déclaratif de créer. Je le recommande. Vous pouvez essayer de
créer un taux de test, mais cela n'apporte pas trop de valeur que de tester
la logique métier réelle. Ok, alors ajoutons un dossier à l'intérieur est moins de
commande appelée tâches. Les tests internes,
ajoutons un nouveau fichier appelé add tasks dot ts. Ici, nous allons évidemment
importer la commande
at à partir de ce fichier. Et dans le test, nous allons dire qu'il répond avec la
somme de deux chiffres. Nous allons exécuter
ces fonctions d'exécution. Et cette fonction d'exécution
n'est pas une seule méthode. Nous devons transmettre
son rappel de réflexion. Donc maintenant, ce que nous allons
faire, c'est essayer de marquer ces numéros, car nous avons besoin que ce bon nombre réponde
ou renvoie une valeur. Ainsi, ce numéro un doit trouver un numéro deux
est également défini. Pour ce faire,
créons une variable appelée nombre. On va juste dire « Dot Fn ». C'est une
marque réelle et nous pouvons faire ces grilles et la fonction MAC option des textes et des
simulations d'implémentation. Nous pouvons donc faire beaucoup de choses avec cette
simple fonction MAC. Nous allons appeler ce
simulacre ou la valeur du tour. Une fois. Nous allons en dire un et
nous allons le refaire. Retourne la valeur une fois, MOG
retourne, mais d'autres mais avec cinq. Ce que cette chose fait, c'
est dire : Hé, la première fois que vous m'appelez, retournez un, le numéro un
va faire un. Et la deuxième fois que vous m'
appelez, revenez cinq. Donc, le numéro deux
va bien se passer. Bon, créons maintenant l'objet d'interaction
réel. Et c'est là que je
n'ai pas trouvé la
meilleure façon de le faire. Parce qu'il
n'y a pas de bibliothèques pour
essayer de marquer cet objet d'
interaction, ce qui est assez complexe. De toute évidence, nous
utilisions JavaScript, cela ne posera pas de problème, mais comme nous utilisons TypeScript, il n'y a pas de bonne
façon de le faire. Options intérieures. Nous allons ajouter
ce truc « obtenir le numéro ». Maintenant, lorsque le test sera exécuté, nous allons
déconstruire les options, ce qui sera
le sujet ici. Et puis à partir de ces
options, nous allons obtenir ces
chiffres ici. Numéro. C'est la première chose que
nous devons bouffer. Et la deuxième chose que nous
devons marquer ces réponses, qui va encore
être ajustée. Cette chose n'a
pas besoin de limitation car elle
ne renvoie rien. Mais nous allons nous attendre
à ce que ces réponses soient appelées
avec ce contenu. Juste ici. Nous allons nous attendre à qu'il soit appelé
avec cet objet ici, avec ce contenu et
avec les valeurs correctes. Désolé, c'est MC, il y a des valeurs
renvoyées. Ok, alors allons maintenant
essayer d'exécuter les méthodes d'exécution. Nous allons donc
dire la commande Add qui s'exécute dans le poids. Nous allons passer
l'interaction. Et ça va se plaindre parce que l'interaction East aucun de type commande l'interaction. Nous pouvons essayer de faire
ces interactions en tant qu'interaction commande
à partir de ces JS marqués. Et il va toujours se plaindre parce qu'il a besoin de beaucoup d'autres choses ici
pour être considéré comme une interaction. C'est la partie où
je n'aime pas ça, mais je ne vois aucune
autre alternative. Nous le considérons d'abord comme inconnu, puis nous
leur demandons en interaction. Encore une fois, ce n'est pas une bonne chose, mais c'est la seule chose que j'
ai découverte en
essayant de tester ces choses ici. Ils osent, elle sera bibliothèques pour
essayer le truc des singes. Cela se produit lorsque vous avez une bibliothèque open source
comme celle-ci carrée,
oui, je pense qu'elles ne
sont pas terminées. Ils n'ont pas d'interaction. J'attends donc de marquer
ce genre de choses, mais ils n'en ont pas. Il existe en fait un paquet, mais il est très ancien
et il n'est pas pris en charge. Et il a très peu de téléchargements. Je veux donc l'utiliser dans
ce cours. Je vais juste utiliser
ces moulages, jouer ici. Maintenant, on peut dire que l'on s'attend que le
numéro deux ait été
appelé deux fois, a
été appelé à des fois. Nous pouvons également nous attendre à ce que l'
interaction ne réponde pas. Avoir été appelé largeur, pour avoir été appelé avec. Et nous allons passer
le contenu de l'objet. Un, cinq derniers équivaut à six. Il s'agit essentiellement de notre test. Maintenant, lorsque nous avons créé toutes
ces configurations, je pensais qu'il y avait une
question disant : Hé, vous vouliez gratter pour tester vos fichiers,
vos fichiers de test. Et nous avons dit oui, nous pouvons exécuter ces tests de fil qui vont faire tourner les invités
en coulisses. Et comme vous pouvez le constater, nous avons réussi ces tests.
Ces tests, son schéma. Bon, c'est ça, c'est tout. Nous avons ajouté un test. Et l'important
que je
voulais vous montrer ici, c'est
que cette chose ici, comme je l'appellerai une direction
louée, ce n'est pas la meilleure
façon d'écrire des tests. Nous voulons un objet d'
interaction entièrement moqué. Mais pour l'instant, ils ne le sont pas. Eh bien, c'est possible, mais
il va prendre beaucoup temps d'essayer construire nos propres laboratoires pour cela. Je viens de faire ce casting
ici, c'est vrai, le test. Maintenant que vous savez comment
ajouter un test comme celui-ci, il sera très facile de le
faire pour d'autres commandes. Je
vous recommande vivement de le faire pour toutes les commandes en tant qu'exercice. J'espère que cette vidéo vous a plu. voit lors de la prochaine conférence. Au revoir.
37. Partie 1 de Self: Bonjour et bienvenue. Nous allons maintenant créer
une commande pour
vous attribuer des rôles avec
des emojis personnalisés. La première étape consistera à accéder à votre serveur, à accéder aux
paramètres du serveur et à passer à emoji. Ici, vous pouvez ajouter
vos emojis personnalisés. Nous allons ajouter à cela. Le premier sera
un JavaScript emoji JavaScript. Et le second sera
à l'image TypeScript. Maintenant que nous avons ces
deux images Q-Star, nous pouvons obtenir les ID et les noms de ces emojis
en tapant colonne oblique inverse, JavaScript,
colonne oblique inverse, TypeScript. Il s'agit de la version
que nous devons définir dans notre code pour pouvoir
utiliser ces emojis. C'est ce que nous
devons faire dans le code. Allons-y et, dans notre code, allons ici à la source. Et ajoutons un fichier
appelé Self Roles. Ce ne
sera qu'un tableau. Une fois encore. Ce tableau
aura le plus d'informations, le nom du
rôle et sa couleur. Appelons ce
truc vendre des rôles. Et ça va
être un tableau. Et le type de
ce tableau sera emoji, qui sera un objet portant le nom du module. L'idée du moment. C'est la première chose. Ce nom du rôle, qui sera une chaîne, et la couleur qui
sera de type couleur pouvant être résolue à partir
du carré
juste pour que nous puissions sélectionner les couleurs disponibles. Maintenant, il va s'
agir d'un tableau, et ici nous allons coder en
dur les rôles
que nous voulons créer. Cela va être un
peu différent, va nous permettre
de nous faciliter la vie. Nous allons coder
ces informations en dur. Nous n'allons pas transmettre les informations à notre commande barre oblique Add Roles. Bon, donc l'emoji
va être un nom. Javascript. Je vais être cette chose
ici, ce numéro ici. Le nom va être
le rôle d'amoureux de JavaScript. Je ne sais pas ce que vous
voulez mettre ici, la couleur, nous avons toutes ces options car ces couleurs
peuvent être résolues. Maintenant, copions ceci
mais avec TypeScript. Nous allons donc dire
TypeScript Lebur. Nous allons dire le type de grattage et la
pièce d'identité sera celle-ci. Bien sûr, avouons-le ici. Et mettons le bleu ici parce que TypeScript, c'est bleu. Maintenant que nous avons
ces mêmes rôles,
ajoutons les rôles Ajouter des rôles, des rôles commande, des points ts. Et encore une fois, copions-collons. Et essayons d'abord de construire
la commande. Évidemment, les
premières règles commandent. Cette commande
va être très, très simple pour ne
pas en avoir trop. Il va avoir un
nom défini avec les règles. Définissez la description comme étant, crée un message indiquant que les utilisateurs
peuvent obtenir leur propre rôle. L'important ici, c'
est que nous allons
dire définir les autorisations par défaut sur false car nous ne voulions pas que personne
exécute ces commandes, exécute cette commande
dans la méthode run. Cela va aussi être, eh bien, il va
avoir sa complexité. Mais la première chose
que nous voulons faire à l'Est, c'est d'assouplir
un rendement mis en cache. Tu te souviens de ça avec ça ? Je pense que c'
était dans le sondage. Voyons voir. Oui, je
pense que nous avons dit coupable. Maintenant, nous allons voir, dire que nous voulons qu'ils soient dans un rendement
de trésorerie. La différence est que la
culpabilité qui se trouve dans le cache sont celles que le
bot sait quand il est, le livre, quand on exécute Yarn
sourd ou quelque chose comme ça. OK. Mais ces derniers sont intégrés, vous savez, à certains serveurs. Dans mon cas, il est
invité sur mon serveur. Et ce
seront les rendements mis en cache. Vous verrez pourquoi je
l'ai fait dans un instant. Interaction qui répond au contenu. Vous ne pouvez pas utiliser ces commandes
en dehors de la culpabilité mise en cache. Retour. Revenons après ça. Ensuite, nous allons créer une
fonction pour construire le M ben, appelons-le build embed. Fonction étroite. Nous allons dire que la
description des pistes est égale à
vous donner une flèche.
Et deux nouvelles lignes. Nous allons
parcourir tous ces tableaux de rôles personnels. Nous allons donc
dire quatre colonnes. Rôle des rôles personnels. Nous importons cela. Nous allons concaténer
cette chaîne comme celle-ci. Nous allons dire que
rappelez-vous cette syntaxe. Je t'ai dit de mettre des
emojis comme ça. Roll Dot Emoji, un nom. Puis Roll Dot Emoji DID
va dire le nom du rôle. Deux nouvelles lignes. Ensuite, nous retournons le pari Embed comme ce nouveau message
M, comme ceci. Définissez le titre égal à des rôles et définissez la description égale à la description
et à la couleur. Vous pouvez mettre la couleur que vous voulez. Je vais choisir n'importe quelle couleur
ici, couleur aléatoire. Maintenant que nous avons cette fonction
pour construire le pari final, créons ici dans
le corps d'interaction. C'est génial. L'intégration, les intégrations égales à build et Beth et permettent de répondre
par un message. Nous allons dire qu'une réponse au point d'
interaction de poids intègre et nous passons le MDF. Et maintenant, si vous voyez que le
type de message est nul, si nous voulons récupérer la réponse, nous devons passer cette
option chercher la réponse. Vous verrez que vous verrez maintenant que le
type de message est message. Si je les prenais
et que je mettais du rendement, le type de cette
chose sera API, message ou message booléen. Ce que je veux faire
ensuite, c'est réagir à ce message avec des
emojis personnalisés. Et nous ne pouvons pas le faire si le type de cette
chose est un message d'API. Pour cela, je dis le rendement en espèces. Maintenant, le type ne
sera que message. Maintenant que je
parle de réagir, il va être très
facile de réagir. Construisons simplement cette fonction. Réagissez pour intégrer une fonction
asynchrone. Encore une fois, nous allons
parcourir tous les rôles de soi. Donc pour le CMS, le rôle des auto-rouleaux. Attendez, le message Dot réagit. Et nous allons passer la chaîne que nous
venons de créer ici. Alors que celui-ci, en fait, nous allons faire
fonctionner l'utilité pour construire cela. Mais de toute façon, vous pouvez le faire. Et maintenant, nous devons juste
attendre de réagir à l'impact sur Jahren
sourd en ce moment. Allons-y ici. Allons-y et attendons ça. Ok, maintenant, ou j'ai acheté cette ligne. Voyons voir. Oh, et nous le devons,
évidemment, nous devons le mettre dans ce tableau à partir
des commandes de cils. Faisons ça. Ajoutons la commande Autres
rôles. Allons fuir. Encore une fois. Voyons maintenant, si nous avons l'ajout, nous avons
maintenant l'ajout de rôles ici. Mais regardez cela,
je ne peux pas l'utiliser. Et pourquoi est-ce que c'est ? Eh bien, n'oubliez pas que nous avons défini les autorisations
par défaut sur false. Nous devons donc autoriser
, autoriser ou autoriser un rôle, ou autoriser un rôle, quelle que soit l'exécution de
cette commande. Et c'est ce que nous allons
faire dans la prochaine vidéo. J'espère que
ça vous a plu. On se voit dans la vidéo suivante. Adieu.
38. Partie 2 de Self: Bonjour et bienvenue. Maintenant que nous savons que nous ne pouvons pas
utiliser notre propre commande oblique, faisons quelque chose et créons le nouveau fichier
appelé permissions. Permissions dot ts. Nous allons créer un tableau. Et ce tableau va contenir ces
trois informations. La première, la commande, le nom, la
commande à laquelle nous voulons
ajouter certaines autorisations, l'ID de guilde et l'ID de
guilde, sont importants car nous devons définir les
commandes de l'application, les autorisations. Et même si la
documentation dit, permettez-moi de vous montrer la documentation
, Think reste au chaud. Permettez-moi de vous montrer les autorisations d'une
commande oblique. Vous pouvez dire que c'est ainsi que vous ajoutez des autorisations pour les commandes Guild. Et vous pouvez également le faire
pour les commandes de l'application. Mais cette chose ici n'est pas vraie. Vous voulez, ne me croyez pas, mais j'ai demandé sur leur serveur
parce que ce n'est pas vrai. Si vous essayez de le faire comme ça, TypeScript va se plaindre
parce qu'il va dire que j'ai besoin d'un identifiant de guilde. Je ne peux pas définir d'autorisations à partir de
la commande de l'application
sans guillotine, ce qui est étrange, c'est bizarre car si
vous dites, Hé, je veux définir des autorisations pour un global ou une application
et je ne devrais pas avoir besoin de l'idée de guilde. Mais je leur ai demandé leurs
serveurs et ils m'ont dit : «
Hé, c'est une faute de frappe,
c'est incorrect. Vous devez réellement
passer une pièce d'identité, un AD de guilde. C'est pourquoi la documentation doit être à jour
car elle est erronée. Avec cette chose à l'esprit. Nous allons créer ces tableaux d'autorisations const d'
exportation. Il va s'
agir de type array. Il s'agira d'un tableau d'
objets avec le nom de commande, chaîne, l'ID de guilde, qui
sera une chaîne. Et le tableau d'autorisations, qui sera
de type applications, autorisation de
commande Theta,
et le taux de cela. Bon, voyons
ce que nous pouvons faire ici. C'est génial. Et la pluie. Le nom de la commande sera notre commande rôles. L'ID de guilde va être notre variable d'
environnement d'ID de guilde. M. Permissions va
être comme ça, une pièce d'identité. Vous pouvez également définir
qu'il s'agit d'un ID de rôle ou d'utilisateur. Dans mon cas, je vais
utiliser un identifiant utilisateur. Je peux cliquer sur mon
avatar et copier l'ID. Vous vous souvenez que vous devez activer
le mode développeur. plus, le type peut être un utilisateur ou une URL. Si vous avez un
rôle existant comme mod, envoyez-moi Illustrator, vous pouvez également utiliser cette idée. Mais je vais
simplement me guider utilisant la commande et la
permission qui est booléenne. Dans ce cas, je vais dire, Hé, je veux que ce soit vrai. Je veux que ces identifiants, ces identifiants d'utilisateur,
utilisent ces commandes. Ok, donc maintenant que nous avons cela, nous allons
créer ici à l'intérieur ces
fonctions de rappel prêt
est défini des autorisations qui va
définir les autorisations pour
les commandes de l' application
et la culpabilité commandes. Alors rappelez-vous,
l'obligation commande, quoi que vous leur fassiez. Cela peut être immédiat comme nous l'
avons vu dans ce cours, mais cela peut être le cas, cela peut prendre une heure pour
refléter les changements. C'est pourquoi nous
allons le faire ici pour les commandes d'obligations
et les commandements de culpabilité. Je pense qu'il n'y a pas
moyen qu'ils aient 0 ans, mais je ne connais pas
une façon de le faire, entendre les ordres de
culpabilité enregistrés. Je pense donc qu'il est plus
facile de le faire ici. Tout d'abord, nous allons
rendre cette fonction asynchrone. Ici. Je vais définir
cela pour qu'il s'agisse de commandes. Laissez-moi voir, peut-être
appelons-ça des commandes d'application. Créons maintenant
la fonction ici, une fonction interne
appelée définir les autorisations. Encore une fois, il va
être dans une fonction sinc. Dans cette fonction asynchrone, nous allons d'
abord parcourir toutes les autorisations
du tableau d'autorisations pour obtenir une autorisation
constante
d'autorisations. Nous allons d'abord récupérer la commande globale que nous faisons référence à l'intérieur de
cet objet d'autorisation. Appelons ça comme ça. Commande globale égale aux commandes de
l'application. Ils sont les mêmes,
ils sont synonymes. Trouvez. En fait, laissez-moi. Attendez ce truc ici. Commande Find, où le nom du point de
commande, EC est égal au nom de la commande de
point d'autorisation. Maintenant, ces commandes peuvent
être soit une commande soit ajoutons ici le séparateur. Cette chose peut donc être soit
une commande, soit en finale. Donc, si une commande globale
existe, cette chose existe. Peut-être que nous n'en avons même pas besoin. Utilisons l'opérateur de
chaîne optionnel. Donc, si les axes de commande globaux sont définis,
nous allons définir
les
autorisations, le jeu de points d'autorisation est égal à et nous devons transmettre
un ID de culpabilité. Et les autorisations, évidemment, cette autorisation, les
autorisations comme celle-ci. En fait, laissez-moi simplement
déconstruire de la permission. Permettez-moi de déconstruire l'ID de guilde. Et les autorisations. Faites-le simplement comme ça. Comme ça. Voyons voir. La culpabilité. D'accord. Maintenant que nous les avons configurés
pour la commande globale, faisons-le maintenant pour
les commandes de guilde. Donc, tout d'abord, nous devons obtenir le rendement. Et nous allions chercher le client
coupable. Read
donne ce lot. Juste pour être sûr. N'oubliez pas que nous pouvons simplement l'obtenir en premier à partir
du cache que vous pourriez exister. Alors, Client, laissez-moi faire ça. Laissez-moi le faire comme ça. Client dot, dot cash get
et nous transmettons un ID de guilde. Et il peut s'agir de l'une ou l'autre des
offres non définies. Nous pouvons donc le récupérer
s'il n'existe pas. Client.write donne
cet ID de récupération, de rendement. Maintenant, cette chose
va toujours être définie. Maintenant que nous avons la culpabilité, prenons les commandes
de ces champs. commandes de rendement, du poids, de la
culpabilité, ça commande. Et c'est important, nous allons le chercher. Si on
essayait de le récupérer dans les caches, ça ne marchera pas. Allons toujours le chercher. Ensuite, allons chercher la commande
de champ en particulier. Comme ça. Maintenant, si cette chose existe, nous définissons les autorisations, mais cette fois-ci, nous
n'avons pas besoin de passer une commande VIP de rendement qui définit
les autorisations,
les autorisations. C'est ça. Maintenant que nous avons cette fonction, nous devons évidemment l'appeler après les commandes de l'
application. Allons donc
des informations et attendons ça. Et maintenant, nous pouvons accéder à notre serveur. Et c'est un type de rôles. Nous allons taper cette chose. Et maintenant, vous pouvez voir
que notre intégration est envoyée. Nous pouvons l'utiliser et nous pouvons
réagir à cette chose. Et rien ne va se
passer car nous
n'avons évidemment pas ajouté ce code
pour créer des rôles. C'est donc ce que nous allons
faire dans la prochaine vidéo. Créez le code, la
note, le rôle, Désolé, Dans notre dernière commande. Commande Rôles. J'espère que cette vidéo vous a plu. On se voit dans le prochain. Au revoir.
39. N'oubliez pas d'ajouter l'ID de la guilde à vos variables environnementales !: Bonjour et bienvenue. Eh bien, ce n'est qu'un rappel que maintenant que nous
utilisons l'ID de guilde, nous devons le spécifier. Désolé. Nous devons le
préciser ici. Dans les
variables d'environnement ou les barres de conflit. L'héroïne, Heroku. Il suffit de taper l'ID de guilde
et d'obtenir une carte d'identité de culpabilité. Rappelez-vous comment
l'obtenir comme ça. Puis je viens de commencer. C'est ça. Maintenant, vous n'aurez aucune
erreur sur votre ceinture. Ou lorsque vous démarrez l'
application plutôt que de la reconstruire. C'est ça. Je serai comme ça. On se voit
lors de la prochaine conférence. Au revoir.
40. Partie 3 de Self: Bonjour et bienvenue. Maintenant que nous savons comment
utiliser notre propre commande barre oblique, créons la fonction. Pour créer les
rôles IV, ils existent. Nous allons prendre les rôles
du tableau des rôles personnels. Et nous n'allons
les créer que s'ils existent. Créons donc ici dans la commande
Ajouter des rôles une barre
oblique, cette fonction va très bien, les rôles. Si Xist doit être asynchrone. Obtenons les rôles existants. En faisant une interaction de poids cette guilde qui roule la récupération de points. Cette fois, culpabilité,
ces solidifiants parce que nous l'avons fait
dans une culpabilité mise en cache. Construisons maintenant la carte. Cela va être, disons que le type sera une collection ou une carte, où les clés sont les ID des rôles et
les valeurs
sont les rôles eux-mêmes. Nous voulons les convertir en quelque chose comme cette carte où un objet où les clés sont désormais
les noms de leurs rôles
comme l'amateur JavaScript. Et le volume
va simplement être booléen. Dis, en disant : Hé, ces existences réelles qui
roulent. Appelons ce rôle
existant de la carte. Et ce sont les rôles
existants qui vont diminuer. Nous allons utiliser
la réduction ici. La virgule booléenne. Cela va être
le résultat de cela. Ensuite, nous obtenons le résultat
qui est la valeur initiale. Ajoutons donc la valeur initiale. Le résultat
sera ce tableau vide et il va être
ajouté quelques propriétés au fur et à mesure que
nous échangeons le plus large. Et la seconde
sera chacune de ces valeurs. Et chacun de ces
organes de rôle a un nom. Ce que nous allons faire, un résultat de nom est égal à
vrai et renvoie le résultat. Bien que cela, désolé, je
pense que ce n'est pas correct. Je pense qu'ils devraient
être ici comme ça. Maintenant que nous avons la carte de rôles
existante, parcourons
chacun des rôles personnels et vérifions si le rôle
existe déjà, puis continuons. Sinon, nous créons
la ligne comme celle-ci pour un rôle constant des rôles personnels. Pour dire que si la carte de rôles
existante nom
cumulatif est vraie,
nous continuons. Sinon, nous attendons
l'interaction point, point, rôles, création de points. Et nous pouvons passer ici
les nombreuses, nombreuses options. Le premier
est évidemment le nom du rôle, ce qui est le plus important. On peut passer une couleur. Va passer la couleur
enroulée. Nous pouvons le passer. C'est mentionable ou non.
Je vais dire non. Nous pouvons également passer comme des
emoji Unicode ou des emojis personnalisés. Mais en fait, cette
fonctionnalité est
réservée aux serveurs qui ont nitro à deux niveaux ou
quelque chose du genre. J'ai donc besoin de beaucoup de besoins des utilisateurs sur le
serveur nitro, où j'ai besoin
d'acheter beaucoup de nitro, de booster, quel que soit leur nom. Je ne peux pas faire ça. Je peux mettre un
emoji personnalisé dès maintenant. Je vais donc simplement
spécifier ces options ici. Si vous souhaitez voir plus d'options, vous pouvez accéder à la
documentation ou vous pouvez accéder à la
définition de TypeScript et voir, hé, vous pouvez passer une raison. Vous allez ici, vous pouvez
nommer le palan choléra, la position du rôle. C'est peut-être important. Je ne vais pas spécifier
ici les autorisations aussi bien
que cela est facultatif, mais vous pouvez le faire aussi. L'icône
Emoji Unicode que nous ne pouvons pas mettre tristement parce que nous
n'avons pas assez de boosts. Et c'est tout. Nous avons juste besoin de les appeler maintenant. que ça s'appelait, Comment ai-je appelé ça créer une fonction d'existence relative. Ok, donc maintenant si nous allons sur notre
serveur et tapez à nouveau des rôles, voyons voir, je n'ai que
ce rôle propriétaire froid. Et si je clique sur ce
truc, voyons voir. Je ne l'ai pas encore eu. Voyons voir, cliquons ici. Je ne l'avais pas parce que
évidemment je ne teste pas ce
moment que le Raleigh l'
a triste , mais je voulais juste voir
que le rôle a été créé. Désolé, je suis allé dans le
futur et ce n'est pas bon. Allons dans les
paramètres du serveur, Les rôles, et vous pouvez voir maintenant que nous
avons ces JavaScript plus bas que l'amateur de TypeScript. Nous avons donc créé
nos rôles. Si j'exécute cette commande à nouveau aux règles et que je vais dans les rôles de paramètres
du serveur, vous verrez qu'
ils sont les mêmes. Ils n'ont pas changé. Si je ne fais pas
cette condition ici, j'aurai beaucoup
de rôles répétés. Ce n'est pas le cas ici. Alors maintenant, dans la prochaine vidéo, nous
allons commencer à essayer, lorsque nous réagirons à cette chose, nous allons
nous ajouter ces rôles. Réfléchissez-y avant de passer à la vidéo suivante. collecteur de réactions,
comme nous
l'avons fait dans le sondage, ne
fonctionnera pas dans ce cas. Pourquoi ? Parce qu'il y a une viande maigre de réactions et qu'elles
limiteront le temps. Et nous ne voulions pas
le boiteux, n'est-ce pas ? Nous voulons que ce message soit
là pour toujours et que les gens cliquent
simplement sur cette chose et se
donnent des rôles. Nous allons en fait ajouter un autre auditeur pour voir si nous
pouvons recevoir des réactions aux messages. J'espère que cette vidéo vous a plu. On se voit dans le prochain. Au revoir.
41. Partie 4 de Self: Bonjour et bienvenue. Maintenant, nous avons notre lit M, qui a ces réactions
comme dans notre sondage. Nous devons maintenant obtenir
une annonce, les rôles de l'utilisateur qui y
a réagi jusqu'à la fin. Allons créer
un nouvel auditeur appelé à la réaction des messages. Faisons ça comme ça. Coûts d'exportation sur la réaction des
messages. On va passer devant un client. Ce cours va
revenir nul. Nous allons dire client sur, et nous avons toutes
ces options. Nous voulons que la réaction du message au Kohlberg soit un rappel asynchrone. Et ce rappel asynchrone
va avoir la réaction et l'
utilisateur qui a réagi. La réaction est donc de type, réaction de la
NASA et
l'utilisateur est de type, utilisateur ou polonais ou
partiel, réaction partielle
ou partielle. Je pense que ce n'est pas le cas, nous n'avons pas encore
précisé les partiels, mais nous allons le faire ensuite. Tout d'abord, c'est vrai. La logique. Ce que nous voulons
faire ici, c'est d'abord vérifier si le message de réaction
interaction point, nom du point. Si cela existe, nous voulons qu'ils soient
de type AD. Nous voulons d'abord vérifier s'il s'agit de
l'interaction Ajouter des rôles. Ensuite, nous voulons trouver
le rôle de soi. Je vais trouver le rôle. Oui, en fait,
faisons-le dehors. Appelons ce rôle de réaction. Faites-le en dehors de cette déclaration si. Nous allons trouver
que l'emoji auto-roll, roll dot que je n'ai pas fait, c'est pour être égal, laissez-moi clore cette réaction. Ce rôle de réaction existe. Réaction rho. Cela va faire partie
de notre condition si. Nous voulons également vérifier que leur
message n'est pas un message de culpabilité, message de réaction ou
un message de culpabilité. Et nous voulons également vérifier
si l'utilisateur va envoyer. Ce n'est pas plus haut,
car n'oubliez notre bateau est celui qui est
chargé de réagir, mais nous ne voulons pas ajouter de
rôles à notre bateau acheté en magasin. Allons chercher la culpabilité
avec le message de réaction point. Maintenant que j'ai l'ID de culpabilité, je vais dire que le
rendement est égal à, encore une fois client.Lisez les guildes
que l'argent qui obtient ID de
guilde devrait être distribué. Si cette chose n'existe pas, alors soyez coupable ou indéfinie, alors nous attendons les rendements de ce lot. La culpabilité. La culpabilité est toujours définie. Nous voulons maintenant obtenir
un rôle existant. Les rôles existants
équivaut à la culpabilité. Que les rôles qui encaissent. Il s'agira d'une
collection où les clés sont les identifiants des
règles et les valeurs sont les
sujets de rôle eux-mêmes. Nous allons maintenant
obtenir le rôle à ajouter. Le rôle à
ajouter sera égal,
désolé, aux règles existantes. Nous allons trouver,
nous allons trouver un rôle
existant où le nom de
point de rôle existant est égal à
notre nom de point de réaction. D'accord, désolé. Maintenant que nous avons le
rôle à ajouter, encore une fois, il peut
s'agir d'un rôle ou
non défini si vous vous tournez pour trouver non seulement renvoyé
et ne rien faire. Mais si cette chose
est de type rôle, alors nous allons dire const, l'ID utilisateur est égal à l'ID de point utilisateur. Nous allons chercher le
membre de la guilde. Rendez une fois de plus,
offrez aux membres qui encaissent ce Gad, l'ID utilisateur. Ou si cette chose n'existe pas, rappelez-vous, elle peut être comme ça. Si je le fais comme
ça, ce sera
membre de la guilde ou à l'amende. Donc, si ce n'est pas défini,
je vais attendre. Membres de guilde qui
récupère l'ID utilisateur. Maintenant, le membre est toujours
membre de la guilde. Et ici, nous devons faire
attention si les
rôles de membres en espèces ont le
rôle d'ajouter un ID de point. Le membre a déjà le rôle. Alors, nous ne
voulions rien faire. Tu viens de revenir.
Sinon, on ne ferait que les rôles. Les rôles sont la deuxième ligne. C'est notre logique qui
est très profonde ici. Voyons si ça marche. Maintenant, le corps est
en ligne, c'est des rôles. Et vous pouvez voir maintenant que les commandes de l'
application
ne fonctionnaient pas parce que nous avons dû attendre un certain
temps pour que cela fonctionne. OK. Alors maintenant, regardez mes rôles. Je n'ai le propriétaire que si, si je réagis à cela maintenant, je n'avais toujours pas le neuronal. Voyons pourquoi. Faisons un débogage.
Essayons encore. Peut-être, peut-être,
refaisons-le. Peut-être que je pense que
ce qui se passe ? Nous avons oublié de faire quelque chose. On a oublié de le mettre dans
le main.js, tu te souviens ? Donc, sur la réaction du message, cette erreur stupide pour moi. Refaisons-le. Si je dis, si je réagis à cela, je vais avoir l'amateur de
TypeScript. Et si je réagis à cela, je vais avoir l'
amateur de JavaScript. Maintenant, ça marche. Maintenant, ça marche. Dans la vidéo suivante, ce que nous allons
faire est le même, mais lorsque nous supprimons la réaction. On se voit dans la vidéo suivante. Adieu.
42. Partie 5 de Self: Bonjour et bienvenue. Nous avons la possibilité d'ajouter
des rôles en réagissant aux emoji. Faisons de même. Mais lorsque nous
éliminons la réaction, nous voulons que
le rôle dans la logique
soit très similaire. Il suffit de copier et de coller ça. Mais au lieu d'une réaction à, appelons cela une
réaction, supprimons. Renommez cela évidemment lors de la réaction du
message, supprimez. L'événement sera celui de ces événements. Suppression de la réaction du message. La logique est presque la même. Ce que nous devons changer. Ce n'est pas le rôle à ajouter. Il sera enroulé pour le retirer. Et en fait, nous n'avons pas
besoin de cette condition car nous n'allons pas
envoyer son envoi. Comme si je suis un engin avec une réaction et que je retire la réaction parce que vous
n'y avez pas réagi. Cela n'est donc pas nécessaire
et cela doit être supprimé. Je pense que c'est tout. Nous n'avons besoin de rien de
plus pour cela. Nous avons juste besoin d'une autre chose. Nous avons juste besoin d'envoyer un message de
réaction. Remarquez que nous avons mis
ces deux choses. Nous allons le mettre dans
le fichier d'index. Alors, faisons-le. Exporter sur message, À partir de
la réaction du message, sur la réaction du message, supprimer. Mettons-les ici. Au lieu de les mettre ici. Disons ça comme ça. C'est ça. Maintenant, nous
avons le message, réaction, la suppression, le tout configuré. Allons-y et
essayons ici. Les rôles. Laissez-moi d'abord voir que l' atome a n'importe quel rôle. Réagissons donc
à ces deux choses. Donc maintenant, je dois JavaScript
et l'amateur de TypeScript. Maintenant, si je retire celui-ci, je n'avais plus
le TypeScript. Et si je sors celui-ci, maintenant je n'avais pas besoin de
JavaScript, super. Et si je le fais,
encore une fois, j'ai les rôles. Si je retire les réactions, je n'ai plus les rôles. D'accord. Donc, c'est tout.
C'est comme ça que vous faites. J'espère que vous aimeriez
vous voir lors de la prochaine conférence. Au revoir.
43. IMPORTANT : Permissions V2 mise à jour: Bonjour et bienvenue. J'ai une mise à jour. Si vous essayez de
faire une sacrée profondeur. instant, vous allez voir que l'
application se bloque. Cela est dû au fait que ces tribunaux ont introduit les autorisations de
la version deux. Cela signifie que nous ne
pouvons plus le faire maintenant. Allons voir les auditeurs
sur le message prêt. Désolé, pas prêt, désolé. Nous ne pouvons plus le faire. Ce que nous avons fait ici a
défini des autorisations. Mais nous ne pouvons plus le faire. Nous devons supprimer cela. Malheureusement, cela
ne va pas marcher. Nous pouvons toujours le faire. Et la lèvre c'est ça. C'est ça. autorisations, il ne
fonctionnera plus car les autorisations vont
maintenant être
ajoutées à l'intérieur de la partition elle-même. Maintenant, le serveur redémarre
les deux cours Debbie en ligne. Allons au score
et voilà. Mais le personnel du cours est propre ligne. Alors, comment gérer les autorisations ? Eh bien, nous allons ici, nous allons aux paramètres du serveur, nous passons aux intégrations
et aux intégrations. Nous allons au cours des sourds. Évidemment, vous pouvez faire de
même avec quel cours large. Vous pouvez également gérer les
autorisations à partir d'ici. ce moment, il est dit que
les rôles AD, il ne dit pas. Nous pouvons cliquer ici et
mettre l'évier maintenant et économiser. en va de même pour celui-ci, les
avertissements pour fraude. Et l'autre
est pour les deux sourds. Et c'est ici que vous
serez en mesure de gérer toutes ces autorisations
pour chacune de ces commandes. C'est une petite mise à jour. C'est un
changement radical par rapport au score. J'espère que ça vous plaira. voit lors de la prochaine conférence. Au revoir.
44. 500 Conclusion: Félicitations, vous parvenez à terminer ce
cours avec succès et vous apprendrez des compétences
précieuses que vous pourrez postuler pour devenir un meilleur ingénieur
logiciel. Vous apprenez ici peut également
être appliqué, l'avant et au
back-end, peu importe. Qu'est-ce que vous apprenez ? Il s'agit d'un résumé de
ce que vous avez appris. Replanifier les messages créant une barre oblique commande les liens inférieurs, les collecteurs de
messages
intètrent les réactions. Sous-commandes Collectors, obtenir des
informations sur un utilisateur, comme obtenir la guilde, obtenir des
informations sur les membres aux
options des commandes
lors de tâches simples, déploiement sur Heroku, bonnes
pratiques, etc. La chose, compétence
la plus précieuse
ici, ce sont les meilleures pratiques, je pense, parce qu'
il faut écrire un bon code. Écrire un bon code
n'est qu'une question de
suivre les meilleures pratiques. J'espère que ce cours vous a plu et que je vous verrai dans mon prochain cours. Au revoir.