Διχόνοια έχει ένα εξαιρετικό API για τη σύνταξη προσαρμοσμένων bots και πολύ ενεργό κοινότητα bot . Σήμερα θα ρίξουμε μια ματιά στο πώς να ξεκινήσετε να φτιάχνετε το δικό σας.
Θα χρειαστείτε λίγη γνώση προγραμματισμού για να κωδικοποιήσετε ένα bot, οπότε δεν είναι για όλους, αλλά ευτυχώς υπάρχουν ορισμένες ενότητες για δημοφιλείς γλώσσες που το καθιστούν πολύ εύκολο να γίνει. Θα χρησιμοποιούμε το πιο δημοφιλές, discord.js .
ΣΧΕΤΙΖΟΜΑΙ ΜΕ: Τρόπος δημιουργίας, ρύθμισης και διαχείρισης του διακομιστή Discord
Ξεκινώντας
Προχωρήστε στο Discord's πύλη bot και δημιουργήστε μια νέα εφαρμογή.
Θα θελήσετε να σημειώσετε το αναγνωριστικό πελάτη και το μυστικό (φυσικά το οποίο πρέπει να κρατήσετε ένα μυστικό). Ωστόσο, αυτό δεν είναι το bot, μόνο η "Εφαρμογή". Θα πρέπει να προσθέσετε το bot στην καρτέλα "Bot".
Σημειώστε επίσης αυτό το διακριτικό και κρατήστε το μυστικό. Μην δεσμεύετε, σε καμία περίπτωση, αυτό το κλειδί στο Github. Το bot σας θα χακαριστεί σχεδόν αμέσως.
Εγκαταστήστε το Node.js και λάβετε κωδικοποίηση
Για να εκτελέσετε κώδικα Javascript έξω από μια ιστοσελίδα, χρειάζεστε Κόμβος . Κατεβάστε το, εγκαταστήστε το και βεβαιωθείτε ότι λειτουργεί σε τερματικό (ή Γραμμή εντολών, καθώς όλα αυτά πρέπει να λειτουργούν σε συστήματα Windows). Η προεπιλεγμένη εντολή είναι "κόμβος".
Σας προτείνουμε επίσης να εγκαταστήσετε το εργαλείο nodemon. Είναι μια εφαρμογή γραμμής εντολών που παρακολουθεί τον κώδικα του bot σας και επανεκκινείται αυτόματα σε αλλαγές. Μπορείτε να το εγκαταστήσετε εκτελώντας την ακόλουθη εντολή:
npm i -g nodemon
Θα χρειαστείτε ένα πρόγραμμα επεξεργασίας κειμένου. Θα μπορούσατε απλά να χρησιμοποιήσετε το σημειωματάριο, αλλά προτείνουμε και τα δύο Ατομο ή VSC .
Εδώ είναι το "Hello World":
const Discord = απαιτείται ('discord.js');
const client = νέο Discord.Client ();
client.on ("έτοιμο", () => {
console.log(`Logged in as ${client.user.tag}! ");
});
client.on ('message', msg => {
if (msg.content === 'ping') {
msg.reply('pong');
}
});
client.login ('token');
Αυτός ο κωδικός έχει ληφθεί από το discord.js παράδειγμα. Ας το σπάσουμε.
- Οι δύο πρώτες γραμμές είναι να διαμορφώσετε τον πελάτη. Η γραμμή 1 εισάγει τη λειτουργική μονάδα σε ένα αντικείμενο που ονομάζεται "Discord" και η δεύτερη γραμμή αρχικοποιεί το αντικείμενο πελάτη.
-
ο
client.on («έτοιμο»)Το μπλοκ θα ενεργοποιηθεί κατά την εκκίνηση του bot. Εδώ, είναι απλώς διαμορφωμένο ώστε να καταγράφει το όνομά του στο τερματικό. -
ο
client.on ('μήνυμα')Ο αποκλεισμός θα ενεργοποιείται κάθε φορά που ένα νέο μήνυμα δημοσιεύεται σε οποιοδήποτε κανάλι. Φυσικά, θα πρέπει να ελέγξετε το περιεχόμενο των μηνυμάτων και αυτό είναι τοανμπλοκ. Εάν το μήνυμα λέει απλώς "ping", τότε θα απαντήσει με "Pong!" - Η τελευταία γραμμή συνδέεται με το διακριτικό από την πύλη bot. Προφανώς, το διακριτικό στο στιγμιότυπο οθόνης εδώ είναι ψεύτικο. Μην δημοσιεύετε ποτέ το διακριτικό σας στο διαδίκτυο.
Αντιγράψτε αυτόν τον κωδικό, επικολλήστε το διακριτικό σας στο κάτω μέρος και αποθηκεύστε τον ως
index.js
σε έναν ειδικό φάκελο.
Πώς να τρέξετε το Bot
Προχωρήστε στο τερματικό σας και εκτελέστε την ακόλουθη εντολή:
nodemon --inspect index.js
Αυτό ξεκινά το σενάριο και ενεργοποιεί επίσης το πρόγραμμα εντοπισμού σφαλμάτων Chrome, στον οποίο μπορείτε να αποκτήσετε πρόσβαση πληκτρολογώντας
χρώμιο: // επιθεώρηση /
στο Omnibar του Chrome και, στη συνέχεια, ανοίγοντας "ειδικά devtools για Node".
Τώρα, θα πρέπει απλώς να λέει "Σύνδεση ως <bot-name>", αλλά εδώ έχω προσθέσει μια γραμμή που θα καταγράφει όλα τα αντικείμενα μηνυμάτων που λαμβάνονται στην κονσόλα:
Λοιπόν, τι αποτελεί αυτό το αντικείμενο μηνύματος; Πολλά πράγματα, στην πραγματικότητα:
Πιο συγκεκριμένα, έχετε τις πληροφορίες συγγραφέα και τις πληροφορίες καναλιού, στις οποίες μπορείτε να αποκτήσετε πρόσβαση με τα msg.author και msg.channel. Προτείνω αυτήν τη μέθοδο καταγραφής αντικειμένων στα devtools του κόμβου του Chrome και απλώς κοιτάζω γύρω για να δω τι το κάνει. Μπορεί να βρείτε κάτι ενδιαφέρον. Εδώ, για παράδειγμα, το bot καταγράφει τις απαντήσεις του στην κονσόλα, έτσι ενεργοποιούνται οι απαντήσεις του bot
client.on ('μήνυμα')
. Έτσι, έκανα ένα spambot:
Σημείωση : Να είστε προσεκτικοί με αυτό, καθώς δεν θέλετε πραγματικά να αντιμετωπίσετε την αναδρομή.
Πώς να προσθέσετε το Bot στον διακομιστή σας
Αυτό το μέρος είναι πιο δύσκολο από όσο θα έπρεπε. Πρέπει να λάβετε αυτήν τη διεύθυνση URL:
https://discordapp.com/oauth2/authorize?client_id=CLIENTID&scope=bot
Και αντικαταστήστε το CLIENTID με το αναγνωριστικό πελάτη του bot σας, το οποίο βρίσκεται στην καρτέλα γενικών πληροφοριών του σελίδα εφαρμογής . Μόλις γίνει αυτό, μπορείτε να δώσετε το σύνδεσμο στους φίλους σας για να τους προσθέσετε και το bot στους διακομιστές τους.
Εντάξει, λοιπόν τι άλλο μπορώ να κάνω;
Πέρα από τη βασική ρύθμιση, οτιδήποτε άλλο εξαρτάται αποκλειστικά από εσάς. Όμως, αυτό δεν θα ήταν μεγάλο σεμινάριο εάν σταματήσαμε στο γεια σας, οπότε ας δούμε μερικά από τα τεκμηρίωση , έτσι έχετε μια καλύτερη ιδέα για το τι είναι δυνατό. Σας προτείνω να διαβάσετε όσο περισσότερο μπορείτε, καθώς είναι πολύ καλά τεκμηριωμένο.
Θα συνιστούσα την προσθήκη
console.log (πελάτης)
στην αρχή του κώδικα σας και ρίξτε μια ματιά στο αντικείμενο πελάτη στην κονσόλα
Από εδώ, μπορείτε να μάθετε πολλά. Δεδομένου ότι μπορείτε να προσθέσετε ένα bot σε πολλούς διακομιστές ταυτόχρονα, οι διακομιστές αποτελούν μέρος του
Συντεχνίες
αντικείμενο χάρτη. Σε αυτό το αντικείμενο είναι το άτομο
Συντεχνίες
(που είναι το όνομα του API για "διακομιστή") και αυτά τα αντικείμενα συντεχνίας έχουν λίστες καναλιών που περιέχουν όλες τις πληροφορίες και τις λίστες μηνυμάτων. Το API είναι πολύ βαθύ και μπορεί να χρειαστεί λίγος χρόνος για να μάθετε, αλλά τουλάχιστον είναι εύκολο να ρυθμίσετε και να ξεκινήσετε να μαθαίνετε.