Skip to content

9M2PJU/9M2PJU-APRS-Thursday-Check-In-Bot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📡 9M2PJU APRS Thursday Check-in Bot

A lightweight, fully-automated APRS bot that checks in to the global #APRSThursday net every Thursday at 9:00 PM Malaysia Time (MYT). Built with Python and packaged in Docker with built-in cron for zero-hassle weekly operation.


🚀 Features

  • ⏰ Sends weekly check-in message on Thursdays at 9PM MYT
  • 🌐 Connects to APRS-IS (aprs.hamradio.my:14580)
  • 🐍 Written in pure Python using aprslib and pytz
  • 🐳 Dockerized with cron – runs standalone, no host cron or systemd required
  • 🔌 Manual test mode for instant triggering (--test)
  • 🧠 Lightweight, ideal for low-resource systems (e.g. Raspberry Pi, VPS)
  • 📤 Contributes to the #APRSThursday global net

📨 What It Sends

This bot sends the following APRS message to APRSPH:

HOTG Hello from CALLSIGN

This checks into the #APRSThursday net, encouraging global participation in APRS messaging.


🛠 Requirements


📦 Quick Start

1. Clone the repository

git clone https://github.com/9M2PJU/9M2PJU-APRS-Thursday-Check-In-Bot.git
cd 9M2PJU-APRS-Thursday-Check-In-Bot

2. Edit your configuration

Open aprs-thursday-check-in.py and update all the variables

3. Build the Docker image

docker compose build

4. Start the bot container

docker compose up -d

The bot will now run continuously and auto-send your check-in every Thursday at 9:00 PM MYT.


🧪 Manual Test Mode

To send the APRS message immediately (for testing), run:

docker compose run --rm aprs-thursday-check-in python /app/aprs-thursday-check-in.py --test

🛑 Stop the Bot

docker compose down

🔧 Configuration Notes

  • To change the message or server details, edit aprs-thursday-check-in.py.
  • Log output is stored in ./log/cron.log by default.

Alternative Method (Native)

📆 Schedule with Crontab

Edit your crontab with:

crontab -e

Add the following line to run every Thursday at 9:00 PM Malaysia Time (UTC+8):

0 21 * * 4 /usr/bin/python3 /path/to/aprs-thursday-check-in.py >> /path/to/log/aprs.log 2>&1

📌 Make sure to replace /path/to/ with your actual Python script and log file paths.

🌍 What is #APRSThursday?

#APRSThursday is a weekly global net for APRS users. It happens every Thursday from 0000Z to 2359Z (the whole day in UTC time). The goal is to encourage hams to send APRS messages and have some fun.


✅ How to Join

You join by sending a message to ANSRVR (an APRS messaging group server).

📤 Send this message once on Thursday:

CQ HOTG Your message here
  • CQ = calling anyone
  • HOTG = stands for "Hams on the Gram" (the APRS group)
  • Your message here = whatever short message you'd like to send

📍 Send this as an APRS message to the callsign: ANSRVR

When you do this:

  • You join the HOTG group for 12 hours
  • Your message is sent to everyone in the group
  • You’ll also receive any messages sent by others during that time

🚪 How to Leave the Group

When you're done listening or want to stop receiving messages, send this message to ANSRVR:

U HOTG
  • U = Unsubscribe from HOTG

This helps reduce traffic on the APRS RF network.


🔇 Stay Subscribed, But Silent

If you want to stay subscribed without sending a message to the group, send:

K HOTG
  • K = Silent join

This keeps you in the group for another 12 hours without alerting others.
Useful if you’re on RF and don’t want to flood the airwaves.


🧭 Alternative Check-in (No Message Flood)

If you prefer not to have your message forwarded to the group (to avoid RF congestion), you can send your check-in directly to APRSPH.

📤 Send this message to APRSPH:

HOTG Your message here
  • Your check-in is logged for #APRSThursday
  • Your message is NOT sent to the group
  • You'll get a confirmation reply with timestamp and a URL

📝 This method still counts for the #APRSThursday logs.


📊 See Check-in Map & Logs


📚 Resources


🧑‍💻 Author

Created and maintained by 9M2PJU 🇲🇾
Licensed under the GNU GPL 3.0


❤️ Support the APRS Community

This bot supports the global #APRSThursday initiative to encourage APRS message-based activity every week.

About

A lightweight, fully-automated APRS bot that checks in to the global #APRSThursday net every Thursday.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published