Skip to content

A discord bot used to allow users to subscribe certain YouTube channels and receive notifications when they put up new schedules and go live.

Notifications You must be signed in to change notification settings

im-calvin/Mittens

Repository files navigation

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

About

A discord bot used to allow users to subscribe certain YouTube channels and receive notifications when they put up new schedules and go live.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages