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
I will write those if people actually want to contribute. Until then: Just make it work good and fast. uwu
- 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
- 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
.
{
"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.
{
"keys": [
"Youtube Api Key, you can add more if you like"
]
}
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)