Skip to content

Smart Home, Automation, and all purpose homelab management bot.

Notifications You must be signed in to change notification settings

senpaiSubby/yotsugi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 

Repository files navigation

CodeFactor Grade Docker Pulls GitHub stars GitHub contributors GitHub issues


Loggero

Yotsugi

Smart Home, Automation, and all purpose homelab management bot.

Report Bug · Request Feature

About The Project

Yotsugi was created to simplify the management of my servers. I wanted a easy way to manage my docker container, smart devices, download clients and many more.

Commands

Category Command Description
Bot Tools bot General bot options
Bot Tools command Lock, unlock, disable, enable commands
Bot Tools config View and edit bot settings
Bot Tools ping Check discord latency
Bot Tools server View and edit server settings
Downloaders aria Aria2 download management
Downloaders deluge Control Deluge downloads
Downloaders rclone Search and get info from RClone
Downloaders sab Control SABNZBD downloads
Downloaders tor Control Transmission downloads
General help Get help on command usage
General notes Your personal notepad
General remindme Set yourself some reminders
General todo Your personal todo list
Management docker Manage Docker containers
Media anime Search Kitsu.io for anime
Media emby Emby media server info and stats
Media jf Jellyfin media server info and stats
Media manga Search Kitsu.io for manga
Media movie Search and request movies via Ombi
Media tv Search and request TV Shows via Ombi
Media yt Search Youtube videos
Networking meraki Get network information for Meraki Devices
Networking pihole PiHole stats and management
Search & Lookup brandfinder Check if a twitter or domain name is available
Search & Lookup corona Get info on the Corona Virus
Search & Lookup npm Search the NPM package repos
Search & Lookup nyaa Search Nyaa.si for anime torrents
Search & Lookup torrent Search and find torrents
Search & Lookup whois Get WHOIS information on a domain
Smart Home avr Control Pioneer AV Recievers
Smart Home pc Manage power state of linux computers
Smart Home say Speak through Google Home devices
Smart Home sengled Control Sengled smart lights
Smart Home tuya Control Tuya smart plugs and devices
Utils autorun Autorun commands at specified times
Utils clear Remove messages from channels
Utils eval Eval Javascript code
Utils routine Run multiple commands as routines
Utils shortcut Make and run shortcuts to other commands
Utils speedtest Runs a network speedtest

Prerequisites

Yotsugi uses MongoDB as the database backend and will need to be setup before the bot can be run. This guide assumed you are going to be using Docker.
  1. You can create your MongoDB container using docker-compose. Save this as docker-compose.yml where you would like to save the data at and run docker-compose up -d to start the container.
version: '3'
services:
  mongodb:
    image: mongo
    container_name: mongodb
    ports:
      - 27017:27017
    volumes:
      - ./mongodb/data:/data/db
    restart: unless-stopped

Setup With Docker

Easy setup with docker-compose
  1. Create a folder for Yotsugi with a config and logs directory inside of it.
  2. Inside the config directory make a config.json file with the following content. Changing ownerID, prefix and token accordingly. trustedUsers are the user ID's of members who bypass permission checks for commands.
{
  "mongoUrl": "mongodb://USERNAME:PASS@HOST:27017/yotsugi",
  "ownerID": "YOUR DISCORD USER ID",
  "prefix": "//",
  "apiKey": "1234",
  "token": "YOUR BOT TOKEN",
  "trustedUsers": ["userID 1", "userID 2"]
}
  1. Create a docker-compose.yml file with the following content. Changing the host directories if opting to store the config and log directories elsewhere.
version: '3'
services:
  yotsugi:
    image: callmekory/yotsugi:latest
    container_name: yotsugi
    volumes:
      - /path/for/config/files:/app/dist/config # where config.json, rclone.conf and db are stored
    ports:
      - 5055:5055 # api server port
    restart: unless-stopped
  1. Run docker-compose up in the same directory as your docker-compose.yml file. If all goes well you should see the bot login and present you with a invite link to add her to your server. Press ctrl + c to exit then run it with docker-compose up -d to start the bot in the background.

sample

Setup Without Docker

To get a local copy up and running follow these simple steps.

  1. Download latest release
https://github.com/callmekory/yotsugi/releases
  1. Unzip yotsugi.zip

  2. Navigate into yotsugi folder

  3. Run npm install to install project dependencies

  4. Edit config/config.json with you bot token and user ID

  5. Run the bot with npm start

Usage

All commands in Yotsugi are linked to a database where all params are set with the command //config. For example to see Embys config you would do //config get emby and to set a param like apiKey you would do //config set emby apiKey YOURAPIKEY. For command usages, etc run the //help command.

Contributing

Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. yarn install to get all dependencies
  3. Edit config in /src/config/config.json with your bot token and user ID
  4. Run tsc -w to watch and build the project as you edit source
  5. Run the bot with nodemon build/index.js make sure you have nodemon install globally with NPM

Roadmap

See the open issues for a list of proposed features (and known issues).

License

Distributed under the GPL3 License. See LICENSE for more information.

Contact

You can open a issue on github or join my personal Discord server and chat with me there if you'd like some help. Feel free to also DM me, my tag is callmekory#4233

Acknowledgements

About

Smart Home, Automation, and all purpose homelab management bot.

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •