David Martínez-Rubio bio photo

David Martínez-Rubio

  G. Scholar LinkedIn Github e-Mail

I made ankigenbot in 2016 to remove the friction from making vocabulary cards in the spaced repetition app Anki. It’s a great software for long-term memorization.

The idea is simple: when you find a word you want to remember, you send it to a Telegram bot, pick one of the definitions it finds, and the bot creates an Anki flashcard for you.

A generated card inside Anki

ankigenbot help message in Telegram

The bot replies with definitions, part-of-speech information, and example sentences where the target word has been replaced by ...... For English words, it also tries to remove regular variants of the word from the example sentence, so the flashcard does not give away the answer too easily.

ankigenbot showing definition choices in Telegram

By default, the definition goes on the front and the word goes on the back. You can change that with /swap. You can also ask for English IPA pronunciation with /ipa.

The bot supports language prefixes such as /en, /es, /fr, /de, /it, and /ru, so a message like this asks for Spanish definitions:

/es amigo

If you configure your AnkiWeb username and password with /user and /pass, the bot can upload the selected card automatically. That is convenient, but it also means the bot has to store those credentials, so it is better to use a password you do not reuse elsewhere. Or run your own bot, the code is on GitHub. You can set a default language with /languages, configure deck names with /deck, and attach default tags per language with /tags.

ankigenbot uploading a selected definition to Anki