Skip to content

Your new waifu and general purpose Discord bot

License

Notifications You must be signed in to change notification settings

blyatmobilebr-zz/satomi

 
 

Repository files navigation

Satomi 聡美

Your new waifu and general purpose Discord bot

CodeClimate TravisCI DavidDM License


Satomi is a discord bot created in JavaScript (Node.js) using Eris and Sylphy. It is currently a project of mine to learn JavaScript in a fun way. This bot was initially branded under Ryuko (from Kill la Kill) and written in Discord.js and using Discord-Akairo. Though I deleted the repository/code after looking into and experimenting with Eris.

If you don't mind, you can check out Satomi's trello here -> Trello Link

Satomi is built on...

  • Node.js : A Javascript runtime for scalable network applications
  • NPM : The infamous package manger for JavaScript (yarn is a thing too)
  • Eris : A Discord JavaScript Library for Node.js
  • Sylphy : A framework for Eris that is advanced and efficient
  • ESLint : A configurable JavaScript linter for old and current ECMAScript versions
  • PM2 : An advanced process manager for applications in production

Want to invite Satomi?

As of right now, I am not done with Satomi's development. Im aiming for "public use" by version 1.0.0, as by then I hope to have most of the features I want on Satomi present. I also do not recommend anyone using the bot for their own until 1.0.0 due to the ever evolving structure of the code and how quickly database models can be changed within updates. After 1.0.0, there will be no changes in the database models as that would ruin public use. I also might not ever bring this bot online and just leave this here for others to use.

Bot Usage

You are feely able to use the bot for your own server, change the name of it if you want to, and use for your own development. But leave my name in the files or some other way of creditting me as the creator because licenses are a thing and no one likes a takedown. And if you are confused about AGPL-3.0 license, heres a run down:

You can

  • Use this for commercial reasons
  • Distribute the code
  • Modify the code
  • Use and Modify in private

You 100% have to

  • Make the source code available
  • A license must be included
  • Users have a right to see the source code
  • Use the same license I use (Right now its AGPL-3.0)
  • State what you changed in the code

Other info

  • You can't hook me into what mess you got yourself into, you are liable for you actions
  • There is no warranty (lol)

Also I might change the license at a later date, so keep an eye on the next updates if it occurs. It will be specified greatly if I changed it to ensure notice.

Development

Thanks for your interest in my code, I have added some setup documentation below to get you familiar. Just pay attention to the License and what I said above.

Installing

First you can either download the latest release or install through the console.

$ git clone https://github.com/kyostra/satomi.git
$ cd satomi/
$ npm install

Linting

ESLint is used for this bot, in combonation with my config. You can lint the code with following commands.

$ npm test
  • You can also run npm run lint or eslint src

Setup :

For .env and .env.example, leave the values empty for the example file (you need both files).

# Bot configuration

# Bot Masterkeys
CLIENT_TOKEN=
CLIENT_PREFIX=
OWNER_ID=
ADMIN_IDS=

# Sharding
CLIENT_PROCESSES=
CLIENT_SHARDS_PER_PROCESS=

# Module Keys
HOME_ID=
GUILDJOINLOG_ID=
GUILDLEAVELOG_ID=

# MongoDB
DB_HOST=
DB_PORT=
DB_USERNAME=
DB_PASSWORD=
DB_DBNAME=

# API
API_OSU=
API_REDDIT_ID=
API_REDDIT_SECRET=
API_REDDIT_REFRESH=
API_REDDIT_ACCESS=
  • I suggest you delete src/modules/mod/GuildLogger.js and the # Module Keys section in .env and .env.example, this is for when the bot is in production
  • This file will change during development and "production" due to new features

Running the bot :

After setting up the env files, configure the pm2-master.json and pm2-satomi.json files to your liking. You need to run both files together.

$ pm2 start pm2-master.json
$ pm2 start pm2-satomi.json
$ pm2 logs

License/Author

Satomi © Kyostra, Released under the AGPL-3.0 License

Created and maintained by Kyostra.

Website - kyostra.github.io | Github - kyostra | Twitter - @kyostra | Discord - Kyostra#6290

About

Your new waifu and general purpose Discord bot

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%