Esperanto dictionary Mastodon bot
Petra Lamborn b5181efd7c Let's not have that word 5 years ago
.gitignore Initial commit 5 years ago Syntax error 5 years ago Initial commit 5 years ago
wl.txt Let's not have that word 5 years ago

Roboto por esperanta vortaro

(”Robot for an Esperanto dictionary”)

This is a Mastodon bot that posts entries from a English-Esparanto dictionary. It is hosted, and uses the Python wrapper.

This is my first bot for either Twitter or Mastodon, and my first python program in a long time. It’s not perfect, but it works.


The bot takes its wordlist from the utf-8 version of the above-linked dictionary, editing out the section headings and other elements that do not fit the pattern “(English) = (Esperanto).”, e.g:

Bed (river) = kuŝujo.

A handful of words I’d rather not have appear are removed, along with the first entry which for posterity reads:

A = indefinite article, not used in Esperanto.

This is a very important feature of the language! It just doesn’t fit the formulae I use.


Obviuosly you’re more likely to use this to make your own bot, but supposing you were going to deploy an exact copy this is what you would do:

  1. Make an account on, or another Mastodon instance. Mark it as a bot and do all the other profile things.
  2. Under Settings->Development create a new application, give it a name etc, leave the permissions as they are, and submit.
  3. Clone this repository onto whatever computer you want to run the app.
    • If the account you made is not on, edit to change the api_base_url to the URL of your instance.
  4. Using pip, download the API interface. For example, pip3 install --user
  5. Back on the website, find the application you created under Settings->Development->Your Applications, and copy its access token into a file named vortaro.secret in the same directory as etc.
  6. Run your app with python3, or equivalent. If all is successful it will print to stdout as well as tooting.


I run the bot via cron. Remember: if you have a line like

0 * * * * /usr/bin/python3 /home/petra/vortaro/

in your crontab, it’s not going to run the bot in the right directory to find the files it needs; instead it will fail silently. Personally I use a wrapper script that cds into the directory.