Telegram bot to act as a courier for Plex content requests.
Currently, hatsume is in a semi-functioning state. To get an idea of where I am in the project so far, here are the features that are to be completed by the v1.0.0 release.
-
/enroll
: register a user to hatsume's database. Accepts a Plex username to check against users on server maintainer's friend list, and against already enrolled users (no dupes) -
/makerequest
: accepts IMDb or TVDb link(s) from an authenticated user and save it to the database. Query APIs to fill unknown data. - Regularly poll Plex server and notify a user if their request has been filled
- Forward requests to a Telegram channel for the server maintainer to see
- Request specific season(s) of a show
- Opt-in to Sonarr notifications
- Implement maintainer tools
- Improve code quality to match Google guidelines
- Other features maybe
- Fix some bugs along the way
Hatsume is tested in Node.js v10.x and uses some ES7 features available only in Node.js v7.x and up. Keep this in mind when deploying.
- https://core.telegram.org/bots/api#authorizing-your-bot
- http://www.omdbapi.com/
- https://api.thetvdb.com/swagger
- https://www.themoviedb.org/documentation/api
- Clone repo and install dependencies:
git clone https://github.com/au5ton/hatsume.git
npm install
- Setup mySQL or MariaDB (MariaDB please)
- Import the SQL database:
mysql -u [username] -p newdatabase < sql/hatsume_db.sql
- Setup environment variables:
cp .env.example .env
nano .env
- Run the bot:
node bot.js
- If all startup checks pass, you're good to go!
hatsume_bot is based off of Mei Hatsume, a character from Boku no Hero Academia (僕のヒーローアカデミア) and is property of Bones Inc.