Dauguma paaiškinimų apie botų vidų parašyti programuotojams. Šis — žmogui, kuris už botą moka. Nes pakanka suprasti keturias sąvokas, kad galėtum bet kuriam programuotojui užduoti aštrius klausimus, įvertinti pasiūlymą ir žinoti, kas tau priklausys pabaigoje.
Trys judančios dalys
Telegram aplikacijos, kurias vartotojai jau turi
Klientui botas — tiesiog dar vienas pokalbis. Telegram pasirūpina pristatymu, šifravimu kelyje ir push pranešimais — šią infrastruktūrą gaunate nemokamai.
Bot API — Telegram komutatorius
Telegram turi oficialią sąsają: jūsų programa sako „išsiųsk šią žinutę į šį pokalbį", Telegram pristato ir persiunčia ateinančias žinutes atgal jums. Ji nemokama ir vienoda visiems — nuo hobio botų iki bankų.
Jūsų serveris — kur botas iš tikrųjų gyvena
„Smegenys" — programa serveryje, kurį valdote jūs. Ji sprendžia, ką atsakyti, skaito ir rašo jūsų duomenų bazę, kalbasi su kitomis jūsų sistemomis. Ši dalis — tikrai jūsų.
Webhook prieš polling: kaip žinutės pasiekia jūsų serverį
Yra du būdai jūsų botui sužinoti, kad kažkas parašė. Polling — serveris ciklu klausinėja Telegram „yra kas naujo?" — paprasta, tinka kūrimo etapui. Webhook — Telegram kiekvieną žinutę atstumia į jūsų serverį tą pačią akimirką — produkcinis pasirinkimas, greitesnis ir taupesnis. Jei iš šio straipsnio įsiminsite vieną techninį terminą, tebūnie šis: produkciniai botai veikia su webhook'ais.
Kur iš tikrųjų gyvena jūsų duomenys
Boto atmintis — klientai, užsakymai, rezervacijos, istorija — gyvena jūsų duomenų bazėje jūsų serveryje, ne Telegram viduje. Telegram žinutes perduoda; jis nėra jūsų duomenų sandėlis. Tai svarbu komerciškai: jei kada migruosite, pervadinsite botą ar ant viršaus pridėsite svetainę — duomenys ir logika keliauja kartu. Užbaigus mūsų projektą klientui lieka kodas, serveris ir duomenys — principas, kurio verta reikalauti iš bet kurio tiekėjo.
Klausimas, kurį verta užduoti bet kuriam botų kūrėjui
„Jei po metų išsiskirsime — kas tiksliai lieka man?" Teisingas atsakymas: išeities kodas, boto token'as, serverio prieiga ir pilna duomenų bazė. Viskas, kas mažiau — nuoma, ne pirkinys.
Saugumo praktikos, kurios iš tiesų svarbios
- Boto token'as — generalinis raktas. Kas jį turi, tas valdo botą. Jo vieta — slaptų raktų saugykloje serveryje, niekada ne bendrame dokumente ar pokalbyje.
- Tikrinti, kad užklausos tikrai iš Telegram. Webhook galiniai taškai priima slaptą raktą, kad pašaliniai negalėtų į jūsų sistemą įpurkšti netikrų „žinučių".
- Saugoti minimumą. Rezervacijų botui reikia vardo ir laiko, o ne visų žinučių kopijos amžinai. Mažiau saugomų duomenų — mažesnis GDPR paviršius.
- Mažiausių teisių integracijos. Jei botas tik skaito užsakymo būseną, jo duomenų bazės paskyra neturi galėti užsakymų trinti.
- Stebėsena. Tyliai numiręs botas — blogiau nei jokio boto: uptime patikros ir klaidų įspėjimai (pristatomi, žinoma, per Telegram) yra rimtos konfigūracijos dalis.
Tipinis produkcinis stack'as
Mūsiškis — sąmoningai nuobodus: Node.js arba Python boto logikai, PostgreSQL duomenims, mažas VPS (nuo ~€5/mėn.) už ugniasienės, webhook'ai per HTTPS ir automatinės atsarginės kopijos. Nuobodus reiškia patikrintas mūšyje, pigus išlaikyti ir lengvai perimamas bet kurio būsimo programuotojo. Tas pats stack'as suka AdCloud — mūsų sukurto portalo — pranešimų sluoksnį, plačiau aprašytą integracijos gide.
Dažniausi klausimai
Ar botas gali skaityti visus mano Telegram pokalbius?+
Ne. Botas mato tik jam tiesiogiai siųstas žinutes arba grupės žinutes, kai toje grupėje jam aiškiai suteikta prieiga. Į jūsų asmeninius pokalbius jis neturi jokio matymo.
Kas nutinka, jei boto serveris nulūžta?+
Telegram ateinančias žinutes deda į eilę ir kurį laiką kartoja webhook pristatymą, tad trumpi sutrikimai išsisprendžia patys. Stebimas botas kūrėją įspėja anksčiau, nei klientai ką nors pastebi.
Ar Telegram botas suderinamas su GDPR?+
Botas tiek suderinamas, kiek jį tokį pastatysite: duomenys gyvena jūsų ES serveryje, jūs valdote saugojimą ir trynimą, o /delete komanda ar privatumo kontaktas patenkina teisę būti pamirštam. Mes tai įdiegiame pagal nutylėjimą.
Ar reikia ką nors publikuoti aplikacijų parduotuvėje?+
Ne. Boto registracija Telegram'e užtrunka minutes, jokios peržiūros proceso nėra, o atnaujinimai visus vartotojus pasiekia akimirksniu — vienas didžiausių praktinių pranašumų prieš mobiliąją aplikaciją.