Как установить телеграмм бот на компьютер

Обновлено: 06.07.2024

В предыдущей статье мы рассказали, как создать простого бота на Node.js, однако он работал только на локальном компьютере. Эта статья о том, как загрузить бота на сервер, запустить его и проверить, что всё работает.

Шаг 1. Выбрать хостинг

Как правило, на shared-хостинге отсутствует поддержка Node.js, поэтому нам понадобится как минимум виртуальный сервер. Существуют сервисы, предлагающие VPS бесплатно, но с заметными ограничениями: например на количество трафика или нагрузку на сервер. Можно выделить несколько известных зарубежных провайдеров (но стоит отметить, что для новичков они могут оказаться сложными):

  • Google Cloud
  • Oracle Cloud
  • Amazon Web Services

Преимущество платных VPS в более высоких лимитах или их отсутствии, а также в гарантии стабильной работы сервера. Вместе с этим вы получаете активную поддержку и всегда можете рассчитывать на помощь хостинг-провайдера, если возникнут проблемы.

  1. Прогнозируемая нагрузка — зависит от сложности вашего бота и количества запросов к нему.
  2. Количество оперативной памяти — это зависит от многих факторов, как, например, уровень оптимизации кода и общий масштаб вашего проекта.

Так как наш бот использует только одну основную библиотеку и состоит из нескольких строк кода, мы выбираем самый младший тариф — Cloud-0. В будущем, если возникнет необходимость, можно перейти на более дорогой тариф.

Шаг 2. Заказать хостинг

Заказ VPS сервера

После заказа и оплаты дождёмся настройки сервера:

Настройка сервера

В течение минуты статус сервера сменится с «В процессе» на «Активен». После этого отобразятся реквизиты доступа к серверу, они также будут отправлены на почту:

Реквизиты доступа к серверу

Шаг 3. Загрузить бота

Приступим к загрузке бота на сервер. Это можно сделать разными способами — с помощью FTP, SFTP, панели управления или, к примеру, rsync. Мы выберем самый быстрый вариант — SFTP, так как для него нужна только возможность подключения к серверу по SSH, которая обычно присутствует на всех VPS сразу после заказа.

Мы подключимся к серверу с помощью FileZilla. Укажем IP-адрес сервера, а также логин root и пароль в настройках клиента:

Настройки клиента

При первом подключении появится окно с предупреждением:

Окно с предупреждением

Ставим галочку «Всегда доверять этому хосту» и нажимаем «Ок».

Переходим на директорию выше ( . ), затем в каталог /opt и создаём папку с произвольным названием (мы выбрали keksbot ):

Директория проекта

Переходим в созданную папку и загружаем файлы index.js и package.json :

Папки с проектом на компьютере и на хостинге

Шаг 4. Зайти на сервер по SSH

Теперь нужно подключиться к серверу по SSH, чтобы установить Node.js и запустить бота. Для этого необходим SSH-клиент, например Putty, XShell, Bitvise SSH или любой другой. Функциональность программ может немного отличаться, но большой разницы в использовании между ними нет. Мы выбрали PuTTY как самый популярный и бесплатный SSH-клиент для Windows.

Открываем PuTTY, указываем IP-адрес сервера, порт 22 уже указан по умолчанию:

Базовые настройки PuTTY

Нажимаем «Соединиться». Откроется окно с запросом логина:

Окно с запросом логина

Вводим root , после чего появится запрос пароля, при вводе которого символы не отображаются. Не стоит переживать, это особенность работы Linux — пароль нужно вводить вслепую. Чтобы не делать этого вручную, можно скопировать пароль и нажать правой кнопкой мыши в окне PuTTY. Убедитесь, что вы скопировали пароль без пробелов!

Шаг 5. Установить Node.js

Теперь займёмся установкой. Обратите внимание, что команды для установки Node.js отличаются в зависимости от операционной системы. В наших примерах указаны команды для Ubuntu, Debian и CentOS — мы будем вводить их в консоли SSH-клиента.

Если вы не знаете, какая ОС установлена на сервере, можете проверить это командой:

Вывод будет примерно таким:

Нас интересует поле NAME , в котором указано название дистрибутива.

Помимо Node.js нам понадобится утилита Screen, чтобы бот продолжал работать, когда мы отключимся от сервера. Также нужен менеджер пакетов npm для установки зависимостей.

для Ubuntu/Debian

Подождём завершения установки и проверим, что Node.js работает:

Если в ответе отобразилась версия установленного пакета, то всё прошло успешно.

Теперь перейдём в папку с файлом бота и установим зависимости:

Возможные ошибки при установке, и как их решить

При установке могут появиться ошибки вида:

Обычно это связано с тем, что у пользователя недостаточно прав для установки пакетов на сервере, либо предыдущий процесс установки завершён некорректно.

В первом случае необходимо убедиться, что вы подключились к серверу под именем суперпользователя root — при необходимости зайдите на сервер заново.

Во втором случае для решения проблемы нужно завершить процесс менеджера пакетов и удалить lock -файлы. Чтобы это сделать, запустите команды:

для Ubuntu/Debian

После этого попробуйте заново запустить установку.

Шаг 6. Запустить и проверить бота

Пришло время запустить бота. Для начала запустим утилиту Screen простой командой:

Перейдём в каталог с файлом бота:

После этого можем запустить бота:

Заходим в Telegram, проверяем бота:

Проверка работы бота

Отлично! Всё работает.

Теперь можно отключиться от сервера и закрыть окно PuTTY, бот продолжит работу.

Шаг 7. Обеспечить автоматический перезапуск бота

Из-за ошибок в коде бот может «упасть» в самый неожиданный момент. Чтобы этого не случилось, настроим автозапуск бота при старте сервера и его автоматический перезапуск при ошибках.

Большинство современных Linux-систем используют systemd для управления службами, поэтому следующая инструкция подойдёт для последних версий Ubuntu, Debian и CentOS.

Для начала отключим бота командой:

Нам понадобится создать собственную службу, для этого в каталоге /lib/systemd/system создадим файл:

В нашем случае это будет файл /lib/systemd/system/keksbot.service . В файл поместим следующий код:

Текст в некоторых строках необходимо отредактировать относительно вашего проекта. Разберём строки, на которые нужно обратить внимание.

В поле Description указывается описание службы. Вы можете указать в ней краткую информацию о боте.

Команда для запуска бота.

Её следует поменять, если имя скрипта вашего бота отличается от index.js . В таком случае нужно будет указать следующие значения:

Папка со скриптом, который мы запускаем. В нашем случае это /opt/keksbot/ .

Сохраняем файл. В примерах далее мы будем использовать имя службы keksbot — если вы указали другое имя, не забудьте поменять его. Для установки службы воспользуемся командами:

Теперь запустим бота командой:

Готово. Теперь бот будет автоматически запускаться при старте сервера или при возникновении ошибок. Можно проверить это, завершив процесс node:

Как только на территории РФ вступил в силу запрет на анонимность в мессенджерах, у меня дошли руки написать пост про telegram-бота. По ходу создания бота столкнулся с большим количеством проблем, которые пришлось решать по отдельности, и буквально выцеживать крупинки информации со всего интернета. И вот после нескольких месяцев страданий и мучений (кодинг – не основное моё занятие) я наконец-то закончил с ботом, разобрался со всеми проблемами и готов поведать свою историю Вам.




Первые шаги

Для начала нужно установить telegram на ПК и зарегистрироваться в мессенджере. Найти в поиске @BotFather – это отец всех ботов в telegram, именно он их создаёт. Пишем ему /newbot и отвечаем на два простых вопросов: имя бота и его username. После чего @BotFather поздравит нас с успешным созданием бота и отправит нам его token — 523870826:AAF0O8T-e7riRi8m6qlRz4pBKKdh0OfHKj8.


Внимание: token – единственный идентификационный ключ к боту. Нигде не выкладывайте его, иначе другие люди смогут управлять Вашим ботом. Бот с данным token на момент выкладывания статьи удалён.

Какой язык программирования выбрать для написания бота?

Тут я долго не заморачивался и остановился на Python, так как знаю его достаточно хорошо, да и удобная библиотека тоже присутствует. Я решил использовать PyTelagramBotAPI (на момент написания этой статьи последняя доступная версия 3.5.1).

Перейдём к первому коду.

Импортируем библиотеку PyTelegramBotAPI.


Поставим бота в режим постоянной обработки информации, приходящей от серверов telegram.


В переменной message telegram передаёт словарь (map) такого вида:


Также существуют другие декораторы, которые могут принимать аудиофайлы, видео, картинки, документы, геолокацию и т.д.


Вообще, telegram позволяет ботам производить очень много прикольных операций от создания пользовательских клавиатур до проведения платежей. Ссылка на официальную документацию Telegram.

Для сохранения данных о пользователях решил воспользоваться базой данных sqlite3.


Параллельные процессы запускал с помощью библиотеки threading. Например: функция расчета битв.


Дальше всё зависит только от Вашей фантазии.

Где запустить Вашего бота?

Свой собственный ПК не хочется оставлять включенным 24/7, да и не практично это. Поэтому я решил воспользоваться бесплатным сервисом heroku, но меня постигла неудача из-за выбранной мною БД. Оказалось, что при каждом перезапуске бота, heroku удаляет все коммиты sqlite3 за последний сеанс без исключений. После чего, я решил купить VDS (Virtual Dedicated Server, виртуальный выделенный сервер) – удаленный ПК, на котором выделяется определенная мощность и память под Вас, и к командной строке которого Вам даётся доступ. Чаще всего операционной системой такой машинки будет linux. Плата небольшая – 400 руб./месяц, так что без особых моральных страданий оплатил VDS на основе Debian GNU/Linux и начал разбираться с тем, как мне включить бота на удалённом сервере.

Как же подключаться к VDS?

Есть разные методы, я решил по SSH-соединению через Putty. Скачиваем Putty через официальный сайт и открываем. Вводим IP-address VDS и нажимаем open.


Должно открыться такое окно, где нужно ввести логин и пароль от сервера.


Все вышеупомянутые данные выдаст компания, у которой Вы приобретёте VDS. Далее VDS – сервер.

Как установить на сервер все необходимые Вам языки программирования и библиотеки?

Тут все просто. Введя эти 5 команд в консоль сервера в данной последовательности, Вы установите на сервер python3, setuptools, pip3 и библиотеку pyTelegramBotAPI.


Все дополнительные библиотеки, которые не входят в основной пакет python3, также необходимо установить по принципу.

Как загрузить файлы с моего ПК на сервер?

Для начала создадим папку, в который будем заливать все необходимые файлы. На сервере пройдем в каталог /usr/local/bin и создадим папку bot.


У меня на ПК установлен windows, соответственно и команды будут для командной строки windows. Для начала необходимо пройти в каталог, где находится putty.exe.


Далее загружаем bot.py, который находится в каталоге C:\Users\Ilya\PycharmProjects\Bot (нужно подставить Ваш каталог) в каталог на сервере /usr/local/bin/bot.


Строчку root@123.123.12.12 нужно заменить на строчку вида login@IP_address, соответственно с Вашим логином и IP-адресом (упомянуты выше в разделе «Как же подключиться к VDS?»). Заменяя bot.py на названия других файлов, загрузите все необходимые.

Как скачать файлы с сервера на ПК?

Так же, как и при загрузке файлов на сервер в командной строке в каталог, где лежит putty.exe. И вводим эту команду, чтобы скачать файл database на рабочий стол Вашего ПК.

Как запустить бота?

Первый и самый простой вариант – зайти в каталог с исполняемым файлов и прописать python3 bot.py, но тогда при закрытии putty бот будет выключаться.

Второй вариант – запустить бота с помощью screen – модуль, который создаёт параллельные рабочие столы, но тогда бот не будет перезапускаться автоматически в случае падения, а это происходит часто – несколько раз в неделю из-за ночного перезапуска серверов telegram (в 3:00 по МСК).

Третий способ – systemd – cистемный менеджер, демон инициализации других демонов в Linux. Проще говоря, systemd запустит бота и будет перезапускать его в случае падения.


Создайте файл на Вашем ПК с именем bot.service с таким содержанием:


И загружаем его в нужный каталог:


Далее нужно прописать 4 команды в консоли сервера:


В моём случаи из-за определённых ошибок реализации, а конкретно многопоточности, пришлось переносить функцию для расчёта битв (battle_counter.py) в отдельного демона.


Ваш бот запущен и готов к работе!

БЛАГОДАРНОСТИ

Это был мой первый относительно большой проект и я столкнулся с колоссальным количеством новых для меня проблем. Огромную благодарность хочу выразить Yurii Drake, который помог мне разобраться с ними!

Размещаем бота для Telegram

Выбираем хостинг для телеграм-бота

Для начала быстро разберемся с юридической составляющей. В России власти заблокировали лишь серверы и сам сайт Телеграма (UPD: уже разблокировали, поражение в этой войне было неминуемо). Использование мессенджера фактически не запрещено. Но не любой российский сервер будет исправно работать с ботами для этого мессенджера. Так что перед арендой лучше уточнить у техподдержки, подойдет ли их хостинг для телеграм-бота.

У хостинга для чат-бота должна быть поддержка нескольких языков программирования. Например, хостинг для телеграм-бота на Python должен поддерживать этот язык. Аналогично, написанный на NodeJS бот должен быть развернут на сервере, в который можно подгрузить язык NodeJS.

Если хостинг удовлетворяет этим требованиям, он подойдет для работы простого телеграм-бота, который выдает заготовленный ответ на слова-триггеры. Если же в работе ассистент использует машинное обучение, вам стоит обратить внимание на наличие графического ускорения — без него построение нейросети займет очень много времени. Впрочем, если ваш бот не будет обучаться во время общения с реальными собеседниками, то можно арендовать хостинг с графическим ускорением только на время разработки, а потом развернуть обученную нейросеть на обычном хостинге для Telegram-бота, без графики.

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

Для развертывания бота для Telegram лучше всего подходит VDS/VPS. Он не требует наличия домена в обязательном порядке, и к нему можно будет обратиться по выделенному IP-адресу, что удобно при развертывании бота. К тому же такие серверы лучше поддерживают увеличение масштабов проекта, так что при увеличении потока посетителей вам не придется переходить на другой сервер — достаточно будет просто сменить тариф или его настройки.

Выбираем тариф

О тарифах хостингов для бота Telegram стоит поговорить отдельно. Есть целый класс бесплатных хостингов — сюда входит, например, Heroku. Они могут оказаться полезными при тестировании бота — расположите свой чат-бот на Heroku и проверьте работоспособность всех функций, прежде чем арендовать хостинг и выкладывать свое творение. Но учтите, что работоспособность на этом хостинге будет непостоянной — обычно чат-боты работают по 30 секунд, а затем отключаются на неопределенное время. Так что для полноценного развертывания лучше выбрать другой хостинг, например Hostman.

Выбор тарифа обычно обуславливается потоком клиентов, но не сложностью бота. Для развертывания как простенького, так и нейросетевого бота вам не потребуется много дискового пространства. Нет нужды и в больших вычислительных мощностях — большинству ботов более чем достаточно 512 МБ оперативной памяти. Поэтому можно выбирать самые недорогие тарифы.

Ключевое требование к хостингу — стабильность подключения, поэтому от shared-хостингов для телеграм-бота лучше сразу отказаться. А вот VPS/VDS сможет обеспечить надежное подключение. Предпочтительная ОС для сервера — Ubuntu, поскольку большинство модулей для языков программирования пишутся именно под нее. Тарифы на такие виртуальные серверы начинаются от 50 рублей в месяц.

Настраиваем сервер для Telegram-бота

Рассмотрим настройку сервера на примере размещения бота, написанного на Python, который будет автоматически присылать ответы на различные команды.

После аренды VPS нам нужно подключиться к нему по протоколу SSH через специальный клиент (например, Termius), используя данные из личного кабинета на хостинге для телеграм-бота. Вам потребуются Hostname, Login, Password, Port. Вводим их в поля нового подключения. Вот как это будет выглядеть в Termius:

Termius SSH

Сохраняем подключение, возвращаемся на главный экран программы (здесь появляется наше новое подключение) и нажимаем на название сервера, которое мы вводили до этого:

Подключение к серверу

Готово, мы попали в консоль сервера:

Консоль сервера


Отсюда мы сможем управлять сервером, подгружать нужные нам модули и библиотеки. Этим и займемся. Чтобы бот работал, серверу потребуется модуль языка Python. Мы рассматриваем бота, написанного на третьей версии языка, поэтому нам нужно установить python3. Для этого введем в консоль сервера следующие команды:

Не забудем и про библиотеки. На «Питоне» ботов для Telegram обычно пишут с помощью библиотеки TelegramBotAPI. Для ее установки введем команду:

Теперь нам нужно установить удобный менеджер процессов PM2 и язык программирования NodeJS с менеджером пакетов npm для его работы:

Как установить Телеграмм на компьютере на русском — актуальный вопрос для жителей России. После блокировки официального сайта загрузить установочный файл с него не получится. Читайте, как скачать официальное приложение с нашего сайта и пошагово установить программу в обход блокировки.

Установка Telegram для ПК

1. Скачайте установочный файл на странице Телеграмм для ПК. В нижней части страницы выберите операционную систему компьютера: Windows 7,10, mac OS, Linux.

2. Запустите скаченный файл, выберите русский язык и нажмите «OK».

запуск установочного файла

установка русского языка

3. Выберите папку для установки мессенджера. По умолчанию инсталляция производится в директорию C:\Users\Alexey\AppData\Roaming\Telegram Desktop. Для смены каталога щелкните по кнопке «Обзор» или сразу нажмите «Далее».

выбор папки для установки мессенджера

4. Создайте ярлык в папке меню «Пуск». Настройки по умолчанию не меняйте, кликните «Далее».

ярлык в меню Пуск

5. Согласитесь с предложением создать ярлык на Рабочем столе. Галочку не снимайте, нажмите «Далее».

ярлык Telegram на Рабочем столе

6. Папка установки выбрана, настройки ярлыков выполнены, щелкните по кнопке «Установить».

инсталляция мессенджера

распаковка файлов

7. Не снимайте галочку «Запустить Telegram» и нажмите «Завершить».

завершение установки Telegram

После завершения установки переходите к процессу регистрации. Ознакомьтесь со статьей о регистрации Телеграмм на различных устройствах, если, помимо компьютера, планируете установить программу на смартфон или планшет.

1. Нажмите «Start messaging» и используйте приложение на английском или кликните «Продолжить на русском» для установки русского языка интерфейса.

запуск мессенджера

2. При нажатии «Продолжить на русском» язык диалогового окна изменился. Щелкните по голубой кнопке «Начать общение».

русифицированное окно регистрации

ввод номера телефона

ввод кода подтверждения

5. Введите имя и фамилию — First Name и Last Name. Заполнять реальные данные не обязательно, допускается использование псевдонима. Добавьте фотографию: аватарка будет отображаться у других пользователей.

6. Нажмите «Sign in» и выберите контакт, которому хотите написать или позвонить.

Варианты Телеграм без установки

При отсутствии возможности установить приложение на ПК используйте портативную или онлайн-версию мессенджера.

Веб-версия Телеграм

Для общения на компьютере через Telegram не обязательно устанавливать приложение. Используйте онлайн аналог Telegram Web, который практически не отличается от программы для ПК. Для авторизации перейдите на сайт web.telegram.im, выберите страну и введите телефонный номер. Единственное ограничение — мессенджер должен быть предварительно установлен на смартфон, планшет или ПК. Вводите привязанный к аккаунту номер: код подтверждения придёт в установленное приложение.

авторизация в Telegram Web

Плюс Телеграмм онлайн — возможность запустить мессенджер на любом устройстве. Пользователю доступно переключение между мобильным и полноэкранным режимами. Сайтом web.telegram.im удобно пользоваться на планшете. Минус — отсутствие звонков.

интерфейс Telegram Web

Портативная версия

Используйте Телеграм Portable без установки. Если нужен полный аналог компьютерной версии более чем на одном устройстве: дома, на работе, в интернет-кафе, Telegram Portable — идеальный выбор. Запишите портативный мессенджер на карту телефона или flash-носитель и используйте приложение на компьютере или ноутбуке вне дома. Все данные будут сохраняться на съемном накопителе и синхронизироваться при запуске.

как добавить бота в телеграм картинка

Добавить нового бота в Телеграм очень просто. В последнее время этот вопрос актуален для пользователей мессенджера. Это неудивительно, потому что функционал ботов очень разнообразен. Изготавливать их тоже не очень сложно, простого Телеграм-бота с элементарными функциями можно сделать и добавить самому.

Если вы обладаете хотя бы начальными навыками программирования, то функционал работа можно значительно расширить.

Свои собственные боты есть у «Сбербанка», «Почты России», «OneTwoTrip», «Связного», «Медузы» и многих других.

Помимо них есть ещё сотни тысяч роботов поменьше, общая аудитория которых насчитывает десятки миллионов пользователей.

Доступность, простота и эффективность Телеграм- ботов сделали их крайне популярными среди пользователей. Поговорим о том, что это такое и как ими пользоваться.

Специально для жителей РФ: рекомендуем бота TeleBot, который раздает надежные, быстрые и бесплатные MTProxy для обхода блокировки Telegram.

Содержание:

Как начать работу с ботом

Для обычных пользователей роботы работают через диалоги прямо в Телеграм . Нужного можно найти через строку поиска. Лучше всего использовать для этого имя, оно всегда начинается с «@» и заканчивается на «…bot», например, @PollBot — помощник для создания голосований.

В этом случае предполагается, что вы уже знаете конкретное имя робота, которого хотите добавить. Если же нет, вам помогут подборки и каталоги, такие как наш.

Рекомендуем к обязательному прочтению нашу огромную подборку лучших ботов для Телеграм.

картинка: добавить бота в Телеграм

Чтобы активировать помощника, нужно начать с ним диалог нажатием кнопки «Start» . В дальнейшем большинство функций будут доступны именно через окно беседы. Но есть, например, @gif (для поиска гифок) или @vkmusic_bot (для поиска музыки) — их можно вызывать в диалоге с вашим собеседником, для чего нужно напечатать символ «@».

скриншот: как добавить бота в Телеграме

Варианты команд на примере одного из популярных ботов для прокси

Помимо этого, лучше знать несколько универсальных команд, которые работают практически во всех ботах:

  • /start — начало работы с ботом;
  • /help — помощь по функциям и работе бота;
  • /settings — настройки, если они предусмотрены.

Что делать, если бот не работает

Бот — это программный продукт, который использует облачные сервера Телеграм для работы . Поэтому их работоспособность может влиять на скорость реакции на команды. Чаще всего, если робот долго не отвечает на команды, то проблема именно в этом. Единственное, что можно сделать в этом случае — немного подождать, пока работа не возобновится.

Другой причиной может быть ошибка в процессе разработки Телеграм-бота, которую допустил программист. Если компания-владелец перестала поддерживать бот-сервис, то программный помощник скорее всего не будет откликаться на команды.

Как ещё можно использовать ботов

Это хороший инструмент для администраторов каналов и групп.

Если вы ведёте свой канал, вам могут пригодиться боты для автоматического и отложенного постинга.

Это значительно облегчает администрирование и позволяет удобно и оперативно вести даже несколько каналов сразу.

Боты для каналов и чатов также позволяют устраивать голосования, добавлять другой интерактив, банить участников в автоматическом режиме и облегчать жизнь администратора другими способами.

Для того чтобы использовать бота , нужно добавить его в администраторы Телеграм канала или в чат . После этого, в некоторых случаях, может понадобиться назначить ему необходимые права.

Подробнее о ботах для групп и каналов мы уже писали. Надеемся, что вы найдёте в этой статье что-то полезное.

Читайте также: