Skip to content

Latest commit

 

History

History
62 lines (35 loc) · 2.55 KB

README.md

File metadata and controls

62 lines (35 loc) · 2.55 KB

Mittens

fork with dotenv-vault Docker

Add Mittens here!

If you have an issue or a feature request feel free to reach out to calv. on Discord.

This is version 2 of Mittens boasting a 200% speed increase over version 1 of Mittens through the use of a proper SQL database and a lot of code optimizations.

What does Mittens do?

Mittens will monitor your chat for sentences and translates text from Japanese to English when required. In addition, Mittens keeps a schedule of (for now) Hololive streamers to notify you and your friends when someone on your following list goes live! Mittens uses slash commands with autocomplete. Below is a list of commands supported:

  • add: adds a streamer to your following list. You will get notifications in the channel you sent the command in
  • remove: removes a streamer from your following list
  • list: gets your current subscription list in your current discord channel
  • schedule [streamer], [group], [org]: gets the scheduled streams (stream reservations) for a particular streamer, group, or organization. See database for more info.

Building & Running

You can either build it locally or use the Docker Hub Image

Locally

  1. Install required packages with npm i

  2. Install SQLite3 following this documentation

  3. Get a .env file by forking the repository and filling it out.

  4. Run npm start

Pull and Run with Docker

  1. Pull: docker pull imcalvin/mittens:latest

  2. Fill out the .env file on dotenv-vault and acquire a DOTENV_KEY for the next step

  3. Run: docker run -d -e DOTENV_KEY=<YOUR_DOTENV_KEY> imcalvin/mittens:latest

Building for Docker

First login: docker login

Build & Tag: docker -t imcalvin/mittens:VER_NUM .

Push: docker push imcalvin/mittens:VER_NUM

Database

The database uses SQLite with TypeORM. Notes on the tables:

  • The languages table refers to the organization (ex: Hololive) as well as the language (ex: English).
  • The groups table is more specific and refers to a specific generation (ex: Hololive English Council)

Database Diagram

CI/CD

CI/CD Pipeline