Home

Awesome

'Slovodel' Telegram Bot

Making non-existent Russian words using Markov chains. Бот, который придумывает несуществующие русские слова.

ПОСМОТРЕТЬ В ДЕЙСТВИИ / TRY IT OUT↗️ RIP free Heroku

Велимир Хлебников на Украине. Портрет с корзинами. Автор неизвестен.

Посвящается Велимиру Хлебникову.

Фармакология

Генерация псевдослов с помощью цепей Маркова на основе корпуса, полученного алгоритмическим делением на слоги слов из русского частотного словаря.

Показания к применению

Ещё одна цель проекта - реализовать на практике:

Поэтому его структура немного сложнее обычного.

Способ применения и дозы

Установка и запуск

$ git clone https://github.com/weiss-d/slovodel-bot.git
$ cd slovodel-bot
$ pip install -r requirements.txt

# настроить конфигурацию как описано ниже
$ nano bot_config.toml

# загрузить словари в базу данных Redis
# если есть пароль, дописываем его в конце каждой команды
$ python slovodel_bot/utils/redis_upload_dict.py ../resources/dictionaries/nouns.txt SLOVODEL_DICT 127.0.0.1 6379 0
$ python slovodel_bot/utils/redis_upload_dict.py ../resources/dictionaries/adjectives.txt SLOVODEL_DICT 127.0.0.1 6379 0
$ python slovodel_bot/utils/redis_upload_dict.py ../resources/dictionaries/verbs.txt SLOVODEL_DICT 127.0.0.1 6379 0

# можно запускать!
$ python -m slovodel_bot

Настройка

Дефолтный конфиг bot_config.toml лежит в корне репозитория. В нём нужно прописать токен, полученный от Bot Father, а так же координаты Redis, если база запущена не локально - это делается в самой нижней секции конфига. Так же при желании изменить приветсвтенное сообщение можно отредактировать файл slovodel_bot/resources/welcome_message.md.

Heroku

Помимо стандартных процедур по созданию приложения, описанных в документации Heroku, необходимо задать переменную окружения HEROKU_APP_NAME, содержащую имя вашего приложения из настоек:

$ heroku config:set HEROKU_APP_NAME=имя_вашего_приложения

Файлы Procfile, requirements.txt и runtime.txt содержат все необходимые инструкции и готовы к запуску. Если хотите сделать для Heroku отдельный файл конфигурации, то путь к нему нужно прописать в Procfile в качестве аргумента к heroku.py.

TODO

Вопросы / Предложения

По всем вопросам и предложениям не стесняясь открывайте issue.

Состав