Smart Home, Automation, and all purpose homelab management bot.
Report Bug
·
Request Feature
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.
| 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 |
- You can create your MongoDB container using docker-compose. Save this as
docker-compose.ymlwhere you would like to save the data at and rundocker-compose up -dto start the container.
version: '3'
services:
mongodb:
image: mongo
container_name: mongodb
ports:
- 27017:27017
volumes:
- ./mongodb/data:/data/db
restart: unless-stopped- Create a folder for Yotsugi with a
configandlogsdirectory inside of it. - Inside the
configdirectory make aconfig.jsonfile with the following content. Changing ownerID, prefix and token accordingly.trustedUsersare 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"]
}- 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- Run
docker-compose upin the same directory as yourdocker-compose.ymlfile. If all goes well you should see the bot login and present you with a invite link to add her to your server. Pressctrl + cto exit then run it withdocker-compose up -dto start the bot in the background.
To get a local copy up and running follow these simple steps.
- Download latest release
https://github.com/callmekory/yotsugi/releases-
Unzip yotsugi.zip
-
Navigate into yotsugi folder
-
Run
npm installto install project dependencies -
Edit
config/config.jsonwith you bot token and user ID -
Run the bot with
npm start
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.
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.
- Fork the Project
yarn installto get all dependencies- Edit config in /src/config/config.json with your bot token and user ID
- Run
tsc -wto watch and build the project as you edit source - Run the bot with
nodemon build/index.jsmake sure you havenodemoninstall globally with NPM
See the open issues for a list of proposed features (and known issues).
Distributed under the GPL3 License. See LICENSE for more information.
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
- Mellow - Ombi movies/series code
- nwithan8 Command ideas, testing and making some of the best bots on discord

