9M2PJU APRS2TG — APRS to Telegram Gateway Bot
9M2PJU APRS2TG is a free, open-source gateway that bridges the
APRS-IS network and the
Telegram messaging platform. It lets amateur radio operators send APRS messages
from any packet radio client (APRSdroid, handheld transceivers, igates) directly
to a Telegram user, and relays Telegram replies back to the originating APRS
callsign over the air — enabling true bidirectional APRS-to-Telegram
messaging.
What is APRS2TG?
APRS2TG is a Python bot that connects to the APRS-IS (Automatic Packet
Reporting System) network over TCP port 14580. It intercepts APRS messages
addressed to the APRS2TG callsign and routes them to registered
Telegram users. When a Telegram user replies, the bot sends the reply back to
the original APRS sender, completing a two-way bridge between amateur radio
packet messaging and Telegram chat.
Key features
- APRS to Telegram routing — APRS messages to the APRS2TG callsign are delivered to Telegram users.
- Bidirectional messaging — Telegram replies are routed back to the originating APRS sender callsign.
- APRS-IS listener — connects to APRS-IS with callsign and IGate blocklists and deduplication.
- APRS beaconing — periodically beacons its position to the APRS network.
- Real-time dashboard — a NOC-style web UI tracking messages, active senders, device distribution, and daily statistics.
- Message archive — searchable, paginated history of all routed APRS and Telegram messages.
- SQLite persistence — reliable storage of user mappings and message routing archives.
- Docker deployment — one-command
docker compose up -d with nginx reverse proxy.
How to use the APRS to Telegram bot
- On Telegram, find the bot (for example
@APRS2TG_Bot) and run /start. A Telegram username must be set in your profile.
- From any APRS client (radio, APRSdroid, igate), send a message to the callsign APRS2TG.
- Use the format:
msg @TelegramUser Your message text. Example: msg @john_doe Hello from the handheld radio!
- The bot routes the APRS message into the Telegram user's chat.
- Reply in Telegram and the bot relays your reply back to the originating APRS sender over the APRS-IS network.
Live APRS dashboard
This page is the live monitoring dashboard for the 9M2PJU APRS2TG gateway.
It shows total routed messages, active APRS senders, registered Telegram
users, a 7-day message activity chart, and a device distribution breakdown
by APRS client (tocall). The dashboard requires JavaScript to render the
interactive charts and message feed.
Technical details
APRS2TG implements the APRS messaging protocol with alphanumeric message
numbering (AA–ZZ) so APRS recipients can ACK Telegram-to-APRS replies,
long-message splitting for bodies over 67 characters, and reply-ack support
for modern APRS clients. It is written in Python with a Flask + Waitress
backend, a React + Vite + Tailwind frontend, SQLite storage, optional Redis
caching, and an nginx reverse proxy.
Visit the APRS2TG dashboard