Tesszük a robot táviratot billentyűzet és a lehetőséget, inline-mode
Jó ideje éjjel-nappal, kedves olvasó. Azt hiszem, érdemes lenne kívánunk Boldog Új Évet, de nem, sajnálom, én nem igazán hajlik a mindenféle üdvözletét. Nem fogunk eltérni a témában - Hat hónappal ezelőtt írtam egy cikket, hogyan kell építeni az első robot a távirat Python3 és futtatni.
Azóta volt elég sokáig, többször frissített távirat Bot API. és ma úgy döntöttem, hogy továbbra is a történet a teremtés, a robot.
belépés
Először is, egy kis információt az átfogó fejlesztés - amely a billentyűzetet a hajó és mi volt az.
Amikor először dob minden bot, akkor használja a Start gombot (Start), akkor továbbra is kommunikálni a bot parancsok révén vagy bármely más szöveges üzenetek.
Mi történik, ha megnyomja a gombot a mező alatt adja meg az üzenetet? Semmi bonyolult - csak elküldte a szöveget, hogy látjuk a gombra. Azaz, kattintson a Beállítások eredményez egy üzenetet küld a szöveg beállítása az Ön nevében a hajót csak.
Ezután a robot egyszerűen feldolgozza a szöveget kapta. Nem varázslat. Tudom, saját tapasztalat, hogy minden nagyon szereti a kódot (fekvő, nem az összes) - így most érünk le az írást.
Azt hiszem, miután elolvasta az előző post. lehet telepíteni és konfigurálni Python3, valamint hozzon létre egy nagyon egyszerű bot. reagál a parancsokra / start.
Először regisztrálni kell az új robot @BotFather tokent, és kap csatlakozni vele. A robot fogom hívni Dr. Watson. és jelentkezzen be, hogy titokban tartani 😌
Hozzon létre egy egyszerű robot, ami rázza a felhasználó az indításkor. Code, az alábbiak szerint, elegendő:
Most eldöntheti, hogy mit fog tenni a robot.
Ehhez: beindulása után azonnal a bot meg kell jeleníteni a felhasználó billentyűzet két gomb - Sherlock Holmes és Dr. Watson.
Mi megy a funkció elindításához mi egyszerű bot, és változtassa meg a következők szerint:
Mindentől eltekintve szeretne hozzáadni telebot import típusok elején a fájlt a robot.
Most elmagyarázom, hogy mi folyik itt egyáltalán 😱
- A types.ReplyKeyboardMarkup () létrehozunk egy objektumot jövőnk billentyűzet, a szükséges paramétereket zárójelben. resize_keyboard = True lehetővé teszi a billentyűzetet, hogy nyúlik a kívánt magasságot, ahelyett, hogy az összes helyet.
- A Adjunk hozzá () adjuk hozzá a gombot a billentyűzeten. types.KeyboardButton () maga egy gomb objektum és a szöveg zárójelben rajta. A fenti, betöltöm a tárgya a billentyűk tárgyakat, kitöltve azokat az [ „Sherlock Holmes”, „Watson”] (hidd el, nagyon nehéz megérteni őt, hogy rendben, azt tanácsolom, hogy olvassa el a cikket a listáról való).
- Az utolsó dolog, amit tennie kell - lekötni a billentyűzetet a kívánt üzenetet, ez történik a segítségével reply_markup paraméter bármilyen módszerrel send_.
Ön tudja menteni a kódot, és a robot.
Mint látható, a mező alatt a szöveg két dédelgetett gombra. Mi a következő lépés? Most meg kell tanítani a robot kezelni küldött üzenetek után a gombra kattintva.
Vegyük az én fenti kódot. A start használjuk register_next_step_handler módszer a következő üzenetet a felhasználó egyszerre jönne a felvezető nevét (amit meghatározott a második paraméter, az első - az objektum küldött nekünk üzenetek).
A függvény neve fogjuk feldolgozni a felhasználó választ - ha üzenetet akar küldeni Sherlock Holmes és Dr. Watson.
A fenti képen tettem hozzá egy üzenetet, hogy meg kell küldeni után a felhasználó rákattint bármelyik gomb.
Mentse a fájlt a robot, és futtatni, ne felejtsük el, hogy újra elküldeni a parancsot / start (régi gombok nem működnek.)
Így a bot fog válaszolni bennünket a sajtóban a gombot. De megjegyzem, hogy nyomja meg ismét a semmi előnyét. mert csak a parancs után / elindítani a bot ellenőrizni fogja szöveges üzenetek Sherlock Holmes és Dr. Watson.
Összefoglalva: A billentyűzet lehetővé teszi, hogy küldje el a teljes üzenet egyetlen gombnyomással a felhasználó. A gomb lehetővé teszi, hogy írjon szöveget mondatok, sőt tartalmazó Emoji. 😘
Elküldése után a bot feldolgozza a kapott mondatot, nem számít, mennyire.
Megjegyzem, hogy a felhasználó mindig ott marad egy lehetőség, hogy küldjön egy üzenetet hagyományos billentyűzetet használ.
Soros-Mode
Kétféle módon lehet használni Soros: az első - a csónakban. A küldött üzenetek a bot; második - ez a bot. valahol random chat, kiindulási beírni a bot bejelentkezési mező szöveges üzenetet.
Ma szeretnék, hogy meséljek az első változata a Soros-módban. Ezzel is csatolni Soros-gomb küldött üzenetek a bot.
Azaz a különböző gombok alatt minden üzenet, hogy végre különböző műveleteket. Például a népszerű csatornák gyakran husky végre csak használ Inline-gombok.
Soros-gomb üzenetekhez csatolt ugyanúgy ahogy azt a billentyűzetet. Ők csak abban különböznek neve és a módszer paramétereinek.
Készítettünk néhány változtatást a kódot. Most a cél az, hogy módosítsa az üzenetet, nyomja meg a gombot.
Igen, igen, Inline-gombok szerkeszteni a már elküldött üzeneteket a robot. 📝
Annak érdekében, megmondani, hogy mi folyik itt. 🛠
Kíméljük kódot, és a robot. Küldünk parancs / start, és próbálja, hogy kattintson bármelyik gomb.
Mint látható, a szöveges üzeneteket a bot változott a gomb megnyomása után.
Valójában Inline-gomb, amely képes szinte mindent - segítségével őket, akkor is küld rendszeresen üzeneteket. Minden szolgáltatás és funkció leírását a távirat Bot API. Talán ez minden, amit akartam, hogy meséljek az első lépéseket a Soros.
Robot olvasni a könyvet 📚
A parancs / elindítani a robot küldi az első oldalon - minden oldalon 700 szó a könyvben.
Használja a nyilakat, és ⬅️ ➡️ lehet lapozni - az üzenet jelenik meg a levágott 700 karakter.
Az alábbiakban hagylak a kódot a bot - indul el, elég, hogy közvetlenül a bot bármely könyv .txt formátumban
Mert ma. Merry robot 😘🤖
A fiú a Csodaországban.