Hvilken hosting å velge for en telegrambot. Hvor mye koster Telegram-roboter egentlig? Kloning av et prosjekt fra GitHub

Vi har samlet to og et halvt dusin av de mest interessante robotene for Telegram .. Og andre ble oppdaget ganske nylig. Demonter.

1. Rask AID - assistent for Telegram, designet for å gi førstehjelp. Reddet mer enn ett liv.

2. GrammatikkNaziBot - en stavekontrollrobot. Det kan legges til den generelle chatten slik at alle skammer seg over feil stavemåte.

3. Kontroller bot - en bot designet for kanaladministratorer i Telegram, som støtter utsatte publikasjoner og mer.

4. Telegram Store Bot - men ved hjelp av denne smarte boten vil det være mulig å søke etter andre boter. En veldig hendig assistent som var med på å lage denne samlingen.

5. Arena spill - en ekstraordinær spillrobot, ved hjelp av hvilken den vil vise seg å bli distrahert i noen minutter av ekstraordinær spilling.

6. CryptoBot - en bot som overvåker verdien av Bitcoin og Ethereum, og viser også en graf over prisendringen til førstnevnte.

7. Værmann - denne boten sender været i utvalgte byer etter en tidsplan. Viser seg å være nyttig i omskiftelig høst.

8. TempMail - en bot for Telegram, som du kan opprette en midlertidig postboks for registrering på tvilsomme tjenester på sekunder.

9. Filmfan - men denne boten vil fortelle deg hvilken film eller TV-serie du skal se i kveld. Han følger nye produkter ikke bare på offisielle ressurser.

10. Yandex.Translate - bot for oversettelse fra russisk til engelsk, fra engelsk til russisk og omvendt... En av de mest nyttige i samlingen.

11. Aksenter - boten vil fortelle deg om stresset i de mest geniale russiske ordene. Vil være til stor hjelp i latterlige krangel med venner.

12. InstaSave - en interessant bot for Telegram, som du kan laste ned bilder og til og med historier fra Instagram med.

13. Pomodoro - en ekstraordinær bot-timer for det mest produktive arbeidet. Han vil hjelpe deg med å jobbe i 25 minutter og hvile i 5 minutter.

14. MyCookBot - en unik bot som kan foreslå noen interessante oppskrifter basert på listen over produkter som ligger i kjøleskapet ditt.

15. Vinci - en ledsagerrobot for mobilapplikasjonen med samme navn, som er designet for å behandle bilder med nevrale nettverk.

16. DeLorean - en sanntidsmaskin som vil hjelpe deg å sende meldinger til deg selv i fremtiden. Praktisk i stedet for påminnelser.

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

18. Dr.Web - en proprietær bot med populær antivirusprogramvare designet for å skanne filer på opptil 10 MB for virus.

19. Programmering - en bot som er skreddersydd ikke bare for profesjonelle, men også for nybegynnere.

20. SoundCloud - en smart assistent for å søke og laste ned spor fra en populær tjeneste direkte gjennom messenger.

21. EasyStrongPasswordBot - en mobilassistent designet for å lage komplekse passord som ikke kan knekkes.

22. Wolfram alfa - en assistent som skal løse matematikkoppgaver og snakke om vitenskapelige prinsipper via Telegram.

23. PollBot - en enkel bot designet for å lage spørreskjemaer i gruppechatter. Veldig komfortabel.

24. Oversetter - den raskeste mulige oversettelsen mellom russisk og engelsk. Veldig enkelt og lett å bruke.

25. Instagram jenter - en bot for de som er triste eller lei. Den viser bilder av vakre jenter fra Instagram.

Og også hvorfor de dør etter en stund og hva som trengs for å lage den enkleste telegramboten. Alt i orden i artikkelen vår.

Telegram-roboter har allerede kommet godt inn i livet vårt, og er i stand til å utføre forskjellige automatiserte oppgaver, for eksempel å sjekke statusen til nettstedet, tilstedeværelsen av nye kommentarer på sosiale nettverk, laste ned videoer fra YouTube og til og med selge varer på egen hånd i en online-butikk. Hver av oss har minst én gang, men mest sannsynlig, brukt slike tjenester. Hva kan jeg si, selv om regjeringen allerede bruker denne mekanismen for å bestille time hos en lege.

Hva er denne fantastiske roboten laget av?

Og hva skal til for å lage det? Din egen Telegram-bot er ikke bare registrering i den spesielle @BotFather-chatten. Og ikke den vanlige opprettelsen av en ny kanal eller chat. Dette er en hel kjede av innstillinger og mekanismer som samhandler med hverandre.

For å sette opp din egen bot, trenger du (i enkle ord):

  1. Domene det første nivået for nettstedet (i gjennomsnitt koster det fra 100 til 600 rubler per år)
    Det første nivået er nettstedet.
    Et andrenivådomene vil ikke fungere, eller du vil fortsatt trenge et eget SSL-sertifikat for det (det andre nivået er nivå2 ..
  2. Sertifikat SSL er en tjenestepakke som etablerer en verifisert tilkobling til en nettside (i nettleseren ser vi https i stedet for http og et skjoldskilt, eller en hengelås). Lar deg bekrefte at nettstedet eies av en ekte person eller et selskap som oppfyller alle normer og krav til nettverket.
    Det er gratis sertifikater, men Telegram-roboter feiler ofte på dem, og å installere dem på egen hånd er veldig vanskelig for en vanlig nettverksbruker.
    Betalt kostnader fra 1900 rubler per år.
  3. Hosting- stedet hvor dataene er lagret, samt kommandoene (skriptene) sendt av boten kjøres. Gjennomsnittsprisen på en pålitelig hosting som støtter skript og en database er 300 rubler per måned.

Det neste trinnet er allerede å skrive koden til selve boten, som til en pris ikke er mye forskjellig fra programmering og å lage din egen nettside. Bare ikke forveksle dette med å tilpasse WordPress eller en annen bygger. Når det gjelder Telegram-boten, vil det være nødvendig å skrive koden og algoritmene.

Den totale minimumskostnaden for en telegrambot er:
300 + 1900 + 3600 = 5800 rubler per år

Eksklusive prisen for produksjonen, som kan være enten 1000 rubler eller alle 100 000. Avhengig av kompleksiteten til implementeringen.

Hva du bør være oppmerksom på

Hvis et selskap eller en enkeltperson utvikler telegramroboter, betaler de fortsatt disse 6000 rublene i året for tekniske tjenester. Og de kan lage minst 1000 roboter på dem. Avhenger av deres arbeidsmengde. Derfor er prisen på "maskinvare" de ganske muligens ikke tar hensyn til i bestillingen din.

Det blir klart hvorfor mange gode roboter dør. Noen skrev noe, og mer enn en gang, og så bare innså at prosjektene ikke tok av, og sluttet å betale for hosting, og med det for boten din, som ble solgt tidligere.

Hvordan beskytte deg mot en slik situasjon?
1. Inngå avtale, eventuelt med abonnementsavgift
2. Betal for hostingleie og et domene med sertifikat selv

Det andre tilfellet er det mest pålitelige, om enn kostbart. Men på den annen side vil boten din alltid være under din kontroll. Og ved behov for revisjon kan du alltid ansette en person for en engangsjobb.

+ Et annet viktig poeng

"Jeg vil at boten skal slippe kommentarer fra Instagram, og også sjekke Direct."
Fint! Vi vil gjøre alt for deg! – svarer frilanseren.

Men det betyr ikke alltid at for å lese data fra Instagram, trenger du også tekniske sosiale nettverkskontoer, for vedlikeholdet trenger du et oppdatert bibliotek, og også en proxy. Og hvis handlingene er komplekse, så er de helt dyre mobile proxyer. Det vil gi deg omtrent 500 rubler per måned av abonnementsavgiften.

I tillegg blokkerer Instagram ofte slike profiler. De må gjenskapes og konfigureres på nytt. Vil utvikleren være klar til å fikse alt billig i løpet av et par måneder, etter å ha mottatt 30 000 rubler for alt det konvensjonelle?

Når du planlegger en Telegram-botetablering for dine egne formål, bør du alltid forstå at dette innebærer månedlig vedlikehold. Og hvis han samhandler med tredjepartstjenester - også deres innhold og støtte.

Hvis du bestemmer deg for å skaffe deg en bot, ta en informert avgjørelse. En bot er ikke en fancy funksjon, den er et middel til å automatisere din daglige rutine. Ved å forstå fordelene med botfarming, kjenne til kostnadene og fallgruvene beskrevet i denne artikkelen, kan du unngå unødvendige tap og øke din egen effektivitet.

Forrige gang analyserte vi en enklere måte å lage en bot for telegrammer på, som ikke krevde programmeringskunnskap. brukte en tredjepartstjeneste og visuell byggherre. I dag foreslår jeg å heve listen og snakke om hvordan man skriver en bot for Telegram i php (dette er et programmeringsspråk). Hvis du ikke er en programmerer, vil materialet nedenfor være uforståelig for deg, så jeg anbefaler deg å lese en annen artikkel. Så la oss begynne.

Forbereder på å skrive en bot

Vi vil referere til Telegram API ved å bruke TelegramBotApi. Følgelig, for å klone et prosjekt fra GitHub, trenger vi Composer. Composer vil vanligvis ikke installere uten php.exe. Den enkleste måten å fikse dette på er å installere Open Server.

Kloning av et prosjekt fra GitHub

Åpne kommandolinjen, bruk cd-kommandoen for å gå til mappen der vi skal installere koden og utfør følgende kommandoer sekvensielt:

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

Php composer.phar krever telegram-bot / api

Vi går inn i mappen og sørger for at alle filene er installert.


Nå plasserer vi disse filene på hostingen vår i mappen der boten vår skal ligge. Dette fullfører forberedelsen - la oss begynne å kode.

Telegram bot-koding i php

I mappen med boten, lag index.php-filen der vi skal skrive koden for boten vår. Viktig! Filkoding er utf-8 uten bom!

header ("Innholdstype: tekst / html; tegnsett = utf-8");
// koble til API
require_once ("leverandør / autoload.php");
// lag en bot-variabel
$ token = "token utstedt av BotFather";
$ bot = ny \ TelegramBot \ Api \ Client ($ token);

Etter at vi har laget botvariabelen $ bot, kan vi få tilgang til api, men først må vi registrere en webhook.

Hva er webhook?

WebHook- dette er mekanismen som boten er knyttet til telegrammet. Når en bruker legger inn en kommando i et telegram, må den på en eller annen måte overføres til serveren og motta et svar. Dette er hva Webhook er for. Han forteller telegrammet hvor de skal sende kommandoer. Siden Telegram IKKE VET nøyaktig hvor koden til boten vår er plassert, må vi fikse det.

For dette formålet har vi en kommando: $ bot-> setWebhook

// hvis boten ikke er registrert ennå, registrer deg
if (! fil_eksisterer ("registered.trigger")) (
/**
* registered.trigger-filen vil bli opprettet etter at boten er registrert.
* hvis denne filen ikke eksisterer, gjør ikke boten det
* registrert i Telegram
*/
// URL til gjeldende side
$ page_url = "https: //". $ _ SERVER ["SERVER_NAME"]. $ _ SERVER ["REQUEST_URI"];
$ resultat = $ bot-> setWebhook ($ page_url);
if ($ resultat) (
file_put_contents ("registered.trigger", tid ()); // opprett en fil for å stoppe omregistreringer
}
}

Før du fortsetter å skrive koden, la oss lagre indeksfilen og kjøre den som den er nå. Etter lansering skal en annen fil vises i mappen med boten - registered.trigger. Hvis filen vises, ble alt gjort riktig og Telegram vet hvor boten vår befinner seg.

Obligatoriske kommandoer for roboter

Nå må vi lære boten vår å svare på kommandoene / start og / help, som er obligatoriske for alle roboter.

// nødvendig. Bot lansering
$ bot->
$ answer = "Velkommen!";
$ bot-> sendMessage ($ melding-> getChat () -> getId (), $ svar);
});
// hjelp
$ bot-> kommando ("hjelp", funksjon ($ melding) bruk ($ bot) (
$ answer = "Kommandoer:
/ hjelp hjelp ";
$ bot-> sendMessage ($ melding-> getChat () -> getId (), $ svar);
});
// start behandlingen
$ bot-> run ();

Lagre indeksfilen igjen og prøv å teste boten vår! Hurra, alt pløyer! Videre koding avhenger av oppgaven du har satt, og derfor er det på tide å snakke om hvordan API-biblioteket vårt fungerer.

Hvordan TelegramBotApi-biblioteket fungerer

Kommandoer settes av blokken:

$ bot-> kommando ("start", funksjon ($ melding) bruk ($ bot) (
});

Alle kommandoer må være før du kaller $ bot-> run (); , ellers vil det ikke fungere. De. $ bot-> run (); bør lukke koden vår.

Sender en melding til TelegramBot API

Sende en melding gjøres med kommandoen:

$ bot-> sendMessage (bruker-ID som vi sender til, meldingstekst);

Sender bilder til TelegramBot API

Sending av bilder utføres gjennom overføring av en Telegram-lenke til dette bildet. Messenger laster ned bildet på egen hånd og gir det til brukeren! La oss for eksempel sende brukeren et bilde hvis han skriver inn / getpic-kommandoen.
// overfør bildet
$ bot-> kommando ("getpic", funksjon ($ melding) bruk ($ bot) (
$ pic = "http://binetmed15.beget.tech/wp-content/uploads/forbot.jpg";
$ bot-> sendPhoto ($ melding-> getChat () -> getId (), $ pic);
});

Sende dokumenter og talemeldinger

Dokumenter, i motsetning til bilder, må sendes som POST. Heldigvis vil TelegramBotApi-biblioteket gjøre alt som må gjøres uten vår deltakelse. Først laster du opp dokumentet til mappen med boten vår (se bildet nedenfor)

For å sende dokumentet bruker vi følgende kode:

// overføre dokumentet
$ bot-> kommando ("getdoc", funksjon ($ melding) bruk ($ bot) (
$ document = new \ CURLFile ("sendfrombot.txt");
$ bot-> sendDocument ($ melding-> getChat () -> getId (), $ dokument);
});

Merk at linjen

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

forutsetter å plassere sendfrombot txt-filen i bot-rotmappen. Du kan imidlertid også sende en vanlig url til en variabel. Med overføring av talemeldinger (stemmer) er situasjonen lik:

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

Motta meldinger fra en chat

For å hente data fra en chat har API-en en kommando .på ()... Med dens hjelp kan vi koble et nevralt nettverk til vår telegram-bot for å analysere meldinger eller bygge en enkel skravling ved å bruke Markov-algoritmen for å sende tilfeldige meldinger som svar på brukermeldinger. Det kan se noe slikt ut:

// chatterbox
$ bot-> på (funksjon ($ Update) bruk ($ bot) (
$ melding = $ Oppdater-> getMessage ();
$ mtext = $ melding-> getText ();
$ cid = $ melding-> getChat () -> getId ();
if (mb_stripos ($ mtext, "hei bot")! == usant) (
$ bot-> sendMessage ($ melding-> getChat () -> getId (), "du har det bra, dude!");
}
), funksjon ($ melding) bruk ($ navn) (
return true; // når det er sant - kommandoen passerer
});

La Botfather få vite listen over lagene våre

Etter at kommandoene er registrert, er det nødvendig å informere Botfather om deres tilstedeværelse (dette er strengt tatt ikke obligatorisk, men det er ønskelig å legge det til likevel). Åpne en chat med Botfather og skriv inn / setcommands (i tilfelle en skrivefeil, bruk / setcommands-kommandoen for å overstyre).

La oss nå teste telegramboten vår.

Som du kan se er alt ok! Nå vet du hvordan lage din bot i php for telegram... Suksess i utvikling! Neste gang vil vi fortsette å avgrense boten vår og finne ut hvordan du legger til knapper, men foreløpig anbefaler jeg å laste ned kildene til den gjeldende leksjonen.