https://github.com/msergo/eki_telegram_bot
Telegram bot for querying translations from eki.ee. Supported directions: Estonian-Ukrainian + Estonian-Russian, Russian-Estonian
https://github.com/msergo/eki_telegram_bot
eesti go telegram
Last synced: 7 months ago
JSON representation
Telegram bot for querying translations from eki.ee. Supported directions: Estonian-Ukrainian + Estonian-Russian, Russian-Estonian
- Host: GitHub
- URL: https://github.com/msergo/eki_telegram_bot
- Owner: msergo
- Created: 2019-04-23T14:35:59.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2025-10-28T21:38:08.000Z (8 months ago)
- Last Synced: 2025-10-28T23:26:13.088Z (8 months ago)
- Topics: eesti, go, telegram
- Language: Go
- Homepage: https://t.me/eki_ee_bot
- Size: 56.2 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
README
# 🇪🇪 Estonian Dictionary Telegram Bot
[](https://dl.circleci.com/status-badge/redirect/gh/msergo/eki_telegram_bot/tree/master)
## About
Telegram bot [@eki_ee_bot](https://t.me/eki_ee_bot) for querying translations from official [Estonian dictionaries](http://eki.ee/). Since there is no official API available, the bot parses HTML pages to fetch translations. Currently, it supports Estonian-Russian and Russian-Estonian translations, identifying the direction based on the charset. The bot does not have a permanent storage solution but utilizes Redis to cache already fetched articles. Messages are returned with inline keyboard for quick switching.
## Motivation
The motivation behind this project was the need for a convenient tool to obtain translations quickly. The user interface of the eki.ee website is far away from being a user-friendly. As Telegram is my daily messenger, choosing it as the platform was an obvious decision. By that time, I had barely any knowledge of Go, so it was a good chance to learn by developing. Surprisingly, the bot works quite well and requires almost no maintenance.

## Local run
Submit BOT_TOKEN and WEBHOOK_ADDRESS to env in the docker-compose.yaml and run it with `docker-compose up`.
Now you're able to emulate webhook requests with `POST /localhost:8083`