Telegram-бот на FreeBSD

1. Підготовка та створення

cd /home/ussr/boot-shen
python3.11 -m venv venv

2. Активація (для csh/tcsh під root)

Оскільки стандартна оболонка root у FreeBSD — це csh, використовуйте спеціальний файл активації:

source venv/bin/activate.csh

3. Перевірка шляхів («Детектор брехні»)

Виконайте команду which pip. Порівняйте результат:

  • ✅ ПРАВИЛЬНО (всередині venv):
    /home/ussr/boot-shen/venv/bin/pipВсе чудово, можна працювати.
  • ❌ НЕПРАВИЛЬНО (системний шлях):
    /usr/local/bin/pipСТОП! Активація не спрацювала, у систему нічого не ставити.

4. Встановлення бібліотек

pip install python-telegram-bot

5. Налаштування автозапуску (rc.d)

Створіть файл сервісу: ee /usr/local/etc/rc.d/boot_shen

Зміст файлу:

#!/bin/sh
# PROVIDE: boot_shen
# REQUIRE: LOGIN
# KEYWORD: shutdown

. /etc/rc.subr

name="boot_shen"
rcvar="boot_shen_enable"
boot_shen_chdir="/home/ussr/boot-shen"
# Прямий шлях до python всередині venv:
command="/home/ussr/boot-shen/venv/bin/python"
command_args="bot.py > /home/ussr/boot-shen/bot.log 2>&1 &"

load_rc_config $name
run_rc_command "$1"

6. Активація сервісу в системі

chmod +x /usr/local/etc/rc.d/boot_shen
sysrc boot_shen_enable="YES"

7. Команди керування

  • service boot_shen start — запустити.
  • service boot_shen stop — зупинити.
  • service boot_shen restart — перезапустити (після правок коду).
  • tail -f /home/ussr/boot-shen/bot.log — живий лог помилок та принтів.

Примітка: Усі команди виконуються під su без використання sudo.

Коментувати

Простий текст

  • Не дозволено жодних HTML теґів.
  • Рядки й абзаци переносяться автоматично.
  • Адреси вебсторінок та адреси електронної пошти автоматично перетворюються у посилання.