Code

Occasionally I am moved to write code. When this happens, it is usually in the form of a plugin or extension to some piece of existing software. A good number of my more mature/older projects are listed here, but I also contribute to several third-party projects on a semi-regular basis.

sopel

sopel (formerly willie) is a Python-based IRC bot framework. I started running it sometime in 2014, and have since written or updated a number of modules for it.

In roughly alphabetical order:

sopel-AniTV
Query for anime airtimes with filtering by title and station (emulation of a Java module for Pircbotx).
sopel-BombBot
Plant and defuse bombs on other users in the channel (forked and improved from an existing module).
sopel-dgwmergeutils
Companion module for (most of) my games for sopel that allows merging users together in such a way as to preserve their stats.
sopel-duel
Lets users duel each other (emulation of a preexisting mIRC script).
sopel-jisho
Performs Japanese–English dictionary lookups using Jisho.org’s public (but basically undocumented) API.
sopel-rep
Karma-type module that lets users “luv” and “h8” each other (emulation of a mIRC script).
sopel-roulette
Lets users play Russian roulette (emulation of a mIRC script).
sopel-sockmsg
Proof of concept to let sopel receive text through TCP connections and send it out to IRC. Intended to be forked and extended for specific use cases.
sopel-UnoBot
Provides UNO games via IRC on a per-channel basis (originally based on an existing module for a predecessor of sopel called Phenny).
sopel-wolfram
sopel’s built-in Wolfram|Alpha support was removed when the company instated an API key requirement. I was the first person willing to take and package existing third-party code for distribution on PyPI. My first PyPI module, and first sopel module to have proper releases. Co-maintained with the original code’s author.
sopel-xkcdb
Fetch quotes from the xkcdb quote database.
who-is-dugoo
Nuisance module I threw together one night to bother people who try to pronounce my nickname phonetically.

YOURLS

YOURLS is a self-hosted URL shortener, an alternative to using one of the big names like TinyURL or Bitly. I installed it in September 2011, after getting a short domain name, and have since used it for almost all of the short links I need for Twitter/Facebook/SMS messages.1

Don’t Track Admins
Does what it says: It suppresses click tracking of logged-in YOURLS admin users. This is by far my oldest project featured here; the first version was committed on September 18, 2011.

Notes:

  1. A big motivator for this was wanting control of my own links. Much of my Twitter archive, for example, is largely useless because I used tr.im links for their brevity and for the clever domain name. The service shut down without publishing the link database anywhere, and the mappings are now simply gone. []

Comments are closed