A collection of command line tools and wrapper scripts for the eggdrop IRC bot.
Eggdrop is an IRC bot written in C with a built-in TCL scripting environment. These IRC bot scripts are based around command-line tools written in perl with a TCL wrapper layer. The command line tools are designed to be standalone with VT220/ANSI terminal output, and have been adapted for IRC color output.
All original code is 2-clause BSD licensed. See LICENSE file.
The astro program has portions derived from K1JT Joe Taylor's
wsjt program and is GPLv3 licensed. See COPYING file.
See the /r/amateurradio wiki page for qrm bot.
As tested on Debian:
curlperlperl-baseperl-moduleslibastro-satpass-perl(Astro::Coord::ECI-- see instructions below)libclone-perllibdate-manip-perllibdatetime-format-strptime-perllibdatetime-perllibjson-perllibmath-bigint-perllibmath-round-perllibtext-csv-perlliburi-perllibdbd-sqlite3-perllibdbi-perllibsqlite3-0
If using the stock command, the curl-impersonate fork/patch is needed to
emulate the TLS handshake of an actual browser to work around TLS
fingerprinting:
$ sudo apt-get install git dh-make-perl apt-file
$ sudo apt-file update
$ git clone 'https://github.com/trwyant/perl-Astro-Coord-ECI.git'
$ cd perl-Astro-Coord-ECI
$ git checkout 'v00.077'
$ dh-make-perl --vcs none --build
Would you like to configure as much as possible automatically? yes
What approach do you want? manual
$ sudo dpkg -i ../libastro-satpass-perl_0.077-1_all.deb
$HOME/.aerisweather-- API key for aerisweather.com$HOME/.aprs.fi-- required aprs.fi API key foraprstool$HOME/.bitlyapikey-- key for bit.ly API$HOME/.clublogapikey-- API key for clublog.org$HOME/.coinmarketcapkey-- API key for coinmarketcap.com$HOME/.darksky-- API key for darksky.com$HOME/.deeplapikey-- API key for deepl.com translation$HOME/.googleapikeys-- key for Google APIs$HOME/.hamspotlogin-- required login credentials for hamspots.net use$HOME/.imgurkey-- API key for imgur.com$HOME/.nicks.csv-- irc and reddit nicknames -- optional, will override repository data$HOME/.qrzlogin-- required login credentials for qrz.com lookup$HOME/.wunderground-- required API key for WUnderground weather lookup
$HOME/.clublogusers.gz-- cache of clublog.org user data$HOME/.cty.dat-- cached DXCC data from country-files.com$HOME/.dmr-id-repeaters.csv-- cache of DMR repeater IDs$HOME/.dmr-id-users.csv-- cache of DMR user IDs$HOME/.hamspotcookies-- HTTP cookies for hamspots.net session$HOME/.icao-types-- cache of ICAO aircraft type data$HOME/.lotw-dates.txt-- cached LOTW upload dates$HOME/.mostwanted.txt-- cached DXCC "most wanted" data from clublog.org$HOME/.qrzcookies-- HTTP cookies for qrz.com session$HOME/.spottimestamps-- used for spots monitor mode; safe to remove$HOME/.qrmbot/cache/radmon.txt-- cached rad monitor data; safe to remove$HOME/.qrmbot/db/spots.sqlite-- database of user-added radio spots
Reasonable precautions have been made to filter out or escape shell special characters and so forth, but this is not foolproof. I suggest running the bot inside a minimal chroot without any setuid binaries, or a suitable VM, as needed.
- Clean up and modularize TCL scripts
- Document how to use and configure TCL scripts
Accept other formats for!setgeo- Use geo grid for
!activity - Cleanup needed in
qrzscript - Add a preferred wx station in addition to
!setgeogeo coords - If no callsign is specified with
!spotsuse irc nick. - Requested by K1NZ:
!untappdfor beer info -- they are not giving out API keys. :( Add clublog log check or clublog log search- Add clublog DXCC activity data
Add POTA- Move dotfiles to a dot dir
Add clublog league statusAdd free space path loss calculation using gnu units.- Add wavelength and frequency calculation (free space and in-wire w/ velocity factor).
Add coax loss calculation by length, frequency/band and type.Add nearest fires command from aeris wx api.
- Chris K2CR
- AA4JQ
- Dan VK3DAN
- Josh W9VFR
- Oliver M6WRF
- Andrew KC2G
- Asara WX0R
- Jack WA6CR