pool-party / bubblifier-bot

Telegram bot for bubble sticker packs creation. https://t.me/BubblifierBot

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Bubblifier Bot

code style: prettier CodeFactor Grade Bubblifier Bot

logo

© 2020 Pool Party Corp. All rights reserved.

Usage guide

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

Structure

The project structure consisting of the main three component is as follows:

Project Structure

The communication for request processing:

Microservices communication Schema

Tools and Libraries

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 installed

  • Rust:

    cargo install protobuf-codegen
    protoc --rust_out api/src --plugin $HOME/.cargo/bin/protoc-gen-rust proto/*.proto
  • JavaScript:

    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/)

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

About

Telegram bot for bubble sticker packs creation. https://t.me/BubblifierBot

License:MIT License


Languages

Language:Rust 73.3%Language:TypeScript 20.0%Language:HTML 5.5%Language:CSS 1.1%Language:Dockerfile 0.1%