Instructions de programmation des télégrammes de robot API. Instructions : Créer un bot pour Telegram sans compétences en programmation. Comment fonctionnent les robots dans Telegram et comment les utiliser

Nous lui écrivons /start et obtenons une liste de toutes ses commandes.
Le premier et principal - /newbot - nous le lui envoyons et le bot lui demande de trouver un nom pour notre nouveau bot. La seule restriction sur le nom est qu’il doit se terminer par « bot ». En cas de succès, BotFather renvoie un jeton de bot et un lien pour ajout rapide bot aux contacts, sinon vous devrez vous creuser la tête sur le nom.

C'est déjà suffisant pour commencer. Ceux qui sont particulièrement pédants peuvent déjà attribuer un avatar, une description et un message de bienvenue au bot ici.

N'oubliez pas de vérifier le token reçu en utilisant le lien api.telegram.org/bot /getMe , disent-ils, ne fonctionne pas toujours du premier coup.

2. Programmation

Je vais créer le bot en Python3, cependant, en raison de l'adéquation de ce langage, les algorithmes peuvent être facilement transférés vers n'importe quel autre.

Telegram vous permet de ne pas télécharger des messages manuellement, mais d'installer un webHook, puis ils enverront eux-mêmes chaque message. Pour Python, afin de ne pas s'embêter avec cgi et threads, il est pratique d'utiliser une sorte de réacteur, j'ai donc choisi tornado.web pour l'implémentation. (pour GAE, il est pratique d'utiliser la combinaison Python2+Flask)

Cadre du robot :

URL = "https://api.telegram.org/bot%s/" % BOT_TOKEN MyURL = "https://example.com/hook" api = requêtes.Session() application = tornado.web.Application([ ( r"/", Handler), ]) if __name__ == "__main__": signal.signal(signal.SIGTERM, signal_term_handler) essayez : set_hook = api.get(URL + "setWebhook?url=%s" % MyURL) if set_hook.status_code != 200 : logging.error("Impossible de définir le hook : %s. Quitter." % set_hook.text) exit(1) application.listen(8888) tornado.ioloop.IOLoop.current().start () sauf KeyboardInterrupt : signal_term_handler (signal.SIGTERM, Aucun)
Ici, au démarrage du bot, nous installons un webhook à notre adresse et captons le signal de sortie afin de renvoyer le comportement avec déchargement manuel des événements.

L'application tornado pour le traitement des requêtes accepte la classe tornado.web.RequestHandler, qui contiendra la logique du bot.

Gestionnaire de classe (tornado.web.RequestHandler) : def post(self) : try: logging.debug("Requête reçue : %s" % self.request.body) update = tornado.escape.json_decode(self.request.body) message = update["message"] text = message.get("text") if text: logging.info("MESSAGE\t%s\t%s" % (message["chat"]["id"], text)) if text == "/": commande, *arguments = text.split(" ", 1) réponse = CMD.get(commande, not_found)(arguments, message) logging.info("REPLY\t%s \t%s" % (message["chat"]["id"], réponse)) send_reply(response) sauf exception comme e : logging.warning(str(e))
Ici, CMD est un dictionnaire commandes disponibles, et send_reply est une fonction permettant d'envoyer une réponse, qui prend en entrée un objet Message déjà généré.

En fait, son code est assez simple :

Def send_reply(response) : si "texte" en réponse : api.post(URL + "sendMessage", data=response)

Maintenant que toute la logique du bot est décrite, vous pouvez commencer à proposer des commandes pour celui-ci.

3. Équipes

Tout d’abord, vous devez suivre la convention Telegram et apprendre au bot deux commandes : /start et /help :

Def help_message(arguments, message) : réponse = ("chat_id": message["chat"]["id"]) result = ["Hé, %s!" % message["from"].get("first_name"), "\rJe ne peux accepter que ces commandes :"] pour la commande dans CMD : result.append(command) réponse["text"] = "\n\t" .join (result) renvoie la réponse

La structure message["from"] est un objet de type User , elle fournit au bot des informations sur l'identifiant de l'utilisateur et son nom. Pour les réponses, il est plus utile d'utiliser message["chat"]["id"] - dans le cas d'une communication personnelle, il y aura un utilisateur, et dans le cas d'un chat - l'identifiant du chat. Sinon, vous pouvez vous retrouver dans une situation où l'utilisateur écrit dans le chat et le bot répond dans un message personnel.

La commande /start sans paramètres est destinée à afficher des informations sur le bot, et avec des paramètres, elle est destinée à l'identification. Il est utile de l'utiliser pour des actions nécessitant une autorisation.

Après cela, vous pouvez ajouter certaines de vos propres commandes, par exemple /base64 :

Def base64_decode(arguments, message) : réponse = ("chat_id": message["chat"]["id"]) essayez : réponse["text"] = b64decode(" ".join(arguments).encode("utf8 ")) sauf : réponse["text"] = "Impossible de le décoder" enfin : renvoie la réponse

Pour les utilisateurs mobiles de Telegram, il sera utile d'indiquer à @BotFather quelles commandes notre bot accepte :
I : /setcommandes
BotFather : Choisissez un bot pour modifier la liste des commandes.
Moi : @*******bot
BotPère : OK. Envoyez-moi une liste de commandes pour votre bot. Veuillez utiliser ce format :

Commande1 - Description
command2 - Une autre description
JE:
whoisyourdaddy - Informations sur l'auteur
base64 - Décodage Base64
BotFather : Succès ! Liste de commandes mise à jour. /aide

Avec cette description, si l'utilisateur tape /, Telegram affichera utilement une liste de toutes les commandes disponibles.

4. Liberté

Comme vous l'avez peut-être remarqué, Telegram envoie l'intégralité du message, non divisé, et la restriction selon laquelle les commandes commencent par une barre oblique n'est que pour des raisons de commodité. utilisateurs mobiles. Grâce à cela, vous pouvez apprendre au bot à parler un peu humainement.

MISE À JOUR : Comme ils l'ont suggéré à juste titre, cela n'arrivera que si communication personnelle. Dans les chats, seuls les messages commençant par la commande (/ ) (https://core.telegram.org/bots#privacy-mode)

Pour que le bot reçoive tous les messages en groupe, écrivez la commande @BotFather /setconfidentialité et désactivez la confidentialité.

Tout d’abord, ajoutez un gestionnaire à Handler :

Si texte == "/": ... sinon : réponse = CMD[" "](message) logging.info("REPLY\t%s\t%s" % (message["chat"]["id"], réponse)) send_reply(réponse)
Et puis on ajoute le pseudo-parole à la liste des commandes :

RÉPONSES = ( "Bonjour": ["Bonjour!", "Bonjour!", "Bienvenue!", "Bonjour, (nom)!"], "Bonjour": ["Bonjour!", "Bonjour, (nom)!" ) )!", "Bonjour!", "Bienvenue!"], "Salut!": ["Bonjour!", "Bonjour, (nom)!", "Bienvenue!", "Bonjour!"], "Bienvenue " : ["Bonjour!", "Bonjour!", "Bonjour!", "Bonjour, (nom)!",], ) def human_response(message): leven = fuzzywuzzy.process.extract(message.get(" text ", ""), RESPONSES.keys(), limit=1) réponse = ("chat_id": message["chat"]["id"]) si leven< 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
Ici, la constante empirique 75 reflète relativement bien la probabilité que l'utilisateur ait réellement voulu dire. Et format_map est pratique pour la même description de chaînes nécessitant ou non une substitution. Désormais, le bot répondra aux salutations et parfois même vous appellera par votre nom.

5. Pas de texte.

Des robots, comme n'importe quel robot normal Utilisateur de télégramme, peut non seulement écrire des messages, mais également partager des images, de la musique et des autocollants.

Par exemple, développons le dictionnaire RESPONSES :

RÉPONSES["Quelle heure est-il ?"] = [" ", "(date) UTC"]
Et nous attraperons le texte :

Si réponse["text"] == " ": réponse["sticker"] = "BQADAgADeAcAAlOx9wOjY2jpAAHq9DUC" del réponse["text"]
On voit que désormais la structure Message ne contient plus de texte, il faut donc modifier send_reply :

Def send_reply(response) : if "sticker" en réponse : api.post(URL + "sendSticker", data=response) elif "text" en réponse : api.post(URL + "sendMessage", data=response)
Et voilà, désormais le bot enverra occasionnellement un autocollant au lieu de l'heure :

6. Opportunités

Grâce à la commodité de l'API et au démarrage rapide, les robots Telegram peuvent devenir une bonne plate-forme pour automatiser leurs actions, configurer des notifications, créer des quiz et des compétitions basées sur des tâches (CTF, DozoR et autres).

Avec le recul, je peux dire qu’il y a désormais moins de perversions et que le travail est plus transparent.

7. Limites

Malheureusement, il existe actuellement une limitation à l'utilisation de webHook - il ne fonctionne que via https et uniquement avec un certificat valide, ce qui, par exemple, est toujours critique pour moi en raison du manque de prise en charge du DNS dynamique par les autorités de certification.

Heureusement, Telegram peut également fonctionner avec des mises à jour manuelles, donc sans changer le code, vous pouvez créer un autre service Puller qui les téléchargera et les enverra à une adresse locale :

Tandis que True : r = request.get(URL + "?offset=%s" % (last + 1)) if r.status_code == 200 : pour le message dans r.json()["result"] : last = int (message["update_id"]) request.post("http://localhost:8888/", data=json.dumps(message), headers=("Content-type": "application/json", "Accepter" : "text/plain")) else: logging.warning("FAIL " + r.text) time.sleep(3)

P.S. Concernant le point 7, j'ai trouvé une solution pratique : héberger le bot non pas chez moi, mais sur Heroku, puisque tous les noms comme *.herokuapp.com sont protégés par leur propre certificat.

UPD : Telegram a amélioré l'API Bot, c'est pourquoi il n'est plus nécessaire d'avoir une fonction distincte pour envoyer des messages lorsqu'un webhook est installé, et en réponse à une requête POST, vous pouvez répondre avec le même JSON généré avec un message de réponse , où l'un des champs est défini comme "method" " : "sendMessage" (ou toute autre méthode utilisée par le bot).

Balises :

  • télégramme
  • introduction
  • python3
Ajouter des balises

Tout le monde bon après-midi. Vasily Blinov est de nouveau en contact. Aujourd'hui, vous apprendrez à créer un bot dans Telegram. J'ai beaucoup écrit sur eux fonctionnalités utiles, le moment est maintenant venu d'avoir votre propre assistant.

Telegram est désormais très demandé et sa popularité augmente de jour en jour. Nous ne laisserons pas les robots sans attention.

En quoi sont-ils utiles ?

Les robots sont devenus l'une des principales tendances sur Telegram. Permettez-moi de vous rappeler qu'il s'agit de dialogues robotiques à l'intérieur du messager, capables de résoudre rapidement de nombreux problèmes :

  • afficher l'actualité sur un sujet donné,
  • trouver et télécharger toute information,
  • répondre aux questions fréquemment posées,
  • envoyer des mises à jour depuis le site,
  • remplacer ou compléter les newsletters par e-mail,
  • peut mener des enquêtes
  • jouer avec les visiteurs, etc.

Ainsi, l'utilisateur s'abonne aux sujets qui le concernent et trouve rapidement les informations dont il a besoin, en recevant une réponse à sa question du bot.

Le mien vous permettra de mieux les connaître.

Méthodes de création

Écrire du code avec des stylos

Pour ce faire, vous devez connaître les langages de programmation (Python, PHP ou Java), et il existe également de nombreuses nuances telles que l'enregistrement de l'hébergement et d'autres choses. Cela peut être un énorme problème pour certains.

Heureusement, il existe un moyen simple de créer un bot pour les utilisateurs ordinaires qui n'ont pas de compétences en programmation.

Utiliser un service spécial

Notre sauveur est Manybot.io.

C'est dessus que j'ai trouvé l'interface russe, instructions claires et les fonctionnalités nécessaires dès les premières étapes. Les robots sur cette plateforme peuvent :

  • envoyer des messages aux abonnés,
  • faire de beaux menus,
  • effectuer la publication automatique depuis RSS de vos ressources.

Inscription

Tout d'abord, ouvrons @Manybot dans le messager. Cliquez sur le bouton « Démarrer ».

Sélectionnons le russe dans la liste proposée.

Cliquez sur « Ajouter un nouveau bot ».

Suivons instructions supplémentaires. Nous devons nous inscrire auprès @BotPère.

Entrons la commande /newbot.

Trouver un nom commun et technique avec une queue robot. Le plus important est de penser à copier le jeton-clé reçu.

Revenons à Manybot et montrons-lui ce code en cliquant sur « J'ai copié le jeton ».

Trouvons une description.

Félicitations, l'inscription est terminée. Vous êtes désormais le propriétaire légitime de votre propre robot Telegram.

Paramètres

Commençons par créer le menu et les premières commandes. Pour ce faire, vous devez trouver votre robot, pour cela dans barre de recherche entrez son nom. J'ai ce @iklife_bot.

Créer une commande simple

Le principe du bota est de répondre aux questions humaines, vous devez donc écrire les commandes et les réponses.

Pour ce faire, appelez le menu des paramètres - /commandes.

Saisissez le nom de la commande et le texte qu'elle produira en réponse à un clic dessus.

Nous attendons un message concernant création réussieéquipes.

Faire un menu

C'est beaucoup plus pratique lorsque les visiteurs peuvent sélectionner rapidement toutes les commandes directement à partir du menu. Pour le créer, retournez dans /commands puis « Configure ch. menu".

Puis « Ajouter un élément de menu ». Nous le nommons, sélectionnons la commande précédemment créée.

L'élément de menu est prêt !

Vérifions-le et voyons ce qui se passe. Tout fonctionne. D'autres commandes avec des éléments de menu sont créées de la même manière.

Publication automatique

Le principal avantage de @Manybot est la configuration instantanée de la publication automatique de publications à partir d'un site doté d'un flux RSS ou de réseaux sociaux. réseaux ou YouTube directement dans le chat. Ainsi, les lecteurs seront toujours au courant des mises à jour sans quitter Telegram.

Lançons-le !

Entrez /publication automatique.

Nous attendons une vérification et un message de réussite.

Vous verrez maintenant mes articles directement dans @iklife_bot.

Conclusion

C'est tout, j'espère que cet article vous aidera à créer votre premier bot. Si tu sais encore des moyens simples leurs créations, merci de les partager dans les commentaires.

Merci de votre attention !

Et si vous n’êtes pas abonné au bot depuis le site, alors il est temps de le faire ! @iPhonesRu_Bot

De nos jours, il est très à la mode de créer des robots Telegram. Chaque ressource Internet majeure ou grande entreprise il existe un bot dans lequel les clients reçoivent des réponses aux questions ou lisent des actualités. Si vous avez votre propre site internet, un groupe sur un réseau social, ou tout simplement idée intéressante bot, alors cette instruction vous aidera avec avec un minimum d'effort contribuez au monde magique de Telegram.

Il existe deux manières de créer des robots. La première consiste à rédiger une candidature avec en utilisant Telegram API, et la seconde consiste à utiliser le service pour créer des robots. Nous utiliserons l'un d'entre eux, manybot.io, dans l'article.

Installation de télégramme

Les instructions de l'article peuvent être suivies dans Versions de télégramme pour n'importe quelle plateforme :

J'utiliserai moi-même la version pour OS X, car il n'est pas tout à fait pratique de créer un bot sans clavier complet.

Créer un bot

1. Tapez Manybot dans la recherche, cliquez sur l'icône du bot et cliquez sur le bouton Commencer:

2. Cliquez sur le bouton Ajouter un nouveau robot:

4. Allez à @BotPère, appuyez sur le bouton Commencer et entrez la commande /nouveau robot:

6. Saisissez le nom du bot, qui sera affiché lors de la recherche, et le nom technique du bot, copiez le token API reçu :

7. Revenez à @Manybot et collez-y le jeton API du presse-papiers :

8. Précisez la description du bot :

9. Le bot est prêt :

10. Trouvez votre bot via la recherche et commencez à utiliser :

Créons notre propre équipe

DANS bon robot il doit y avoir des équipes. Pour que l'utilisateur saisisse une demande et qu'en réponse il reçoive quelque chose d'intéressant/utile. Voici les instructions sur la façon de créer une commande simple :

1. Nous composons /commandes:


2. Tapez le nom nouvelle équipe et le texte qu'il produira en réponse (si vous le souhaitez, vous pouvez joindre des fichiers au texte) :


3. Appuyez sur le bouton Sauvegarder et attendez que la commande soit créée :

Pour modifier une commande /Bonjour il faut composer /commandes, /Bonjour:

Pour voir la réponse de la commande, vous devez appuyer sur le bouton Afficher la commande. Malheureusement, je n'ai pas trouvé de moyen de vérifier à quoi ressemblera le bot dans l'application pour les abonnés, autre que demander à quelqu'un de se connecter depuis son compte et de regarder :

Ajouter un élément au menu

Si vous le souhaitez, vous pouvez créer un bouton pour la commande dans le menu qui la lancera.

1. Nous composons /commandes:

2. Cliquez sur le bouton Personnaliser le menu principal, puis sur le bouton Ajouter un élément de menu:

3. Sélectionnez dans la liste la commande que vous souhaitez ajouter au menu et indiquez le nom du bouton :

Activer la publication automatique à partir des réseaux sociaux

Les robots peuvent être configurés pour diffuser des actualités depuis Twitter, Youtube, VK ou RSS.

1. Recruter une équipe /publication automatique:


2. Cliquez sur le bouton avec le réseau social souhaité et fournissez un lien vers la page :

Créer une publication différée

Dans les robots Telegram, vous pouvez envoyer des messages qui seront envoyés à tous ses abonnés. Voici les instructions sur la façon de créer un tel message et de planifier son envoi à une heure précise :

1. Recruter une équipe /nouveau message:


2. Saisissez le texte du message et cliquez sur le bouton Reporter la publication, indiquez l'heure actuelle :


3. Précisez l'heure de la publication et enregistrez la publication :

Collecte de données

Vous pouvez également utiliser des robots pour mener des enquêtes auprès des abonnés :

1. Nous composons /commandes, sélectionnez l'élément de menu Créer une équipe et entrez un nom pour la nouvelle commande :

2. Cliquez sur le bouton Ajouter une question, sélectionnez le type de réponse et saisissez le texte de la question :

Les robots sont des comptes Telegram spéciaux créés pour traiter et envoyer automatiquement des messages. Les utilisateurs peuvent interagir avec les robots via des messages envoyés via des réseaux réguliers ou discussions de groupe. La logique du bot est contrôlée à l'aide de requêtes HTTPS adressées à notre .

informations générales

1. Que peuvent faire les robots ?

Voici quelques exemples d’utilisation de robots :

  • Intégration avec d'autres services. Par exemple, un bot peut poster des commentaires ou gérer " maison intelligente" Ou, par exemple, vous envoyer des notifications lorsqu'une action ou un événement se produit (Exemples : Bot GitHub , Bot d’images).
  • Utilitaires et outils. Le bot peut afficher la météo, traduire des textes ou avertir événements à venir selon votre demande (Par exemple : robot d'enquête).
  • Jeux solo et multijoueur. Le robot peut jouer aux dames ou aux échecs avec vous, réaliser des quiz, etc. (Exemple: Bot de quiz).
  • Services sociaux . Le robot peut vous trouver un interlocuteur en fonction de vos intérêts et passe-temps communs. (Exemple: ChaudOrBot).
  • Tout ce que vous voulez. Le bot peut être programmé pour faire n'importe quoi. A moins qu'ils ne puissent pas faire la vaisselle.

2. Comment fonctionnent les robots ?

Comme mentionné précédemment, les robots sont des comptes spéciaux qui ne nécessitent pas de numéro de téléphone lors de leur création. Essentiellement, ces comptes agissent comme une interface avec votre service, qui s'exécute sur un serveur distant.

Ce qui est cool avec les robots, c'est que vous n'avez rien à apprendre pour les créer. méthodes de bas niveau travailler avec MTProto et cryptage - la communication avec le robot est organisée à l'aide d'une interface HTTPS classique avec des fonctionnalités simplifiées Méthodes de télégramme API. Nous l'avons nommé.

3. Comment créer un robot ?

Pour cela il y a... Un robot. Écrivez simplement à l’utilisateur BotFather et suivez ses instructions. Une fois que vous avez créé un bot et reçu votre clé d'autorisation (token), rendez-vous dans la rubrique pour commencer à configurer votre robot.

4. En quoi un bot est-il différent d'un compte classique ?

Superpouvoirs

Les robots Telegram en ont beaucoup des opportunités uniques- Par exemple, , interfaces supplémentaires pour et spécial pour les groupes.

Mode intégré

Les utilisateurs peuvent communiquer avec votre bot directement à partir du champ de saisie du message – depuis n'importe quel chat ou groupe. Pour ce faire, il vous suffit de saisir le nom d'utilisateur et la requête de recherche de votre bot.

Après avoir reçu une demande, le bot peut renvoyer certains résultats. Dès que l’utilisateur clique sur l’un d’eux, il sera immédiatement envoyé vers le chat. De cette façon, vous pouvez demander du contenu au bot dans des discussions, des groupes ou des canaux.


Jeux

Avec l'aide de robots, les utilisateurs peuvent jouer à des jeux HTML5 en groupe ou discussions privées. Jeux Plateforme de télégramme aidera à créer un tableau d'enregistrements et à informer les utilisateurs des changements dans la note.



Les jeux ont HTML5 sous le capot, vous pouvez donc créer des jeux de toute complexité. Sur à l'heure actuelle L'équipe Telegram a créé plusieurs jeux démo :

Claviers

L'un des plus des opportunités inhabituelles API des robots - claviers personnalisés. Lorsque le serveur envoie une réponse, il est possible d'envoyer une commande pour afficher clavier spécial avec des options de réponse prédéfinies (voir). Le client Telegram, dès réception du message, affichera votre clavier à l'utilisateur. Appuyer sur une touche enverra immédiatement la commande correspondante au serveur. De cette manière, l’interaction entre le robot et l’utilisateur peut être considérablement simplifiée.

Actuellement, des emoji et du texte peuvent être utilisés pour afficher sur la clé. Voici quelques exemples de tels claviers :


Pour plus informations détaillées reportez-vous à la description de la méthode.

Équipes

Les équipes représentent plus manière flexible communication avec le robot. La syntaxe suivante est recommandée :

/commande [facultatif] [argument]

La commande doit commencer par une barre oblique "/" et ne peut pas dépasser 32 caractères. Les commandes peuvent être constituées de lettres alphabet latin, chiffres et traits de soulignement. Quelques exemples :

/get_messages_stats
/set_timer Alarme 10min !
/get_timezone Londres, Royaume-Uni

Les messages commençant par une barre oblique seront toujours transmis au bot (tout comme lorsque vous répondez à ses messages et aux mentions du bot dans le chat). Les applications de télégramme :

S'il y a plusieurs robots dans le groupe, vous pouvez ajouter le nom du robot après la commande pour éviter les collisions dans équipes générales:

/start@TriviaBot /start@ApocalypseBot

Cela se produit automatiquement si vous sélectionnez une commande dans la liste des commandes disponibles.

Équipes mondiales

Pour faciliter le travail des utilisateurs avec les robots, nous demandons à tous les développeurs de mettre en œuvre la prise en charge de plusieurs commandes simples. Dans l'interface Applications de télégramme volonté raccourcis (liens rapides) pour ces commandes.

Lorsqu'il essaie de commencer à communiquer avec le robot, l'utilisateur verra un bouton Commencer. Des liens seront également disponibles sur la page de profil du bot Aide Et Paramètres.

Mode confidentialité

Les robots sont souvent ajoutés aux groupes pour recevoir diverses informations— actualités, notifications, etc. Cependant, en ajoutant un bot, vous vous êtes probablement demandé : « Et si cette petite merde transmettait tout correspondance de groupe quelque part « à gauche » ? C'est pourquoi les robots ont modes de confidentialité.

Un robot avec le mode confidentialité activé ne recevra pas tous les messages, mais uniquement les messages qui remplissent ces conditions :

C'est une bonne chose à tous points de vue : premièrement, certaines personnes dormiront profondément (dans leurs chapeaux en aluminium) sans craindre d'être mises sur écoute. Deuxièmement, le mode confidentialité évite aux développeurs d'avoir à traiter des centaines de messages inutilesà partir de discussions de groupe.

Le mode confidentialité est activé par défaut dans tous les robots. Il peut être désactivé - le bot commencera alors à recevoir tous les messages, tout comme utilisateur régulier. Tous les participants à la conférence peuvent voir l'état actuel du mode de confidentialité dans la liste des participants du groupe.

Reliure externe

Créer un jeton

Si vous avez perdu ou perdu l'accès à un token, envoyez la commande /jeton pour en générer un nouveau.

Paramètres

  • /nom de l'ensemble— Changez le nom du robot.
  • /setdescription- Changement description robot, qui est un court texte décrivant le bot. Les utilisateurs le verront au tout début, sous la rubrique « Que peut faire ce robot ?
  • /setabouttext- Changement informationà propos du bot, un texte encore plus court affiché dans le profil du bot. De plus, si quelqu'un partage votre bot, ce texte sera envoyé avec un lien vers celui-ci.
  • /setuserpic— Changez l'avatar du bot. Les photos sont toujours bonnes.
  • /setcommandes— Modifiez la liste des commandes du bot. Chaque commande est constituée du mot de commande lui-même, commençant par une barre oblique (« / ») et brève description. Les utilisateurs verront une liste de commandes lorsqu'ils saisiront le caractère « / ».
  • /setjoingroups— Détermine si votre bot peut être ajouté aux groupes.
  • /setconfidentialité— Détermine si votre bot voit tous les messages des groupes. Lorsqu'il est éteint, tous les messages seront envoyés au robot.
  • /supprimer le robot— Supprimez le bot et son nom d'utilisateur.
Veuillez garder à l'esprit que la prise en compte des paramètres sur le serveur peut prendre un certain temps.

Les robots dans Telegram sont des programmes qui effectuent automatiquement certaines actions et répondent aux commandes de l'utilisateur. Les développeurs de messagerie encouragent leur création, c'est pourquoi elle est leader en nombre de robots. Comment créer un bot Telegram pour votre entreprise ou pour utilisation normale? Considérons les possibilités et les technologies.

Options existantes

Il existe trois façons de créer un bot dans Telegram :

  1. Créez dans le constructeur. Cela pourrait être un autre service de messagerie, par exemple @manybot. Ou un shell en ligne tel que Chatfuel.
  2. Développement indépendant. Pour ce faire, vous devez avoir des compétences en programmation et en déploiement. applications serveur, à partir de l'installation logiciel.
  3. Achat. De nos jours, de nombreuses entreprises et développeurs privés proposent des produits personnalisés. Les prix commencent à 500 roubles, mais en moyenne entre 10 et 15 000 roubles.

Si vous avez le temps et quelques compétences logicielles, nous vous recommandons d'essayer de le créer dans le concepteur. Cela vous aidera à comprendre le fonctionnement des programmes, ce qui vous sera utile lors de votre commande si vous décidez de le faire.

Processus de programmation


Vous pouvez créer vous-même un bot Telegram, mais seulement si vous savez programmer. En général, le schéma de développement ressemble à ceci :

  1. Rédaction d'un document détaillé termes de référence. Cela aidera à mettre en évidence les principales exigences du programme et à structurer le processus.
  2. Choisir un environnement de programmation.
  3. Acheter un hébergement ou en rechercher un gratuitement. Ses exigences sont déterminées par l'environnement sélectionné. Par exemple, pour un développement sur PHP il faut Certificat SSL.
  4. Configuration du logiciel.
  5. Codage.
  6. Déploiement. La difficulté dépend de l'environnement choisi. Pour Python, c'est tout le processus, et sur PHP, tout se fait relativement simplement.
  7. Débogage.

Le processus est assez complexe et nécessite de nombreuses compétences. Ainsi, comme vous pouvez le constater, tout le monde ne peut pas écrire seul un bot pour Telegram.

Langages de programmation

Comment créer un bot dans Telegram et quelle langue choisir ? Fondamentalement, vous pouvez choisir n'importe quelle langue prenant en charge programmation serveur et envoyer des demandes par protocole https. Le plus souvent pour , également C++, C#, Ruby.

Lier le paiement

De nombreux services sont conçus pour simplifier le processus d'achat en ligne. Le développement utilise des méthodes API de paiement, qui vous permettent de lier les systèmes de paiement au programme. Le processus est effectué selon l'algorithme :

  1. Le développeur intègre les clés et sélectionne un fournisseur connecté au système pour effectuer les transactions.
  2. Le bouton « Payer » apparaît dans le bot.
  3. L'utilisateur du robot peut effectuer des paiements en fournissant ses coordonnées. Ils sont liés à son compte. Devenu disponible paiements mobiles.
  4. Les transactions financières s'effectuent directement entre le client et le système de paiement. Telegram n'est pas impliqué dans ce processus. Sa tâche est de fournir une plate-forme pour la mise en œuvre des fonctions. De ce fait, les données de paiement ne sont pas accessibles à des tiers.
  5. Le client reçoit un rapport de transaction qui comprend tous les détails de l'achat.

Dans le même temps, les développeurs de messagerie n'acceptent aucune réclamation, transférant toute la responsabilité à système de paiement et l'utilisateur lui-même.

Mais ils promettent de bloquer les fournisseurs peu fiables sur la base d’avis. Aujourd'hui, vous pouvez créer un bot dans Telegram pour vendre pour Qiwi et Yandex.Money.

Créez vous-même un bot

Le simulateur d'interlocuteur Telegram est un programme qui se lance et fonctionne de votre côté. Il envoie des requêtes à l'API Telegram Bot, ce qui est assez simple :

Dans Telegram, au lieu de télécharger manuellement des messages, vous pouvez installer un webhook pour qu'ils envoient eux-mêmes chaque lettre. Pour création de Telegram bot activé Python est meilleur utilisez un réacteur, par exemple tornado.web.

Avant de créer un bot télégramme et de le lancer, vous devez adresse requise et capter le signal de sortie. Ceci est fait afin de renvoyer le comportement des événements de déchargement manuel.

La logique sera dans la classe tornado.web.RequestHandler, que le réacteur accepte pour traiter les requêtes.

CMD représente un dictionnaire de toutes les commandes disponibles. Send_reply est la fonction permettant d'envoyer une réponse. Il accepte un tableau Message prêt à l'emploi.

Équipes

Vous devez d’abord enseigner au programme du robot Telegram les constantes /start et /help :

L'objet message['from'] est un tableau de type User. De là, le bot reçoit les données de l'utilisateur, son identifiant et son nom. Ce sera mieux si la fonction de réponse appartient à message['chat']['id']. Ainsi, lors de la communication, il y aura un utilisateur, et dans le cas d'un chat, l'identifiant de ce dernier.

L'installation /start a deux fonctions à la fois :

Une commande sans paramètres est nécessaire pour afficher les données sur le bot ;
avec paramètres – pour l’identification.

Vous pouvez désormais créer n'importe quelle tâche personnalisée. Par exemple, /base64.

Pour ceux qui utilisent Telegram mobile, il sera utile de donner à @BotFather une liste de commandes que le nouvel interlocuteur virtuel devra accepter :

Si un utilisateur de Telegram souhaite voir une liste des tâches disponibles (par exemple, pour savoir comment tuer un programme après avoir terminé une tâche), il devra écrire « / ».

Comment apprendre à un bot à parler

Telegram envoie l'intégralité du message. La restriction sur la nécessité de faire précéder les commandes d'une barre oblique a été créée uniquement pour la commodité des utilisateurs. Cela vous permet d'apprendre au programme à réagir comme un être humain. Afin de lui donner la possibilité de recevoir tous les messages en groupe, vous devez écrire /setprivacy à l'assistant @BotFather, désactivant ainsi la confidentialité.

Vous devez ajouter un gestionnaire à Handler :

La liste des commandes doit inclure la parole :

La valeur de 75 représente ici la probabilité de ce que l'utilisateur veut dire. La constante format_map est pratique pour décrire les chaînes nécessitant une substitution.

De cette façon, le bot pourra répondre aux salutations et s'adresser à l'interlocuteur par son nom.

Les messages envoyés ne peuvent pas être uniquement du texte

Maintenant que vous savez comment créer un robot télégramme, vous pouvez permettre non seulement d'écrire des phrases, mais également de partager des images et des fichiers audio.

Par exemple, vous pouvez développer le dictionnaire RESPONSES comme ceci :

Et nous capterons les messages :

Désormais, l'objet Message n'inclut plus de texte, vous devez donc modifier send_reply :

Ainsi, le robot enverra parfois une image au lieu de l'heure :

Comme vous pouvez le constater, créer un interlocuteur Telegram virtuel et lui apprendre à communiquer n'est pas du tout difficile. Vous pouvez le supprimer à tout moment avec une autre commande envoyée par @BotFather.



Des questions ?

Signaler une faute de frappe

Texte qui sera envoyé à nos rédacteurs :