dialog-ruby

Telegram Bot abstraction layer for textual collaboration.


License
Other
Install
gem install dialog-ruby -v 0.1

Documentation

logo

travis-ci codeclimate-issues-badge

ОписаниС

БмысловоС

ГСнСрализация Π΄Π°Π½Π½Ρ‹Ρ… Π² понятийных цСпях.

ВСхничСскоС (Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π’Π΅Π»Π΅Π³Ρ€Π°ΠΌ ΠΊΠ°ΠΊ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹)

Π’ΡƒΡ‚

ВСхничСскоС (сСрвисы)

"ΠœΠΈΠΊΡ€ΠΎΡΠ΅Ρ€Π²ΠΈΡΠ½Π°Ρ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° для раскрытия всСго своСго ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»Π° Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ сохранСния работоспособности систСмы ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΠ°Π·Π΅ любой ΠΌΠ°ΡˆΠΈΠ½Ρ‹. Π­Ρ‚ΠΎ позволяСт Ρ…ΠΎΡΡ‚ΠΈΡ‚ΡŒΡΡ Π½Π° ΠΎΠ±Π»Π°ΠΊΠ°Ρ… с Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ Π½Π°Π΄Π΅ΠΆΠ½Ρ‹ΠΌΠΈ машинами, позволяСт CD Π±Π΅Π· Π΄Π°ΡƒΠ½Ρ‚Π°ΠΉΠΌΠ°, позволяСт A/B тСстированиС ΠΈ Ρ‚.Π΄."

ΠŸΡ€ΠΈΡ‘ΠΌ ΠΈ Π»Ρ‘Π³ΠΊΠΈΠΉ парсинг сообщСний (микросСрвис 1)

ΠΠ΅Π±Π»ΠΎΠΊΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹ΠΉ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ всС сообщСния, раскладываСт Π² ΡΠ΅ΡΠΈΠΈΠΎΠ½Π½ΡƒΡŽ Π±Π°Π·Ρƒ ΠΈ добавляСт ΠΌΠ΅Ρ‚Π°-Π΄Π°Π½Π½Ρ‹Π΅ (Π°Π½Π°Π»ΠΎΠ³ "parse_and_provide" Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ ΠΊΠΎΠ΄Π΅), выдСляя KV-topic ΠΏΠΎ смысловой сСриализации. Под "смысловой сСриализациСй" понимаСтся случай, ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π²Π°ΠΆΠ½ΠΎ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ сообщСний. Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС, сСриализация производится ΠΏΠΎ chat_id - ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρƒ Ρ‡Π°Ρ‚Π°.

ЛогичСский конструктор событий (микросСрвис 2)

Π₯Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² событий (микросСрвис 3)

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ событийной ΠΌΠΎΠ΄Π΅Π»ΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ тСксты, Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½Π½Ρ‹Π΅ Π² Ρ„ΠΎΡ€ΠΌΠ΅ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ‡Π°Ρ‚Π° (ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ сообщСний Π²Π°ΠΆΠ½Π°) ΠΈΠ»ΠΈ пост/посты Π² telegra.ph

ВСхничСскоС (сопровоТдСниС)

Запуск

ΠšΡ€ΠΎΠΌΠ΅ выполнСния ΠΊΠΎΠ΄Π° Π±ΠΎΡ‚Π°, для Ρ€Π°Π±ΠΎΡ‚Ρ‹ Dialog трСбуСтся запуск telegram-cli.

Π£ΠΏΠ°ΠΊΠΎΠ²ΠΊΠ° Dialog

  • docker-ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ (alpine, opensuse)
  • systemd-сСрвис/bash wrapper для dev-вСрсии

Π’Ρ‹Π±ΠΎΡ€ тСхничСских Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ

Π―Π·Ρ‹ΠΊΠΈ программирования

ruby-sugar

  • ruby (Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΊΠΎΠ΄ ΠΊΠ°ΠΊ "смотри, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ...")
  • elixir (production-ΠΊΠΎΠ΄)

go-sugar

  • Go

Π₯Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ…

БСссионноС

  • lmdb
  • badger (dgraph-io)
  • ets (erlang internals)
  • Redis

Π”ΠΎΠ»Π³ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ΅ (text)

  • elastic

Π¨ΠΈΠ½Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…

РаспознаваниС (*-to-text)

Π˜Π·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡ

  • tesseract

Голос

  • Yandex SpeechKit Cloud
  • Google Cloud Speech API v2
  • Wit.ai

Π’ΠΈΠ΄Π΅ΠΎ

  • ?

Links


ВСхничСскиС Π·Π°ΠΌΠ΅Ρ‚ΠΊΠΈ

ToDo (тСкущая вСрсия, чистый Ruby)

  • Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ "пропуск" парсинга ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ½ΠΎΠ³ΠΎ сообщСния
  • def create_chat -> ΠΏΡ€ΠΎΠ΄ΡƒΠΌΠ°Ρ‚ΡŒ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ создания с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ
  • action.rb - research-сСкция