damaru2 / ankigenbot

Telegram bot to automatically generate and upload anki cards to ankisrs.net

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ankigenbot

@ankigen_bot, Telegram bot to automatically generate and upload anki cards to ankisrs.net.

Anki is a very effective program to learn vocabulary, but anki does not have any way to generate cards automatically. Given a word in English, Spanish, French, German or Italian this bot will send you definitions with sentence examples and with a tap you can add them to your anki deck.

Anki + @ankigen_bot is the best way to learn vocabulary: Send the bot every word you do not understand when you are reading, studying or interacting with people, it will not take you time and anki will make sure you do not ever forget all those words.

Features

  • Generate flashcards with definitions and examples for English, Spanish, French, German and Italian.

    • The word from the example is removed. In English, regular derivatives of the words are removed.
  • Automatically upload the cards to the deck of your anki account you select.

  • Generate the cards with the front/back fields swapped with /swap. Definition is front by default.

  • Include the pronunciation of the word in the flashcard with /ipa in case that the word is in English. Disabled by default.


If you want @ankigen_bot to support another language, you can open an issue and point me to a hopefully nice, free and simple dictionary for that language.

image3

Write a word and select the definitions you want


Installation

For executing this code, you will need to have:

  • The following python libraries: sqlite3, selenium, the telegram-bot libraries and pronouncing. For instance, with pip it would be
pip3 install sqlite3 selenium python-telegram-bot pronouncing
  • translate shell, follow the instructions in the repository for installation.

  • Create a file called private_conf.py with a variable token_id initialized to the toked_id of your telegram bot. You also have to create in the root directory two folders called data and log. In commands:

git clone https://github.com/damaru2/ankigenbot
cd ankigenbot
mkdir data log
echo "token_id = '<your_bot_token_id>'" > ./src/private_config.py
  • Chrome (or Chromium). Add a variable in src/private_config.py called chrome_binary_location and add the path so it points to where your Chrome/Chromium binary file is. For example
echo "chrome_binary_location='/usr/bin/google-chrome'" >> ./src/private_config.py

Once everything is installed you can run the bot from the root directory:

python3 src/ankigen_bot.py

About

Telegram bot to automatically generate and upload anki cards to ankisrs.net

License:GNU General Public License v3.0


Languages

Language:Python 100.0%