У дома Естествено земеделие Колко всъщност струват ботовете на Telegram? Къде да хостваме телеграм бот

Колко всъщност струват ботовете на Telegram? Къде да хостваме телеграм бот

А също и защо умират след известно време и какво е необходимо за създаването на най-простия бот за телеграма. За всичко по ред в нашата статия.

Telegram ботовете вече са станали част от живота ни и са в състояние да изпълняват различни автоматизирани задачи, като проверка на състоянието на сайта, наличието на нови коментари в в социалните мрежи, изтегляне на видеоклипове от YouTube и дори сами да продавате стоки в онлайн магазин. Всеки от нас най-вероятно поне веднъж е използвал подобни услуги. Какво да кажа, дори и правителството вече да използва този механизъм за записване на час при лекар.

От какво се състои този прекрасен робот?

И какво е необходимо за създаването му? Да имате собствен Telegram бот не означава само регистрация в специален чат @BotFather. А не обичайното създаване на нов канал или чат. Това е цяла верига от настройки и механизми, които взаимодействат помежду си.

За да настроите свой собствен бот, ще ви трябва (с прости думи):

  1. Домейнпърво ниво за уебсайт (средно струва от 100 до 600 рубли на година)
    Първото ниво е уебсайтът.
    Домейн от второ ниво няма да работи или пак ще изисква отделен SSL сертификат (второто ниво е level2..
  2. Сертификат SSL е пакет от услуги, който установява проверена връзка със сайта (в браузъра виждаме https вместо http и знак щит или катинар). Позволява ви да потвърдите, че притежавате сайта истински мъжили компания, която отговаря на всички мрежови стандарти и изисквания.
    Има безплатни сертификати, но ботовете на Telegram често ги провалят и инсталирането им сами е много трудно за обикновения потребител на мрежата.
    Платени разходи от 1900 рубли на година.
  3. Хостинг– мястото, където се съхраняват данните и се стартират команди (скриптове), изпратени от бота. Средната цена на надежден хостинг, който поддържа скриптове и база данни, е 300 рубли на месец.

Следващият етап е писането на кода за самия бот, който не се различава много като цена от програмирането и създаването на собствен уебсайт. Просто не бъркайте това с Настройка на WordPressили друг дизайнер. В случай на бот на Telegram ще е необходимо да напишете код и алгоритми.

Крайната минимална цена на телеграм бот е:
300 + 1900 + 3600 = 5800 рубли на година

Без да се взема предвид цената на производството му, която може да бъде или 1000 рубли, или 100 000. В зависимост от сложността на изпълнението.

На какво трябва да обърнете внимание

Ако компания или физическо лице разработва ботове за телеграми, те все още плащат тези 6000 рубли годишно за технически услуги. И могат да създадат поне 1000 бота върху тях. Зависи от натовареността им. Следователно е възможно да не вземат предвид цената на хардуера във вашата поръчка.

Става ясно защо мнозина умират добри ботове. Някой е написал нещо повече от веднъж и след това просто е разбрал, че проектите не са се развили и е спрял да плаща за хостинг, а с него и за вашия бот, който беше продаден по-рано.

Как да се предпазите от подобна ситуация?
1. Сключете договор, по възможност с абонаментна такса
2. Платете сами наема на хостинг и домейн със сертификат

Вторият случай е най-надежден, макар и скъп. Но вашият бот винаги ще бъде под ваш контрол. И ако са необходими подобрения, винаги можете да наемете някой за еднократна работа.

+ Друг важен момент

„Искам ботът да изпраща коментари от Instagram и също да проверява Direct“
Страхотен! Ние ще направим всичко вместо вас! – отговаря фрийлансърът.

Но това не винаги означава, че за да четете данни от Instagram, вие също се нуждаете от технически акаунти в социалните мрежи, за чието обслужване ще ви е необходима актуална библиотека, както и прокси. И ако действията са сложни, тогава мобилните проксита са напълно скъпи. Което ще добави около 500 рубли на месец към вашата абонаментна такса.

Освен това Instagram често блокира такива профили. Те трябва да бъдат създадени отново и конфигурирани отново. Ще бъде ли разработчикът готов да поправи всичко за вас евтино след няколко месеца, след като вече е получил номиналните 30 000 рубли за всичко?

Когато планирате да създадете бот за телеграма за вашите цели, винаги трябва да разбирате какво включва това месечно обслужване. И ако взаимодейства с услуги на трети страни, ще има и тяхната поддръжка и поддръжка.

Ако решите да си вземете бот, тогава вземете информирано решение. Ботът не е модерна функция, той е средство за автоматизиране на вашите ежедневни рутинни операции. Като разбирате ползите от отглеждането на ботове, познавайки разходите и клопките, описани в тази статия, можете да избегнете ненужни загуби и да увеличите собствената си ефективност.

Събрахме две и половина дузини от най-интересните ботове за Telegram... А други бяха открити съвсем наскоро. Разглобете го.

1. Бърза помощ - асистент за Telegram, предназначен за оказване на първа помощ. Спаси повече от един живот.

2. GrammarNaziBot - бот за проверка на правописа. Можете да го добавите в общия чат, така че всички да се срамуват от неправилен правопис.

3. Контролен бот - бот, предназначен за администратори на канали в Telegram, поддържащ забавени публикации и др.

4. Telegram Store Bot - но с помощта на този интелигентен бот можете да търсите други ботове. Много удобен помощник, който помогна за създаването на тази колекция.

5. Игра Арена - необикновен игрален бот, с помощта на който можете да се разсеете за няколко минути от необикновен геймплей.

6. CryptoBot - бот, който следи цената на Bitcoin и Ethereum, а също така показва графика на промените в цената на първия.

7. Синоптик - този бот изпраща времето в избрани градове по график. Ще бъде полезно в променливата есен.

8. TempMail - бот за Telegram, с който можете да създадете временен Пощенска кутияда се регистрирате в съмнителни услуги.

9. Киноман - но този бот ще ви каже какъв филм или сериал да гледате тази вечер. Той следи новите продукти не само на официалните ресурси.

10. Yandex.Превод - бот за превод от руски на английски, от английски на руски и обратно. Един от най-полезните в колекцията.

11. Акценти - ботът ще ви разкаже за акцентите в най-трудните руски думи. Ще бъде от голяма помощ при нелепи спорове с приятели.

12. InstaSave е интересен бот за Telegram, с който можете да теглите снимки и дори истории от Instagram.

13. Помодоро - изключителен бот таймер за най-продуктивна работа. Ще ви помогне да работите 25 минути и да почивате 5 минути.

14. MyCookBot - уникален бот, който може да предложи някои интересна рецептавъз основа на списъка с продукти в хладилника ви.

15. Винчи - придружаващ бот за същото име мобилно приложение, който е предназначен за обработка на снимки с невронни мрежи.

16. ДеЛореан - реална машина на времето, която ще ви помогне да изпращате съобщения до себе си в бъдеще. Удобно вместо напомняния.

17. Към PDF - бот, предназначен да конвертира DOC, DOCX, ODT, TXT, JPG и други типове файлове в PDF.

18. Dr.Web - брандиран бот на популярна антивирусна програма софтуер, предназначен за сканиране на файлове до 10 MB за вируси.

19. Програмиране - бот, който е предназначен не само за професионални, но и за начинаещи програмисти.

20. SoundCloud - интелигентен асистент за търсене и изтегляне на песни от популярна услуга директно през месинджъра.

21. EasyStrongPasswordBot - мобилен асистент, предназначен да създава сложни пароли, които не могат да бъдат хакнати.

22. Волфрам Алфа - асистент, който ще решава математически задачи и ще говори за научни принципичрез Telegram.

23. PollBot - прост бот, предназначен да създава въпросници в групови чатове. Много удобно.

24. Преводач - възможно най-бързият превод между руски и английски език. Много просто и удобно.

25. Instagram момичета - бот за тези, които са тъжни или отегчени. Той показва снимки красиви момичетаот Instagram.

Последния път разгледахме по-прост начин за създаване на телеграм бот, който не изисква познания по програмиране, защото... Използвах услуга на трета страна и визуален дизайнер. Днес предлагам да вдигнем летвата и да говорим за това как да напишем бот за Telegram на PHP (това е език за програмиране). Ако не сте програмист, тогава материалът по-долу няма да ви е ясен, затова ви съветвам да прочетете друга статия. И така, да започваме.

Подготовка за писане на бот

Ще имаме достъп до API на Telegram с помощта на TelegramBotApi. Съответно, за да клонираме проект от GitHub, имаме нужда от Composer. Composer обикновено не се инсталира без файла php.exe. Най-лесният начин да поправите това е да инсталирате Open Server.

Клониране на проект от Github

Отваряне командна линия, използвайки командата cd, отидете в папката, в която ще инсталираме кода и изпълнете последователно следните команди:

Php -r "copy("https://getcomposer.org/installer", "composer-setup.php");"
php композитор-setup.php
php -r "unlink("composer-setup.php");"

Php composer.phar изисква telegram-bot/api

Влизаме в папката и се уверяваме, че всички файлове са инсталирани успешно.


Сега поставяме тези файлове на нашия хостинг в папката, в която ще се намира нашият бот. След като подготовката приключи, нека започнем да кодираме.

Кодиране на Telegram бот в php

В папката с бота ще създадем файл index.php, в който ще напишем кода на нашия бот. важно! Кодиране на файлове - utf-8 без bom!

header("Content-Type: text/html; charset=utf-8");
// свържете се с API
require_once("vendor/autoload.php");
// създаване на бот променлива
$token = "токен, издаден от BotFather";
$bot = нов \TelegramBot\Api\Client($token);

След като сме създали бот променливата $bot, можем да получим достъп до API, но първо трябва да регистрираме уебкукичка.

Какво е webhook?

WebHook– това е механизмът, чрез който ботът се свързва с telegram. Когато потребител въведе команда в Telegram, тя трябва по някакъв начин да бъде предадена на сървъра и да получи отговор. Точно за това е Webhook. Той казва на телеграмата къде да изпрати командите. Тъй като Telegram НЕ ЗНАЕ къде точно се намира кодът на нашия бот, трябва да поправим това.

За тази цел имаме команда: $bot->setWebhook

// ако ботът все още не е регистриран, регистрирайте го
if(!file_exists("registered.trigger"))(
/**
* файлът registered.trigger ще бъде създаден, след като ботът бъде регистриран.
* ако този файл не съществува, значи ботът не съществува
*регистриран в Telegram
*/
// URL на текущата страница
$page_url = "https://".$_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
$result = $bot->setWebhook($page_url);
ако ($ резултат) (
file_put_contents("registered.trigger",time()); // създаване на файл за спиране на повтарящи се регистрации
}
}

Преди да продължим да пишем кода, нека запазим индексния файл и да го стартираме във вида, в който е сега. След стартиране в папката с бота трябва да се появи друг файл – registered.trigger. Ако файлът се появи, това означава, че всичко е направено правилно и Telegram знае къде е нашият бот.

Задължителни команди за ботове

Сега трябва да научим нашия бот да отговаря на командите /start и /help, които са задължителни за всички ботове.

// задължително. Пускане на бот
$bot->
$answer = "Добре дошли!";
$bot->sendMessage($message->getChat()->getId(), $answer);
});
// помогне
$bot->command("help", функция ($message) use ($bot) (
$answer = "Команди:
/помощ помощ";
$bot->sendMessage($message->getChat()->getId(), $answer);
});
// стартиране на обработка
$bot->run();

Нека запазим индексния файл отново и се опитаме да тестваме нашия бот! Ура, всичко работи! По-нататъшното кодиране зависи от поставената от вас задача и затова е време да поговорим за това как е структурирана нашата API библиотека

Как работи библиотеката TelegramBotApi

Командите се подават от блока:

$bot->command("start", функция ($message) use ($bot) (
});

Всички команди трябва да са преди извикването на $bot->run(); , иначе няма да работи. Тези. $bot->run(); трябва да затвори нашия код.

Изпращане на съобщение до API на TelegramBot

Изпращането на съобщение става с командата:

$bot->sendMessage(id на потребителя, на когото изпращаме, текст на съобщението);

Изпращане на снимки към API на TelegramBot

Изпращането на снимки се извършва чрез изпращане на връзка в Telegram към тази снимка. Месинджърът самостоятелно изтегля изображението и го предоставя на потребителя! Например, ще изпратим снимка на потребителя, ако той въведе командата /getpic.
// изпращане на изображението
$bot->command("getpic", функция ($message) use ($bot) (
$pic = "http://binetmed15.beget.tech/wp-content/uploads/forbot.jpg";
$bot->sendPhoto($message->getChat()->getId(), $pic);
});

Изпращане на документи и гласови съобщения

Документите, за разлика от снимките, трябва да бъдат изпратени чрез POST. За щастие библиотеката TelegramBotApi ще направи всичко необходимо без наше участие. Първо, нека качим документа в папката с нашия бот (вижте снимката по-долу)

За изпращане на документ използваме следния код:

// прехвърляне на документа
$bot->command("getdoc", функция ($message) use ($bot) (
$document = нов \CURLFile("sendfrombot.txt");
$bot->sendDocument($message->getChat()->getId(), $document);
});

Моля, имайте предвид, че линията

$document = нов \CURLFile("sendfrombot.txt");

включва поставяне на txt файла sendfrombot в основната папка на бота. Можете обаче да подадете обикновен URL адрес към променлива. Ситуацията с предаването на гласови съобщения (гласове) е подобна:

// изпращане на глас
$bot->command("getvoice", функция ($message) use ($bot) (
$voice = "http://binetmed15.beget.tech/wp-content/uploads/glazunov_maxim-prividenie.mp3";
$bot->sendVoice(
$message->getChat()->getId(),
$глас //,
//$продължителност,
//$replyToMessageId,
//$replyMarkup,
//$disableNotification
);
});

Получаване на съобщения от чат

За да получите данни от чат, има команда в API .На(). С негова помощ можем да прикрепим невронна мрежа към нашия Telegram бот, за да анализираме съобщения или да изградим проста стая за чат, използвайки алгоритъма на Марков, за да изпращаме произволни съобщения в отговор на потребителски съобщения. Може да изглежда така:

// бърборене
$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(), "наздраве и на теб, пич!");
}
), функция ($ съобщение) използване ($ име) (
връща вярно; // когато това е вярно - командата преминава
});

Ние информираме Botfather за списъка с нашите екипи

След като командите са регистрирани, трябва да информирате Botfather за тяхното присъствие (стриктно погледнато, това не е задължително, но все пак е препоръчително да го добавите). Отворете чата с Botfather и въведете /setcommands (в ​​случай на правописна грешка използвайте командата /setcommands за отмяна).

Сега нека тестваме нашия телеграм бот.

Както виждате всичко е наред! Сега знаеш как да създадете свой собствен бот в php за telegram. Успех в развитието! Следващия път ще продължим да усъвършенстваме нашия бот и ще разберем как да добавяме бутони, но засега препоръчвам да изтеглите изходния код на текущия урок.

Ново в сайта

>

Най - известен