Koliko zaista koštaju Telegram botovi? Na šta treba obratiti pažnju

Prošli put smo pogledali jednostavniji način za kreiranje telegram bota, za koji nije bilo potrebno znanje programiranja jer... Koristio sam uslugu treće strane i vizualni dizajner. Danas predlažem da podignemo ljestvicu i razgovaramo o tome kako napisati bot za Telegram u PHP-u (ovo je programski jezik). Ako niste programer, onda vam materijal u nastavku neće biti jasan, pa vam savjetujem da pročitate još jedan članak. Dakle, počnimo.

Priprema za pisanje bota

Pristupit ćemo Telegram API-ju koristeći TelegramBotApi. Shodno tome, da bismo klonirali projekat sa GitHuba, potreban nam je Composer. Composer se obično ne instalira bez php.exe datoteke. Najlakši način da to popravite je da instalirate Open Server.

Kloniranje projekta sa Github-a

Otvorite komandnu liniju, koristite naredbu cd da odete u mapu u koju ćemo instalirati kod i izvršite sljedeće naredbe uzastopno:

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

Php composer.phar zahtijeva telegram-bot/api

Ulazimo u mapu i uvjeravamo se da su sve datoteke uspješno instalirane.


Sada postavljamo ove fajlove na naš hosting u fasciklu u kojoj će se nalaziti naš bot. Sada kada je priprema završena, krenimo s kodiranjem.

Kodiranje Telegram bota u php

U folderu sa botom napravićemo fajl index.php u koji ćemo napisati kod našeg bota. Bitan! Kodiranje fajlova - utf-8 bez bom!

header("Tip sadržaja: tekst/html; charset=utf-8");
// povezivanje na API
require_once("vendor/autoload.php");
// kreiramo varijablu bota
$token = "token koji je izdao BotFather";
$bot = novi \TelegramBot\Api\Client($token);

Nakon što smo kreirali bot varijablu $bot, možemo pristupiti API-ju, ali prvo moramo registrirati webhook.

Šta je webhook?

WebHook– ovo je mehanizam kojim se bot povezuje sa telegramom. Kada korisnik unese naredbu u Telegram, ona se nekako mora prenijeti na server i dobiti odgovor. To je upravo ono čemu služi Webhook. On kaže telegramu gdje da pošalje komande. Pošto Telegram NE ZNA tačno gdje se nalazi naš bot kod, moramo ovo popraviti.

U tu svrhu imamo naredbu: $bot->setWebhook

// ako bot još nije registriran, registrirajte ga
if(!file_exists("registered.trigger"))(
/**
* registered.trigger fajl će biti kreiran nakon što se bot registruje.
* ako ovaj fajl ne postoji, onda bot ne postoji
*registrovano u Telegramu
*/
// URL trenutne stranice
$page_url = "https://".$_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
$result = $bot->setWebhook($page_url);
if($rezultat)(
file_put_contents("registered.trigger",time()); // kreiramo datoteku za zaustavljanje ponovljenih registracija
}
}

Prije nego što nastavimo s pisanjem koda, spremimo indeksnu datoteku i pokrenemo je u obliku u kojem je sada. Nakon pokretanja, u folderu sa botom bi se trebao pojaviti još jedan fajl – registered.trigger. Ako se datoteka pojavi, to znači da je sve urađeno kako treba i Telegram zna gdje je naš bot.

Obavezne komande za botove

Sada treba da naučimo našeg bota da odgovara na komande /start i /help koje su obavezne za sve botove.

// potrebno. Pokretanje bota
$bot->
$answer = "Dobrodošli!";
$bot->sendMessage($message->getChat()->getId(), $answer);
});
// pomoć
$bot->command("pomoć", funkcija ($message) upotreba ($bot) (
$answer = "Komande:
/pomoć - pomoć";
$bot->sendMessage($message->getChat()->getId(), $answer);
});
// početak obrade
$bot->run();

Sačuvajmo indeksni fajl ponovo i pokušajmo da testiramo našeg bota! Ura, sve radi! Dalje kodiranje ovisi o zadatku koji ste postavili i stoga je vrijeme da razgovaramo o tome kako je strukturirana naša API biblioteka

Kako radi biblioteka TelegramBotApi

Komande se daju blokom:

$bot->command("start", funkcija ($message) upotreba ($bot) (
});

Sve naredbe moraju biti prije pozivanja $bot->run(); , inače neće raditi. One. $bot->run(); treba zatvoriti naš kod.

Slanje poruke na TelegramBot API

Slanje poruke se vrši naredbom:

$bot->sendMessage(id korisnika kome šaljemo, tekst poruke);

Slanje slika na TelegramBot API

Slanje slika se vrši slanjem Telegram linka na ovu sliku. Messenger samostalno preuzima sliku i daje je korisniku! Na primjer, mi ćemo poslati sliku korisniku ako unese /getpic komandu.
// poslati sliku
$bot->command("getpic", funkcija ($message) upotreba ($bot) (
$pic = "http://binetmed15.beget.tech/wp-content/uploads/forbot.jpg";
$bot->sendPhoto($message->getChat()->getId(), $pic);
});

Slanje dokumenata i glasovnih poruka

Dokumenti se, za razliku od slika, moraju slati putem POST-a. Na sreću, TelegramBotApi biblioteka će učiniti sve što vam je potrebno bez našeg učešća. Prvo, otpremimo dokument u folder sa našim botom (pogledajte sliku ispod)

Za slanje dokumenta koristimo sljedeći kod:

// prenosimo dokument
$bot->command("getdoc", funkcija ($message) upotreba ($bot) (
$document = novi \CURLFile("sendfrombot.txt");
$bot->sendDocument($message->getChat()->getId(), $document);
});

Imajte na umu da je linija

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

uključuje postavljanje sendfrombot txt datoteke u root folder bota. Međutim, varijablu možete proslijediti i običan URL. Slična je situacija i sa prijenosom glasovnih poruka (glasova):

// poslati glas
$bot->command("getvoice", funkcija ($message) upotreba ($bot) (
$voice = "http://binetmed15.beget.tech/wp-content/uploads/glazunov_maxim-prividenie.mp3";
$bot->sendVoice(
$message->getChat()->getId(),
$glas //,
//$duration,
//$replyToMessageId,
//$replyMarkup,
//$disableNotification
);
});

Primanje poruka sa chata

Da biste dobili podatke iz chata, postoji komanda u API-ju .on(). Uz njegovu pomoć, možemo priključiti neuronsku mrežu našem Telegram botu za analizu poruka ili izgraditi jednostavnu sobu za ćaskanje koristeći Markov algoritam za slanje nasumičnih poruka kao odgovor na poruke korisnika. Moglo bi izgledati otprilike ovako:

// chatter
$bot->on(function($Update) use ($bot)(
$message = $Update->getMessage();
$mtext = $message->getText();
$cid = $message->getChat()->getId();
if(mb_stripos($mtext,"hello bot") !== false)(
$bot->sendMessage($message->getChat()->getId(), "zdravo i tebi, stari!");
}
), funkcija ($message) upotreba ($name)(
return true; // kada je ovo istina - naredba prolazi
});

Obavještavamo Botfathera o listi naših timova

Nakon što se komande registruju, morate obavijestiti Botfather o njihovom prisustvu (strogo govoreći, ovo nije obavezno, ali je ipak preporučljivo dodati). Otvorite razgovor sa Botfatherom i otkucajte /setcommands (u slučaju greške u kucanju, koristite komandu /setcommands da biste ih poništili).

Sada testirajmo našeg telegram bota.

Kao što vidite, sve je ok! Sada znaš kako da kreirate sopstvenog bota u php za telegram. Sretno sa razvojem! Sljedeći put ćemo nastaviti sa usavršavanjem našeg bota i shvatiti kako dodati dugmad, ali za sada preporučujem preuzimanje izvornog koda trenutne lekcije.

I također zašto umiru nakon nekog vremena i što je potrebno da se napravi najjednostavniji telegram bot. O svemu po redu u našem članku.

Telegram botovi su već postali dio naših života i sposobni su za obavljanje raznih automatiziranih zadataka, poput provjere statusa web stranice, prisutnosti novih komentara na društvenim mrežama, preuzimanja videa s YouTubea, pa čak i samostalne prodaje robe na internetu. prodavnica. Svako od nas je najvjerovatnije barem jednom koristio ovakve usluge. Šta reći, čak i ako vlada već koristi ovaj mehanizam da zakaže pregled kod doktora.

Od čega se sastoji ovaj divni robot?

I šta je potrebno da se to stvori? Imati vlastitog Telegram bota nije samo registracija u posebnom chatu @BotFather. A ne uobičajeno kreiranje novog kanala ili chata. Ovo je cijeli lanac postavki i mehanizama koji međusobno djeluju.

Za postavljanje vlastitog bota trebat će vam (jednostavnim riječima):

  1. Domain prvi nivo za web stranicu (u prosjeku košta od 100 do 600 rubalja godišnje)
    Prvi nivo je web stranica.
    Domena drugog nivoa neće raditi ili će i dalje zahtijevati poseban SSL certifikat (drugi nivo je level2..
  2. Certifikat SSL je servisni paket koji uspostavlja verifikovanu vezu sa sajtom (u pretraživaču vidimo https umesto http i znak štita ili katanca). Omogućava vam da potvrdite da je stranica u vlasništvu stvarne osobe ili kompanije koja ispunjava sva pravila i zahtjeve mreže.
    Postoje besplatni certifikati, ali Telegram botovi ih često ne uspijevaju, a prosječnom korisniku mreže vrlo je teško instalirati ih sami.
    Plaćeni troškovi od 1900 rubalja godišnje.
  3. Hosting– mjesto gdje se pohranjuju podaci i pokreću naredbe (skripte) koje šalje bot. Prosječna cijena pouzdanog hostinga koji podržava skripte i bazu podataka je 300 rubalja mjesečno.

Sljedeća faza je pisanje koda za samog bota, koji se po cijeni ne razlikuje mnogo od programiranja i izrade vlastite web stranice. Samo nemojte ovo brkati sa postavljanjem WordPress-a ili drugog alata za izradu web stranica. U slučaju Telegram bota, biće potrebno napisati kod i algoritme.

Konačna minimalna cijena telegram bota je:
300 + 1900 + 3600 = 5800 rubalja godišnje

Ne uzimajući u obzir cijenu njegove proizvodnje, koja može biti ili 1000 rubalja ili 100.000. U zavisnosti od složenosti implementacije.

Na šta treba obratiti pažnju

Ako kompanija ili pojedinac razvija telegram botove, oni i dalje plaćaju ovih 6.000 rubalja godišnje za tehničke usluge. I na njima mogu stvoriti najmanje 1000 botova. Zavisi od njihovog obima posla. Stoga, vrlo je moguće da ne uzimaju u obzir cijenu hardvera u vašoj narudžbi.

Postaje jasno zašto mnogi dobri botovi umiru. Neko je nešto napisao, više puta, a onda jednostavno shvatio da projekti nisu krenuli, i prestao je da plaća hosting, a sa njim i vašeg bota, koji je ranije prodat.

Kako se zaštititi od takve situacije?
1. Zaključiti ugovor, eventualno uz pretplatu
2. Platite sami zakup hostinga i domene sertifikatom

Drugi slučaj je najpouzdaniji, iako skup. Ali vaš bot će uvijek biti pod vašom kontrolom. A ako su potrebna poboljšanja, uvijek možete zaposliti nekoga za jednokratni posao.

+ Još jedna važna tačka

“Želim da bot šalje komentare sa Instagrama, a također provjeri Direct”
Odlično! Uradićemo sve za vas! – odgovara freelancer.

Ali to ne znači uvijek da su vam za čitanje podataka sa Instagrama potrebni i tehnički nalozi na društvenim mrežama, za servisiranje kojih će vam trebati ažurirana biblioteka, ali i proxy. A ako su radnje složene, onda su mobilni proksiji potpuno skupi. Što će dodati oko 500 rubalja mjesečno na vašu pretplatu.

Osim toga, Instagram često blokira takve profile. Treba ih ponovo kreirati i konfigurirati. Hoće li programer biti spreman da vam sve popravi jeftino za nekoliko mjeseci, nakon što je za sve već dobio nominalnih 30.000 rubalja?

Kada planirate da kreirate telegram bot za svoje potrebe, uvek treba da shvatite da to podrazumeva mesečno održavanje. A ako je u interakciji sa uslugama trećih strana, postojat će i njihovo održavanje i podrška.

Ako odlučite da nabavite sebi bota, donesite informiranu odluku. Bot nije moderna karakteristika, to je sredstvo za automatizaciju vaših svakodnevnih rutinskih operacija. Razumijevanjem prednosti bot farminga, znajući troškove i zamke opisane u ovom članku, možete izbjeći nepotrebne gubitke i povećati vlastitu efikasnost.

Sakupili smo dva i po tuceta najzanimljivijih botova za Telegram... A drugi su otkriveni sasvim nedavno. Rastavi ga.

1. Fast AID - pomoćnik za Telegram dizajniran za pružanje prve pomoći. Spasio više od jednog života.

2. GrammarNaziBot - bot za provjeru pravopisa. Možete ga dodati u opći chat tako da se svi stide zbog netačnog pravopisa.

3. Controller Bot - bot dizajniran za administratore Telegram kanala, koji podržava odložene objave i još mnogo toga.

4. Telegram Store Bot - ali uz pomoć ovog pametnog bota možete tražiti druge botove. Vrlo zgodan asistent koji je pomogao u stvaranju ove kolekcije.

5. Arena igra - izvanredan gaming bot, uz pomoć kojeg možete na nekoliko minuta odvući pažnju izvanrednim igranjem.

6. CryptoBot - bot koji prati cijenu Bitcoina i Ethereuma, a također prikazuje grafikon promjena cijene prvog.

7. Weatherman - ovaj bot šalje vremensku prognozu u odabranim gradovima prema rasporedu. Bit će korisno u promjenljivoj jeseni.

8. TempMail - bot za Telegram, s kojim možete stvoriti privremeni poštanski sandučić za nekoliko sekundi za registraciju na sumnjive usluge.

9. Zaljubljenik u filmove - ali ovaj bot će vam reći koji film ili TV seriju da gledate večeras. On prati nove proizvode ne samo na službenim izvorima.

10. Yandex.Translate - bot za prevođenje sa ruskog na engleski, sa engleskog na ruski i obrnuto. Jedan od najkorisnijih u kolekciji.

11. Akcenti - bot će vam reći o akcentima u najškakljivijim ruskim riječima. Biće od velike pomoći u smešnim raspravama sa prijateljima.

12. InstaSave je zanimljiv bot za Telegram, s kojim možete preuzeti fotografije, pa čak i priče sa Instagrama.

13. Pomodoro - izvanredan bot tajmer za najproduktivniji rad. Pomoći će vam da radite 25 minuta i da se odmorite 5 minuta.

14. MyCookBot - jedinstveni bot koji može predložiti neki zanimljiv recept na osnovu liste proizvoda koji leže u vašem frižideru.

15. Vinci - prateći bot za istoimenu mobilnu aplikaciju koja je dizajnirana za obradu fotografija s neuronskim mrežama.

16. DeLorean - stvarna vremenska mašina koja će vam pomoći da šaljete poruke sebi u budućnosti. Zgodno umjesto podsjetnika.

17. U PDF - bot dizajniran za pretvaranje DOC, DOCX, ODT, TXT, JPG i drugih vrsta datoteka u PDF.

18. Dr.Web - vlasnički bot popularnog antivirusnog softvera dizajniran za skeniranje datoteka do 10 MB na viruse.

19. Programiranje - bot koji je dizajniran ne samo za profesionalne, već i za programere početnike.

20. SoundCloud - pametni asistent za traženje i preuzimanje pjesama s popularne usluge direktno putem messengera.

21. EasyStrongPasswordBot - mobilni asistent dizajniran za kreiranje složenih lozinki koje se ne mogu hakovati.

22. Wolfram Alpha - asistent koji će rješavati matematičke probleme i govoriti o naučnim principima putem Telegrama.

23. PollBot - jednostavan bot dizajniran za kreiranje upitnika u grupnim razgovorima. Vrlo povoljno.

24. Prevodilac - najbrži mogući prijevod između ruskog i engleskog. Vrlo jednostavno i praktično.

25. Instagram Girls - bot za one koji su tužni ili dosadni. Pokazuje fotografije lijepih djevojaka sa Instagrama.