Hvilken hosting skal man vælge til en telegrambot. Hvor meget koster Telegram-bots egentlig? Kloning af et projekt fra GitHub

Vi har samlet to og et halvt dusin af de mest interessante bots til Telegram .. Og andre blev opdaget for ganske nylig. Skille ad.

1. Hurtig AID - assistent for Telegram, designet til at yde førstehjælp. Reddede mere end ét liv.

2. GrammatikNaziBot - en stavekontrolbot. Det kan føjes til den generelle chat, så alle skammer sig over den forkerte stavning.

3. Controller Bot - en bot designet til kanaladministratorer i Telegram, der understøtter udskudte publikationer og mere.

4. Telegram Butik Bot - men ved hjælp af denne smarte bot vil det være muligt at søge efter andre bots. En meget praktisk assistent, der hjalp med at skabe denne samling.

5. Arena spil - en ekstraordinær spilbot, ved hjælp af hvilken den vil vise sig at blive distraheret i et par minutter af ekstraordinært gameplay.

6. CryptoBot - en bot, der overvåger værdien af ​​Bitcoin og Ethereum, og viser også en graf over prisændringen på førstnævnte.

7. Vejrmand - denne bot sender vejret i udvalgte byer efter en tidsplan. Viser sig at være nyttig i omskifteligt efterår.

8. TempMail - en bot til Telegram, med hvilken du kan oprette en midlertidig postkasse til registrering på tvivlsomme tjenester på få sekunder.

9. Film fan - men denne bot vil fortælle dig, hvilken film eller tv-serie du skal se i aften. Han følger nye produkter ikke kun på officielle ressourcer.

10. Yandex.Translate - bot til oversættelse fra russisk til engelsk, fra engelsk til russisk og omvendt... En af de mest brugbare i samlingen.

11. Accenter - botten vil fortælle dig om stress i de mest geniale russiske ord. Vil være en stor hjælp i latterlige skænderier med venner.

12. InstaSave - en interessant bot til Telegram, med hvilken du kan downloade billeder og endda historier fra Instagram.

13. Pomodoro - en ekstraordinær bot-timer til det mest produktive arbejde. Han vil hjælpe dig med at arbejde i 25 minutter og hvile i 5 minutter.

14. MyCookBot - en unik bot, der kan foreslå nogle interessante opskrifter baseret på listen over produkter, der ligger rundt omkring i dit køleskab.

15. Vinci - en ledsager-bot til mobilapplikationen af ​​samme navn, som er designet til at behandle fotos med neurale netværk.

16. DeLorean - en realtidsmaskine, der hjælper dig med at sende beskeder til dig selv i fremtiden. Praktisk i stedet for påmindelser.

17. Til PDF - en bot designet til at konvertere DOC, DOCX, ODT, TXT, JPG og andre typer filer til PDF.

18. Dr.Web - en proprietær bot af populær antivirussoftware designet til at scanne filer på op til 10 MB for virus.

19. Programmering - en bot, der er skræddersyet ikke kun til professionelle, men også til nybegyndere.

20. SoundCloud - en smart assistent til at søge og downloade numre fra en populær tjeneste direkte gennem messengeren.

21. EasyStrongPasswordBot - en mobilassistent designet til at skabe komplekse adgangskoder, der ikke kan knækkes.

22. Wolfram alfa - en assistent, der vil løse matematiske problemer og tale om videnskabelige principper via Telegram.

23. PollBot - en simpel bot designet til at oprette spørgeskemaer i gruppechat. Meget behagelig.

24. Oversætter - den hurtigst mulige oversættelse mellem russisk og engelsk. Meget enkel og nem at bruge.

25. Instagram piger - en bot til dem, der er triste eller kede af det. Det viser billeder af smukke piger fra Instagram.

Og også hvorfor de dør efter et stykke tid, og hvad der skal til for at skabe den enkleste telegrambot. Alt i orden i vores artikel.

Telegram-bots er allerede gået ind i vores liv og er i stand til at udføre forskellige automatiserede opgaver, såsom at kontrollere webstedets status, tilstedeværelsen af ​​nye kommentarer på sociale netværk, downloade videoer fra YouTube og endda sælge varer på egen hånd i en online butik. Hver af os har mindst én gang, men højst sandsynligt, brugt sådanne tjenester. Hvad kan jeg sige, selvom regeringen allerede bruger denne mekanisme til at lave en aftale med en læge.

Hvad er denne vidunderlige robot lavet af?

Og hvad skal der til for at skabe det? Din egen Telegram-bot er ikke bare registrering i den særlige @BotFather-chat. Og ikke den sædvanlige oprettelse af en ny kanal eller chat. Dette er en hel kæde af indstillinger og mekanismer, der interagerer med hinanden.

For at opsætte din egen bot skal du bruge (i enkle ord):

  1. Domæne det første niveau for webstedet (i gennemsnit koster det fra 100 til 600 rubler om året)
    Det første niveau er webstedet.
    Et domæne på andet niveau fungerer ikke, eller du skal stadig bruge et separat SSL-certifikat til det (det andet niveau er niveau 2 ..
  2. Certifikat SSL er en servicepakke, der etablerer en verificeret forbindelse til en hjemmeside (i browseren ser vi https i stedet for http og et skjoldskilt eller en hængelås). Giver dig mulighed for at bekræfte, at siden er ejet af en rigtig person eller virksomhed, der opfylder alle netværkets normer og krav.
    Der er gratis certifikater, men Telegram-bots fejler ofte på dem, og at installere dem på egen hånd er meget vanskeligt for en almindelig netværksbruger.
    Betalte omkostninger fra 1900 rubler om året.
  3. Hosting- stedet, hvor dataene er gemt, samt de kommandoer (scripts), der sendes af botten, køres. Den gennemsnitlige pris for en pålidelig hosting, der understøtter scripts og en database, er 300 rubler om måneden.

Næste trin er allerede at skrive koden til selve botten, som til en pris ikke er meget anderledes end programmering og oprettelse af din egen hjemmeside. Bare lad være med at forveksle dette med tilpasning af WordPress eller en anden builder. I tilfælde af Telegram-bot, vil det være nødvendigt at skrive koden og algoritmerne.

Den samlede minimumsomkostning for en telegrambot er:
300 + 1900 + 3600 = 5800 rubler om året

Eksklusiv prisen for dens fremstilling, som kan være enten 1000 rubler eller alle 100.000. Afhængig af kompleksiteten af ​​implementeringen.

Hvad du skal være opmærksom på

Hvis en virksomhed eller en person udvikler telegram-bots, betaler de stadig disse 6.000 rubler om året for tekniske tjenester. Og de kan oprette mindst 1000 bots på dem. Afhænger af deres arbejdsbyrde. Derfor tager de muligvis ikke højde for prisen på "hardware" i din bestilling.

Det bliver tydeligt, hvorfor mange gode bots dør. Nogen skrev noget, og mere end én gang, og så bare indså, at projekterne ikke tog fart, og holdt op med at betale for hosting, og med det for din bot, der blev solgt tidligere.

Hvordan beskytter man sig selv mod en sådan situation?
1. Indgå en aftale, eventuelt med et abonnementsgebyr
2. Betal selv for hostingleje og et domæne med certifikat

Det andet tilfælde er det mest pålidelige, omend dyrt. Men på den anden side vil din bot altid være under din kontrol. Og ved behov for revision, kan du altid ansætte en person til et engangsjob.

+ Endnu et vigtigt punkt

"Jeg vil have botten til at droppe kommentarer fra Instagram og også tjekke Direct."
Bøde! Vi vil gøre det hele for dig! - svarer freelanceren.

Men det betyder ikke altid, at for at læse data fra Instagram har du også brug for tekniske sociale netværkskonti, til hvis vedligeholdelse du har brug for et opdateret bibliotek og også en proxy. Og hvis handlingerne er komplekse, så er de helt dyre mobile proxyer. Det vil tilføje dig omkring 500 rubler om måneden af ​​abonnementsgebyret.

Derudover blokerer Instagram ofte sådanne profiler. De skal genskabes og omkonfigureres. Vil udvikleren være klar til at ordne alt billigt om et par måneder efter allerede at have modtaget 30.000 rubler for alt det konventionelle?

Når du planlægger en Telegram-bot-etablering til dine egne formål, bør du altid forstå, at dette medfører månedlig vedligeholdelse. Og hvis han interagerer med tredjepartstjenester - også deres indhold og support.

Hvis du beslutter dig for at anskaffe dig en bot, så tag en informeret beslutning. En bot er ikke en fancy funktion, det er et middel til at automatisere din daglige rutine. Ved at forstå fordelene ved botfarming, kende omkostningerne og faldgruberne beskrevet i denne artikel, kan du undgå unødvendige tab og øge din egen effektivitet.

Sidste gang analyserede vi en nemmere måde at lave en bot til telegrammer på, som ikke krævede programmeringsviden. brugt en tredjepartstjeneste og visuel builder. I dag foreslår jeg at hæve barren og tale om, hvordan man skriver en bot til Telegram i php (dette er et programmeringssprog). Hvis du ikke er programmør, vil materialet nedenfor være uforståeligt for dig, så jeg råder dig til at læse en anden artikel. Så lad os begynde.

Forbereder sig på at skrive en bot

Vi vil henvise til Telegram API ved hjælp af TelegramBotApi. For at kunne klone et projekt fra GitHub har vi derfor brug for Composer. Composer vil normalt ikke installere uden php.exe. Den nemmeste måde at løse dette på er at installere Open Server.

Kloning af et projekt fra GitHub

Åbn kommandolinjen, brug cd-kommandoen til at gå til mappen, hvori vi installerer koden, og udfør følgende kommandoer sekventielt:

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

Php composer.phar kræver telegram-bot / api

Vi går ind i mappen og sikrer, at alle filer er installeret.


Nu placerer vi disse filer på vores hosting i mappen, hvor vores bot vil være placeret. Dette fuldender forberedelsen - lad os begynde at kode.

Telegram bot-kodning i php

I mappen med botten skal du oprette filen index.php, hvori vi skriver koden til vores bot. Vigtig! Filkodning er utf-8 uden bom!

header ("Indholdstype: tekst / html; tegnsæt = utf-8");
// opret forbindelse til API
require_once ("leverandør / autoload.php");
// opret en bot-variabel
$ token = "token udstedt af BotFather";
$ bot = ny \ TelegramBot \ Api \ Client ($ token);

Efter at vi har oprettet bot-variablen $ bot, kan vi få adgang til api'en, men først skal vi registrere en webhook.

Hvad er webhook?

WebHook- dette er den mekanisme, hvorved botten er forbundet med telegrammet. Når en bruger indtaster en kommando i et telegram, skal den på en eller anden måde sendes til serveren og modtage et svar. Det er hvad Webhook er til. Han fortæller telegrammet, hvor han skal sende kommandoer. Da Telegram IKKE VED præcis, hvor koden til vores bot er placeret, er vi nødt til at rette det.

Til dette formål har vi en kommando: $ bot-> setWebhook

// hvis botten ikke er registreret endnu, tilmeld dig
if (! file_exists ("registreret.trigger")) (
/**
* registered.trigger-filen oprettes, efter at botten er registreret.
* hvis denne fil ikke eksisterer, så gør botten ikke
* registreret i Telegram
*/
// URL på den aktuelle side
$ page_url = "https: //". $ _ SERVER ["SERVER_NAME"]. $ _ SERVER ["REQUEST_URI"];
$ resultat = $ bot-> setWebhook ($ page_url);
hvis ($ resultat) (
file_put_contents ("registreret.trigger", tid ()); // opret en fil for at stoppe genregistreringer
}
}

Før vi fortsætter med at skrive koden, lad os gemme indeksfilen og køre den, som den er nu. Efter lanceringen skulle en anden fil dukke op i mappen med botten - registered.trigger. Hvis filen vises, blev alt gjort korrekt, og Telegram ved, hvor vores bot er placeret.

Obligatoriske kommandoer til bots

Nu skal vi lære vores bot at reagere på / start og / help kommandoerne, som er obligatoriske for alle bots.

// påkrævet. Bot lancering
$ bot->
$ answer = "Velkommen!";
$ bot-> sendMessage ($ besked-> getChat () -> getId (), $ svar);
});
// Hjælp
$ bot-> kommando ("hjælp", funktion ($ besked) brug ($ bot) (
$ answer = "Kommandoer:
/ hjælp - hjælp ";
$ bot-> sendMessage ($ besked-> getChat () -> getId (), $ svar);
});
// begynde at behandle
$ bot-> run ();

Gem indeksfilen igen og prøv at teste vores bot! Hurra, alt pløjer! Yderligere kodning afhænger af den opgave, du har sat, og derfor er det tid til at tale om, hvordan vores API-bibliotek fungerer.

Sådan fungerer TelegramBotApi-biblioteket

Kommandoer indstilles af blokken:

$ bot-> kommando ("start", funktion ($ besked) brug ($ bot) (
});

Alle kommandoer skal være før du kalder $ bot-> run (); ellers virker det ikke. De der. $ bot-> run (); skal lukke vores kode.

Sender en besked til TelegramBot API

Afsendelse af en besked sker med kommandoen:

$ bot-> sendMessage (bruger-id, som vi sender til, beskedtekst);

Sender billeder til TelegramBot API

Afsendelse af billeder udføres gennem transmission af et telegramlink til dette billede. Messengeren downloader billedet på egen hånd og giver det til brugeren! Lad os for eksempel sende brugeren et billede, hvis han indtaster kommandoen / getpic.
// overfør billedet
$ bot-> kommando ("getpic", funktion ($ besked) brug ($ bot) (
$ pic = "http://binetmed15.beget.tech/wp-content/uploads/forbot.jpg";
$ bot-> sendPhoto ($ besked-> getChat () -> getId (), $ pic);
});

Afsendelse af dokumenter og talebeskeder

Dokumenter skal i modsætning til billeder sendes som POST. Heldigvis vil TelegramBotApi-biblioteket gøre alt, hvad der skal gøres uden vores deltagelse. Upload først dokumentet til mappen med vores bot (se billedet nedenfor)

For at sende dokumentet bruger vi følgende kode:

// overfør dokumentet
$ bot-> kommando ("getdoc", funktion ($ besked) brug ($ bot) (
$ document = new \ CURLFile ("sendfrombot.txt");
$ bot-> sendDocument ($ besked-> getChat () -> getId (), $ dokument);
});

Bemærk, at linjen

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

antager at placere sendfrombot txt-filen i bot-rodmappen. Du kan dog også videregive en almindelig url til en variabel. Med transmission af talebeskeder (stemmer) er situationen den samme:

// send en stemme
$ bot-> kommando ("getvoice", funktion ($ besked) brug ($ bot) (
$ voice = "http://binetmed15.beget.tech/wp-content/uploads/glazunov_maxim-prividenie.mp3";
$ bot-> sendVoice (
$ message-> getChat () -> getId (),
$ stemme //,
// $ varighed,
// $ replyToMessageId,
// $ replyMarkup,
// $ disableNotification
);
});

Modtagelse af beskeder fra en chat

For at hente data fra en chat har API'et en kommando .på ()... Med dens hjælp kan vi knytte et neuralt netværk til vores telegrambot for at analysere beskeder eller bygge en simpel chatter ved hjælp af Markov-algoritmen til at sende tilfældige beskeder som svar på brugerbeskeder. Det kan se sådan ud:

// chatterbox
$ bot-> på (funktion ($ Update) brug ($ bot) (
$ message = $ Update-> getMessage ();
$ mtext = $ besked-> getText ();
$ cid = $ besked-> getChat () -> getId ();
if (mb_stripos ($ mtext, "hej bot")! == falsk) (
$ bot-> sendMessage ($ message-> getChat () -> getId (), "du har det godt, dude!");
}
), funktion ($ besked) brug ($ navn) (
returnere sandt; // når det er sandt - bestå kommandoen
});

At fortælle Botfather listen over vores hold

Efter at kommandoerne er registreret, er det nødvendigt at informere Botfather om deres tilstedeværelse (strengt taget er dette ikke obligatorisk, men det er ønskeligt at tilføje det alligevel). Åbn en chat med Botfather og skriv / setcommands (i tilfælde af en tastefejl, brug kommandoen / setcommands til at tilsidesætte).

Lad os nu teste vores telegram-bot.

Som du kan se, er alt ok! Nu ved du det hvordan man opretter din bot i php til telegram... Succes i udvikling! Næste gang vil vi fortsætte med at forfine vores bot og finde ud af, hvordan man tilføjer knapper, men indtil videre anbefaler jeg at downloade kilderne til den aktuelle lektion.