Skip to content

Telegram bot for creating non-existent russian words. Телеграм-бот для генерации несуществующих русских слов.

License

Notifications You must be signed in to change notification settings

weiss-d/slovodel-bot

Repository files navigation

'Slovodel' Telegram Bot

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

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

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

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

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

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

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

  • Экстремальный нейминг
  • Острый переизбыток семантики
  • Развлекательная недостаточность

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

  • паттерн MVC на Python
  • современный целостный подход к разработке на Python, описанный в этой серии статей↗️
  • лучшие практики для работы с конфигурацией в Python, предложенные здесь↗️ Не надо так, делайте всё через Pydantic :)

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

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

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

$ 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

  • Добавить логи
  • Добавить обработку исключений python-telegram-bot

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

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

Состав

  • markovify - основа модели, отвечающая за формирование слов.
  • python-telegram-bot - самая популярная обёртка Telegram Bot API из кожи питона.
  • click - библиотека для лёгкого и безболезненного создания CLI-интерфейсов в Python.
  • dacite - библиотека для преобразования словарей в dataclass'ы.
  • rusyll - моя библиотека для алгоритмического деления русских слов на слоги.

About

Telegram bot for creating non-existent russian words. Телеграм-бот для генерации несуществующих русских слов.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy