NadekoBot/docs/guides/OSX Guide.md

160 lines
7.2 KiB
Markdown
Raw Normal View History

2017-06-13 14:59:32 +00:00
## Setting Up NadekoBot on OSX (macOS)
2016-11-29 14:29:05 +00:00
2016-10-09 22:44:50 +00:00
#### Prerequisites
2016-10-25 19:38:22 +00:00
- [Homebrew][Homebrew]
2017-06-14 23:23:51 +00:00
- [Google Account](http://nadekobot.readthedocs.io/en/latest/JSON%20Explanations/#setting-up-your-api-keys)
2016-10-25 19:38:22 +00:00
- Text Editor (TextWrangler, or equivalent) or outside editor such as [Atom][Atom]
2016-10-09 22:44:50 +00:00
2017-04-19 06:08:18 +00:00
#### Installing Homebrew
2016-10-09 22:44:50 +00:00
```/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"```
2016-10-09 22:44:50 +00:00
Run `brew update` to fetch the latest package data.
2017-04-19 06:08:18 +00:00
#### Installing dependencies
2016-10-09 22:44:50 +00:00
```
brew install wget
2016-10-09 22:44:50 +00:00
brew install git
brew install ffmpeg
brew update && brew upgrade ffmpeg
brew install openssl
2016-10-09 22:44:50 +00:00
brew install opus
brew install opus-tools
brew install opusfile
brew install libffi
brew install libsodium
brew install tmux
brew install python
brew install youtube-dl
2016-10-09 22:44:50 +00:00
```
2017-04-19 06:08:18 +00:00
#### Installing .NET Core SDK
- `ln -s /usr/local/opt/openssl/lib/libcrypto.1.0.0.dylib /usr/local/lib/`
- `ln -s /usr/local/opt/openssl/lib/libssl.1.0.0.dylib /usr/local/lib/`
- Download the [.NET Core SDK][.NET Core SDK]
- Open the `.pkg` file you downloaded and install it.
- `ln -s /usr/local/share/dotnet/dotnet /usr/local/bin`
2017-04-19 06:08:18 +00:00
#### Check your `FFMPEG`
2016-10-09 22:44:50 +00:00
**In case your `FFMPEG` wasnt installed properly (Optional)**
2016-10-09 22:44:50 +00:00
- `brew options ffmpeg`
- `brew install ffmpeg --with-x --with-y --with-z` etc.
- `brew update && brew upgrade` (Update formulae and Homebrew itself && Install newer versions of outdated packages)
- `brew prune` (Remove dead symlinks from Homebrews prefix)
- `brew doctor` (Check your Homebrew installation for common issues)
- Then try `brew install ffmpeg` again.
2017-04-19 06:08:18 +00:00
#### Installing xcode-select
2016-10-09 22:44:50 +00:00
Xcode command line tools. You will do this in Terminal.app by running the following command line:
`xcode-select --install`
A dialog box will open asking if you want to install `xcode-select`. Select install and finish the installation.
2017-04-19 06:08:18 +00:00
#### Downloading and building Nadeko
2016-10-23 23:39:26 +00:00
2016-11-29 14:19:00 +00:00
Use the following command to get and run `linuxAIO.sh`:
(Remember **DO NOT** rename the file `linuxAIO.sh`)
2016-10-24 06:57:44 +00:00
2017-06-13 14:52:31 +00:00
`cd ~ && wget -N https://github.com/Kwoth/NadekoBot-BashScript/raw/1.4/linuxAIO.sh && bash linuxAIO.sh`
2016-11-29 14:19:00 +00:00
Follow the on screen instructions:
2017-06-13 14:52:31 +00:00
Choose `1. Download NadekoBot` To Get the latest build. (most recent updates)
2016-11-29 14:19:00 +00:00
Once Installation is completed you should see the options again.
2017-06-13 14:52:31 +00:00
Next, choose `6` to exit.
2016-10-23 23:39:26 +00:00
2017-04-19 06:08:18 +00:00
#### Creating and Inviting bot
2016-12-02 00:15:58 +00:00
2017-06-14 23:23:51 +00:00
- Read here [how to create a Discord Bot application and invite it.](http://nadekobot.readthedocs.io/en/latest/JSON%20Explanations/#creating-discord-bot-application)
2016-10-09 22:44:50 +00:00
2017-04-19 06:08:18 +00:00
#### Setting up Credentials.json file
2016-10-23 16:46:48 +00:00
- Open up the `NadekoBot` folder, which should be in your home directory, then `NadekoBot` folder then `src` folder and then the additonal `NadekoBot` folder.
2017-06-14 23:23:51 +00:00
- Edit the way its guided here: [Setting up credentials.json](http://nadekobot.readthedocs.io/en/latest/JSON%20Explanations/#setting-up-credentialsjson-file)
- **If** you already have Nadeko 1.x setup and have `credentials.json` and `NadekoBot.db`, you can just copy and paste the `credentials.json` to `NadekoBot/src/NadekoBot` and `NadekoBot.db` to `NadekoBot/src/NadekoBot/bin/Release/netcoreapp1.1/data`.
**Or** follow the [Upgrading Guide.](http://nadekobot.readthedocs.io/en/latest/guides/Upgrading%20Guide/)
2016-12-02 00:15:58 +00:00
2017-04-19 06:08:18 +00:00
#### Setting NadekoBot Music
2016-12-02 00:15:58 +00:00
2017-06-14 23:23:51 +00:00
For Music Setup and API keys check [Setting up NadekoBot for Music](http://nadekobot.readthedocs.io/en/latest/JSON%20Explanations/#setting-up-your-api-keys) and [JSON Explanations](http://nadekobot.readthedocs.io/en/latest/JSON%20Explanations/).
2016-12-02 00:15:58 +00:00
2017-04-19 06:08:18 +00:00
#### Running NadekoBot
2017-06-14 23:23:51 +00:00
**Create a new Session:**
2017-06-14 23:23:51 +00:00
- Using Screen
2016-10-09 22:44:50 +00:00
2017-06-14 23:23:51 +00:00
`screen -S nadeko`
- Using tmux
2016-10-09 22:44:50 +00:00
2017-06-14 23:23:51 +00:00
`tmux new -s nadeko`
The above command will create a new session named **nadeko** *(you can replace “nadeko” with anything you prefer and remember its your session name)* so you can run the bot in background without having to keep the PuTTY running.
2017-06-14 23:23:51 +00:00
**Next, we need to run `linuxAIO.sh` in order to get the latest running scripts with patches:**
2016-10-09 22:44:50 +00:00
2017-06-14 23:23:51 +00:00
- `cd ~ && wget -N https://github.com/Kwoth/NadekoBot-BashScript/raw/1.4/linuxAIO.sh && bash linuxAIO.sh`
2016-10-09 22:44:50 +00:00
2017-06-14 23:23:51 +00:00
**From the options,**
2017-06-14 23:23:51 +00:00
Choose `2` to **Run NadekoBot normally.**
**NOTE:** With option `2` (Running normally), if you use `.die` [command](http://nadekobot.readthedocs.io/en/latest/Commands%20List/#administration) in discord. The bot will shut down and will stay offline until you manually run it again. (best if you want to check the bot.)
2016-10-09 22:44:50 +00:00
2017-06-14 23:23:51 +00:00
Choose `3` to **Run NadekoBot with Auto Restart.**
**NOTE:** With option `3` (Running with Auto Restart), bot will auto run if you use `.die` [command](http://nadekobot.readthedocs.io/en/latest/Commands%20List/#administration) making the command `.die` to function as restart.
It will show you the following options:
```
1. Run Auto Restart normally without Updating.
2. Run Auto Restart and update NadekoBot.
3. Exit
```
2016-10-09 22:44:50 +00:00
2017-06-14 23:23:51 +00:00
- With option `1. Run Auto Restart normally without Updating.` Bot will restart on `die` command and will not be downloading the latest build available.
- With option `2. Run Auto Restart and update NadekoBot.` Bot will restart and download the latest build of bot available everytime `die` command is used.
2016-10-09 22:44:50 +00:00
2017-06-14 23:23:51 +00:00
**Remember** that, while running with Auto Restart, you will need to [close the tmux session](http://nadekobot.readthedocs.io/en/latest/guides/Linux%20Guide/#restarting-nadeko) to stop the bot completely.
2016-10-09 22:44:50 +00:00
2016-11-29 14:19:00 +00:00
2017-06-13 14:52:31 +00:00
Now time to move bot to background and to do that, press CTRL+B,D (this will detach the nadeko session using TMUX)
2016-12-02 00:15:58 +00:00
If you used Screen press CTRL+A+D (this will detach the nadeko screen)
2017-04-19 06:08:18 +00:00
#### Updating Nadeko
2016-11-29 14:19:00 +00:00
- Connect to the terminal.
2016-11-30 13:50:03 +00:00
- `tmux kill-session -t nadeko` [(don't forget to replace **nadeko** in the command to what ever you named your bot's session)](http://nadekobot.readthedocs.io/en/latest/guides/OSX%20Guide/#some-more-info)
2016-11-29 14:19:00 +00:00
- Make sure the bot is **not** running.
- `tmux new -s nadeko` (**nadeko** is the name of the session)
2017-06-13 14:52:31 +00:00
- `cd ~ && wget -N https://github.com/Kwoth/NadekoBot-BashScript/raw/1.4/linuxAIO.sh && bash linuxAIO.sh`
- Choose `1` to update the bot with **latest build** available.
- Next, choose either `2` or `3` to run the bot again with **normally** or **auto restart** respectively.
- Done.
2016-11-29 14:19:00 +00:00
2017-04-19 06:08:18 +00:00
#### Some more Info
2016-11-29 14:19:00 +00:00
**TMUX**
2016-11-29 14:19:00 +00:00
- If you want to see the sessions after logging back again, type `tmux ls`, and that will give you the list of sessions running.
- If you want to switch to/ see that session, type `tmux a -t nadeko` (nadeko is the name of the session we created before so, replace `nadeko` with the session name you created.)
- If you want to kill NadekoBot session, type `tmux kill-session -t nadeko`
**Screen**
- If you want to see the sessions after logging back again, type `screen -ls`, and that will give you the list of screens.
- If you want to switch to/ see that screen, type `screen -r nadeko` (nadeko is the name of the screen we created before so, replace `nadeko` with the screen name you created.)
- If you want to kill the NadekoBot screen, type `screen -X -S nadeko quit`
2016-10-09 22:44:50 +00:00
[Homebrew]: http://brew.sh/
2017-06-13 14:52:31 +00:00
[.NET Core SDK]: https://www.microsoft.com/net/core#macos
2016-10-09 22:44:50 +00:00
[DiscordApp]: https://discordapp.com/developers/applications/me
[Atom]: https://atom.io/
[Invite Guide]: http://discord.kongslien.net/guide.html
[Google Console]: https://console.developers.google.com
[Soundcloud]: https://soundcloud.com/you/apps/new