qrmBot: A Feature-Rich IRC Assistant for Ham Radio Operators

For amateur radio operators active on IRC, having a smart and versatile bot to assist with lookups, logs, weather, propagation, and radio data can make all the difference. That’s exactly what qrmBot delivers—an open-source IRC bot packed with ham radio tools, data-fetching scripts, and API integrations, all wrapped around the reliable Eggdrop bot framework.

Developed by the GitHub user molo1134, qrmBot has quietly matured into a powerful, modular assistant for hams who prefer real-time communication and automation through IRC. It’s not just a bot—it’s a toolkit for the command line and IRC, making radio data accessible in plain text, ANSI, or IRC color formats.


📟 What Is qrmBot?

At its core, qrmBot is a collection of command-line utilities and TCL wrapper scripts that plug into an Eggdrop IRC bot. The goal is to offer fast, scriptable access to various amateur radio resources directly within IRC channels or via command-line terminals.

It’s written primarily in Perl, with additional TCL scripting for integration into the IRC bot. There are tools for weather, propagation, satellite tracking, DX cluster monitoring, QRZ lookups, APRS, clublog data, and much more.


🛠 Key Features

  • Ham Radio Lookups:
    • QRZ.com, Clublog, LoTW, DXCC, POTA (planned), DMR users and repeaters.
  • Weather & Environment:
    • AerisWeather, WUnderground, DarkSky (now deprecated), and even fire monitoring.
  • Propagation Tools:
    • Real-time spot lookups, DX cluster updates, HF conditions.
  • Astronomical Data:
    • Satellite tracking (via Astro::Coord::ECI)
    • Moon/sun data, passes, and visibility windows
  • Utility Functions:
    • Currency and stock prices (!stock)
    • Translation via Deepl
    • Bit.ly and Imgur integrations
  • Data Caching and Local DBs:
    • SQLite3 support
    • Cached DXCC and call data for offline use

Everything is scriptable, flexible, and adaptable for your specific IRC workflows or terminal utilities.


📦 Configuration & Dependencies

qrmBot is built primarily for Debian-based systems and requires several Perl libraries. Some key dependencies include:

  • libastro-satpass-perl (custom-built from GitHub)
  • libdatetime-perl, libjson-perl, libmath-round-perl, and many others
  • curl-impersonate for stock lookups (to evade TLS fingerprinting)

API Keys Required:
To enable full functionality, you’ll need to configure various keys stored as dotfiles in your $HOME directory:

~/.qrzlogin        - QRZ.com login
~/.aprs.fi         - APRS.fi API key
~/.clublogapikey   - Clublog.org API
~/.deeplapikey     - Deepl.com
~/.aerisweather    - AerisWeather.com
~/.bitlyapikey     - Bitly.com
~/.googleapikeys   - Google APIs
~/.imgurkey        - Imgur uploads

This approach keeps sensitive credentials separated from the core scripts, making deployment cleaner and safer.


🖥️ Terminal & IRC Output

The command-line tools in qrmBot are built for both VT220/ANSI terminals and IRC clients, with IRC color output adapting standard terminal display conventions.

This dual-mode capability makes qrmBot equally useful in:

  • IRC channels for real-time collaboration
  • Terminal dashboards and shell scripts
  • Scheduled cron jobs for data gathering

🔒 Security Notes

While some care has been taken to escape shell inputs, users are advised to sandbox qrmBot in a minimal environment:

  • Use chroot jails
  • Run inside a dedicated VM or container
  • Avoid exposing it on public channels with unrestricted user access

This helps mitigate the risk of command injection or API abuse.


📚 Ongoing Development & Community

qrmBot is maintained and contributed to by a mix of hams and developers across the globe. Contributors include:

  • Chris K2CR
  • Josh W9VFR
  • Dan VK3DAN
  • Oliver M6WRF
  • Asara WX0R
  • Dozens more

New features are added regularly, with recent updates improving TLS circumvention using curl-impersonate and better database caching.

There’s also an active TODO list with planned improvements like POTA integration, coax loss calculators, log searches, and even beer info (sadly blocked by Untappd’s lack of API access).


✅ Why Use qrmBot?

If you’re an IRC user and ham operator, qrmBot offers a unique combination of features that’s hard to find elsewhere:

  • Full control via chat interface
  • Real-time lookups with caching
  • Seamless integration with ham APIs
  • Scriptable command-line access
  • Open-source and extensible

It’s particularly suited for clubs, DX groups, or personal use where fast access to ham-related data in IRC is valuable.


📥 Try It Yourself

Check out the project on GitHub:
🔗 https://github.com/molo1134/qrmbot

You’ll find setup scripts, documentation, and active issues with community-driven fixes and features. Whether you’re managing a DX cluster, checking sat passes, or posting real-time weather alerts into your club’s IRC room, qrmBot is a flexible companion worth exploring.

Post Comment

You May Have Missed