Ой, логотип кудато делся

Telegram Repeater Bot для управления системами на оснве svxlink - Rolink (ORLink, FMlink)

Telegram Repeater Bot для управления системами на оснве svxlink - Rolink (ORLink, FMlink)
SVXLINK / Linux / Блог
17:12, 02 август 2025
32
0

📡 Что делает бот


Бот позволяет управлять приемом на ретрансляторе, линке или хотспоте на основе системы ROLink (ORLink или FMLink):


* включает и отключает прием по команде из Telegram;

* поддерживает таймер автоматического включения;

* поддерживает кнопки управления;

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

* поддерживает DTMF-команды и пользовательские макросы для расширенного управления (начиная с v.011a);

* позволяет управлять SVXLink напрямую из чата (перезапуск и обновления).


🛠 Последние обновления


* **v.011a**: Добавлена поддержка конфигурационных файлов `repeater_bot.conf` и `repeater_bot_dtmf.conf` для упрощения настройки. Введены новые функции: DTMF-команды (позволяют отправлять коды для управления SVXLink), пользовательские макросы (можно создавать и редактировать в `repeater_bot_dtmf.conf`), автоматическая проверка обновлений, команды управления (`/update`, `/ver`, `/restart_bot`, `/restart_svx`) и прямое управление SVXLink из чата.

* **Тонкости**: Версия v.009a устарела и не совместима с новыми функциями. Рекомендуется обновиться до v.011a, создав копию файла настроек перед этим.


✅ Шаг 1. Создание бота в Telegram


1. Открой Telegram.

2. Найди и начни чат с @BotFather.

3. Отправь команду:



/newbot



4. Придумай имя (например: Repeater Control Bot).

5. Придумай логин, обязательно заканчивающийся на _bot (например: Repeater70bot).

6. BotFather выдаст тебе токен, например:


1234567890:ABCDefGhijKlmNOPqrstuVWxyz123456789


   ➤ Скопируй этот токен — он понадобится позже.


✅ Шаг 2. Узнай свой Telegram ID


1. Найди в Telegram бота: @username_to_id_bot

2. Напиши ему любое сообщение.

3. Он ответит твоим числовым ID, например: 123456789.


Этот ID нужно будет указать как ADMIN, чтобы только ты мог управлять ботом или список админов: ADMINS = [1234567890, 0987654321].


✅ Шаг 3. Создай Telegram-группу


1. Создай новую группу (например, "Управление Ретрансляторами").

2. Добавь туда только что созданного бота.

3. Назначь его администратором группы, включив все разрешения.

4. Напиши в группу любое сообщение.

5. Перешли его в @username_to_id_bot.

6. Бот пришлёт тебе **ID группы**, например: -1002660123456.


✅ Шаг 4. Установка бота на устройство (Orange Pi, Raspberry Pi, VPS и т.п.)


Выполни на устройстве под root:


wget -O - https://odradio.link/svx/bot/install_repeater_bot.sh | sudo bash



Бот установится в "/opt/rolink/scripts/repeater_bot.py"

Systemd-сервис будет автоматически создан и запущен.


Смотреть журнал работы бота:


journalctl -u repeater_bot.service -f



Лог бота:


tail -f /tmp/repeater_bot.log



Доступные консольные команды:


Остановить бота


systemctl stop repeater_bot.service


Запустить/перезапустить бота


systemctl restart repeater_bot.service


Статус бота


systemctl status repeater_bot.service



✅ Шаг 5. Настройка скрипта бота


Открой файл:


nano /opt/rolink/scripts/repeater_bot.py



Если у вас установлена старая версия v.009a:

1. Создайте копию файла: `

cp /opt/rolink/scripts/repeater_bot.py /opt/rolink/scripts/repeater_bot_009a_backup.py

`.


2. Обновите бота (см. Шаг 10) и используйте новые конфигурационные файлы. Перенесите свои настройки из старого бота v.009a в новый конфиг файл.


Для версии v.011a и выше настройка выполняется через файлы:

- `

nano /opt/rolink/scripts/repeater_bot.conf

` — основные настройки:


 


  # Название ретранслятора/узла
  RELAY_ID = @100
  # Команда в Voter
  RX_COMMAND = LocaleRx
  # Путь для записи команд для Voter
  TMP_COMMAND_FILE = /tmp/voter
  # ID Админа/админов
  ADMINS = 1234567890,0987654321
  # ID Токен бота
  TELEGRAM_TOKEN = Токен_бота
  # ID группы или чата
  CHAT_ID = -1002660123456
  # Таймер авто-включения приема (сек)
  AUTO_RESTORE_TIMEOUT = 3600
  # Таймер авто-удаления сообщений (сек)
  AUTO_DELETE_TIMEOUT = 15
  # Включение/выключение логирования
  ENABLE_LOGGING = True
  # Путь к файлу логов
  LOG_FILE = /tmp/repeater_bot.log
  


- `

nano /opt/rolink/scripts/repeater_bot_dtmf.conf

` — настройки DTMF и макросов:


 


  # Включение/выключение DTMF-команд
  DTMF_ENABLED = True
  # Telegram ID пользователей с доступом к DTMF
  DTMF_ACCESS_IDS = 1234567890
  # Режим работы DTMF-команд: chat, bot, both
  DTMF_COMMAND_MODE = both
  # Путь для отправки DTMF-команд
  DTMF_CTRL_PTY = /tmp/dtmf
  # Команда для inline-кнопок в чате
  INLINE_CHAT = @100#?
  # Команда для inline-кнопок в личном чате
  INLINE_BOT = /#?
  [CHAT_MACROS]
  enable_link = @100:551#
  disable_link = @100:55#
  



💡 RELAY\_ID должен быть разным на каждом устройстве, если их несколько в одной группе. Редактируйте файлы с правами root и сохраняйте (Ctrl+O, Enter, Ctrl+X).


✅ Шаг 6. Настройка SVXLink


Открой файл конфигурации:


nano /opt/rolink/conf/rolink.conf



▶️ Если это **хотспот или симплексный узел**:


[SimplexLogic]
TYPE=Simplex
RX=Voter
...



📡 Если это **ретранслятор**:


[RepeaterLogic]
TYPE=Repeater
RX=Voter
...



📥 Обязательная секция Voter, замените на эту:


[Voter]
TYPE=Voter
RECEIVERS=LocaleRx
VOTING_DELAY=75
COMMAND_PTY=/tmp/voter



⚠️ Бот будет писать команды MUTE и ENABLE в /tmp/voter. SVXLink будет их читать.


📻 Настрой секцию приёмника

Найди секцию настроек приемника [RX1] или [Receiver1] или другое. Переименуй её в:


[LocaleRx]



Или другой вариант. Указать в RECEIVERS= Имя вашей секции:


например:


RECEIVERS=RX1



🔁 Перезапуск SVXLink


systemctl restart rolink



✅ Шаг 7. Перезапуск бота


systemctl restart repeater_bot.service



✅ Шаг 8. Управление ботом


В Telegram-группе можно отправлять:


🧾 Команды:

@70-            — отключить прием

@70+           — включить прием

@70- 300       — отключить прием на 5 минут

STATUS          — показать текущее состояние

Начиная с v.011a появились:

/#             — отправить DTMF-команду # отключить модуль или от линка

/#?            — отправить DTMF-команду #? и показать меню кнопок

/hash          — эквивалент /# (макрос для удобства)

/hash_query    — эквивалент /#? (макрос для удобства)

@100:9125578#      — пример DTMF-команды подколючения к Одесской TG25578 (настроить в CHAT_MACROS)

/update         — проверить и установить обновление (только в личном чате)

/ver            — показать версию бота (только в личном чате)

/restart_bot    — перезапустить бота (только в личном чате)

/restart_svx    — перезапустить SVXLink (только в личном чате)


Если вы отключили прием командой "-" и случайно забыли включить, то прием автоматически включится через 60 минут. Этот параметр настраивается в `repeater_bot.conf`, в строке: AUTO_RESTORE_TIMEOUT =


🔘 Кнопки:

После команды `/#?` или `/hash_query` бот покажет:

* 🔊 Включить

* 🔇 Выключить

* 📟 Статус


Нажимай кнопки — и бот выполнит действие.


📋 Тонкости использования:

- **DTMF-команды**: Начиная с v.011a, отправляйте коды (например, `@100:25578#`) для управления SVXLink. Настройте в `repeater_bot_dtmf.conf` (раздел CHAT_MACROS или BOT_MACROS).

- **Макросы**: Создавайте свои команды в `repeater_bot_dtmf.conf`, например: `connect_link = @100:912550#`. Используйте их как `/connect_link` в личном чате с ботом или `@100connect_link` в общем чате.

- **Управление SVXLink**: Используйте `/restart_svx` для перезапуска SVXLink прямо из чата.

- **Логи**: Проверяй логи (`journalctl -u repeater_bot.service -f`) для диагностики ошибок.

- **Обновление**: Используй `/update` в личном чате с ботом для проверки и установки новой версии (требуются права админа).


✅ Шаг 9. Несколько ботов в одной группе


Ты можешь установить одного бота на каждое устройство, и все они будут работать в одной группе.


Пример:

Устройство 1:

`RELAY_ID = "@70"`


Устройство 2:

`RELAY_ID = "@96"`

...


📲 В одной и той же группе Telegram ты можешь отправлять:

@70- 600

@96+

STATUS

```


Каждый бот реагирует *только на свой RELAY_ID, и не мешает другим.


✅ Шаг 10. Обновление бота и перенос настроек


Если у вас установлена версия v.009a:

1. Создайте копию файла: `

cp /opt/rolink/scripts/repeater_bot.py /opt/rolink/scripts/repeater_bot_009a_backup.py

`.


2. Выполните обновление: `

wget -O - https://odradio.link/svx/bot/install_repeater_bot.sh | sudo bash

`.


3. Откройте новый файл `repeater_bot.conf`:

   - Скопируйте настройки из `repeater_bot_009a_backup.py`:

     - `TELEGRAM_TOKEN` → `TELEGRAM_TOKEN`

     - `RELAY_ID` → `RELAY_ID`

     - `RX_COMMAND` → `RX_COMMAND`

     - `ADMINS` → `ADMINS` (замените запятые на пробелы, например, `1234567890 0987654321`)

     - `CHAT_ID` → `CHAT_ID`

     - `AUTO_RESTORE_TIMEOUT` → `AUTO_RESTORE_TIMEOUT`

     - `AUTO_DELETE_TIMEOUT` → `AUTO_DELETE_TIMEOUT`

     - `ENABLE_LOGGING` → `ENABLE_LOGGING`

     - `LOG_FILE` → `LOG_FILE`

   - Сохраните (Ctrl+O, Enter, Ctrl+X).

4. Настройте `repeater_bot_dtmf.conf` (по умолчанию DTMF отключен, включите вручную, если нужно, например, `DTMF_ENABLED = True`).

5. Перезапустите бота: `

systemctl restart repeater_bot.service

`.



Для обновления текущей версии:

1. Отправьте `/update` в личном чате с ботом (требуются права админа).

2. Бот автоматически проверит и установит новую версию, создав бекапы конфигов.


🧹 Удаление бота


Выполни в консоли команду:


wget -O - https://odradio.link/svx/bot/install_repeater_bot.sh | sudo bash -s -- --remove



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


Repeater BOT from UT3FT

Ctrl
Enter
Заметили ошЫбку
Выделите текст и нажмите Ctrl+Enter
Комментарии (0)
Топ из этой категории
Telegram Repeater Bot для управления системами на оснве svxlink - Rolink (ORLink, FMlink) Telegram Repeater Bot для управления системами на оснве svxlink - Rolink (ORLink, FMlink)
📡 Что делает бот Бот позволяет управлять приемом на ретрансляторе, линке или хотспоте на основе системы ROLink (ORLink...
02.08.25
33
0
Latry – перший мобільний клієнт для мережі SvxReflector Latry – перший мобільний клієнт для мережі SvxReflector
Latry – це новий мобільний додаток для Android, який дозволяє радіоаматорам підключатися до мережі SvxReflector...
23.07.25
110
0