rem-v2
rem-v2 copied to clipboard
Well, this is the rewrite of rem, now even cleaner and hopefully with less bugs
Rem
The rewrite of Rem, now even cleaner and soon fully documented.
This Code is provided as is, there will be no support for getting it to run.
Noteworthy Forks
There are some forks which deserve to be listed here since they added some new features to rem
- PaveLiArcH: https://github.com/PaveLiArcH/rem-v2
Contributing Guidelines
I will write those if people actually want to contribute. Until then: Just make it work good and fast. uwu
Requirements:
- Node and NPM
- Git
- MongoDB (follow instructions on how to configure the server at https://docs.mongodb.com/manual/tutorial/install-mongodb-on-windows/)
- Redis, which can be found here: redis
- ffmpeg and youtube-dl
- Buildtools and Python 2.7
- Basic understanding of node js
Installation instructions
- Install MongoDB with the guide.
- Install redis with the guide
- Install git, Here is the link to get it.
- Install node, Here is the link to get it.
- Install ffmpeg and add it to path, it can be found here, if you are on linux, you might wanna compile it, here is a guide for that
- If you have Windows, open a console with administrator permissions and type
npm install --global windows-build-tools
into it. This will install the neccessary tools, which will be later needed by npm to build Rems dependencies. - For Linux environments, you should get
build-essential
andpython 2.7
installed. - Clone the source of v2 from git
- Go into the just created directory and open a cmd and execute
npm install
. There could be some errors while installing the dependencies as the optional dependency of rem links toeris-crystal
If the installation fails, due to not being able to clone the git repo of it, remove it from the dependencies in the package.json. - Create the following directories within the root:
temp
,audio
,config
- Create 2 files within the config directory:
main.json
andkeys.json
. An Example can be found down below. - Run
git submodule init
andgit submodule update
to fetch the newest translations - Start the MongoDB Server and the Redis Server if you did not do that already
- Start Rem by going into the src folder and typing the following:
node index.js
.
Example main.json
{
"owner": "Owner Name",
"owner_id": "Owner ID",
"environment": "development",
"no_error_tracking": true,
"token": "Bot Token",
"client_id": "Bot Client ID",
"bot_id": "Bot ID (Same as Client ID)",
"osu_token": "OSU API TOKEN",
"osu_username": "osu username",
"osu_password": "osu password",
"soundcloud_key": "key for the soundcloud api",
"sentry_token": "not needed.",
"anilist_secret": "not used atm",
"anilist_id": "not used atm",
"lbsearch_sfw_key": "ibsear.ch key",
"lbsearch_nsfw_key": "ibsearch.xxx key",
"cleverbot_api_user": "cleverbot.io api user",
"cleverbot_api_key": "cleverbot.io api key",
"mashape_key": "mashape key",
"use_ws": false,
"master_hostname": "not needed.",
"mongo_hostname": "The full database adress: e.g. mongodb://host:port/dbname",
"redis_hostname": "the redis ip, port is automatically set to 6379",
"redis_enabled": true,
"redis_database": 2,
"shard_token": "not needed."
}
- no_error_tracking disables sentry, the bugtracker of rem, leave this set to true.
- use_ws tells rem whether the master server should be used or not, leave this set to false, as it is not needed with one shard.
- the number of shards defines how many processes the master will spawn. Can be set to 1 unless you want to operate this fork on over 2500 servers.
Example keys.json
{
"keys": [
"Youtube Api Key, you can add more if you like"
]
}
Helpful links
If you need help creating tokens and a Youtube api I suggest reading these two tutorials on it.
- https://github.com/reactiflux/discord-irc/wiki/Creating-a-discord-bot-&-getting-a-token
- http://docs.thesharks.xyz/install_windows/ (Requirements & API keys section, forward is another case)