© 2020 Pool Party Corp. All rights reserved.
Add @BubblifierBot
to the chat to be able to create custom bubble sticker packs using
following commands:
/bubble
- on first invocation it both creates a new sticker pack for the chat and adds referenced message bubble sticker, on the following invocations it only adds new bubble stickers to the existing pack
The project structure consisting of the main three component is as follows:
The communication for request processing:
Proto (proto/)
-
Protocol Buffers - language-neutral, platform-neutral extensible mechanism for serializing structured data
-
Rust protobuf - rust implementation of Google protocol buffers
-
TypeScript protobuf - an idiomatic protobuf generator for TypeScript
Language structure exporting files generation:
Have
protoc
package installedRust:
cargo install protobuf-codegen protoc --rust_out api/src --plugin $HOME/.cargo/bin/protoc-gen-rust proto/*.protoJavaScript:
cd client npm install ts-proto protoc --proto_path ../proto --ts_proto_out src --plugin node_modules/.bin/protoc-gen-ts_proto ../proto/*.proto
Bubble rendering server (client/)
-
TypeScript language
-
React - a JavaScript library for building user interfaces
-
Selenoid - a powerful Golang implementation of original Selenium hub code, which is using Docker to launch browsers
Telegram bot part (api/)
-
Rust programming language
-
Teloxide - a full-featured framework that empowers you to easily build Telegram bots using the
async
/await
syntax in Rust -
Diesel - a safe, extensible ORM and Query Builder for Rust
-
Image - encoding and decoding images in Rust
-
Thirtyfour - Selenium WebDriver client for Rust
Selenoid is a powerful Golang implementation of original Selenium hub code, which is using Docker to launch browsers
- Docker compose - a tool for defining and runing multi-container Docker applications.
In order to run Selenoid do the following steps:
docker pull selenoid/firefox:87.0
docker-compose up --build -d