Telegram-ботты серверде тәулік бойы жұмыс істету
2026 ж. 7 қазан9 мин оқуАвтор: Мырзақұлов Ілияс Озғанбайұлы
Бот тек сіздің компьютеріңізде іске қосулы тұрғанда, ол клиенттерге компьютер қосулы кезде ғана жауап береді. Бот тәулік бойы жұмыс істеуі үшін оны серверде орналастырады. Python-дағы бот мысалында мұны жаңадан бастаушы қалай істей алатынын көрсетейік.
Ботты қайда орналастыру керек
- Виртуалды сервер (VPS). Толық бақылауы бар қолжетімді нұсқа. Бірнеше баптау қадамынан өтуге дайын болсаңыз, жарайды.
- Қосымшаларға арналған бұлттық платформалар. Жобаны жүктейсіз, платформа оны іске қосып, ақау болғанда қайта бастайды. Оңайырақ, бірақ шарттар мен бағалар платформаға байланысты.
- Үй компьютері немесе сервері. Ұсынылмайды: жарық пен интернеттің өшуі ботты тоқтатады.
Қарапайым бот үшін VPS-тің ең кішкентай тарифі жеткілікті. Linux-тің өзекті нұсқасын (мысалы, Ubuntu) таңдап, SSH-кілтпен кіруді қосыңыз.
Жобаны дайындау
- 01Боттың жергілікті жерде жұмыс істейтініне көз жеткізіңіз.
- 02Токеннің кодтан емес, орта айнымалысынан немесе .env файлынан алынатынын тексеріңіз.
- 03Кітапханалар тізімін requirements.txt-ке жазыңыз.
- 04Жобаны серверге жүктеңіз, мысалы, git арқылы немесе SSH бойынша көшіріп.
Серверде іске қосу
- 01Серверге SSH арқылы қосылыңыз.
- 02Python орнатып, жоба үшін виртуалды орта жасаңыз.
- 03Тәуелділіктерді pip install -r requirements.txt бұйрығымен орнатыңыз.
- 04Токені бар .env файлын жасап, оған қолжетімділікті шектеңіз.
- 05Ботты қолмен іске қосып, оның жауап беретініне көз жеткізіңіз.
systemd арқылы автоқосылу
Терминал терезесін жапсаңыз, бот тоқтайды. Ол тұрақты жұмыс істеп, ақаудан немесе сервер қайта жүктелгеннен кейін көтерілуі үшін systemd қызметін жасаңыз. Қызмет файлы, мысалы, mybot.service деп аталады және /etc/systemd/system/ ішінде жатады.
[Unit] Description=Telegram bot After=network.target [Service] User=bot WorkingDirectory=/opt/mybot EnvironmentFile=/opt/mybot/.env ExecStart=/opt/mybot/venv/bin/python bot.py Restart=always RestartSec=5 [Install] WantedBy=multi-user.target
Одан кейін қызметті systemctl daemon-reload және systemctl enable --now mybot бұйрықтарымен қосып, іске қосыңыз. Күйін systemctl status mybot бұйрығымен, ал логтарды journalctl -u mybot -f бұйрығымен қараңыз.
Басқа нұсқа: Docker
Docker-мен жұмыс істесеңіз, ботты контейнерге салып, автоматты қайта іске қосу саясатымен іске қосыңыз. Сонда ботты серверлер арасында көшіру және жаңарту оңайырақ. ЖИ-ге сұраныс: «автоқайта іске қосуы және токенді орта айнымалыларынан оқитын менің ботыма арналған Dockerfile және docker-compose.yml дайында».
Логтар және бақылау
- логқа қателер мен маңызды оқиғаларды жазыңыз, бірақ токендерді және жеке деректерді жазбаңыз;
- бот тоқтап қалса, өзіңізге хабарлама баптаңыз (мысалы, бірнеше минут сайын тексеру);
- әр жаңартудан кейін логтарға қарап тұрыңыз.
Сервердің қауіпсіздігі
- ботты root атынан іске қоспаңыз, бөлек пайдаланушы жасаңыз;
- SSH-кілттермен кіруді қолданып, құпиясөзбен кіруді өшіріңіз;
- файрволды қосып, тек қажетті порттарды ашық қалдырыңыз;
- жүйе мен кітапханаларды үнемі жаңартып отырыңыз;
- деректер қоры мен баптаулардың сақтық көшірмелерін жасаңыз.
Ботты қалай жаңарту керек
- 01Өзгерістер енгізіп, оларды жергілікті жерде тексеріңіз.
- 02Жаңа нұсқаны серверге жүктеңіз.
- 03Қызметті systemctl restart mybot бұйрығымен қайта іске қосыңыз.
- 04Логтарды тексеріп, ботқа сынақ хабарлама жіберіңіз.
Әрі қарай не істеу керек
Іске қосар алдында жобаны қауіпсіздік чек-листі бойынша тексеріңіз, ал бот жасаудың жалпы қадамдары Telegram-боттар бойынша негізгі нұсқаулықта сипатталған.
Жиі қойылатын сұрақтар
Ботты орналастыру қанша тұрады?
Қарапайым ботқа VPS-тің немесе бұлттық платформаның ең кішкентай тарифі жеткілікті. Бағалар мен шарттар провайдерге байланысты, сондықтан өзекті тарифтерді олардың сайттарынан қараңыз.
Қайсысы жақсы: VPS па, әлде бұлттық платформа ма?
Платформаны іске қосу оңайырақ, VPS көбірек бақылау береді және бірнеше жобаға жарайды. Алғашқы бот үшін өзіңіз баптай алатын кез келген нұсқа жарайды.
Бот жауап беруді тоқтатса, не істеу керек?
Қызмет күйі мен логтарды тексеріңіз, сервердің қосулы екеніне, токеннің жарамды екеніне және соңғы жаңартуда қателердің жоқ екеніне көз жеткізіңіз. Ештеңе көмектеспесе, алдыңғы нұсқаға оралыңыз.