Koľko skutočne stoja telegramové roboty? Čomu by ste mali venovať pozornosť

Minule sme sa pozreli na jednoduchší spôsob vytvorenia telegramového robota, ktorý nevyžadoval znalosti programovania, pretože... Použil som službu tretej strany a vizuálneho dizajnéra. Dnes navrhujem zvýšiť latku a hovoriť o tom, ako napísať robota pre telegram v PHP (toto je programovací jazyk). Ak nie ste programátor, nižšie uvedený materiál vám nebude jasný, preto vám odporúčam prečítať si ďalší článok. Takže, začnime.

Príprava na písanie robota

K Telegram API budeme pristupovať pomocou TelegramBotApi. Preto, aby sme mohli klonovať projekt z GitHub, potrebujeme Composer. Composer sa zvyčajne nenainštaluje bez súboru php.exe. Najjednoduchší spôsob, ako to vyriešiť, je nainštalovať Open Server.

Klonovanie projektu z Github

Otvorte príkazový riadok, pomocou príkazu cd prejdite do priečinka, do ktorého nainštalujeme kód, a postupne vykonajte nasledujúce príkazy:

Php -r "copy("https://getcomposer.org/installer", "composer-setup.php");"
php skladateľ-setup.php
php -r "unlink("composer-setup.php");"

PHP skladateľ.phar vyžaduje telegram-bot/api

Ideme do priečinka a uistíme sa, že všetky súbory sú úspešne nainštalované.


Teraz tieto súbory umiestnime na náš hosting do priečinka, v ktorom sa bude nachádzať náš bot. Teraz, keď je príprava dokončená, začnime kódovať.

Kódovací telegramový bot v php

V priečinku s botom si vytvoríme súbor index.php, do ktorého napíšeme kód nášho bota. Dôležité! Kódovanie súborov - utf-8 bez bom!

header("Typ obsahu: text/html; charset=utf-8");
// pripojenie k API
require_once("vendor/autoload.php");
// vytvorte premennú bota
$token = "token vydaný BotFatherom";
$bot = new \TelegramBot\Api\Client($token);

Keď sme vytvorili premennú bot $bot, môžeme pristupovať k api, ale najprv musíme zaregistrovať webhook.

Čo je webhook?

WebHook– toto je mechanizmus, ktorým je robot pripojený k telegramu. Keď používateľ zadá príkaz do telegramu, musí sa nejakým spôsobom preniesť na server a dostať odpoveď. Presne na to slúži Webhook. Povie telegramu, kam má poslať príkazy. Keďže Telegram NEVIEM presne, kde sa nachádza náš kód bota, musíme to opraviť.

Na tento účel máme príkaz: $bot->setWebhook

// ak robot ešte nie je zaregistrovaný, zaregistrujte ho
if(!file_exists("registered.trigger"))(
/**
* súbor Register.trigger sa vytvorí po zaregistrovaní robota.
* ak tento súbor neexistuje, robot neexistuje
*zaregistrované v telegrame
*/
// URL aktuálnej stránky
$page_url = "https://".$_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
$vysledok = $bot->setWebhook($page_url);
if($result)(
file_put_contents("registered.trigger",time()); // vytvorte súbor na zastavenie opakovaných registrácií
}
}

Skôr než budeme pokračovať v písaní kódu, uložme indexový súbor a spustite ho vo forme, v akej je teraz. Po spustení by sa mal v priečinku s robotom objaviť ďalší súbor – register.trigger. Ak sa súbor objaví, znamená to, že všetko bolo vykonané správne a Telegram vie, kde je náš robot.

Povinné príkazy pre roboty

Teraz musíme naučiť nášho robota reagovať na príkazy /start a /help, ktoré sú povinné pre všetkých robotov.

// požadovaný. Spustenie robota
$bot->
$answer = "Vitajte!";
$bot->sendMessage($message->getChat()->getId(), $answer);
});
// Pomoc
$bot->command("help", funkcia ($message) použitie ($bot) (
$answer = "Príkazy:
/pomoc pomoc";
$bot->sendMessage($message->getChat()->getId(), $answer);
});
// spustenie spracovania
$bot->run();

Uložme indexový súbor znova a pokúsme sa otestovať nášho robota! Hurá, všetko funguje! Ďalšie kódovanie závisí od zadanej úlohy, a preto je čas porozprávať sa o štruktúre našej knižnice API

Ako funguje knižnica TelegramBotApi

Príkazy sú dané blokom:

$bot->command("start", funkcia ($message) použite ($bot) (
});

Všetky príkazy musia byť pred volaním $bot->run(); , inak to nebude fungovať. Tie. $bot->run(); by mal zatvoriť náš kód.

Odoslanie správy do rozhrania API TelegramBot

Odoslanie správy sa vykonáva príkazom:

$bot->sendMessage(id používateľa, ktorému posielame, text správy);

Odosielanie obrázkov do TelegramBot API

Odosielanie obrázkov sa vykonáva odoslaním telegramového odkazu na tento obrázok. Messenger nezávisle stiahne obrázok a dá ho používateľovi! Používateľovi napríklad pošleme obrázok, ak zadá príkaz /getpic.
// odošlite obrázok
$bot->command("getpic", použitie funkcie ($message) ($bot) (
$pic = "http://binetmed15.beget.tech/wp-content/uploads/forbot.jpg";
$bot->sendPhoto($message->getChat()->getId(), $pic);
});

Odosielanie dokumentov a hlasových správ

Dokumenty, na rozdiel od obrázkov, musia byť odoslané poštou. Našťastie knižnica TelegramBotApi urobí všetko, čo potrebujete, bez našej účasti. Najprv nahrajte dokument do priečinka s naším robotom (pozri obrázok nižšie)

Na odoslanie dokumentu používame nasledujúci kód:

// prenos dokumentu
$bot->command("getdoc", použitie funkcie ($message) ($bot) (
$document = new \CURLFile("sendfrombot.txt");
$bot->sendDocument($message->getChat()->getId(), $document);
});

Upozorňujeme, že riadok

$document = new \CURLFile("sendfrombot.txt");

zahŕňa umiestnenie súboru sendfrombot txt do koreňového priečinka robota. Do premennej však môžete odovzdať aj bežnú adresu URL. Situácia s prenosom hlasových správ (hlasov) je podobná:

// poslať hlas
$bot->command("getvoice", použite funkciu ($message) ($bot) (
$voice = "http://binetmed15.beget.tech/wp-content/uploads/glazunov_maxim-prividenie.mp3";
$bot->sendVoice(
$message->getChat()->getId(),
$voice //,
//$trvanie,
//$replyToMessageId,
//$replyMarkup,
//$disableNotification
);
});

Prijímanie správ z chatu

Na získanie údajov z chatu existuje príkaz v rozhraní API .on(). S jeho pomocou môžeme k nášmu telegramovému robotovi pripojiť neurónovú sieť na analýzu správ alebo vytvoriť jednoduchú chatovaciu miestnosť pomocou Markovovho algoritmu na odosielanie náhodných správ v reakcii na správy používateľov. Môže to vyzerať nejako takto:

// klábosiť
$bot->on(funkcia($Update) použitie ($bot)(
$message = $Update->getMessage();
$mtext = $message->getText();
$cid = $message->getChat()->getId();
if(mb_stripos($mtext,"ahoj robot") !== false)(
$bot->sendMessage($message->getChat()->getId(), "na zdravie aj tebe, kámo!");
}
), function($message) use ($name)(
vrátiť true; // keď je to pravda - príkaz prejde
});

Botfathera informujeme o zozname našich tímov

Po zaregistrovaní príkazov musíte Botfathera informovať o ich prítomnosti (prísne povedané, nie je to povinné, ale stále je vhodné to pridať). Otvorte chat s Botfatherom a napíšte /setcommands (v prípade preklepu použite príkaz /setcommands na prepísanie).

Teraz poďme otestovať nášho telegramového robota.

Ako vidíte, všetko je v poriadku! Teraz už viete ako vytvoriť svoj vlastný bot v php pre telegram. Veľa šťastia pri rozvoji! Nabudúce budeme pokračovať vo vylepšovaní nášho robota a vymýšľame, ako pridať tlačidlá, ale zatiaľ odporúčam stiahnuť si zdrojový kód aktuálnej lekcie.

A tiež prečo po určitom čase zomrú a čo je potrebné na vytvorenie najjednoduchšieho telegramového robota. O všetkom v poriadku v našom článku.

Telegramové roboty sa už stali súčasťou našich životov a sú schopné vykonávať rôzne automatizované úlohy, ako je kontrola stavu webovej stránky, prítomnosť nových komentárov na sociálnych sieťach, sťahovanie videí z YouTube a dokonca aj samostatný predaj tovaru na internete. obchod. Každý z nás s najväčšou pravdepodobnosťou aspoň raz využil takéto služby. Čo môžem povedať, aj keď vláda už používa tento mechanizmus na objednanie lekára.

Z čoho pozostáva tento úžasný robot?

A čo je potrebné na jeho vytvorenie? Mať vlastného telegramového robota nie je len o registrácii v špeciálnom chate @BotFather. A nie bežné vytvorenie nového kanála alebo četu. Ide o celý reťazec nastavení a mechanizmov, ktoré sa navzájom ovplyvňujú.

Na nastavenie vlastného robota budete potrebovať (jednoduchými slovami):

  1. doména prvá úroveň pre webovú stránku (v priemere stojí 100 až 600 rubľov ročne)
    Prvou úrovňou je webová stránka.
    Doména druhej úrovne nebude fungovať alebo bude stále vyžadovať samostatný certifikát SSL (druhá úroveň je úroveň 2..
  2. Certifikát SSL je balík služieb, ktorý vytvára overené pripojenie k stránke (v prehliadači vidíme namiesto http https a znak štítu alebo visiaceho zámku). Umožňuje potvrdiť, že stránku vlastní skutočná osoba alebo spoločnosť, ktorá spĺňa všetky pravidlá a požiadavky siete.
    Existujú bezplatné certifikáty, ale roboti Telegram ich často zlyhávajú a ich inštalácia je pre bežného používateľa siete veľmi náročná.
    Platené náklady od 1900 rubľov ročne.
  3. Hosting– miesto, kde sú uložené dáta a spúšťajú sa príkazy (skripty) odoslané robotom. Priemerná cena spoľahlivého hostingu, ktorý podporuje skripty a databázu, je 300 rubľov mesačne.

Ďalšou fázou je napísanie kódu pre samotného bota, ktorý sa cenovo príliš nelíši od programovania a tvorby vlastnej webovej stránky. Nezamieňajte si to s nastavením WordPress alebo iného tvorcu webových stránok. V prípade telegramového robota bude potrebné napísať kód a algoritmy.

Konečné minimálne náklady na telegramového robota sú:
300 + 1900 + 3600 = 5800 rubľov ročne

Bez zohľadnenia ceny jeho výroby, ktorá môže byť buď 1000 rubľov alebo 100 000. V závislosti od náročnosti realizácie.

Čomu by ste mali venovať pozornosť

Ak spoločnosť alebo jednotlivec vyvíja telegramové roboty, stále platí týchto 6 000 rubľov ročne za technické služby. A môžu na nich vytvoriť najmenej 1000 robotov. Závisí od ich pracovného zaťaženia. Preto dosť možno nezohľadňujú cenu hardvéru vo vašej objednávke.

Je jasné, prečo veľa dobrých robotov zomrie. Niekto niečo napísal, viac ako raz, a potom si jednoducho uvedomil, že projekty sa nerozbehli a prestal platiť za hosting a tým aj za vášho bota, ktorý bol predaný skôr.

Ako sa pred takouto situáciou chrániť?
1. Uzavrieť zmluvu, prípadne s poplatkom za predplatné
2. Zaplaťte si prenájom hostingu a domény s certifikátom sami

Druhý prípad je najspoľahlivejší, aj keď nákladný. Ale váš robot bude vždy pod vašou kontrolou. A ak sú potrebné zlepšenia, vždy môžete niekoho najať na jednorazovú prácu.

+ Ďalší dôležitý bod

„Chcem, aby robot posielal komentáre z Instagramu a tiež kontroloval Direct“
Skvelé! Urobíme to všetko za vás! – odpovedá freelancer.

Nie vždy to však znamená, že na čítanie údajov z Instagramu potrebujete aj technické účty sociálnych sietí, na obsluhu ktorých budete potrebovať aktuálnu knižnicu a tiež proxy. A ak sú akcie zložité, mobilné proxy sú úplne drahé. Čo vám k poplatku za predplatné pridá asi 500 rubľov mesačne.

Navyše Instagram často takéto profily blokuje. Je potrebné ich znovu vytvoriť a nakonfigurovať. Bude vývojár pripravený opraviť vám všetko lacno za pár mesiacov, keď už dostal nominálnych 30 000 rubľov za všetko?

Pri plánovaní vytvorenia telegramového robota pre vaše účely by ste mali vždy pochopiť, že to znamená mesačnú údržbu. A ak interaguje so službami tretích strán, dôjde aj k ich údržbe a podpore.

Ak sa rozhodnete zaobstarať si robota, urobte informované rozhodnutie. Robot nie je módna funkcia, je to prostriedok na automatizáciu vašich každodenných rutinných operácií. Pochopením výhod farmárčenia botov, poznaním nákladov a úskalí popísaných v tomto článku sa môžete vyhnúť zbytočným stratám a zvýšiť svoju vlastnú efektivitu.

Pre Telegram sme zhromaždili dva a pol tucta najzaujímavejších robotov... A ďalšie boli objavené pomerne nedávno. Rozober to.

1. Rýchla AID - pomocník pre Telegram určený na poskytovanie prvej pomoci. Zachránil nejeden život.

2. GrammarNaziBot - robot na kontrolu pravopisu. Môžete ho pridať do všeobecného chatu, aby sa každý hanbil za nesprávny pravopis.

3. Ovládač Bot - bot navrhnutý pre správcov kanálov Telegram, ktorý podporuje oneskorené publikácie a ďalšie.

4. Bot z obchodu s telegramom - ale pomocou tohto inteligentného robota môžete hľadať ďalšie roboty. Veľmi pohodlný pomocník, ktorý pomohol vytvoriť túto kolekciu.

5. Arénová hra - mimoriadny herný robot, s pomocou ktorého sa môžete na pár minút rozptýliť mimoriadnou hrateľnosťou.

6. CryptoBot - bot, ktorý sleduje náklady na bitcoiny a ethereum a tiež zobrazuje graf zmien ceny prvého.

7. Meteorológ - tento robot posiela počasie vo vybraných mestách podľa plánu. V premenlivej jeseni sa to bude hodiť.

8. TempMail - robot pre Telegram, pomocou ktorého si môžete v priebehu niekoľkých sekúnd vytvoriť dočasnú poštovú schránku na registráciu v pochybných službách.

9. Filmový nadšenec - ale tento robot vám povie, aký film alebo televízny seriál si dnes večer pozrieť. Nové produkty sleduje nielen na oficiálnych zdrojoch.

10. Yandex.Translate - bot na preklad z ruštiny do angličtiny, z angličtiny do ruštiny a naopak. Jeden z najužitočnejších v zbierke.

11. Akcenty - robot vám povie o prízvukoch v najzložitejších ruských slovách. Bude to skvelá pomoc pri smiešnych hádkach s priateľmi.

12. InstaSave je zaujímavý bot pre Telegram, pomocou ktorého si môžete stiahnuť fotografie a dokonca aj príbehy z Instagramu.

13. Pomodoro - mimoriadny bot timer pre tú najproduktívnejšiu prácu. Pomôže vám pracovať 25 minút a odpočívať 5 minút.

14. MyCookBot - jedinečný robot, ktorý môže navrhnúť zaujímavý recept na základe zoznamu produktov, ktoré sa vám povaľujú v chladničke.

15. Vinci - sprievodný bot k rovnomennej mobilnej aplikácii, ktorá je určená na spracovanie fotografií pomocou neurónových sietí.

16. DeLorean - stroj reálneho času, ktorý vám v budúcnosti pomôže posielať správy sami sebe. Pohodlné namiesto pripomienok.

17. Do PDF - bot navrhnutý na prevod DOC, DOCX, ODT, TXT, JPG a iných typov súborov do PDF.

18. Dr.Web - patentovaný bot populárneho antivírusového softvéru určený na skenovanie súborov do 10 MB na prítomnosť vírusov.

19. Programovanie - bot, ktorý je určený nielen pre profesionálov, ale aj pre začínajúcich programátorov.

20. SoundCloud - inteligentný asistent na vyhľadávanie a sťahovanie skladieb z obľúbenej služby priamo cez messenger.

21. EasyStrongPasswordBot - mobilný asistent určený na vytváranie zložitých hesiel, ktoré nemožno hacknúť.

22. Wolfram Alpha - asistent, ktorý bude riešiť matematické problémy a rozprávať o vedeckých princípoch cez Telegram.

23. PollBot - jednoduchý robot určený na vytváranie dotazníkov v skupinových chatoch. Veľmi pohodlné.

24. Prekladateľ - najrýchlejší možný preklad medzi ruštinou a angličtinou. Veľmi jednoduché a pohodlné.

25. Dievčatá na Instagrame - robot pre tých, ktorí sú smutní alebo nudí. Ukazuje fotky krásnych dievčat z Instagramu.