Telegram бот для DX-инга

При удаленной работе в эфире иногда возникает желание подглядеть — а где сейчас вещает интересующий тебя DX. Открывать dx-кластер в браузере или запускать приложение на компьютере, затем искать с помощью фильтров нужный позывной — долго. Для цели оперативной проверки самых свежих спотов отлично подойдет Telegram бот.

Telegram бот DX_Alarm_bot написан на python и размещен на том же сервере, что и блог, который вы читаете. Его функциональность очень проста — при отправке команды /get <позывной> бот присылает в ответ споты за последние 15 минут, полученные с сайта pskreporter. Это выглядит примерно так:

Исходный код бота выложен на GitHub. Несколько слов о реализации.

Pskreporter умеет отдавать споты в adif формате за выбранный промежуток времени по конкретному позывному. Это делается запросом:

https://pskreporter.info/cgi-bin/pskdata.pl?&adif=1&days=0.01&senderCallsign=CALL

После получения файла adif происходит его обработка небольшим скриптом на языке Python. В результате формируется таблица с датой, временем, частотой, позывным и видом модуляции. Именно эта таблица и отправляется пользователю в ответ на /get запрос.

Исходные тексты бота можно изменять по своему желанию, для его работы необходимо просто клонировать репозиторий с GitHub и добавить в корень проекта файл с именем .env содержащий ваш токен бота. Все необходимые библиотеки установлены в виртуальном окружении.

Пока что бот присылает в основном FT8 споты. В качестве развития проекта можно добавить в него работу с сервисом reversebeacon.net и получать телеграфные споты напрямую от скиммеров со всего мира.

P.S.: Для тех, кто заинтересуется темой создания Telegram ботов, есть хорошая обучающая книга.

Запись опубликована в рубрике Python, Радио, Удаленка с метками , , . Добавьте в закладки постоянную ссылку.

4 комментария на «Telegram бот для DX-инга»

  1. Михаил говорит:

    Вот чего бы хотелось — указания своей геопозиции и запрос спотов из указанного радиуса от неё. Так-то неплохо, но чем поможет спот из Южной Америки мне в Питере? 🙂

    73! R1BLH

    • ra0sms говорит:

      Прохождение в своем регионе каждый плюс-минус представляет. Увидев спот днем на 160м, естественно, даже пытаться не стоит. Зато сразу понятно, что там, где dx нужен, его пока нет.

  2. Dmitriy Slokva говорит:

    Антон, привет!
    Проблема в том, что reversebeacon не отдает данные по api )))
    Приходится брать в руки что-то вроде beautiful soup или иной парсер и добывать споты с таблицы напрямую )))
    У меня есть заготовка, если нужно для старта — напиши скину код, чуток времени сэкономишь ))) там нужно будет только доделать часть, которая отделит новые споты от уже прочитанных, т.к. они добавляются в таблицу динамически.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *