Δημιουργήστε τον εαυτό σας για τα τηλεγραφήματα. Πώς να δημιουργήσετε ένα bot σε τηλεγραφήματα

Κάνουμε ένα απλό bot για να δημοσιεύουμε ειδήσεις στο κανάλι και απαντάμε αυτόματα σε ερωτήσεις σε 6 βήματα.

Σε σελιδοδείκτες

Υλικό που ετοιμάστηκε με την υποστήριξη του

Μετά από έντονες συζητήσεις στον τύπο για την αποτελεσματικότητα των chat bots, βρήκαν την θέση τους στο οικοσύστημα των χρηστών και των εταιρειών. Για παράδειγμα, τα προγράμματα συχνά εκτελούν bots για να ειδοποιούν για τυχόν συμβάντα και οι υπηρεσίες υποστήριξης τις χρησιμοποιούν για να απαντούν γρήγορα στις συνήθεις ερωτήσεις του πελάτη.

Σε αυτό το εγχειρίδιο, θα εξετάσουμε τον ευκολότερο τρόπο δημιουργίας ενός bot με τα χέρια σας και θα εξηγήσουμε πώς λειτουργεί.

Ας ξεκινήσουμε με την ανάπτυξη ενός bot που μπορεί να στείλει αυτόματα εταιρικά νέα στο κανάλι τηλεγράφων που δημοσιεύεται στην ιστοσελίδα ή στο Facebook.

Βήμα 1. Δημιουργήστε ένα bot στο Telegram

Ένα bot Telegram δημιουργείται χρησιμοποιώντας ένα άλλο bot που ονομάζεται BotFather. Σας στέλνουμε την εντολή / newbot, επιλέγουμε το όνομα που θα εμφανιστεί στη λίστα επαφών και τη διεύθυνση. Για παράδειγμα, "Bot για DTF" με τη διεύθυνση "dtf_news_bot".

Εάν η διεύθυνση δεν είναι κατειλημμένη και το όνομα εισαχθεί σωστά, το BotFather θα στείλει πίσω ένα μήνυμα με ένα διακριτικό - ένα "κλειδί" για πρόσβαση στο δημιουργημένο bot. Πρέπει να αποθηκεύεται και να μην εμφανίζεται σε κανέναν.

Μέσω του BotFather μπορείτε επίσης να προσθέσετε ένα avatar του bot, μια περιγραφή και πολλά άλλα.

Βήμα 2. Δημιουργήστε ένα κανάλι στο Telegram

Τώρα δημιουργήστε ένα κανάλι με οποιοδήποτε όνομα και διεύθυνση και μεταβείτε στις ρυθμίσεις του. Το μόνο που απαιτείται είναι να προσθέσετε το bot που δημιουργήσαμε στη λίστα των διαχειριστών - θα είναι αυτός που θα δημοσιεύσει σημειώσεις στο κανάλι.

Για να αναζητήσετε ένα bot, μπορείτε να χρησιμοποιήσετε τη διεύθυνσή του. Για παράδειγμα, "dtf_news_bot".

Βήμα 3. Δημιουργία μιας συνθήκης

Το επόμενο στάδιο είναι να διδάξετε το bot να στέλνει ειδήσεις από την τοποθεσία στο δημιουργημένο κανάλι. Για να γίνει αυτό, χρησιμοποιούμε τη δημοφιλή υπηρεσία αυτοματοποίησης IFTTT.

Με αυτό, μπορείτε να δημιουργήσετε οδηγίες για το bot. Στην περίπτωσή μας, μοιάζει με αυτό: κάθε φορά που εμφανίζεται μια νέα καταχώρηση στην τροφοδοσία RSS ενός ιστότοπου, πρέπει να στείλει ένα μήνυμα στο κανάλι τηλεγραφήματος.

Το IFTTT σημαίνει Αν αυτό τότε

Μεταβείτε στην ενότητα IFTTT "My Applets", κάντε κλικ στο κουμπί "Νέο Applet" και, στη συνέχεια, κάντε κλικ στον σύνδεσμο "Αυτό". Βρίσκουμε στη λίστα των λειτουργιών την ενέργεια Τροφοδοσία, Νέο στοιχείο ροής και καθορίστε τη διεύθυνση URL της ροής RSS μας. Για παράδειγμα, σε ιστοσελίδες Wordpress, βρίσκεται συνήθως στο παράδειγμα.com/feed/.

Αντί για τροφοδοσίες RSS, μπορείτε να παρακολουθήσετε την εμφάνιση νέων καταχωρήσεων σε ένα λογαριασμό Twitter ή Facebook - για κάθε λειτουργία, το IFTTT διαθέτει ξεχωριστές ενότητες.

Τώρα μεταβείτε στο δεύτερο βήμα - επιλέξτε τη δράση που θα εκτελεστεί όταν εντοπιστεί μια νέα καταχώρηση RSS. Κάντε κλικ στο "Αυτό" και αναζητήστε το Web Maker του Maker, "Κάντε μια αίτηση στο διαδίκτυο" - χρησιμοποιώντας αυτήν την ενότητα μπορείτε να στείλετε αιτήματα σε οποιαδήποτε υπηρεσία. Στην περίπτωσή μας - στο bot στο Telegram.

Στη μορφή που ανοίγει στο πεδίο διεύθυνσης URL, πρέπει να καθορίσετε τη σύνδεση https://api.telegram.org/bot TOKEN/ sendMessage, αντικαθιστώντας το συμβολικό στοιχείο που δημιουργήθηκε στο πρώτο βήμα. Μέθοδος: POST, τύπος περιεχομένου: εφαρμογή / json.

Body - το πεδίο για το πρότυπο αιτήματος που θα σταλεί στο τηλεγράφημα. Σε αυτό υποδεικνύουμε σε ποιο κανάλι πρέπει να αποστέλλεται το μήνυμα και τι πρέπει να γραφεί σε αυτό:

("chat_id": "@ channel_address", "text": "((EntryTitle)) ((FeedUrl)

  • chat_id  - τη διεύθυνση του καναλιού στο οποίο θέλετε να στείλετε ένα μήνυμα. Έτσι, ένα bot μπορεί να συνδεθεί σε διάφορα κανάλια ταυτόχρονα. Ως προορισμός, μπορείτε να ορίσετε έναν συγκεκριμένο χρήστη. Σε αυτήν την περίπτωση, αντί για τη διεύθυνση του καναλιού, πρέπει να καθορίσετε το αναγνωριστικό του (μπορεί να ληφθεί χρησιμοποιώντας ένα bot).
  • κείμενο  - το περιεχόμενο του μηνύματος. Για παράδειγμα, ο τίτλος του υλικού από το RSS (EntryTitle), το περιεχόμενό του (EntryContent) και ο σύνδεσμος (FeedUrl). Ο κατάλογος των διαθέσιμων επιλογών μπορεί να προβληθεί από το κουμπί "Συστατικό".

Εάν όλα έχουν ρυθμιστεί σωστά, το bot θα στείλει ένα μήνυμα από την τροφοδοσία RSS στη ροή δεδομένων. Η σκανδάλη στο IFTTT έχει καθυστέρηση, οπότε το μήνυμα που εμφανίζεται στη ροή RSS δεν θα μεταφερθεί αμέσως στο Telegram, αλλά μετά από 30-60 λεπτά.

Ως προϋπόθεση για την αποστολή ενός μηνύματος, μπορείτε να επιλέξετε οποιοδήποτε άλλο σενάριο που είναι διαθέσιμο στο IFTTT. Για παράδειγμα, το Weather Underground μπορεί να στείλει ένα μήνυμα κάθε μέρα με μια πρόγνωση καιρού για το αύριο. Η σκανδάλη αποθέματος μπορεί να διαμορφωθεί για να στείλει τις τιμές των μετοχών κατά το κλείσιμο ενός εμπορίου.

Τώρα ας λύσουμε μια πιο περίπλοκη εργασία - θα διδάξουμε το δημιουργημένο bot να ανταποκριθεί στα μηνύματα των χρηστών. Για παράδειγμα, στείλτε μια τιμή καταλόγου, επαφές ή απαντήστε σε συνήθεις ερωτήσεις από πελάτες.

Βήμα 4. Σύνδεση του διακομιστή

Σε αυτό το στάδιο, θα χρειαστείτε φιλοξενία ιστοσελίδων και πιστοποιητικό SSL, το οποίο μπορείτε να το προμηθευτείτε δωρεάν με την υπηρεσία Let's Encrypt.

Ο πιο βολικός τρόπος είναι να δημιουργήσετε έναν ξεχωριστό υποτομέα για το bot - για παράδειγμα, το bot.example.com - και να τοποθετήσετε ένα αρχείο index.php σε αυτό. Στο εσωτερικό του αρχείου τοποθετούμε τον κώδικα του πιο απλού bot από τον ιστότοπο του Telegram.

Υπάρχουν μόνο δύο αλλαγές στον κώδικα bot:

  • σε σειρά ορίστε ("BOT_TOKEN", "12345678: αντικαταστήστε με με real-token");αντί για 12345678: αντικαταστήστε με με real-token να γράψετε το κουπόνι που λάβατε στο πρώτο βήμα.
  • σε σειρά καθορίστε ("WEBHOOK_URL", "https://my-site.example.com/secret-path-for-webhooks/");αντί για https://my-site.example.com/secret-path-for-webhooks/ καθορίστε τη διεύθυνση URL του αρχείου κώδικα για το bot: https://bot.example.com/index.php.

Βήμα 5. Συνδέστε το bot και το διακομιστή τηλεγράφων

Τώρα είναι απαραίτητο να συνδέσουμε το τηλεγράφημα και το αρχείο στο διακομιστή έτσι ώστε τα αιτήματα που αποστέλλονται στο bot στο messenger διαδικασία script μας.

Για αυτό χρειάζεστε μια κονσόλα. Διαφορετικοί πάροχοι φιλοξενίας μπορεί να το έχουν σε διαφορετικές ενότητες της διασύνδεσης διαχείρισης τοποθεσίας. Επιπλέον, μπορείτε να χρησιμοποιήσετε το πρόγραμμα Terminal στο macOS εισάγοντας την εντολή μέσω του ssh username @ domain_address.

Αφού εισαγάγουμε τον κωδικό πρόσβασης, εκτυπώνουμε μια απλή εντολή για τον υποτομέα μας. :

php -f /var/www/bot.example.com/index.php

Ωραίο να σας γνωρίσω - την απάντηση του bot στο μήνυμα που έστειλε ο χρήστης.

Κάτω από τον κώδικα προσθέτουμε επιπλέον απαντήσεις. Για παράδειγμα, ανάλογα με την αποστολή λέξη, το bot έστειλε τις απαραίτητες πληροφορίες στο χρήστη (όπως στο

Τον γράφουμε / ξεκινάμε και παίρνουμε μια λίστα με όλες τις εντολές του.
  Το πρώτο και κύριο - / newbot - αποστέλλονται σε αυτόν και το bot ζητά να εφεύρει ένα όνομα για το νέο μας bot. Ο μόνος περιορισμός στο όνομα - στο τέλος θα πρέπει να τερματίζεται σε «bot». Εάν είναι επιτυχής, το BotFather επιστρέφει το διακριτικό bot και έναν σύνδεσμο για να προσθέσει γρήγορα το bot στις επαφές, διαφορετικά θα πρέπει να σπάσετε το κεφάλι σας πάνω από το όνομα.

Για να ξεκινήσετε, αυτό αρκεί. Ειδικά το pedantic μπορεί να αναθέσει ένα avatar του bot, μια περιγραφή και ένα μήνυμα καλωσορίσματος εδώ.

Μην ξεχάσετε να ελέγξετε το ληφθέν διακριτικό χρησιμοποιώντας το σύνδεσμο api.telegram.org/bot / getMe, λένε, δεν λειτουργεί πάντα την πρώτη φορά.

2. Προγραμματισμός

  Θα δημιουργήσω ένα bot στο Python3, ωστόσο, λόγω της επάρκειας αυτής της γλώσσας, οι αλγόριθμοι μεταφέρονται εύκολα σε οποιοδήποτε άλλο.

Το τηλεγράφημα σας επιτρέπει να μην μεταφορτώνετε μηνύματα με μη αυτόματο τρόπο, αλλά τοποθετείτε ένα webHook και, στη συνέχεια, θα στέλνουν κάθε μήνυμα. Για την Python, για να μην ασχοληθούμε με το cgi και τα νήματα, είναι βολικό να χρησιμοποιήσουμε κάποιο είδος αντιδραστήρα, οπότε επέλεξα το tornado.web για εφαρμογή. (για το GAE είναι βολικό να χρησιμοποιήσετε μια δέσμη Python2 + Flask)

Κάτω πλαίσιο:

URL = "https://api.telegram.org/bot%s/"% BOT_TOKEN MyURL =" https://example.com/hook "api = requests.Session () application = tornado.web.Application ([ r "/", χειριστής),]) εάν __name__ == "__main__": signal.signal (signal.SIGTERM, signal_term_handler) δοκιμάστε: set_hook = api.get (URL + "setWebhook? url =% s"% MyURL) set_hook.status_code! = 200: logging.error ("Μπορώ να ρυθμίσω άγκιστρο:% s. Κλείσιμο"% set_hook.text) έξοδος (1) application.listen (8888) tornado.ioloop.IOLoop.current (εκτός από το πληκτρολόγιο Διακοπή: signal_term_handler (signal.SIGTERM, None)
  Εδώ, όταν ξεκινάμε το bot, θα εγκαταστήσουμε ένα webhost στη διεύθυνση μας και θα πιάσουμε το σήμα εξόδου για να επιστρέψουμε τη συμπεριφορά με τη μη αυτόματη μεταφόρτωση συμβάντων.

Η εφαρμογή tornado για την επεξεργασία αιτημάτων παίρνει την κλάση tornado.web.RequestHandler, στην οποία θα είναι η λογική του bot.

Χειριστής κλάσης (tornado.web.RequestHandler): def post (self): δοκιμάστε: logging.debug ("Ζητήθηκε:% s"% self.request.body) update = tornado.escape.json_decode (self.request.body) μήνυμα = ενημέρωση ["μήνυμα"] text = message.get ("κείμενο"), εάν κειμένου: logging.info ("MESSAGE \\ t% s \\ t% s" κειμένου), αν το κείμενο == "/": εντολή, * arguments = text.split ("", 1) απάντηση = CMD.get (εντολή, not_found) \\ t% s (μήνυμα ["chat"] [id], απάντηση) send_reply (απάντηση) εκτός από την εξαίρεση ως e: logging.warning (str (e))
  Εδώ CMD είναι ένα λεξικό των διαθέσιμων εντολών και το send_reply είναι η λειτουργία της αποστολής μιας απάντησης, η οποία δέχεται ένα ήδη δημιουργημένο αντικείμενο μηνύματος ως είσοδο.

Στην πραγματικότητα, ο κώδικας του είναι πολύ απλός:

Def_end_reply (απάντηση): αν "κείμενο" σε απόκριση: api.post (URL + "sendMessage", δεδομένα = απάντηση)

Τώρα που περιγράφεται ολόκληρη η λογική του bot, μπορείτε να αρχίσετε να επινοείτε εντολές για αυτό.

3. Ομάδες

  Πρώτα απ 'όλα, είναι απαραίτητο να τηρήσουμε τη συμφωνία Telegram και να διδάξουμε το bot σε δύο εντολές: / start και / help:

Def help_message (παράπονα, μήνυμα): απάντηση = ("chat_id": μήνυμα ["chat"] ["id"]) αποτέλεσμα = ["Hey,% s!" ("first_name"), "Μπορώ να δεχτώ μόνο αυτές τις εντολές:"] για εντολή στην απόκριση cmd: result.append (εντολή) ["text"] = "\\ n \\ t" .response (αποτέλεσμα) απάντηση επιστροφής

Η δομή μηνύματος ["από"] είναι ένα αντικείμενο τύπου User, παρέχει στο bot πληροφορίες σχετικά με το όνομα του χρήστη και το όνομα του χρήστη. Για απαντήσεις, είναι πιο χρήσιμο να χρησιμοποιείτε το μήνυμα ["chat"] ["id"] - στην περίπτωση της προσωπικής επικοινωνίας θα υπάρχει ένας χρήστης, και στην περίπτωση μιας συνομιλίας - ένα αναγνωριστικό συνομιλίας. Διαφορετικά, μπορείτε να πάρετε μια κατάσταση όπου ο χρήστης γράφει στη συνομιλία, και το bot απαντά σε lichku.

Η εντολή / εντολή εκκίνησης χωρίς παραμέτρους χρησιμοποιείται για την εμφάνιση πληροφοριών σχετικά με το bot και με τις παραμέτρους που χρησιμοποιείται για την αναγνώριση. Είναι χρήσιμο να το χρησιμοποιήσετε για ενέργειες που απαιτούν εξουσιοδότηση.

Μετά από αυτό, μπορείτε να προσθέσετε μερικές από τις δικές σας εντολές, για παράδειγμα, / base64:

Def βάση64_decode (παράμετροι, μήνυμα): απάντηση = ("chat_id": μήνυμα ["chat"] ["id"]) try: απάντηση ["text"] = b64decode ")) εκτός από: απάντηση [" text "] =" Μπορεί να το αποκωδικοποιήσει "τελικά: απάντηση επιστροφής

Για τους χρήστες του Mobile Telegram, θα είναι χρήσιμο να πείτε στο @BotFather ποιες εντολές δέχεται το bot μας:
   I: / setcommands
  BotFather:
  Εγώ: @ ****** _ bot
  BotFather: Εντάξει. Στείλτε μου μια λίστα εντολών για το bot σας. Χρησιμοποιήστε αυτήν τη μορφή:

Command1 - Περιγραφή
  command2 - Μια άλλη περιγραφή
  Ι:
  whoisyourdaddy - Πληροφορίες για τον συγγραφέα
  βάση64 - αποκωδικοποίηση βάσης64
  BotFather: Επιτυχία! Η λίστα εντολών ενημερώθηκε. / βοήθεια

Με μια τέτοια περιγραφή, εάν ο χρήστης καλεί /, το Telegram θα εμφανίσει με ευκολία μια λίστα με όλες τις διαθέσιμες εντολές.

4. Ελευθερία

  Όπως βλέπετε, το τηλεγράφημα στέλνει ολόκληρο το μήνυμα, όχι σπασμένο, και ο περιορισμός που οι εντολές αρχίζουν με μια κάθετο είναι μόνο για την ευκολία των χρηστών κινητής τηλεφωνίας. Εξαιτίας αυτού, μπορείτε να διδάξετε το bot να μιλήσει λίγο ανθρώπινα.

UPD:  Όπως σωστά προτείνεται, αυτό θα γίνει μόνο αυτοπροσώπως. Στις αίθουσες συνομιλίας, μόνο μηνύματα που ξεκινούν με την εντολή (/ ) (https://core.telegram.org/bots#privacy-mode)

Για να λάβει το bot όλα τα μηνύματα σε ομάδες, γράφουμε την εντολή @BotFather / setprivacy  και απενεργοποιήστε το απόρρητο.

Πρώτα, προσθέστε ένα χειριστή στον χειριστή:

Αν το κείμενο == "/": ... else: response = CMD [ "] (μήνυμα) logging.info (" REPLY \\ t% s \\ t% s "% (μήνυμα" chat "
  Και στη συνέχεια προσθέτουμε ψευδο-ομιλία στη λίστα των εντολών:

RESPONSES = ("Γεια σας": "Γεια σας!", "Γεια σας!", "Καλώς ορίσατε", "Γεια σας, (όνομα)!" "Γεια σας!", "Καλώς ήλθατε!", "Καλώς ήλθατε", "Καλώς ήλθατε", "Καλώς ήρθατε", "Καλώς ήλθατε" : ["Γεια σας!", "Γεια σας!", "Γεια σας!", "Γεια σας, (όνομα)!",], Def) human_response (μήνυμα): leven = fuzzywuzzy.process.extract "), RESPONSES.key (), limit = 1) απάντηση = (" chat_id ": μήνυμα [" chat "] [id]< 75: response["text"] = "I can not understand you" else: response["text"] = random.choice(RESPONSES.get(leven)).format_map({"name": message["from"].get("first_name", "")}) return response
Εδώ, η εμπειρική σταθερά 75 αντανακλά αρκετά καλά την πιθανότητα που ο χρήστης ήθελε ακόμα να πει. Και το format_map είναι βολικό για την ίδια περιγραφή των συμβολοσειρών που χρειάζονται αντικατάσταση και χωρίς αυτό. Τώρα το bot θα ανταποκριθεί στα χαιρετισμούς και μερικές φορές ακόμα και η διεύθυνση με το όνομα.

5. Όχι κείμενο.

  Μποτς, όπως οποιοσδήποτε κανονικός χρήστης τηλεγράφων, μπορεί όχι μόνο να γράψει μηνύματα, αλλά και να μοιραστεί φωτογραφίες, μουσική, αυτοκόλλητα.

Για παράδειγμα, αναπτύξτε το λεξικό RESPONSES:

ΑΠΑΝΤΗΣΕΙΣ ["Τι ώρα είναι;"] = [ "," (ημερομηνία) UTC "]
  Και θα πιάσουμε το κείμενο :

Αν η απόκριση ["text"] == " ": απάντηση [" αυτοκόλλητο "] =" BQADAgADeAcAAlOx9wOjY2jpAAHq9DUC "απόκριση [" κείμενο "]
  Μπορείτε να δείτε ότι η δομή μηνυμάτων πλέον δεν περιέχει πλέον κείμενο, επομένως πρέπει να τροποποιήσετε το send_reply:

Defi_reply (απάντηση): αν το "αυτοκόλλητο" απαντήσει: api.post (URL + "sendSticker", data = response) elif "
  Και αυτό είναι όλο, τώρα το bot θα στείλει περιστασιακά ένα αυτοκόλλητο αντί του χρόνου:

6. Ευκαιρίες

  Χάρη στην ευκολία του API και της ταχείας εκκίνησης, τα bots των τηλεγράφων μπορούν να αποτελέσουν μια καλή πλατφόρμα για την αυτοματοποίηση των ενεργειών τους, τη δημιουργία ειδοποιήσεων, τη δημιουργία κουίζ και διαγωνισμούς με βάση τα καθήκοντα (CTF, DozoR και άλλοι).

Υπενθυμίζοντας, μπορώ να πω ότι τώρα υπάρχουν λιγότερες διαστρεβλώσεις και η εργασία είναι πιο διαφανής.

7. Περιορισμοί

  Δυστυχώς, αυτή τη στιγμή υπάρχει περιορισμός στη χρήση του webHook - λειτουργεί μόνο σε https και μόνο με ένα έγκυρο πιστοποιητικό, το οποίο, για παράδειγμα, εξακολουθεί να είναι κρίσιμο για μένα λόγω της έλλειψης υποστήριξης από κέντρα πιστοποίησης για δυναμικό DNS.

Ευτυχώς, το Telegram είναι επίσης σε θέση να δουλέψει στη μη αυτόματη ενημέρωση, οπότε χωρίς να αλλάξετε τον κώδικα, μπορείτε να δημιουργήσετε έναν άλλο Puller υπηρεσίας, ο οποίος θα τα κατεβάσει και θα στείλει στην τοπική διεύθυνση:

Ενώ είναι αληθές: r = requests.get (URL + "? Offset =% s"% (τελευταία + 1)) αν r.status_code == 200: για μήνυμα στο r.json () ["αποτέλεσμα"]: last = int (μήνυμα: "update_id"]) requests.post ("http: // localhost: 8888 /", data = json.dumps (message), headers = : "text / plain")) αλλιώς: logging.warning ("FAIL" + r.text) time.sleep (3)

P.S. Σύμφωνα με την παράγραφο 7, βρήκα μια βολική λύση - δεν βάζω bot στο σπίτι μου, αλλά στο heroku, αφού όλα τα ονόματα της φόρμας * .herokuapp.com προστατεύονται από το δικό τους πιστοποιητικό.

UPD: Βελτιώθηκε το τηλεγράφημα Bot Api και γι 'αυτό δεν είναι απαραίτητο να υπάρχει ξεχωριστή λειτουργία για την αποστολή μηνυμάτων όταν εγκαθίσταται το webhuk και ως απάντηση σε ένα αίτημα POST μπορείτε να απαντήσετε με το ίδιο JSON που δημιουργήθηκε με ένα μήνυμα απάντησης όπου ένα από τα πεδία έχει οριστεί ως η μέθοδος ":" sendMessage "(ή οποιαδήποτε άλλη μέθοδο που χρησιμοποιείται από το bot).

Ετικέτες: Προσθήκη ετικετών

Τα ρομπότ είναι ειδικοί λογαριασμοί τηλεγράφων που δημιουργούνται για την αυτόματη επεξεργασία και αποστολή μηνυμάτων. Οι χρήστες μπορούν να αλληλεπιδρούν με τα bots χρησιμοποιώντας μηνύματα που αποστέλλονται μέσω τακτικών ή ομαδικών συζητήσεων. Η λογική του bot ελέγχεται χρησιμοποιώντας τις αιτήσεις HTTPS.

  Γενικές πληροφορίες

  1. Τι μπορούν να κάνουν τα ρομπότ;

Ακολουθούν μερικά παραδείγματα χρήσης bots:

  • Ενσωμάτωση με άλλες υπηρεσίες. Για παράδειγμα, ένα bot μπορεί να στείλει σχόλια ή να ελέγξει το έξυπνο σπίτι. Ή, για παράδειγμα, να στείλετε ειδοποιήσεις όταν πραγματοποιείτε μια ενέργεια ή ένα συμβάν (Παραδείγματα: Github bot , Εικόνα bot).
  • Βοηθητικά μέσα και εργαλεία. Ένα bot μπορεί να εμφανίζει καιρικές συνθήκες, να μεταφράζει κείμενα ή να προειδοποιεί για επερχόμενες εκδηλώσεις κατόπιν αιτήματός σας (Για παράδειγμα: έρευνα bot).
  • Παιχνίδια single και multiplayer. Ένα bot μπορεί να παίξει πούλια ή σκάκι μαζί σας, να διεξάγει κουίζ και ούτω καθεξής. (Παράδειγμα: Trivia bot).
  • Κοινωνικές υπηρεσίες. Το ρομπότ μπορεί να σας βρει έναν συνομιλητή με βάση τα κοινά σας ενδιαφέροντα και τα χόμπι σας. (Παράδειγμα: HotOrBot).
  • Ό, τι θέλεις. Οι Μποτς μπορούν να προγραμματιστούν για οτιδήποτε. Είναι αυτά τα πιάτα που δεν μπορούν να πλύνουν.

  2. Πώς λειτουργούν τα bots;

Όπως αναφέρθηκε προηγουμένως, τα ρομπότ είναι ειδικοί λογαριασμοί που δεν απαιτούν αριθμό τηλεφώνου όταν δημιουργούνται. Στην ουσία, αυτοί οι λογαριασμοί παίζουν το ρόλο μιας διεπαφής στην υπηρεσία σας που εκτελείται σε έναν απομακρυσμένο διακομιστή.

Το πιο ενδιαφέρον πράγμα για τα ρομπότ είναι ότι για να τα δημιουργήσετε δεν χρειάζεται να μάθετε μεθόδους χαμηλού επιπέδου εργασίας με το MTProto και την κρυπτογράφηση - η επικοινωνία με το ρομπότ οργανώνεται χρησιμοποιώντας τη συνήθη διεπαφή HTTPS με απλοποιημένες μεθόδους API Telegram. Το κάλεσαν.

  3. Πώς να δημιουργήσετε ένα ρομπότ;

Γι 'αυτό υπάρχει ... ένα ρομπότ. Απλά γράψτε στον χρήστη & commat; BotFather και ακολουθήστε τις οδηγίες του. Μόλις δημιουργήσετε ένα bot και λάβετε το κλειδί εξουσιοδότησης (διακριτικό), μεταβείτε στην ενότητα για να ξεκινήσετε τη ρύθμιση του ρομπότ σας.

  4. Πώς είναι ένα bot διαφορετικό από έναν κανονικό λογαριασμό;

  Υπερδύναμες

Τα ρομπότ τηλεγράφων έχουν πολλά μοναδικά χαρακτηριστικά - για παράδειγμα, πρόσθετες διεπαφές για και ειδικά για ομάδες.

  Ενσωματωμένη λειτουργία

Οι χρήστες μπορούν να συνομιλήσουν με το bot σας απευθείας από το πεδίο εισαγωγής μηνυμάτων - από οποιαδήποτε συζήτηση ή ομάδα. Για να το κάνετε αυτό, απλά πληκτρολογήστε το όνομα χρήστη του bot σας και το ερώτημα αναζήτησης.

Μόλις λάβει το αίτημα, το bot μπορεί να επιστρέψει τα αποτελέσματα. Μόλις ο χρήστης κάνει κλικ σε ένα από αυτά, θα πάει αμέσως στη συζήτηση. Έτσι, μπορείτε να ζητήσετε περιεχόμενο από το bot σε chat rooms, ομάδες ή κανάλια.


  Παιχνίδια

Με τη βοήθεια των bots, οι χρήστες μπορούν να παίξουν παιχνίδια HTML5 σε ομάδες ή σε ιδιωτικούς χώρους συνομιλίας. Η πλατφόρμα παιχνιδιών Telegram θα σας βοηθήσει να δημιουργήσετε έναν πίνακα εγγραφών και να ενημερώσετε τους χρήστες σχετικά με μια αλλαγή αξιολόγησης.



Το HTML5 βρίσκεται κάτω από την κουκούλα των παιχνιδιών, ώστε να μπορείτε να δημιουργείτε παιχνίδια οποιασδήποτε πολυπλοκότητας. Προς το παρόν, η ομάδα Telegram δημιούργησε διάφορα demo παιχνίδια:

  Πληκτρολόγια

Ένα από τα πιο ασυνήθιστα χαρακτηριστικά του API bot είναι προσαρμοσμένα πληκτρολόγια. Όταν ένας διακομιστής στέλνει μια απάντηση, είναι δυνατή η αποστολή μιας εντολής για την εμφάνιση ενός ειδικού πληκτρολογίου με προκαθορισμένες επιλογές απόκρισης (βλ.). Ο πελάτης τηλεγράφων, μόλις λάβει ένα μήνυμα, εμφανίζει το χρήστη του πληκτρολογίου στο χρήστη. Πατώντας το πλήκτρο αποστέλλεται αμέσως η αντίστοιχη εντολή στο διακομιστή. Έτσι είναι δυνατόν να απλοποιηθεί σημαντικά η αλληλεπίδραση του ρομπότ με το χρήστη.

Σε αυτό το σημείο, το emoji και το κείμενο μπορούν να χρησιμοποιηθούν για την εμφάνιση στο πλήκτρο. Ακολουθούν ορισμένα παραδείγματα τέτοιων πληκτρολογίων:


   Για περισσότερες πληροφορίες, ανατρέξτε στην περιγραφή της μεθόδου.

  Ομάδες

Οι ομάδες είναι ένας πιο ευέλικτος τρόπος επικοινωνίας με το ρομπότ. Συνιστάται η ακόλουθη σύνταξη:

   / εντολή [προαιρετικό] [επιχείρημα]

Μια εντολή πρέπει να ξεκινά με μια κάθετο "/" και δεν μπορεί να είναι μεγαλύτερη από 32 χαρακτήρες. Οι εντολές μπορούν να αποτελούνται από γράμματα του λατινικού αλφαβήτου, αριθμούς και υπογράμμιση. Μερικά παραδείγματα:

   / get_messages_stats
/ set_timer 10 λεπτά συναγερμού!
/ get_timezone Λονδίνο, Ηνωμένο Βασίλειο

Τα μηνύματα που αρχίζουν με μια κάθετο θα παραδίδονται πάντα στο bot (ακριβώς όπως όταν απαντάτε στα μηνύματά του και στο & commat · αναφέροντας το bot στη συνομιλία). Οι εφαρμογές τηλεγράφων θα είναι:

Εάν υπάρχουν πολλά bots σε μια ομάδα, μπορείτε να προσθέσετε το όνομα του bot μετά την εντολή για να αποφύγετε τις συγκρούσεις στις γενικές εντολές:

/[προστατευμένο με ηλεκτρονικό ταχυδρομείο] /[προστατευμένο με ηλεκτρονικό ταχυδρομείο]

Αυτό συμβαίνει αυτόματα αν επιλέξετε μια εντολή από τη λίστα διαθέσιμων.

  Παγκόσμιες ομάδες

Για να διευκολύνουμε τους χρήστες να δουλεύουν με bots, ζητάμε από όλους τους προγραμματιστές να εφαρμόσουν υποστήριξη για μερικές απλές εντολές. Στην διεπαφή εφαρμογών τηλεγράφων θα είναι συντομεύσεις  (γρήγορους συνδέσμους) για αυτές τις εντολές.

Όταν προσπαθείτε να ξεκινήσετε την επικοινωνία με το ρομπότ, ο χρήστης θα δει ένα κουμπί Ξεκινήστε. Οι σύνδεσμοι θα είναι επίσης διαθέσιμοι στη σελίδα προφίλ του bot. Βοήθεια  και Ρυθμίσεις.

  Λειτουργία απορρήτου

Οι μποτς προστίθενται συχνά σε ομάδες για να λαμβάνουν διάφορες πληροφορίες - ειδήσεις, ειδοποιήσεις κλπ. Ωστόσο, όταν προσθέτετε ένα bot, ίσως αναρωτηθήκατε: "Τι γίνεται αν ο μικρός μαλάκας στέλνει ολόκληρη την αλληλογραφία της ομάδας κάπου" προς τα αριστερά ";" Γι 'αυτό τα ρομπότ έχουν καθεστώτα απορρήτου.

Ένα ρομπότ με δυνατότητα απορρήτου δεν θα λάβει όλα τα μηνύματα, αλλά μόνο τα μηνύματα που πληρούν αυτές τις συνθήκες:

Αυτό είναι καλό από όλες τις πλευρές: πρώτον, μερικοί άνθρωποι θα κοιμούνται ειρηνικά (στα καπέλα τους) χωρίς φόβο ότι θα ακουστούν. Δεύτερον, η λειτουργία ιδιωτικού απορρήτου εξοικονομεί προγραμματιστές από την ανάγκη επεξεργασίας εκατοντάδων περιττών μηνυμάτων από συνομιλίες ομάδας.

Η κατάσταση απορρήτου είναι ενεργοποιημένη από προεπιλογή σε όλα τα bots. Μπορεί να απενεργοποιηθεί - τότε το bot θα αρχίσει να λαμβάνει όλα τα μηνύματα, όπως ένας κανονικός χρήστης. Όλοι οι συμμετέχοντες στη συνδιάσκεψη μπορούν να δουν την τρέχουσα κατάσταση της λειτουργίας απορρήτου στη λίστα των συμμετεχόντων στην ομάδα.

  Εξωτερική σύνδεση

  Δημιουργία ενός διακριτικού

Εάν χάσατε ή χάσατε πρόσβαση στο διακριτικό, στείλτε την εντολή / tokenγια να δημιουργήσετε ένα νέο.

  Ρυθμίσεις

  • / setname  - Αλλάξτε το όνομα του ρομπότ.
  • / setdescription  - Αλλαγή περιγραφή  ρομπότ, το οποίο είναι ένα σύντομο κείμενο που περιγράφει το bot. Οι χρήστες θα το δουν στην αρχή, κάτω από την επικεφαλίδα "Τι μπορεί αυτό το ρομπότ;".
  • / setabouttext  - Αλλαγή πληροφορίες  για το bot, ένα ακόμη μικρότερο κείμενο που εμφανίζεται στο προφίλ bot. Επίσης, εάν κάποιος μοιράζεται το bot σας, τότε αυτό το κείμενο θα αποσταλεί μαζί με ένα σύνδεσμο σε αυτό.
  • / setuserpic  - Αλλαγή του bot bot. Οι φωτογραφίες είναι πάντα καλές.
  • / setcommands  - Αλλαγή της λίστας εντολών bot. Κάθε ομάδα αποτελείται από την πραγματική λέξη εντολών, ξεκινώντας με μια κάθετο ("/") και μια σύντομη περιγραφή. Οι χρήστες θα δουν μια λίστα εντολών κατά την εισαγωγή του χαρακτήρα "/".
  • / setjoingroups  - Προσδιορίζει αν το bot σας μπορεί να προστεθεί σε ομάδες.
  • / setprivacy  - Προσδιορίζει αν όλα τα μηνύματα βλέπουν το bot σας σε ομάδες. Στην κατάσταση εκτός λειτουργίας, όλα τα μηνύματα θα σταλούν στο ρομπότ.
  • / deletebot  - Αφαιρέστε το bot και το όνομα χρήστη του.
   Λάβετε υπόψη ότι μπορεί να χρειαστεί λίγος χρόνος για να εφαρμοστούν οι ρυθμίσεις στο διακομιστή.

Έχει κερδίσει γρήγορα δημοτικότητα, παρά το γεγονός ότι εμφανίστηκε πολύ πρόσφατα. Το κυρίαρχο χαρακτηριστικό του messenger είναι η ασφαλής κρυπτογράφηση δεδομένων χρησιμοποιώντας το πρωτόκολλο MTProto. Ο αριθμός των χρηστών τηλεγράφων αυξάνεται καθημερινά, γεγονός που δίνει μεγάλες επιχειρηματικές ευκαιρίες. Η ομάδα ανάπτυξης έχει δημιουργήσει πολλά εργαλεία που επιτρέπουν τη χρήση της εφαρμογής όχι μόνο για ψυχαγωγία αλλά και για την οργάνωση και τη διεξαγωγή της ροής εργασίας.

Ομάδες, κανάλια και bots στο Telegram μπορεί να είναι χρήσιμοι βοηθοί εάν αποφασίσετε να εμπλακείτε σε εμπορικές δραστηριότητες μέσω πόρων Διαδικτύου. Πολλές μεγάλες εταιρείες χρησιμοποιούν με επιτυχία εργαλεία τηλεγράφων για να συνεργάζονται με πελάτες. Δεν είναι δύσκολο να ανοίξετε την κοινότητά σας, να καλέσετε ή να ξεκινήσετε ένα ρομπότ, αλλά θα έχει μεγάλα οφέλη. Το bot μπορεί να χρησιμοποιήσει διάφορες επιλογές από την ενημέρωση των ατόμων για τις επερχόμενες προσφορές, τις εκπτώσεις και άλλες ειδήσεις, τις ηλεκτρονικές διαβουλεύσεις για να κάνουν αγορές. Για τα καταστήματα, αυτή είναι μια πρόσθετη ευκαιρία για αύξηση των πωλήσεων.

Όποιος έχει τουλάχιστον βασικές δεξιότητες προγραμματισμού μπορεί να δημιουργήσει bots-πωλητές. Ένα τέτοιο εργαλείο θα απελευθερώσει τον ιδιοκτήτη του από την καθημερινή εργασία και θα βοηθήσει στη διεξαγωγή επιχειρήσεων. Για άτομα που δεν μιλούν γλώσσα προγραμματισμού, θα ήταν καλύτερο να χρησιμοποιήσετε την υπηρεσία για τη δημιουργία ρομπότ.

Πώς να δημιουργήσετε ένα bot στο Telegram

Δημιουργήστε το δικό σας bot χρησιμοποιώντας διαδοχικές ενέργειες. Πρώτα πρέπει να δημιουργήσετε ένα τυποποιημένο κενό. Τότε απαιτείται να εξοπλιστεί με τις απαραίτητες επιλογές, οι οποίες θα γίνονταν από ένα πρωτόγονο παπούτσι ενός πραγματικού πωλητή, ικανό να πωλεί μόνο του. Είναι επίσης δυνατή η σύνδεση ενός υπάρχοντος καταστήματος στο Internet.

Η διαδικασία δημιουργίας ξεκινά με μια έκκληση στο bot bot, τον γονέα των ρομπότ τηλεγράφων. Με τη βοήθειά του, και έκανε την πλειοψηφία των βοηθών για διάφορους σκοπούς. Δημιουργήστε το δικό σας bot χρησιμοποιώντας τον πατέρα της οικογένειας, για αυτό χρειάζεστε:

Υπηρεσίες για τη δημιουργία bots

Το ρομπότ που δημιουργήθηκε με τη βοήθεια του BotFather χρειάζεται περαιτέρω βελτίωση. Ορισμένες υπηρεσίες καθιστούν δυνατή την εκπαίδευση του δωρεάν.

  1. Ο σχεδιαστής θα σας επιτρέψει να ρυθμίσετε το bot χωρίς ειδικές γνώσεις του προγραμματιστή. Για να το κάνετε αυτό, στο "Τηλεγράφημα" πρέπει να βρείτε και να προσθέσετε το ρομπότ @Chatfuel, στη συνέχεια να του δώσετε την εντολή / addbot και να εισάγετε το διακριτικό που λάβατε από το BotFather. Η νέα σας δημιουργία θα παραμείνει στην υπηρεσία Paquebot, από όπου θα είναι δυνατό να προγραμματιστεί για οποιεσδήποτε από τις ανάγκες σας, συμπεριλαμβανομένης της δημιουργίας του bot bot auto.
  2. Flow XO. Υπηρεσία που ειδικεύεται σε επιχειρησιακά bots. Ορισμένες επιλογές πλατφόρμας είναι δωρεάν, αλλά η κύρια λειτουργία έχει διαφορετικές τιμές.
  3. Η υπηρεσία σάς επιτρέπει να δημιουργήσετε ένα κατάστημα στο "Τηλεγράφημα" και δεν μπορείτε να το συνδέσετε με έναν ήδη υπάρχοντα ιστότοπο. Χρησιμοποιώντας το ρομπότ @botoboto_bot, μπορείτε να πάρετε το δικό σας bot-πωλητή. Η Botobot μπορεί να χρησιμοποιήσει δωρεάν καταστήματα που περιλαμβάνουν έως και 20 προϊόντα, παρέχονται υπηρεσίες πάνω από αυτό το ποσό.

Ένας bot-πωλητής ή άλλο επιχειρηματικό εργαλείο μπορεί να γίνει κατά παραγγελία από επαγγελματίες μιας από τις υπηρεσίες. Έτσι δημιουργήθηκε το ρομπότ πωλήσεων αυτοκινήτων Qiwi, επιτρέποντας στον χρήστη να δουλεύει με το πορτοφόλι ακτινίδιο του. Οι έμπειροι ειδικοί θα βοηθήσουν στη ρύθμιση πληρωμών για τα αγαθά και θα λάβουν υπόψη όλες τις αποχρώσεις του καταστήματος. Μπορείτε να ζητήσετε βοήθεια από μέλη ειδικευμένων κοινοτήτων στο "Τηλεγράφημα".

Κάνουμε ένα απλό bot για να δημοσιεύουμε ειδήσεις στο κανάλι και απαντάμε αυτόματα σε ερωτήσεις σε 6 βήματα.

Σε σελιδοδείκτες

Υλικό που ετοιμάστηκε με την υποστήριξη του

Μετά από έντονες συζητήσεις στον τύπο για την αποτελεσματικότητα των chat bots, βρήκαν την θέση τους στο οικοσύστημα των χρηστών και των εταιρειών. Για παράδειγμα, τα προγράμματα συχνά εκτελούν bots για να ειδοποιούν για τυχόν συμβάντα και οι υπηρεσίες υποστήριξης τις χρησιμοποιούν για να απαντούν γρήγορα στις συνήθεις ερωτήσεις του πελάτη.

Σε αυτό το εγχειρίδιο, θα εξετάσουμε τον ευκολότερο τρόπο δημιουργίας ενός bot με τα χέρια σας και θα εξηγήσουμε πώς λειτουργεί.

Ας ξεκινήσουμε με την ανάπτυξη ενός bot που μπορεί να στείλει αυτόματα εταιρικά νέα στο κανάλι τηλεγράφων που δημοσιεύεται στην ιστοσελίδα ή στο Facebook.

Βήμα 1. Δημιουργήστε ένα bot στο Telegram

Ένα bot Telegram δημιουργείται χρησιμοποιώντας ένα άλλο bot που ονομάζεται BotFather. Σας στέλνουμε την εντολή / newbot, επιλέγουμε το όνομα που θα εμφανιστεί στη λίστα επαφών και τη διεύθυνση. Για παράδειγμα, "Bot για DTF" με τη διεύθυνση "dtf_news_bot".

Εάν η διεύθυνση δεν είναι κατειλημμένη και το όνομα εισαχθεί σωστά, το BotFather θα στείλει πίσω ένα μήνυμα με ένα διακριτικό - ένα "κλειδί" για πρόσβαση στο δημιουργημένο bot. Πρέπει να αποθηκεύεται και να μην εμφανίζεται σε κανέναν.

Μέσω του BotFather μπορείτε επίσης να προσθέσετε ένα avatar του bot, μια περιγραφή και πολλά άλλα.

Βήμα 2. Δημιουργήστε ένα κανάλι στο Telegram

Τώρα δημιουργήστε ένα κανάλι με οποιοδήποτε όνομα και διεύθυνση και μεταβείτε στις ρυθμίσεις του. Το μόνο που απαιτείται είναι να προσθέσετε το bot που δημιουργήσαμε στη λίστα των διαχειριστών - θα είναι αυτός που θα δημοσιεύσει σημειώσεις στο κανάλι.

Για να αναζητήσετε ένα bot, μπορείτε να χρησιμοποιήσετε τη διεύθυνσή του. Για παράδειγμα, "dtf_news_bot".

Βήμα 3. Δημιουργία μιας συνθήκης

Το επόμενο στάδιο είναι να διδάξετε το bot να στέλνει ειδήσεις από την τοποθεσία στο δημιουργημένο κανάλι. Για να γίνει αυτό, χρησιμοποιούμε τη δημοφιλή υπηρεσία αυτοματοποίησης IFTTT.

Με αυτό, μπορείτε να δημιουργήσετε οδηγίες για το bot. Στην περίπτωσή μας, μοιάζει με αυτό: κάθε φορά που εμφανίζεται μια νέα καταχώρηση στην τροφοδοσία RSS ενός ιστότοπου, πρέπει να στείλει ένα μήνυμα στο κανάλι τηλεγραφήματος.

Το IFTTT σημαίνει Αν αυτό τότε

Μεταβείτε στην ενότητα IFTTT "My Applets", κάντε κλικ στο κουμπί "Νέο Applet" και, στη συνέχεια, κάντε κλικ στον σύνδεσμο "Αυτό". Βρίσκουμε στη λίστα των λειτουργιών την ενέργεια Τροφοδοσία, Νέο στοιχείο ροής και καθορίστε τη διεύθυνση URL της ροής RSS μας. Για παράδειγμα, σε ιστοσελίδες Wordpress, βρίσκεται συνήθως στο παράδειγμα.com/feed/.

Αντί για τροφοδοσίες RSS, μπορείτε να παρακολουθήσετε την εμφάνιση νέων καταχωρήσεων σε ένα λογαριασμό Twitter ή Facebook - για κάθε λειτουργία, το IFTTT διαθέτει ξεχωριστές ενότητες.

Τώρα μεταβείτε στο δεύτερο βήμα - επιλέξτε τη δράση που θα εκτελεστεί όταν εντοπιστεί μια νέα καταχώρηση RSS. Κάντε κλικ στο "Αυτό" και αναζητήστε το Web Maker του Maker, "Κάντε μια αίτηση στο διαδίκτυο" - χρησιμοποιώντας αυτήν την ενότητα μπορείτε να στείλετε αιτήματα σε οποιαδήποτε υπηρεσία. Στην περίπτωσή μας - στο bot στο Telegram.

Στη μορφή που ανοίγει στο πεδίο διεύθυνσης URL, πρέπει να καθορίσετε τη σύνδεση https://api.telegram.org/bot TOKEN/ sendMessage, αντικαθιστώντας το συμβολικό στοιχείο που δημιουργήθηκε στο πρώτο βήμα. Μέθοδος: POST, τύπος περιεχομένου: εφαρμογή / json.

Body - το πεδίο για το πρότυπο αιτήματος που θα σταλεί στο τηλεγράφημα. Σε αυτό υποδεικνύουμε σε ποιο κανάλι πρέπει να αποστέλλεται το μήνυμα και τι πρέπει να γραφεί σε αυτό:

("chat_id": "@ channel_address", "text": "((EntryTitle)) ((FeedUrl)

  • chat_id  - τη διεύθυνση του καναλιού στο οποίο θέλετε να στείλετε ένα μήνυμα. Έτσι, ένα bot μπορεί να συνδεθεί σε διάφορα κανάλια ταυτόχρονα. Ως προορισμός, μπορείτε να ορίσετε έναν συγκεκριμένο χρήστη. Σε αυτήν την περίπτωση, αντί για τη διεύθυνση του καναλιού, πρέπει να καθορίσετε το αναγνωριστικό του (μπορεί να ληφθεί χρησιμοποιώντας ένα bot).
  • κείμενο  - το περιεχόμενο του μηνύματος. Για παράδειγμα, ο τίτλος του υλικού από το RSS (EntryTitle), το περιεχόμενό του (EntryContent) και ο σύνδεσμος (FeedUrl). Ο κατάλογος των διαθέσιμων επιλογών μπορεί να προβληθεί από το κουμπί "Συστατικό".

Εάν όλα έχουν ρυθμιστεί σωστά, το bot θα στείλει ένα μήνυμα από την τροφοδοσία RSS στη ροή δεδομένων. Η σκανδάλη στο IFTTT έχει καθυστέρηση, οπότε το μήνυμα που εμφανίζεται στη ροή RSS δεν θα μεταφερθεί αμέσως στο Telegram, αλλά μετά από 30-60 λεπτά.

Ως προϋπόθεση για την αποστολή ενός μηνύματος, μπορείτε να επιλέξετε οποιοδήποτε άλλο σενάριο που είναι διαθέσιμο στο IFTTT. Για παράδειγμα, το Weather Underground μπορεί να στείλει ένα μήνυμα κάθε μέρα με μια πρόγνωση καιρού για το αύριο. Η σκανδάλη αποθέματος μπορεί να διαμορφωθεί για να στείλει τις τιμές των μετοχών κατά το κλείσιμο ενός εμπορίου.

Τώρα ας λύσουμε μια πιο περίπλοκη εργασία - θα διδάξουμε το δημιουργημένο bot να ανταποκριθεί στα μηνύματα των χρηστών. Για παράδειγμα, στείλτε μια τιμή καταλόγου, επαφές ή απαντήστε σε συνήθεις ερωτήσεις από πελάτες.

Βήμα 4. Σύνδεση του διακομιστή

Σε αυτό το στάδιο, θα χρειαστείτε φιλοξενία ιστοσελίδων και πιστοποιητικό SSL, το οποίο μπορείτε να το προμηθευτείτε δωρεάν με την υπηρεσία Let's Encrypt.

Ο πιο βολικός τρόπος είναι να δημιουργήσετε έναν ξεχωριστό υποτομέα για το bot - για παράδειγμα, το bot.example.com - και να τοποθετήσετε ένα αρχείο index.php σε αυτό. Στο εσωτερικό του αρχείου τοποθετούμε τον κώδικα του πιο απλού bot από τον ιστότοπο του Telegram.

Υπάρχουν μόνο δύο αλλαγές στον κώδικα bot:

  • σε σειρά ορίστε ("BOT_TOKEN", "12345678: αντικαταστήστε με με real-token");αντί για 12345678: αντικαταστήστε με με real-token να γράψετε το κουπόνι που λάβατε στο πρώτο βήμα.
  • σε σειρά καθορίστε ("WEBHOOK_URL", "https://my-site.example.com/secret-path-for-webhooks/");αντί για https://my-site.example.com/secret-path-for-webhooks/ καθορίστε τη διεύθυνση URL του αρχείου κώδικα για το bot: https://bot.example.com/index.php.

Βήμα 5. Συνδέστε το bot και το διακομιστή τηλεγράφων

Τώρα είναι απαραίτητο να συνδέσουμε το τηλεγράφημα και το αρχείο στο διακομιστή έτσι ώστε τα αιτήματα που αποστέλλονται στο bot στο messenger διαδικασία script μας.

Για αυτό χρειάζεστε μια κονσόλα. Διαφορετικοί πάροχοι φιλοξενίας μπορεί να το έχουν σε διαφορετικές ενότητες της διασύνδεσης διαχείρισης τοποθεσίας. Επιπλέον, μπορείτε να χρησιμοποιήσετε το πρόγραμμα Terminal στο macOS εισάγοντας την εντολή μέσω του ssh username @ domain_address.

Αφού εισαγάγουμε τον κωδικό πρόσβασης, εκτυπώνουμε μια απλή εντολή για τον υποτομέα μας. :

php -f /var/www/bot.example.com/index.php

Ωραίο να σας γνωρίσω - την απάντηση του bot στο μήνυμα που έστειλε ο χρήστης.

Κάτω από τον κώδικα προσθέτουμε επιπλέον απαντήσεις. Για παράδειγμα, ανάλογα με την αποστολή λέξη, το bot έστειλε τις απαραίτητες πληροφορίες στο χρήστη (όπως στο

Συνέχιση του θέματος:
Windows

Όλοι μπορεί να αντιμετωπίσουν μια κατάσταση όπου το iPhone χρεώνει, αλλά δεν ανάβει. Ίσως η αιτία της βλάβης είναι σοβαρή, και πρέπει να επισκευάσετε το smartphone για χρήματα. Ωστόσο, σε έναν αριθμό ...