The BLIMP is a multipurpose utility Discord Bot.
Most BLIMP commands accept arguments. They’re separated by spaces, like this:
choose! Option Choice
This will make the bot see both
Choice as separate words. Sadly, sometimes you’re forced to use a language that doesn’t have the near-miraculous ability to merge concepts like stimulation fund for municipal investment into a single beautiful word like Kommunalinvestitionsförderungsfonds. In that case, you can use quotes to delimit what words belong to each other:
choose! "Butter Pecan" Chocolate
Here, the bot sees
Butter Pecan and
Chocolate as two phrases.
Some arguments have special rules depending on what they represent. Here’s an overview:
Durations can be expressed as numbers suffixed with
d, or, more naturally,
dayand their plural forms. You can either mash them together like
1d12hor, using spaces, write them pretty normally:
"1 day 12 hours". Both of these are exactly equivalent. For each unit of time, the bot only reads the first time it’s mentioned, so
"1h 3h"is equivalent to
Timestamps can be expressed in the ISO 8601 format, which looks like this:
2019-06-17T9:00:00-5:00, which refers to 9AM in Iowa on June 17th, 2019. This is, obviously, very unwieldy.
You can start by leaving out the timezone:
2019-06-17T14:00:00. If no timezone is provided, UTC is assumed. Next, you can drop the seconds:
You can also replace the bad-to-read
Twith a space, but then you need to surround the entire thing in quotes like
Finally, you can also leave out the time clause entirely, which gets parsed as midnight, UTC:
Messages can be referred to either by a link, a
channelid-messageidpair, or just the message ID if it’s in your current channel. For more details, please consult this official Discord help article.
Channels and categories can be referred to either by their name, a mention, or their ID.
Users can be referred to either by their Username#1234, username, nick, ID or mention.
Roles can be referred to either by their name, their ID or a mention.
Finally, if you find yourself referring to a certain message, channel or category often, you can use the
alias!command to assign them a name in your server:
alias! make #channel-with-long-name 'thatchannel
For more details on that, see the help entry on
To self-host BLIMP, you need both the source code and the Nix Package Manager. First, open a terminal and clone the repository:
$ git clone https://github.com/the-valley-discord/blimp
If you don’t have git installed, you can also download a zip archive of the code on the page linked above (currently the option is hidden behind a big green button) and unzip it into a directory.
Next, enter that directory.
$ cd blimp
Now you need to edit the configuration file. Open
blimp.cfg.example with your text editor of choice and update it as instructed by the comments inside. To get the bot running immediately, you only need to insert a valid token, which you can get here under “New Application”→“Bot”.
Now we can build BLIMP:
$ nix build
This will print a bunch of useful information and hopefully succeed. You now should have a symlink called
result lying around in your folder that points to the build output. You can run BLIMP using this command:
If you want to self-host it on a VPS or similar, you probably want to create a
systemd service for BLIMP to have it start automatically and provide better logging. This is not detailed here, just search the term and you should find a bunch of up-to-date tutorials.