{"id":41315,"date":"2020-02-10T12:09:34","date_gmt":"2020-02-10T09:09:34","guid":{"rendered":"https:\/\/prohoster.info\/blog\/blog_prohoster\/stroim-telegram-bot-v-yandeks-oblake"},"modified":"2020-02-10T12:09:34","modified_gmt":"2020-02-10T09:09:34","slug":"stroim-telegram-bot-v-yandeks-oblake","status":"publish","type":"post","link":"https:\/\/prohoster.info\/de\/blog\/stroim-telegram-bot-v-yandeks-oblake","title":{"rendered":"Wir bauen einen Telegram-Bot in Yandex.Cloud.","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Wir bauen einen Telegram-Bot in Yandex.Cloud.\" src=\"\/wp-content\/uploads\/2020\/02\/4a758744e4fc6bc797d270fa1bc42ef3.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nHeute werden wir aus verf\u00fcgbaren Materialien in <noindex><a rel=\"nofollow\" href=\"https:\/\/cloud.yandex.ru\/\"><i>Yandex.Cloud<\/i><\/a><\/noindex> <i>Telegram-Bot<\/i> unter Verwendung von <noindex><a rel=\"nofollow\" href=\"https:\/\/cloud.yandex.ru\/services\/functions\"><i>Yandex Cloud Functions<\/i><\/a><\/noindex> (oder <i>Yandex-Funktionen<\/i> \u2014 der K\u00fcrze halber) und <noindex><a rel=\"nofollow\" href=\"https:\/\/cloud.yandex.ru\/services\/storage\"><i>Yandex Object Storage<\/i><\/a><\/noindex> (oder <i>Objektspeicher<\/i> \u2014 zur Klarheit). Der Code wird in <i>Node.js<\/i>. Es gibt jedoch ein pikantes Detail \u2013 eine Organisation mit dem Namen, sagen wir mal, <i>RossKomZenzur<\/i> (Zensur ist durch Artikel 29 der Verfassung der RF verboten), erlaubt es den Internetanbietern in Russland nicht, Anfragen an <i>Telegram API<\/i> an die Adresse: <code>https:\/\/api.telegram.org\/<\/code>. Nun, wir werden es nicht tun \u2013 wenn es nicht m\u00f6glich ist, dann eben nicht. Schlie\u00dflich haben wir in unserem Koffer die sogenannten <i>Webhooks<\/i> \u2014 damit stellen wir keine Anfragen an eine bestimmte Adresse, sondern senden einfach unsere Anfrage als Antwort auf jede Anfrage an uns. Das hei\u00dft, wie in Odessa \u2013 wir antworten auf eine Frage mit einer Frage. Daher <i>Telegram API<\/i> wird es in unserem Code nicht auftauchen.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\n<b class=\"spoiler_title\">Haftungsausschluss<\/b><i>Die in diesem Artikel genannten Namen von staatlichen Organisationen sind erfunden, und m\u00f6gliche \u00dcbereinstimmungen mit den Namen real existierender Organisationen sind zuf\u00e4llig. <\/i> <\/p>\n<p>Also werden wir einen Bot erstellen, der uns mit intelligenten Gedanken versorgt. Genau so wie auf dem Bild:<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/t.me\/SmartThoughtsBot\"><img decoding=\"async\" alt=\"Wir bauen einen Telegram-Bot in Yandex.Cloud.\" src=\"\/wp-content\/uploads\/2020\/02\/6b7aca248999621a20f8a0ec29e75c75.png\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p>Sie k\u00f6nnen ihn im Einsatz testen \u2013 hier ist der Name: <b><i>@SmartThoughtsBot<\/i><\/b>. Haben Sie die Schaltfl\u00e4che <i>\u201eF\u00e4higkeit von Alice\u201c<\/i>? \u042d\u0442\u043e \u043f\u043e\u0442\u043e\u043c\u0443, \u0447\u0442\u043e \u0431\u043e\u0442 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0441\u0432\u043e\u0435\u043e\u0431\u0440\u0430\u0437\u043d\u044b\u043c \u00ab\u043a\u043e\u043c\u043f\u0430\u043d\u044c\u043e\u043d\u043e\u043c\u00bb \u0434\u043b\u044f \u043e\u0434\u043d\u043e\u0438\u043c\u0435\u043d\u043d\u043e\u0433\u043e <i>F\u00e4higkeit von Alice<\/i>, d.h. er erf\u00fcllt die gleichen Funktionen wie <i>F\u00e4higkeit von Alice<\/i> und es ist m\u00f6glich, dass sie friedlich zusammen existieren, indem sie einander bewerben. Wie man eine <i>F\u00e4higkeit Intelligente Gedanken<\/i> erstellt, wird im Artikel <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/465275\/\"><b><i>Alice erwirbt die F\u00e4higkeit<\/i><\/b><\/a><\/noindex>beschrieben. Jetzt (nach einigen \u00c4nderungen nach der Ver\u00f6ffentlichung des oben erw\u00e4hnten Artikels) wird diese <i>F\u00e4higkeit<\/i> auf dem Smartphone etwa so aussehen:<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/alice.ya.ru\/s\/f785af07-4578-4a6b-95ae-485bd803ae20\"><img decoding=\"async\" alt=\"Wir bauen einen Telegram-Bot in Yandex.Cloud.\" src=\"\/wp-content\/uploads\/2020\/02\/e92c340f8d947ba9252e0fcab0511ce6.png\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<h2>Bot-Erstellung<\/h2>\n<p>\nIch hoffe, dass dieses Tutorial f\u00fcr alle hilfreich ist, auch f\u00fcr Anf\u00e4nger im 'Bot-Bau'. Daher werde ich in diesem Abschnitt recht ausf\u00fchrlich beschreiben, wie man \u00fcberhaupt <i>Telegram<\/i>\u2018be bots. F\u00fcr diejenigen, f\u00fcr die diese Informationen nicht erforderlich sind \u2014 fahren Sie mit den n\u00e4chsten Abschnitten fort. <\/p>\n<p>\u00d6ffnen Sie die Anwendung <i>Telegaram<\/i>, rufen Sie den Vater aller Bots (sie sind wie Menschen) \u2013 <b><i>@BotFather<\/i><\/b> \u2014 und geben Sie ihm zu Beginn den Befehl \/help, um sich ins Ged\u00e4chtnis zu rufen, was wir tun k\u00f6nnen. Jetzt interessiert uns der Befehl <i>\/newbot<\/i>.<\/p>\n<p><img decoding=\"async\" alt=\"Wir bauen einen Telegram-Bot in Yandex.Cloud.\" src=\"\/wp-content\/uploads\/2020\/02\/12a0e84dd712e0c74dee0463f1b44e74.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDa der hier beschriebene Bot bereits erstellt ist, werde ich zum Demonstrationszweck vor\u00fcbergehend einen anderen Bot erstellen (ich werde ihn sp\u00e4ter l\u00f6schen). Ich nenne ihn <i>DemoHabrBot<\/i>. Die Namen (<i>username<\/i>) aller Telegram-Bots m\u00fcssen mit dem Wort enden <i>bot<\/i>, zum Beispiel: <i>MyCoolBot<\/i> oder <i>my_cool_bot<\/i> \u2014 das ist f\u00fcr Bots. Aber zuerst geben wir dem Bot einen Namen (<i>name<\/i>) \u2014 und das ist f\u00fcr die Menschen. Der Name kann in jeder Sprache sein, Leerzeichen enthalten und muss nicht mit einem Wort enden <i>bot<\/i>, und er muss nicht einmal einzigartig sein. In diesem Beispiel habe ich diesen Bot genannt <i>Demo Habr<\/i>.<\/p>\n<p><img decoding=\"async\" alt=\"Wir bauen einen Telegram-Bot in Yandex.Cloud.\" src=\"\/wp-content\/uploads\/2020\/02\/682ecf64724cabcfef96639d6de87521.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nJetzt w\u00e4hlen wir einen Namen f\u00fcr den Bot (<i>username<\/i>, der f\u00fcr Bots gedacht ist). Nennen wir ihn <i>DemoHabrBot<\/i>. Alles, was mit dem Namen des Bots zu tun hat (<i>name<\/i>) hat nichts mit seinem Namen zu tun \u2014 <i>username<\/i> (oder hat, aber genau gegenteilig). Nach erfolgreicher Erstellung eines einzigartigen Namens f\u00fcr den Bot m\u00fcssen wir das Token, das mit dem roten Pfeil im Screenshot angezeigt wird, kopieren und geheim halten! Damit werden wir sp\u00e4ter den ausgehenden <i>Telegram<\/i>\u2018e Webhook f\u00fcr unsere <i>Yandex-Funktion<\/i>.<\/p>\n<p><img decoding=\"async\" alt=\"Wir bauen einen Telegram-Bot in Yandex.Cloud.\" src=\"\/wp-content\/uploads\/2020\/02\/78254946c9f763d212a1952bac6c706f.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nJetzt geben wir dem Vater aller Bots den Befehl: <i>\/mybots<\/i>, und er wird uns eine Liste aller Bots zeigen, die wir erstellt haben. Lassen wir vorerst den frisch gebackenen Bot <i>Demo Habr<\/i> (er wurde erstellt, um zu zeigen, wie man Bots erstellt, aber wir werden ihn heute noch f\u00fcr andere Demonstrationszwecke verwenden), und betrachten wir den Bot <i>Kluge Gedanken<\/i> (<i>@SmartThoughtsBot<\/i>). Klicken Sie in der Liste der Bots auf die Schaltfl\u00e4che mit seinem Namen.<\/p>\n<p><img decoding=\"async\" alt=\"Wir bauen einen Telegram-Bot in Yandex.Cloud.\" src=\"\/wp-content\/uploads\/2020\/02\/98434725cb0d7441ec5f2552b0b508a8.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nHier k\u00f6nnen wir unseren Bot anpassen. Wenn wir auf die Schaltfl\u00e4che <i>Bearbeiten\u2026<\/i> klicken, gelangen wir zur Bearbeitung jener oder anderer Optionen. Zum Beispiel k\u00f6nnen wir, wenn wir auf die Schaltfl\u00e4che <i>Name bearbeiten<\/i> klicken, den Namen des Bots \u00e4ndern, sagen wir, anstelle von <i>Kluge Gedanken<\/i>, schreiben wir <i>Verr\u00fcckte Ideen<\/i>. <i>Botbild<\/i> \u2014 ist das Avatar des Bots und muss mindestens <i>150 x 150 px<\/i>. <i>Beschreibung<\/i> \u2014 ist eine kurze Beschreibung, die der Benutzer beim ersten Start des Bots sieht, als Antwort auf die Frage: <i>Was kann dieser Bot tun?<\/i> <i>\u00dcber<\/i> \u2014 eine noch k\u00fcrzere Beschreibung, die mit dem Link zum Bot (<code>https:\/\/t.me\/SmartThoughtsBot<\/code>) oder beim Betrachten der Informationen \u00fcber ihn \u00fcbermittelt wird.<\/p>\n<p><img decoding=\"async\" alt=\"Wir bauen einen Telegram-Bot in Yandex.Cloud.\" src=\"\/wp-content\/uploads\/2020\/02\/f15ba92be1bfea827273f79616bd2a3a.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nJetzt m\u00fcssen wir nur noch die Befehle einrichten. Dazu klicken wir auf die Schaltfl\u00e4che <i>Befehle bearbeiten<\/i>. Um die Benutzerpraxis zu standardisieren, <i>Telegram<\/i> wird empfohlen, immer zwei Befehle zu verwenden: <i>\/start<\/i> und <i>\/help<\/i>, und wenn der Bot Einstellungen ben\u00f6tigt \u2014 einen zus\u00e4tzlichen Befehl \/settings. Unser Bot ist einfach wie ein Ball, daher sind derzeit keine Einstellungen erforderlich. Wir geben die beiden ersten Befehle ein, die wir sp\u00e4ter im Code verarbeiten werden. Jetzt, wenn der Benutzer im Eingabefeld einen Schr\u00e4gstrich (\/) eingibt, wird eine Liste von Befehlen zum schnellen Ausw\u00e4hlen angezeigt. Alles wie auf dem Bild: links \u2014 wir richten die Befehle \u00fcber den Vater-Bot ein; rechts sind diese Befehle bereits f\u00fcr die Benutzer in unserem Bot verf\u00fcgbar.<\/p>\n<p><img decoding=\"async\" alt=\"Wir bauen einen Telegram-Bot in Yandex.Cloud.\" src=\"\/wp-content\/uploads\/2020\/02\/b536b5fe7b8aad3d68877a7693ea0e6f.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h2>Yandex-Funktion<\/h2>\n<p>\nJetzt, wo unser Bot erstellt ist, gehen wir zu <i>Yandex.Cloud<\/i>, um eine Funktion zu erstellen, die den Code unseres Bots ausf\u00fchrt. Wenn Sie noch nicht mit <i>Yandex.Cloud<\/i> lesen Sie das Material <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/464739\/\"><b><i>Alice im Land von Bitrix<\/i><\/b><\/a><\/noindex>, und dann - <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/440374\/\"><b><i>Yandex-Funktionen senden E-Mails<\/i><\/b><\/a><\/noindex>. Ich bin mir fast sicher, dass diese beiden relativ kurzen Artikel ausreichend f\u00fcr ein grundlegendes Verst\u00e4ndnis des Themas sind.<\/p>\n<p>Also, im Konsolenfenster von <i>Yandex.Cloud<\/i> w\u00e4hlen Sie im linken Navigationsmen\u00fc den Punkt <i>Cloud Functions<\/i>, und klicken Sie dann auf die Schaltfl\u00e4che <i>Funktion erstellen<\/i>. Geben Sie ihr einen Namen und f\u00fcr sich selbst eine kurze Beschreibung.<\/p>\n<p><img decoding=\"async\" alt=\"Wir bauen einen Telegram-Bot in Yandex.Cloud.\" src=\"\/wp-content\/uploads\/2020\/02\/67f313c60481c5ef84af8a28b4934621.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nNach dem Dr\u00fccken der Taste <i>Erstellen<\/i> und nach ein paar Sekunden wird die neue Funktion in der Liste aller Funktionen erscheinen. Klicken Sie auf ihren Namen \u2013 das bringt uns zur Seite <i>\u00dcberblick<\/i> unserer Funktion. Hier m\u00fcssen wir den Schalter (<i>Ein<\/i>) f\u00fcr die <i>\u00d6ffentliche Funktion<\/i>, damit sie f\u00fcr die externe (f\u00fcr <i>Yandex.Cloud<\/i>) Welt zug\u00e4nglich wird, und die Werte der Felder <i>URL zum Aufrufen<\/i> und <i>Identifier<\/i> \u2014 geheim halten vor allen au\u00dfer sich selbst und Telegram, damit Ihre Funktion nicht von verschiedenen Betr\u00fcgern aufgerufen werden kann.<\/p>\n<p><img decoding=\"async\" alt=\"Wir bauen einen Telegram-Bot in Yandex.Cloud.\" src=\"\/wp-content\/uploads\/2020\/02\/3ba45d357965d567ba33ab0ee65d2eb4.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nJetzt wechseln wir mithilfe des linken Men\u00fcs zum <i>Editor<\/i> der Funktion. Lassen Sie unsere <i>Kluge Gedanken<\/i>, vorerst beiseite und erstellen Sie eine minimale Template-Funktion zur \u00dcberpr\u00fcfung der Funktionsf\u00e4higkeit unseres Bots... Im Grunde genommen ist diese Funktion in diesem Kontext unser Bot... Kurz gesagt, jetzt und direkt hier erstellen wir einen einfachsten Bot, der Anfragen von Benutzern \u201espiegeln\u201c (d.h. zur\u00fccksenden) wird. Diese Vorlage kann immer verwendet werden, wenn neue Telegram-Bots erstellt werden, um sicherzustellen, dass die Verbindung zu <i>Telegram\u2019<\/i>normal funktioniert. Klicken Sie auf <i>Datei erstellen<\/i>, nennen Sie es <i>index.js<\/i>, und im Online- <i>Code-Editor<\/i> f\u00fcgen Sie in diese Datei den folgenden Code ein:<\/p>\n<pre><code class=\"javascript\">module.exports.bot = async (event) =&gt; {\n  \n  const body = JSON.parse(event.body);\n\n  const msg = {\n    'method': 'sendMessage',\n    'chat_id': body.message.chat.id,\n    'text': body.message.text\n  };\n\n  return {\n    'statusCode': 200,\n    'headers': {\n      'Content-Type': 'application\/json'\n    },\n    'body': JSON.stringify(msg),\n    'isBase64Encoded': false\n  };\n};\n<\/code><\/pre>\n<p>\nIn der Konsole von Yandex.Cloud sollte das ungef\u00e4hr so aussehen:<\/p>\n<p><img decoding=\"async\" alt=\"Wir bauen einen Telegram-Bot in Yandex.Cloud.\" src=\"\/wp-content\/uploads\/2020\/02\/f0204be84468c9ae7ec1b9e4ca0dfdd9.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDann geben wir etwas weiter unten an <i>Eingangspunkt<\/i> \u2014 <i>index.bot<\/i><header> <i>index<\/i> das ist der Name der Datei (<i>index.js<\/i>), und <i>bot<\/i> \u2013 der Name der Funktion (<i>module.exports.bot<\/i>). Alle anderen Felder lassen wir \u201ewie sie sind\u201c, und in der oberen rechten Ecke klicken wir auf die Schaltfl\u00e4che <i>Version erstellen<\/i>. Nach ein paar Sekunden wird diese Version der Funktion erstellt. Bald, nach dem Testen <i>des Webhooks<\/i>, werden wir eine neue Version erstellen \u2014 <i>Kluge Gedanken<\/i>.<\/p>\n<p><img decoding=\"async\" alt=\"Wir bauen einen Telegram-Bot in Yandex.Cloud.\" src=\"\/wp-content\/uploads\/2020\/02\/48cd898f83bdc29d124600828bf2143f.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h2>Objektspeicher<\/h2>\n<p>\nJetzt, da wir eine erstellt haben <i>Yandex-Funktion<\/i>, lassen Sie uns, w\u00e4hrend wir in der Konsole sind, <i>Yandex.Cloud<\/i>, wir erstellen einen sogenannten Bucket (<i>Bucket<\/i>, d.h. einen Eimer auf Russisch, keineswegs ein Blumenstrau\u00df) zur Speicherung von Bilddateien, die in unserem Bot verwendet werden sollen. <i>Kluge Gedanken<\/i>. Im linken Navigationsmen\u00fc w\u00e4hlen wir den Punkt <i>Object Storage<\/i>, klicken auf die Schaltfl\u00e4che <i>Einen Bucket erstellen<\/i>, geben ihm einen Namen, zum Beispiel, <i>img-bucket<\/i>, und ganz wichtig, <i>Leserechte f\u00fcr Objekte<\/i> machen wir \u00f6ffentlich \u2014 sonst wird Telegram\u2019 unsere Bilder nicht sehen. Alle anderen Felder bleiben unver\u00e4ndert. Dr\u00fccken Sie die Taste <i>Einen Bucket erstellen<\/i>.<\/p>\n<p><img decoding=\"async\" alt=\"Wir bauen einen Telegram-Bot in Yandex.Cloud.\" src=\"\/wp-content\/uploads\/2020\/02\/c890a42f7d043e03300434b2c4a0258b.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nNach diesem Schritt k\u00f6nnte die Liste aller Buckets ungef\u00e4hr so aussehen (wenn dies Ihr einziger Bucket ist):<\/p>\n<p><img decoding=\"async\" alt=\"Wir bauen einen Telegram-Bot in Yandex.Cloud.\" src=\"\/wp-content\/uploads\/2020\/02\/34701231536742a7889b200ff49b08b1.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nJetzt schlage ich vor, auf den Namen des Buckets zu klicken und darin einen Ordner zu erstellen, um die Speicherung von Bildern f\u00fcr verschiedene Anwendungen zu organisieren. Zum Beispiel f\u00fcr den Telegram-Bot <i>Kluge Gedanken<\/i> habe ich einen Ordner mit dem Namen <i>tg-bot-smart-thoughts<\/i> erstellt (keine Sorge, ich verstehe diesen Code). Erstellen Sie auch Sie einen.<\/p>\n<p><img decoding=\"async\" alt=\"Wir bauen einen Telegram-Bot in Yandex.Cloud.\" src=\"\/wp-content\/uploads\/2020\/02\/c5707b5ba54fea5b548d62e097328650.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nJetzt k\u00f6nnen wir auf den Ordnernamen klicken, um ihn zu \u00f6ffnen und Dateien hochzuladen:<\/p>\n<p><img decoding=\"async\" alt=\"Wir bauen einen Telegram-Bot in Yandex.Cloud.\" src=\"\/wp-content\/uploads\/2020\/02\/ead320e587e1d161e2cd54a94b4ea0d4.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nUnd wenn wir auf den Dateinamen klicken, erhalten wir ihn <i>URL<\/i> zur Verwendung in unserem Bot und \u00fcberhaupt \u2014 wo immer (aber ver\u00f6ffentlichen Sie dies nicht <i>URL<\/i> ohne Notwendigkeit, da der Traffic von <i>Dem Objektspeicher<\/i> kostenpflichtig ist).<\/p>\n<p><img decoding=\"async\" alt=\"Wir bauen einen Telegram-Bot in Yandex.Cloud.\" src=\"\/wp-content\/uploads\/2020\/02\/07a833430b0584161423f363f6685306.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDas ist also alles zum <i>Objektspeicher<\/i>. Jetzt wissen Sie, was zu tun ist, wenn Sie die Aufforderung sehen, Dateien dorthin hochzuladen.<\/p>\n<h2>Webhook<\/h2>\n<p>\nJetzt werden wir den <i>Webhook<\/i> einrichten \u2014 d.h. wenn der Bot ein Update erh\u00e4lt (zum Beispiel eine Nachricht von einem Benutzer), wird vom Server <i>Telegram<\/i> an unsere <i>Yandex-Funktion<\/i> eine Anfrage (<i>request<\/i>) mit Daten gesendet. Hier ist der String, den Sie einfach in das Adressfeld des Browsers einf\u00fcgen und dann die Seite aktualisieren k\u00f6nnen (dies m\u00fcssen Sie nur einmal tun): <code>https:\/\/api.telegram.org\/bot{bot_token}\/setWebHook?url={webhook_url}<\/code><br \/>\nErsetzen wir einfach <i>{bot_token}<\/i> mit dem Token, das wir von dem Bot-Vater bei der Erstellung unseres Bots erhalten haben, und <i>{webhook_url}<\/i> \u2014 mit <i>URL<\/i> unserem <i>Yandex-Funktionen<\/i>. Einen Moment! Aber <i>RossKomZenzur<\/i> verhindert, dass Anbieter in RF die Adresse bedienen. <code>https:\/\/api.telegram.org<\/code>. Ja, das stimmt. Aber Sie k\u00f6nnen sich etwas einfallen lassen. Sie k\u00f6nnen beispielsweise Ihre Gro\u00dfmutter in der Ukraine, Israel oder Kanada um Hilfe bitten \u2014 dort gibt es keine \u201eRussischen Zensoren\u201c, und nur Gott wei\u00df, wie die Menschen ohne diese leben. Am Ende sollte die Anfrage-Antwort bei der Einrichtung des Webhooks so aussehen:<\/p>\n<p><img decoding=\"async\" alt=\"Wir bauen einen Telegram-Bot in Yandex.Cloud.\" src=\"\/wp-content\/uploads\/2020\/02\/713834a1665520d3e471cd3d1831ac06.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nWir testen es. Es sollte \u201espiegeln\u201c.<\/p>\n<p><img decoding=\"async\" alt=\"Wir bauen einen Telegram-Bot in Yandex.Cloud.\" src=\"\/wp-content\/uploads\/2020\/02\/3ab0e97f9b0ca06295fe7f5f793aab2c.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nSo ist es. Unsere Gl\u00fcckw\u00fcnsche \u2014 jetzt sind Sie <i>Yandex-Funktion<\/i> zoned storage <i>Telegram<\/i>-Bot!<\/p>\n<h2>Kluge Gedanken<\/h2>\n<p>\nUnd jetzt erstellen wir Smarte Gedanken. Der Code ist offen und liegt auf <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/stmike\/tg-bot-smart-thoughts\"><b><i>GitHub<\/i><\/b><\/a><\/noindex>. Er ist ziemlich gut kommentiert und enth\u00e4lt nur hundert Zeilen. Lesen Sie ihn wie eine Operndiva das Libretto! <\/p>\n<p><img decoding=\"async\" alt=\"Wir bauen einen Telegram-Bot in Yandex.Cloud.\" src=\"\/wp-content\/uploads\/2020\/02\/2ad0e96a2169d0859ccec836f151d3ea.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nKlonen Sie das Projekt und installieren Sie die Abh\u00e4ngigkeiten:<\/p>\n<pre><code class=\"plaintext\">git clone https:\/\/github.com\/stmike\/tg-bot-smart-thoughts.git\ncd tg-bot-smart-thoughts\nnpm i\n<\/code><\/pre>\n<p>\nNehmen Sie die erforderlichen \u00c4nderungen an der Datei vor <i>index.js<\/i> (optional; Sie k\u00f6nnen alles so lassen, wie es ist). Erstellen Sie <i>zip<\/i>-Archiv mit der Datei <i>index.js<\/i> und dem Ordner <i>node_modules<\/i> darinnen, zum Beispiel unter dem Namen <i>smart.zip<\/i>.<\/p>\n<p><img decoding=\"async\" alt=\"Wir bauen einen Telegram-Bot in Yandex.Cloud.\" src=\"\/wp-content\/uploads\/2020\/02\/c8c97707515338a01f8b8ed7f743c4a5.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nJetzt wechseln Sie in der Konsole zu unserer <i>Yandex-Funktionen<\/i>, w\u00e4hlen Sie den Tab <i>ZIP-Archiv<\/i>, klicken Sie auf die Schaltfl\u00e4che <i>Datei ausw\u00e4hlen<\/i>, und laden Sie unser Archiv hoch <i>smart.zip<\/i>. Schlie\u00dflich klicken Sie in der oberen rechten Ecke auf die Schaltfl\u00e4che <i>Version erstellen<\/i>.<\/p>\n<p><img decoding=\"async\" alt=\"Wir bauen einen Telegram-Bot in Yandex.Cloud.\" src=\"\/wp-content\/uploads\/2020\/02\/96634c132848278ecc00a509e61b13f0.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nNach ein paar Sekunden, wenn die Funktion aktualisiert wird, testen wir unseren Bot erneut. Jetzt spiegelt er nicht mehr wider, sondern liefert kluge Gedanken!<\/p>\n<p><img decoding=\"async\" alt=\"Wir bauen einen Telegram-Bot in Yandex.Cloud.\" src=\"\/wp-content\/uploads\/2020\/02\/0c683826b5ef2bdbbd0253de4691900a.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDas ist alles f\u00fcr heute. Weitere Artikel folgen. Wer an solchen Themen interessiert ist, kann hier Benachrichtigungen \u00fcber neue Artikel abonnieren oder auf <i>Telegram<\/i>-Kanal <noindex><a rel=\"nofollow\" href=\"https:\/\/t.me\/it_tutorial_zahar\"><i>IT Tutorial Zahar<\/i><\/a><\/noindex>, oder <i>Twitter<\/i> <noindex><a rel=\"nofollow\" href=\"https:\/\/twitter.com\/mikezaharov\"><i>@mikezaharov<\/i><\/a><\/noindex>.<\/p>\n<h2>Links<\/h2>\n<p>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/stmike\/tg-bot-smart-thoughts\"><b><i>Code auf GitHub<\/i><\/b><\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/cloud.yandex.ru\/docs\/functions\/\"><b><i>Yandex Cloud Functions<\/i><\/b><\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/cloud.yandex.ru\/docs\/storage\/\"><b><i>Yandex Object Storage<\/i><\/b><\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/core.telegram.org\/bots\"><b><i>Bots: Eine Einf\u00fchrung f\u00fcr Entwickler<\/i><\/b><\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/core.telegram.org\/bots\/api\"><b><i>Telegram Bot API<\/i><\/b><\/a><\/noindex><\/p>\n<h2>Spenden<\/h2>\n<p>\n<noindex><a rel=\"nofollow\" href=\"http:\/\/yasobe.ru\/na\/vui\"><img decoding=\"async\" alt=\"Wir bauen einen Telegram-Bot in Yandex.Cloud.\" src=\"\/wp-content\/uploads\/2020\/02\/250f8765713080fcbbdaf56c04dc882f.png\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><br \/>\n<br \/>Quelle: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/486876\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0421\u0435\u0433\u043e\u0434\u043d\u044f \u0438\u0437 \u043f\u043e\u0434\u0440\u0443\u0447\u043d\u044b\u0445 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u043e\u0432 \u043c\u044b \u0441\u043e\u0431\u0435\u0440\u0451\u043c \u0432 \u042f\u043d\u0434\u0435\u043a\u0441.\u041e\u0431\u043b\u0430\u043a\u0435 Telegram-\u0431\u043e\u0442 \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c Yandex Cloud Functions (\u0438\u043b\u0438 \u042f\u043d\u0434\u0435\u043a\u0441-\u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u2014 \u0434\u043b\u044f \u043a\u0440\u0430\u0442\u043a\u043e\u0441\u0442\u0438) \u0438 Yandex Object Storage (\u0438\u043b\u0438 \u041e\u0431\u044a\u0435\u043a\u0442\u043d\u043e\u0435 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435 \u2014 \u0434\u043b\u044f \u044f\u0441\u043d\u043e\u0441\u0442\u0438). \u041a\u043e\u0434 \u0431\u0443\u0434\u0435\u0442 \u043d\u0430 Node.js. \u041e\u0434\u043d\u0430\u043a\u043e, \u0438\u043c\u0435\u0435\u0442\u0441\u044f \u043e\u0434\u043d\u043e \u043f\u0438\u043a\u0430\u043d\u0442\u043d\u043e\u0435 \u043e\u0431\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u0441\u0442\u0432\u043e \u2014 \u043d\u0435\u043a\u0430\u044f \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u044f \u043f\u043e\u0434 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435\u043c, \u0441\u043a\u0430\u0436\u0435\u043c \u0442\u0430\u043a, \u0420\u043e\u0441\u0441\u041a\u043e\u043c\u0426\u0435\u043d\u0437\u0443\u0440 (\u0446\u0435\u043d\u0437\u0443\u0440\u0430 \u0437\u0430\u043f\u0440\u0435\u0449\u0435\u043d\u0430 \u0441\u0442\u0430\u0442\u044c\u0451\u0439 29 \u041a\u043e\u043d\u0441\u0442\u0438\u0442\u0443\u0446\u0438\u0438 \u0420\u0424), \u043d\u0435 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442-\u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u0430\u043c [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":41316,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-41315","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0421\u0435\u0433\u043e\u0434\u043d\u044f \u0438\u0437 \u043f\u043e\u0434\u0440\u0443\u0447\u043d\u044b\u0445 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u043e\u0432 \u043c\u044b \u0441\u043e\u0431\u0435\u0440\u0451\u043c \u0432.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/de\/blog\/stroim-telegram-bot-v-yandeks-oblake\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"de_DE\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0421\u0442\u0440\u043e\u0438\u043c Telegram-\u0431\u043e\u0442 \u0432 \u042f\u043d\u0434\u0435\u043a\u0441.\u041e\u0431\u043b\u0430\u043a\u0435 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0421\u0435\u0433\u043e\u0434\u043d\u044f \u0438\u0437 \u043f\u043e\u0434\u0440\u0443\u0447\u043d\u044b\u0445 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u043e\u0432 \u043c\u044b \u0441\u043e\u0431\u0435\u0440\u0451\u043c \u0432.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/de\/blog\/stroim-telegram-bot-v-yandeks-oblake\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-02-10T09:09:34+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-02-10T09:09:34+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Wir bauen einen Telegram-Bot in Yandex.Cloud | ProHoster","description":"Heute stellen wir aus verf\u00fcgbaren Materialien zusammen.","canonical_url":"https:\/\/prohoster.info\/de\/blog\/stroim-telegram-bot-v-yandeks-oblake","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"de_DE","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0421\u0442\u0440\u043e\u0438\u043c Telegram-\u0431\u043e\u0442 \u0432 \u042f\u043d\u0434\u0435\u043a\u0441.\u041e\u0431\u043b\u0430\u043a\u0435 | ProHoster","og:description":"\u0421\u0435\u0433\u043e\u0434\u043d\u044f \u0438\u0437 \u043f\u043e\u0434\u0440\u0443\u0447\u043d\u044b\u0445 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u043e\u0432 \u043c\u044b \u0441\u043e\u0431\u0435\u0440\u0451\u043c \u0432.","og:url":"https:\/\/prohoster.info\/de\/blog\/stroim-telegram-bot-v-yandeks-oblake","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-02-10T09:09:34+00:00","article:modified_time":"2020-02-10T09:09:34+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"41315","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 00:19:25","updated":"2022-09-29 21:53:55","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/41315","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/comments?post=41315"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/41315\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media\/41316"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media?parent=41315"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/categories?post=41315"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/tags?post=41315"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}