From a8e21527553f59efb695a22fc7deff21ef534c52 Mon Sep 17 00:00:00 2001 From: miraai Date: Wed, 3 Aug 2016 23:41:16 +0200 Subject: [PATCH 01/84] Create file.md --- docs/docs/file.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 docs/docs/file.md diff --git a/docs/docs/file.md b/docs/docs/file.md new file mode 100644 index 00000000..bf0cc8c1 --- /dev/null +++ b/docs/docs/file.md @@ -0,0 +1 @@ +sada From 58b52a879257088ae26840a2514cd115773b87cd Mon Sep 17 00:00:00 2001 From: miraai Date: Wed, 3 Aug 2016 23:44:10 +0200 Subject: [PATCH 02/84] New docs Mirai magic --- docs/docs/FAQ.md | 40 ++++++++++++++++ docs/docs/about.md | 13 +++++ docs/docs/contributionguide.md | 7 +++ docs/docs/customreactions.md | 21 ++++++++ docs/docs/explanations.md | 38 +++++++++++++++ docs/docs/fromsource.md | 8 ++++ docs/docs/index.md | 16 +++++++ docs/docs/permissions.md | 87 ++++++++++++++++++++++++++++++++++ 8 files changed, 230 insertions(+) create mode 100644 docs/docs/FAQ.md create mode 100644 docs/docs/about.md create mode 100644 docs/docs/contributionguide.md create mode 100644 docs/docs/customreactions.md create mode 100644 docs/docs/explanations.md create mode 100644 docs/docs/fromsource.md create mode 100644 docs/docs/index.md create mode 100644 docs/docs/permissions.md diff --git a/docs/docs/FAQ.md b/docs/docs/FAQ.md new file mode 100644 index 00000000..aed3cb81 --- /dev/null +++ b/docs/docs/FAQ.md @@ -0,0 +1,40 @@ +Frequently Asked Questions +####Q1: How do I get @Nadeko to join my server? +A: Send her a Direct Message with -h to get the link. Only Server Owners can allow the bot to join +####Q2: I want to change permissions, but it doesn't work D: +A: To change permissions, you have to set the ;permsrole (default permission role is called `Nadeko`, you can create a role named like that and assign it to yourself). *Only the owner of the server can change permissions without having this role.* +####Q3: Music doesn't work on a Mac?! +You have to build `mono` from source. . +####Q5: I want to disable NSFW on my server, please? +A: You would first have to be able to change permissions (see Q4 ), and then run `;sm NSFW disable` +####Q6: How do I get NadekoFlowers/whatever I changed my currency to? +A: You get NadekoFlowers by answering Trivia questions or picking them up after they have been generated with `>gc`, which you can then either plant (give away to a channel so that someone can pick it), gamble it with $betflip, $betroll and $jr, or spend on healing and setting your type in the Pokemon game. +####Q7: I have an issue/bug/suggestion, where can I get it noticed? +A: First of all, check https://github.com/Kwoth/NadekoBot/issues and #suggestions for your problem/improvement. If it's not there, create a new issue on https://github.com/Kwoth/NadekoBot/issues. +####Q8: How do I use the command XXXX? +A: most commands have a description, with a usage guide if required; use -h command, like -h ;pr +####Q9: Music doesn't work!? +A: Music on @Nadeko will be re-enabled in the future, but for now your only option is to host yourself +If you are hosting your own bot, make sure ffmpeg is working correctly; running ffmpeg in the commandline should have a response. see https://github.com/Kwoth/NadekoBot/blob/master/ComprehensiveGuide.md#setting-up-nadekobot-for-music for more +####Q10: My music is still not working/very laggy? +A: Try switching server location, try giving the bot permissions on the server you want to use it on. +####Q12: I want to change data in the database (like NadekoFlowers or the pokemontypes of users, but how? +A: Open data/nadekobot.sqlite using sqlitebrowser (or some alternative), Browse Data, select relevant table, change data, Write changes +####Q13: The .greet and .bye commands doesn't work, but everything else is (From @Kong) +A: Set a greeting message by using .greetmsg YourMessageHere +and a bye-message by using .byemsg YourMessageHere +####Q15: How to import certs on linux? +A: +`certmgr -ssl https://discordapp.com` +`certmgr -ssl https://gateway.discord.gg` +####Q16: I want "BOT" tag with my bot and I can't follow up with Q14, is there a simple way? +A: Yes, you can create an application using your account and use the APP BOT USER TOKEN from here: https://discordapp.com/developers/applications/me +NOTE: This will create a new bot account +####Q17: I made an application following Q16, but I can't add that new bot to my server, how do I invite it to my server? +A: You need to use oauth link to add it to you server, just copy your CLIENT ID (that's in the same Developer page where you brought your token) and replace 12345678 in the link below: +https://discordapp.com/oauth2/authorize?client_id=12345678&scope=bot&permissions=66186303 +FOLLOW THIS DETAILED GUIDE IF IT IS HARD FOR YOU TO UNDERSTAND http://discord.kongslien.net/guide.html +####Q18: I'm building NadekoBot from source, but I get hundreds of (namespace) errors without changing anything!? +A: Using Visual Studio, you can solve these errors by going to Tools -> NuGet Package Manager -> Manage NuGet Packages for Solution. Go to the Installed tab, select the Packages that were missing (usually Newtonsoft.json and RestSharp) and install them for all projects +####Q19: My bot has all permissions but it's still saying, "Failed to add roles. Bot has insufficient permissions.", how do I fix this? +A: Discord has added few new features and roles now follow hierarchy, that means you need to place your bot role above every-other role your server has. Also do NOTE that bot can only set/add all roles below its own highest role. And can not assign it's "highest role" to anyone else. \ No newline at end of file diff --git a/docs/docs/about.md b/docs/docs/about.md new file mode 100644 index 00000000..21f82c06 --- /dev/null +++ b/docs/docs/about.md @@ -0,0 +1,13 @@ +## Terms of Use + +The MIT License (MIT) + +Copyright (c) 2016 NadekoBot Team + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + diff --git a/docs/docs/contributionguide.md b/docs/docs/contributionguide.md new file mode 100644 index 00000000..26bbafe8 --- /dev/null +++ b/docs/docs/contributionguide.md @@ -0,0 +1,7 @@ +### How to contribute + +1. Make Pull Requests to **DEV BRANCH** +2. Keep 1 Pull Request to a single feature +3. Explain what you did in the PR message + +Thanks for all the help ^_^ \ No newline at end of file diff --git a/docs/docs/customreactions.md b/docs/docs/customreactions.md new file mode 100644 index 00000000..01057582 --- /dev/null +++ b/docs/docs/customreactions.md @@ -0,0 +1,21 @@ +**After you add/delete custom commands, you should restart the bot. (either by typing `.restart` if you are on WINDOWS or just manually restarting if you prefer/are on other platform)** + +`.acr` and `.dcr` require you to be a bot owner. + +`.acr` +Adds a new custom command. **If you add multiple commands with the same name, it will pick random one.** First argument is the name, second one is the response. For example `.acr hello hi`. Now the bot will reply `hi` whenever someone types `hello`. For more than 1 word command, wrap it in `"`. +For example: `.acr "hello there" hi there` - now it will print "hi there" whenever someone types "hello there". Currently you can add this placeholders which will get replaced with appropriate text: +`%mention%` - replaces it with bot mention +`%user%` - replaces it with the user runner's mention +`%target%` - replaces it with a mention of another person from within the original message +`%rng%` replaces it with a random number +for example: `.acr "%mention% hello" Hello %user%` +(we will add much more of these over time) + + +`.dcr "command name" (optional index)` +Deletes either whole custom command and all its responses or a single command's response via an index (if you have multiple responses for the same command). +For example: `.dcr "hi there"` or `.dcr "hi there" 1`. You can get an index by using `.lcr [page number]` + +`.lcr [number]` +Prints a list of custom reactions. Paginated. (for example: `.lcr 1` or `.lcr 4`) \ No newline at end of file diff --git a/docs/docs/explanations.md b/docs/docs/explanations.md new file mode 100644 index 00000000..ba41ddac --- /dev/null +++ b/docs/docs/explanations.md @@ -0,0 +1,38 @@ +###Credentials.json and config.json +**This is how unedited credentials.json looks like:** +```json +{ + "Token": "", + "ClientId": "116275390695079945", + "BotId": 1231231231231, + "OwnerIds": [ + 123123123123, + 5675675679845 + ], + "GoogleAPIKey": "", + "SoundCloudClientID": "", + "MashapeKey": "", + "LOLAPIKey": "", + "TrelloAppKey": "", + "OsuAPIKey": "", + "CarbonKey": "" +} +``` +#### Required +- **Token** - Required to log in. See this [guide](http://discord.kongslien.net/guide.html) +- **OwnerIds** - Required for Owner-Only commands to work. Separate multiple IDs with a comma +- **BotId** - Required for custom reactions and conversation commands to work. + +*BotId and OwnerIds are NOT names of the owner and the bot. If you do not know the id of your bot, put 2 random numbers in those fields, run the bot and do `.uid @MyBotName` - that will give you your bot\_id, do the same for yourself `.uid @MyName` and you will get a number to put inside brackets in OwnerIds field.* + +#### Optional +- **GoogleAPIKey** - Youtube song search. Playlist queuing. URL Shortener. ~i and ~img. +- **SoundCloudClientID** - Needed in order to queue soundcloud songs from sc links. For the Soundcloud Api key you need a Soundcloud account. You need to create a new app on http://soundcloud.com/you/apps/new and after that go here http://soundcloud.com/you/apps click on the name of your created your app and copy the Client ID. Paste it into credentials.json. +- **MashapeKey** - Urban dictionary, hashtag search, hearthstone cards.You need to create an account on their api marketplace here https://market.mashape.com/. After that you need to go to market.mashape.com/YOURNAMEHERE/applications/default-application and press GET THE KEYS in the right top corner copy paste it into your credentials.json and you are ready to race! +- **LOLAPIKey** - www.champion.gg api key needed for LoL commands +- **TrelloAppKey** - Needed for trello commands +- **OsuAPIKey** - needed for osu top5 and beatmap commands. +- **CarbonKey** - carbonitex.net key if your bot is listed there in order to send stats (probably nobody needs this) + +Next to your exe you must also have a data folder in which there is config.json (among other things) which will contain some user specific config, like should the Bot join servers, should DMs to bot be forwarded to you and a list of IDs of blacklisted users, channels and servers. If you do not have config.json, you can should config_example.json to config.json. +``` \ No newline at end of file diff --git a/docs/docs/fromsource.md b/docs/docs/fromsource.md new file mode 100644 index 00000000..df0dfd9e --- /dev/null +++ b/docs/docs/fromsource.md @@ -0,0 +1,8 @@ +###Building from Source +For easy setup and no programming knowledge, you can use [Updater](https://github.com/Kwoth/NadekoUpdater/releases/latest) or download release from [Releases](https://github.com/Kwoth/NadekoBot/releases) and follow the [Comprehensive Guide](https://github.com/Kwoth/NadekoBot/blob/master/ComprehensiveGuide.md) + +In your bin/debug folder (or next to your exe if you are using release version), you must have a file called 'credentials.json' in which you will store all the necessary data to make the bot know who the owner is, and your api keys. + +When you clone the project, make sure to run `git submodule init` and `git submodule update` to get the correct discord.net version + +Make sure you've read ComprehensiveGuide to get a grasp of basic config/credentials setup and then look at "Credentials and config" chapter. \ No newline at end of file diff --git a/docs/docs/index.md b/docs/docs/index.md new file mode 100644 index 00000000..f22353ac --- /dev/null +++ b/docs/docs/index.md @@ -0,0 +1,16 @@ +#NadekoBot Documentation + +##Content +- [About](about.md) +- Guides + - [Windows Guide](guides/comprehensiveguide.md) + - [Linux Guide](guides/linuxguide.md) + - [OSX Guide](guides/macguide.md) + - [Building from Source](guides/fromsource.md) + - [Docker Guide](guides/dockerguide.md) +- [Commands List](commandslist.md) +- [Permissions System](permissions.md) +- [JSON Explanations](explanations.md) +- [Custiom Reactions](customreactions.md) +- [Frequently Asked Questions](FAQ.md) +- [Contribution Guide](contributionguide.md) \ No newline at end of file diff --git a/docs/docs/permissions.md b/docs/docs/permissions.md new file mode 100644 index 00000000..c83337d6 --- /dev/null +++ b/docs/docs/permissions.md @@ -0,0 +1,87 @@ +# Overview +Ever stuck handling your Nadeko permissions? Look no further than this guide! +We'll handle a few example cases that we've seen frequently on the help channel, as well as explaining the order of permissions in general. Any command used here can be found in the [Commands list](https://github.com/Kwoth/NadekoBot/blob/master/commandlist.md#permissions) + +# How does it work? +Permissions are handy to set up to limit who in your server can use what. by default, every command is enabled for everyone, except for the administration commands, like `.kick` and `.prune`, which are set to correspond to discord's permissions, (kicking and managing messages respectively here), the permissions module, which we will show in the next paragraph, and some other commands throughout the other modules that are owner-only, meaning that only someone who has his or her id in the list of owners of the bot can use them. +Since you may not want to allow everyone to use the NSFW module, skip the current song, pick up flowers, or attack in the pokegame, you're in need of setting up permissions. + +#First time setting up +When you want to change your first permissions, you need to fulfill one of two conditions: +* Be the owner of the server +* Have the role set by `;permrole` (Nadeko by default) + +If you have neither of these, you **can't** set up permissions. +You may want to change the `;permrole` to the role of the admins, using `;permrole Admins`. + +# Basics +Most of the commands found in the list are pretty much self-explanatory. `;rolemdl NSFW disable lurkers` would disable the NSFW module for the lurkers (let them come out of the shadows!). similarly `;chnlperms #general` would show which permissions are banned *specifically* for this channel. +Since permissions are enabled by default, the hierarchy of rulings is simple, if you disable something that affects a user, like `;sm nsfw disable`, you **can't** enable it in a particular other way, like `;cm nsfw enable #nsfw`. Now roles are an exemption to this, e.g. if all roles have music disabled except for the DJ role, you can still use music commands if you have the DJ role. + +By default, the bot notifies when a command can't be used. To disable this, you can use `;verbose false`. + +# Common Cases +These are some common cases of particular settings of permissions. + +## Create a music DJ +e.g. you only want your users to be able to see what's playing, and have a DJ role for the rest. +- `;arc music disable all`, disable all commands of the music module for everyone. +- `;arc music enable DJ`, give permissions to the DJ to do everything +- `;rc "!!nowplaying" enable all`, enable the command for everyone +- `;rc "!!getlink" enable all`, as above. +- `;rc "!!listqueue" enable all`, as above. + +## Create a NSFW channel +You want to only allow NSFW commands in the #nsfw channel. +- `;cm nsfw disable all` disable the nsfw module in every channel. +- `;cm nsfw enable #nsfw` re-enable the nsfw module in the #nsfw channel. + + +-- *Thanks to @applemac for writing this guide* + +#Old Guide + +**NadekoBot's permissions can be set up to be very specific through commands in the Permissions module.** + +Each command or module can be turned on or off at: +- a user level (so specific users can or cannot use a command/module) +- a role level (so only certain roles have access to certain commands/module) +- a channel level (so certain commands can be limited to certain channels, which can prevent music / trivia / NSFW spam in serious channels) +- a server level. + +Use .modules to see a list of modules (sets of commands). +Use .commands [module_name] to see a list of commands in a certain module. + +Permissions use a semicolon as the prefix, so always start the command with a ;. + +Follow the semicolon with the letter of the level which you want to edit. +- "u" for Users. +- "r" for Roles. +- "c" for Channels. +- "s" for Servers. + +Follow the level with whether you want to edit the permissions of a command or a module. +- "c" for Command. +- "m" for Module. + +Follow with a space and then the command or module name (surround the command with quotation marks if there is a space within the command, for example "!!q" or "!!n"). + +Follow that with another space and, to enable it, type one of the following: [1, true, t, enable], or to disable it, one of the following: [0, false, f, disable]. + +Follow that with another space and the name of the user, role, channel. (depending on the first letter you picked) + +###### Examples +- **;rm NSFW 0 [Role_Name]** Disables the NSFW module for the role, . +- **;cc "!!n" 0 [Channel_Name]** Disables skipping to the next song in the channel, . +- **;uc "!!q" 1 [User_Name]** Enables queuing of songs for the user, . +- **;sm Gambling 0** Disables gambling in the server. + +Check permissions by using the letter of the level you want to check followed by a p, and then the name of the level in which you want to check. If there is no name, it will default to yourself for users, the @everyone role for roles, and the channel in which the command is sent for channels. + +###### Examples +- ;cp [Channel_Name] +- ;rp [Role_Name] + +Insert an **a** before the level to edit the permission for all commands / modules for all users / roles / channels / server. + +Reference the Help command (-h) for more Permissions related commands. From 1e6c5cd1b8af7be7abe59b1bc562775276140cef Mon Sep 17 00:00:00 2001 From: miraai Date: Wed, 3 Aug 2016 23:44:32 +0200 Subject: [PATCH 03/84] Delete file.md --- docs/docs/file.md | 1 - 1 file changed, 1 deletion(-) delete mode 100644 docs/docs/file.md diff --git a/docs/docs/file.md b/docs/docs/file.md deleted file mode 100644 index bf0cc8c1..00000000 --- a/docs/docs/file.md +++ /dev/null @@ -1 +0,0 @@ -sada From 3d8bbd4f021d92bdd204a59de895ad8fda6d8bf0 Mon Sep 17 00:00:00 2001 From: miraai Date: Wed, 3 Aug 2016 23:44:59 +0200 Subject: [PATCH 04/84] Create file.md --- docs/docs/guides/file.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 docs/docs/guides/file.md diff --git a/docs/docs/guides/file.md b/docs/docs/guides/file.md new file mode 100644 index 00000000..42f00f63 --- /dev/null +++ b/docs/docs/guides/file.md @@ -0,0 +1 @@ +dsada From c7c5da46cf55e86f220bef446dc112c8fb040e3e Mon Sep 17 00:00:00 2001 From: miraai Date: Wed, 3 Aug 2016 23:45:53 +0200 Subject: [PATCH 05/84] added guides --- docs/docs/guides/comprehensiveguide.md | 113 +++++++++++ docs/docs/guides/dockerguide.md | 54 ++++++ docs/docs/guides/fromsource.md | 8 + docs/docs/guides/linuxguide.md | 258 +++++++++++++++++++++++++ 4 files changed, 433 insertions(+) create mode 100644 docs/docs/guides/comprehensiveguide.md create mode 100644 docs/docs/guides/dockerguide.md create mode 100644 docs/docs/guides/fromsource.md create mode 100644 docs/docs/guides/linuxguide.md diff --git a/docs/docs/guides/comprehensiveguide.md b/docs/docs/guides/comprehensiveguide.md new file mode 100644 index 00000000..9bf594c6 --- /dev/null +++ b/docs/docs/guides/comprehensiveguide.md @@ -0,0 +1,113 @@ +________________________________________________________________________________ +*Thanks to @Flatbread and Mirai for making this guide* +________________________________________________________________________________ + +### Setting Up NadekoBot on Windows +#### Prerequisites +- 1) [NET Framework][NET Framework] 4.5.2 (or 4.6) +- 2) [FFMPEG][FFMPEG] +- 3) Google Account +- 4) Soundcloud Account (if you want soundcloud support) +- 5) [7zip][7zip] (or whatever you are using, WinRar) +- 6) [Notepad++][Notepad++] + +####Guide: + +- Create a folder, name it `Nadeko`. +- Head to [Releases][Releases]* and download `WINDOWS.-.nadeupdater.7z`. +- Copy `WINDOWS.-.nadeupdater.7z` to the `Nadeko` (folder we created before) and extract everything. +- You will see a file `NadekoUpdater.bat ` and a folder `publish ` after extraction. +- Run/Launch/Open the file `NadekoUpdater.bat ` and you will see it running in cmd.exe asking you with **3 options** *1-3*. + - 1) Stable release - current stable release, but might not contain all the newest Nadeko updates. + - 2) Newest release - release with all features/upgrades. + - 3) Exit +- Press `2` on your keyboard and hit `Enter`. Type `y` and hit `Enter` again. Downloading might take a while, so just be patient and wait. When download is done, press `3` on your keyboard and close the updater. +- You should have a new folder named `NadekoBot` inside the `Nadeko` folder we previously created. + +####Creating DiscordBot application +- Go to [DiscordApp][DiscordApp]. +- Log in with your Discord account. +- On the left side, press `New Application`. +- Fill out the `App Name` (your bot's name, in this case), put the image you want, and add an app description(optional). +- Create the application. +- Once the application is created, click on `Create a Bot User` and confirm it. +- Keep this window open for now. + +####Setting up Credentials.json file +- In our `NadekoBot` folder you should have `.json` file named `credentials_example.json`. (Note: If you do not see a **.json** after `credentials_example.json `, do not add the `**.json**`. You most likely have `"Hide file extensions"` enabled.) +- Rename `credentials_example.json` to `credentials.json`. +- Open the file with your [Notepad++][Notepad++]. +- In there you will see fields like `Token`, `ClientId`, `BotId`, `OwnerIDs`. +- In your [DiscordApp][DiscordApp], under `Bot User` part, you will see the `Token:click to reveal` part, click to reveal it. +- Copy your bot's token, and put it between `" "` in your `credentials.json` file. +- Copy `Client ID` and replace it with the example one in your `credentials.json`. +- Copy `Bot ID` and replace it with the example one in your `credentials.json`. +- Save your `credentials.json` but keep it open. We need to put your `User ID` and owner. + +####Inviting your bot to your server [Invite Guide][Invite Guide] +- Create a new server in Discord. +- Copy your `Client ID` from your [DiscordApp][DiscordApp]. +- Replace `12345678` in this link `https://discordapp.com/oauth2/authorize?client_id=12345678&scope=bot&permissions=66186303` with your `Client ID`. +- Link should look like this: `https://discordapp.com/oauth2/authorize?client_id=**YOUR_CLENT_ID**&scope=bot&permissions=66186303`. +- Go to newly created link and pick the server we created, and click `Authorize`. +- Bot should be added to your server. + +####Starting the bot +- Enter your `NadekoBot` folder that should be (hopefully) in your `Nadeko` folder. +- Run `NadekoBot.exe` (Note: There is `NadekoBot.exe` and `NadekoBot.exe.config`, dont run the second one) +- Your bot should now be online in the server we added him to. +- Note: Your bot will be offline in case you close `NadekoBot.exe`. + +####Setting up OwnerIds +- In the server where your bot is, in a text channel, type `.uid` +- Your `User ID` should show, copy it. +- Close `NadekoBot.exe` +- Replace your `User ID` in the `credentials.json` between `[ ]` and save the changes. +- Run `NadekoBot.exe` again. +- Now you are the bot owner. +- You can add `User IDs` from the other users by separating IDs with a comma if you want to have more owners. + +`*Alternatively, you can download nadekobot from [Releases][Releases] and extract the zip yourself. That is what updater does, except it makes it easier for you to update because it doesn't overwrite important files. If you are downloading releases you will have to be careful about your config, credentials, and other files you edited in order to preserve your data every time you update.` + +________________________________________________________________________________ + +#### Setting Up NadekoBot For Music +##### Prerequisites +- 1) [FFMPEG][FFMPEG] installed. +- 2) Setting up API keys. + +- Follow these steps on how to setup Google API keys: + - Go to [Google Console][Google Console] and log in. + - Create a new project (name does not matter). Once the project is created, go into "Enable and manage APIs." + - Under the "Other Popular APIs" section, enable `URL Shortener API` and `Custom Search Api`. Under the `YouTube APIs` section, enable `YouTube Data API`. + - On the left tab, access `Credentials`. Click `Create Credentials` button. Click on `API Key`, and then `Server Key` in the new window that appears. Enter in a name for the `Server Key`. A new window will appear with your `Google API key`. + - Copy the key. + - Open up `credentials.json`. + - For `"GoogleAPIKey"`, fill in with the new key we copied. +- Follow these steps on how to setup Soundcloud API key: + - Go to [Soundcloud][Soundcloud]. + - Enter a name for the app and create it. + - You will see a page with the title of your app, and a field labeled `Client ID`. Copy the ID. + - In `credentials.json`, fill in `"SoundcloudClientID"` with the copied ID. +- Restart your computer. + +##### Prerequisites for manual `ffmpeg` setup: +**Do this step in case you were not able to install `ffmpeg` with the installer.** + +- Create a folder named `ffmpeg` in your main Windows directory. We will use **C:\ffmpeg** (for our guide) +- Download FFMPEG through the link https://ffmpeg.zeranoe.com/builds/ (download static build) +- Extract it using `7zip` and place the folder `ffmpeg-xxxxx-git-xxxxx-xxxx-static` inside **C:\ffmpeg** +- Before proceeding, check out this gif to set up `ffmpeg` PATH correctly http://i.imgur.com/aR5l1Hn.gif *(thanks to PooPeePants#7135)* +- Go to My Computer, right click and select Properties. On the left tab, select Advanced System Settings. Under the Advanced tab, select Environmental Variables near the bottom. One of the variables should be called "Path". Add a semi-colon (;) to the end followed by your FFMPEG's **bin** install location (**for example C:\ffmpeg\ffmpeg-xxxxx-git-xxxxx-xxxx-static\bin**). Save and close. +- Setup your API keys as explained above. +- Restart your computer. + +[NET Framework]: https://www.microsoft.com/en-us/download/details.aspx?id=48130 +[FFMPEG]: https://github.com/Soundofdarkness/FFMPEG-Installer +[7zip]: http://www.7-zip.org/download.html +[Releases]: //github.com/Kwoth/NadekoUpdater/releases/tag/v1.0 +[DiscordApp]: https://discordapp.com/developers/applications/me +[Notepad++]: https://notepad-plus-plus.org/ +[Invite Guide]: http://discord.kongslien.net/guide.html +[Google Console]: https://console.developers.google.com +[Soundcloud]: https://soundcloud.com/you/apps/new diff --git a/docs/docs/guides/dockerguide.md b/docs/docs/guides/dockerguide.md new file mode 100644 index 00000000..0fbf0248 --- /dev/null +++ b/docs/docs/guides/dockerguide.md @@ -0,0 +1,54 @@ +# Docker Guide with DigitalOcean + +#####Prerequisites: +- Digital ocean account (you can use my [reflink][reflink] to support the project and get 10$ after you register) +- [PuTTY][PuTTY] +- A bot account - follow this [guide][guide] +- $5 +- Common sense + +#####Guide +- Click on the create droplet button +![img](http://i.imgur.com/g2ayOcC.png) + +- Pick one click apps and select docker on 14.04 + +![img](http://imgur.com/065Xkme.png) + +- Pick any droplet size you want (5$ will work ok-ish on a few servers) +- Pick location closest to your discord server's location +- Pick a hostname +![img](http://imgur.com/ifPKB6p.png) + +- Click create + +You will get an email from DigitalOcean with your credentials now. + +Open putty and type ip adress **you got in your email** with port 22 + +![img](http://imgur.com/Mh5ehsh.png) + +- Console will open and you will be prompted for a username, type `root`. +- Type in the password you got in the email. +- Confirm the password you just typed in. +- Type in the new password. +- Confirm new password. + +- When you are successfully logged in, type +`docker run --name nadeko -v /nadeko:/config uirel/nadeko` + +- Wait for it to download and at one point it is going to start throwing errors due to `credentials.json` being empty +- CTRL+C to exit that +- Type `docker stop nadeko` +- Type `nano /nadeko/credentials.json` and type in your `credentials` +- CTRL+X then CTRL+Y to save +- Type `docker start nadeko` +- Type `docker logs -f nadeko` to see the console output + +**Your bot is running, enjoy! o/** + +*When you want to update the bot, just type `docker restart nadeko` as it always downloads latest prerelease* + +[reflink]: http://m.do.co/c/46b4d3d44795/ +[PuTTY]: http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html +[guide]: http://discord.kongslien.net/guide.html diff --git a/docs/docs/guides/fromsource.md b/docs/docs/guides/fromsource.md new file mode 100644 index 00000000..df0dfd9e --- /dev/null +++ b/docs/docs/guides/fromsource.md @@ -0,0 +1,8 @@ +###Building from Source +For easy setup and no programming knowledge, you can use [Updater](https://github.com/Kwoth/NadekoUpdater/releases/latest) or download release from [Releases](https://github.com/Kwoth/NadekoBot/releases) and follow the [Comprehensive Guide](https://github.com/Kwoth/NadekoBot/blob/master/ComprehensiveGuide.md) + +In your bin/debug folder (or next to your exe if you are using release version), you must have a file called 'credentials.json' in which you will store all the necessary data to make the bot know who the owner is, and your api keys. + +When you clone the project, make sure to run `git submodule init` and `git submodule update` to get the correct discord.net version + +Make sure you've read ComprehensiveGuide to get a grasp of basic config/credentials setup and then look at "Credentials and config" chapter. \ No newline at end of file diff --git a/docs/docs/guides/linuxguide.md b/docs/docs/guides/linuxguide.md new file mode 100644 index 00000000..cf3be9c9 --- /dev/null +++ b/docs/docs/guides/linuxguide.md @@ -0,0 +1,258 @@ +#Setting up NadekoBot on Linux + +####Setting up NadekoBot on Linux Digital Ocean Droplet +######If you want Nadeko to play music for you 24/7 without having to hosting it on your PC and want to keep it cheap, reliable and convenient as possible, you can try Nadeko on Linux Digital Ocean Droplet using the link [DigitalOcean][DigitalOcean] (and using this link will be supporting Nadeko and will give you **$10 credit**) + +######Keep this helpful video handy [Linux Setup Video][Linux Setup Video] (thanks to klincheR) it contains how to set up the Digital Ocean droplet aswell. + +####Setting up NadekoBot +Assuming you have followed the link above to created an account in Digital Ocean and video to set up the bot until you get the `IP address and root password (in email)` to login, its time to begin. + +#### Prerequisites +- Download [PuTTY][PuTTY] +- Download [CyberDuck][CyberDuck] + +#### Follow these steps + +- **Open PuTTY.exe** that you downloaded before, and paste or enter your `IP address` and then click **Open**. +If you entered your Droplets IP address correctly, it should show **login as:** in a newly opened window. +- Now for **login as:**, type `root` and hit enter. +- It should then, ask for password, type the `root password` you have received in your **email address registered with Digital Ocean**, then hit Enter. + +*(as you are running it for the first time, it will most likely to ask you to change your root password, for that, type the "password you received through email", hit Enter, enter a "new password", hit Enter and confirm that "new password" again.* +**SAVE that new password somewhere safe not just in mind**. After you done that, you are ready to write commands. + +**Copy and just paste** using **mouse right-click** (it should paste automatically) + +######MONO (Source: [Mono Source][Mono Source]) + +**1) Installing Mono** + +`sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF` +`echo "deb http://download.mono-project.com/repo/debian wheezy main" | sudo tee /etc/apt/sources.list.d/mono-xamarin.list` +`sudo apt-get update` + +Note if the command is not being initiated, hit **Enter** + +**2)** + +`echo "deb http://download.mono-project.com/repo/debian wheezy-apache24-compat main" | sudo tee -a /etc/apt/sources.list.d/mono-xamarin.list` + +**2.5)** +*ONLY DEBIAN 8 and later* + +`echo "deb http://download.mono-project.com/repo/debian wheezy-libjpeg62-compat main" | sudo tee -a /etc/apt/sources.list.d/mono-xamarin.list` + +**2.6)** +*ONLY CentOS 7, Fedora 19 (and later)* + +`yum install yum-util` +`rpm --import "http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF"` +`yum-config-manager --add-repo http://download.mono-project.com/repo/centos/` + +**3)** +*Mono Devel* + +`apt-get install mono-devel` + +**Type** `y` **hit Enter** + + +**4)** +Opus Voice Codec + +`sudo apt-get install libopus0 opus-tools` + +**Type** `y` **hit Enter** + +**5)** +`sudo apt-get install libopus-dev` + +**In case you are having issues with Mono where you get a random string and the bot won't run, do this:** + +`sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF` +`echo "deb http://download.mono-project.com/repo/debian wheezy main" | sudo tee /etc/apt/sources.list.d/mono-xamarin.list` +`apt-get install ca-certificates-mono` +`mozroots --import --sync` + + +####FFMPEG + +**6)** +`apt-get install ffmpeg` + +**Type** `y` **hit Enter** + +NOTE: if its "not installing" then, follow the guide here: [FFMPEG Help Guide][FFMPEG Help Guide] + +**All you need to do, if you are running UBUNTU 14.04 is initiate these:** + +`sudo add-apt-repository ppa:mc3man/trusty-media` +`sudo apt-get update` +`sudo apt-get dist-upgrade` + +*Before executing* `sudo apt-get install ffmpeg` + +**If you are running Debian 8 Jessie, please, follow these steps:** + +`wget http://luxcaeli.de/installer.sh && sudo bash installer.sh` (Thanks to Eleria<3) + +In case you are not able to install it with installer ^up there, follow these steps: + +`sudo apt-get update` +`echo "deb http://ftp.debian.org/debian jessie-backports main" | tee /etc/apt/sources.list.d/debian-backports.list` +`sudo apt-get update` +`sudo apt-get install ffmpeg -y` + +####Uncomplicated Firewall UFW + +**7)** +`apt-get install ufw` + +**it is most likely to have it already installed so if you see it is already installed, check with following command, and/or enable it** + +**8)** +`ufw status` + +**9)** +`ufw enable` + +**Type** `y` **hit Enter** + +**10)** +`sudo ufw allow ssh` + + + +**11)** +Unzip + +`apt-get install unzip` + +**12)** +TMUX + +`apt-get install tmux` + +**Type** `y` **hit Enter** + +####Importing certs +**13)** +`certmgr -ssl https://discordapp.com` + +**14)** +`certmgr -ssl https://gateway.discord.gg` + +Type `yes` and hit Enter **(three times - as it will ask for three times)** + + +**15)** +Create a new folder “nadeko” or anything you prefer + +`mkdir nadeko` + +**16)** +Move to “nadeko” folder (note `cd --` to go back the directory) + +`cd nadeko` + +####Getting NadekoBot from Releases + +Go to this link: [Releases][Releases] and **copy the zip file address** of the lalest version available, +it should look like `https://github.com/Kwoth/NadekoBot/releases/download/vx.xx/NadekoBot.vx.x.zip` + +**17)** +Get the correct link, type `wget`, then *paste the link*, then hit **Enter**. + +`wget https://github.com/Kwoth/NadekoBot/releases/download/vx.xx/NadekoBot.vx.x.zip` + +**^Do not copy-paste it** + +**18)** + +Now we need to `unzip` the downloaded zip file and to do that, type the file name as it showed in your screen or just copy from the screen, should be like ` NadekoBot.vx.x.zip` + +`unzip NadekoBot.vx.x.zip` + +**^Do not copy-paste it** + +####Setting up NadekoBot + +- Open **CyberDuck** +- Click on **Open Connection** (top-left corner), a new window should appear. +- You should see **FTP (File Transfer Protocol)** in drop-down. +- Change it to **SFTP (SSH File Transfer Protocol)** +- Now, in **Server:** paste or type in your `Digital Ocean Droplets IP address`, leave `Port: 22` (no need to change it) +- In **Username:** type `root` +- In **Password:** type `the new root password (you changed at the start)` +- Click on **Connect** +- It should show you the new folder you created. +- Open it. + +#####MAKE SURE YOU READ THE README BEFORE PROCEEDING + +- Copy the `credentials_example.json` to desktop +- EDIT it as it is guided here: [Readme][Readme] +- Rename it to `credentials.json` and paste/put it back in the folder. `(Yes, using CyberDuck)` +- You should see two files `credentials_example.json` and `credentials.json` +- Also if you already have nadeko setup and have `credentials.json`, `config.json`, `nadekobot.sqlite`, and `"permissions" folder`, you can just copy and paste it to the Droplets folder using CyberDuck. + +####Running NadekoBot + +Go back to **PuTTY**, `(hope its still running xD)` + +**19)** +Type/ Copy and hit **Enter**. + +`tmux new -s nadeko` + +**^this 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 running PuTTY in the background.` + +`cd nadeko` + +**20)** +`mono NadekoBot.exe` + +**CHECK THE BOT IN DISCORD, IF EVERYTHING IS WORKING** + +Now time to **move bot to background** and to do that, press **CTRL+B+D** (this will ditach the nadeko session using TMUX), and you can finally close PuTTY now. + +Copy your CLIENT ID (that's in the same Developer page where you brought your token) and replace `12345678` in this link: `https://discordapp.com/oauth2/authorize?client_id=12345678&scope=bot&permissions=66186303` with it. Go to that link and you will be able to add your bot to your server. + +**NOW YOU HAVE YOUR OWN NADEKO BOT** `Thanks to Kwoth <3` + +####Some more Info (just in case): + +-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.) + +**21)** +-If you want to **kill** NadekoBot **session**, type `tmux kill-session -t nadeko` + +####How to restart Nadeko with the server (for science) +**22)** +Open **PuTTY** and login as you have before, type `reboot` and hit Enter. + +####Updating Nadeko + +**FOLLOW THESE STEPS SERIALLY** + +- **-21 OR 22** +- **-19** +- **-16** +- **-17** +- **-18** +- **-20** + +HIT **CTRL+B+D** and close **PuTTY** + +`IF YOU FACE ANY TROUBLE ANYWHERE IN THE GUIDE JUST FIND US IN NADEKO'S DISCORD SERVER` + +[PuTTY]: http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html +[CyberDuck]: https://cyberduck.io +[Linux Setup Video]: https://www.youtube.com/watch?v=icV4_WPqPQk&feature=youtu.be +[Releases]: https://github.com/Kwoth/NadekoBot/releases +[Readme]: https://github.com/Kwoth/NadekoBot/blob/master/README.md +[FFMPEG Help Guide]: http://www.faqforge.com/linux/how-to-install-ffmpeg-on-ubuntu-14-04/ +[Mono Source]: http://www.mono-project.com/docs/getting-started/install/linux/ +[DigitalOcean]: http://m.do.co/c/46b4d3d44795/ From d591bcf10b9a284267a422a5dc476068c7510c5a Mon Sep 17 00:00:00 2001 From: miraai Date: Wed, 3 Aug 2016 23:46:54 +0200 Subject: [PATCH 06/84] mkdocs --- docs/mkdocs.yml | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 docs/mkdocs.yml diff --git a/docs/mkdocs.yml b/docs/mkdocs.yml new file mode 100644 index 00000000..56435ef0 --- /dev/null +++ b/docs/mkdocs.yml @@ -0,0 +1,18 @@ +site_name: NadekoBot +pages: +- Home: index.md +- About: about.md +- Guides: + - Windows Guide: guides/comprehensiveguide.md + - Linux Guide: guides/linuxguide.md + - OSX Guide: guides/macguide.md + - Building from Source: guides/fromsource.md + - Docker Guide: guides/dockerguide.md +- Commands List: commandslist.md +- Permissions System: permissions.md +- JSON Explanations: explanations.md +- Custom Commands: customreactions.md +- Frequently Asked Questions: FAQ.md +- Contribution Guide: contributionguide.md + +theme: readthedocs \ No newline at end of file From 5f753a21326d0817fa6e6027fcd21c8fdac15b17 Mon Sep 17 00:00:00 2001 From: miraai Date: Thu, 4 Aug 2016 00:06:13 +0200 Subject: [PATCH 07/84] Create stuff.md --- .../user_builds/nadekobot/checkouts/latest/docs/stuff.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs/stuff.md diff --git a/docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs/stuff.md b/docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs/stuff.md new file mode 100644 index 00000000..ce0e8bd3 --- /dev/null +++ b/docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs/stuff.md @@ -0,0 +1 @@ +sadasda From 91ec8578d46ac5fcfbb59c5930f7f0d5f35de3a9 Mon Sep 17 00:00:00 2001 From: miraai Date: Thu, 4 Aug 2016 00:06:45 +0200 Subject: [PATCH 08/84] mkdocs --- .../nadekobot/checkouts/latest/docs/mkdocs.yml | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs/mkdocs.yml diff --git a/docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs/mkdocs.yml b/docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs/mkdocs.yml new file mode 100644 index 00000000..56435ef0 --- /dev/null +++ b/docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs/mkdocs.yml @@ -0,0 +1,18 @@ +site_name: NadekoBot +pages: +- Home: index.md +- About: about.md +- Guides: + - Windows Guide: guides/comprehensiveguide.md + - Linux Guide: guides/linuxguide.md + - OSX Guide: guides/macguide.md + - Building from Source: guides/fromsource.md + - Docker Guide: guides/dockerguide.md +- Commands List: commandslist.md +- Permissions System: permissions.md +- JSON Explanations: explanations.md +- Custom Commands: customreactions.md +- Frequently Asked Questions: FAQ.md +- Contribution Guide: contributionguide.md + +theme: readthedocs \ No newline at end of file From 0f1fb8d8ed12facff8aa006a22bc943bc05ba4cc Mon Sep 17 00:00:00 2001 From: miraai Date: Thu, 4 Aug 2016 00:07:44 +0200 Subject: [PATCH 09/84] no clue if this goes here, yolo --- .../nadekobot/checkouts/latest/mkdocs.yml | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/mkdocs.yml diff --git a/docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/mkdocs.yml b/docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/mkdocs.yml new file mode 100644 index 00000000..56435ef0 --- /dev/null +++ b/docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/mkdocs.yml @@ -0,0 +1,18 @@ +site_name: NadekoBot +pages: +- Home: index.md +- About: about.md +- Guides: + - Windows Guide: guides/comprehensiveguide.md + - Linux Guide: guides/linuxguide.md + - OSX Guide: guides/macguide.md + - Building from Source: guides/fromsource.md + - Docker Guide: guides/dockerguide.md +- Commands List: commandslist.md +- Permissions System: permissions.md +- JSON Explanations: explanations.md +- Custom Commands: customreactions.md +- Frequently Asked Questions: FAQ.md +- Contribution Guide: contributionguide.md + +theme: readthedocs \ No newline at end of file From a20d0b23f11f77dc827f89ea3676c10b94bee82f Mon Sep 17 00:00:00 2001 From: miraai Date: Thu, 4 Aug 2016 00:08:12 +0200 Subject: [PATCH 10/84] Create stuff1.md --- .../user_builds/nadekobot/checkouts/latest/docs/guides/stuff1.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs/guides/stuff1.md diff --git a/docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs/guides/stuff1.md b/docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs/guides/stuff1.md new file mode 100644 index 00000000..ce0e8bd3 --- /dev/null +++ b/docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs/guides/stuff1.md @@ -0,0 +1 @@ +sadasda From ee9753125961de376891ee0998eb1e4770ef2a61 Mon Sep 17 00:00:00 2001 From: miraai Date: Thu, 4 Aug 2016 00:09:43 +0200 Subject: [PATCH 11/84] added guides --- .../latest/docs/guides/comprehensiveguide.md | 113 ++++++++ .../latest/docs/guides/dockerguide.md | 54 ++++ .../latest/docs/guides/fromsource.md | 8 + .../latest/docs/guides/linuxguide.md | 258 ++++++++++++++++++ .../checkouts/latest/docs/guides/macguide.md | 1 + 5 files changed, 434 insertions(+) create mode 100644 docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs/guides/comprehensiveguide.md create mode 100644 docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs/guides/dockerguide.md create mode 100644 docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs/guides/fromsource.md create mode 100644 docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs/guides/linuxguide.md create mode 100644 docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs/guides/macguide.md diff --git a/docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs/guides/comprehensiveguide.md b/docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs/guides/comprehensiveguide.md new file mode 100644 index 00000000..9bf594c6 --- /dev/null +++ b/docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs/guides/comprehensiveguide.md @@ -0,0 +1,113 @@ +________________________________________________________________________________ +*Thanks to @Flatbread and Mirai for making this guide* +________________________________________________________________________________ + +### Setting Up NadekoBot on Windows +#### Prerequisites +- 1) [NET Framework][NET Framework] 4.5.2 (or 4.6) +- 2) [FFMPEG][FFMPEG] +- 3) Google Account +- 4) Soundcloud Account (if you want soundcloud support) +- 5) [7zip][7zip] (or whatever you are using, WinRar) +- 6) [Notepad++][Notepad++] + +####Guide: + +- Create a folder, name it `Nadeko`. +- Head to [Releases][Releases]* and download `WINDOWS.-.nadeupdater.7z`. +- Copy `WINDOWS.-.nadeupdater.7z` to the `Nadeko` (folder we created before) and extract everything. +- You will see a file `NadekoUpdater.bat ` and a folder `publish ` after extraction. +- Run/Launch/Open the file `NadekoUpdater.bat ` and you will see it running in cmd.exe asking you with **3 options** *1-3*. + - 1) Stable release - current stable release, but might not contain all the newest Nadeko updates. + - 2) Newest release - release with all features/upgrades. + - 3) Exit +- Press `2` on your keyboard and hit `Enter`. Type `y` and hit `Enter` again. Downloading might take a while, so just be patient and wait. When download is done, press `3` on your keyboard and close the updater. +- You should have a new folder named `NadekoBot` inside the `Nadeko` folder we previously created. + +####Creating DiscordBot application +- Go to [DiscordApp][DiscordApp]. +- Log in with your Discord account. +- On the left side, press `New Application`. +- Fill out the `App Name` (your bot's name, in this case), put the image you want, and add an app description(optional). +- Create the application. +- Once the application is created, click on `Create a Bot User` and confirm it. +- Keep this window open for now. + +####Setting up Credentials.json file +- In our `NadekoBot` folder you should have `.json` file named `credentials_example.json`. (Note: If you do not see a **.json** after `credentials_example.json `, do not add the `**.json**`. You most likely have `"Hide file extensions"` enabled.) +- Rename `credentials_example.json` to `credentials.json`. +- Open the file with your [Notepad++][Notepad++]. +- In there you will see fields like `Token`, `ClientId`, `BotId`, `OwnerIDs`. +- In your [DiscordApp][DiscordApp], under `Bot User` part, you will see the `Token:click to reveal` part, click to reveal it. +- Copy your bot's token, and put it between `" "` in your `credentials.json` file. +- Copy `Client ID` and replace it with the example one in your `credentials.json`. +- Copy `Bot ID` and replace it with the example one in your `credentials.json`. +- Save your `credentials.json` but keep it open. We need to put your `User ID` and owner. + +####Inviting your bot to your server [Invite Guide][Invite Guide] +- Create a new server in Discord. +- Copy your `Client ID` from your [DiscordApp][DiscordApp]. +- Replace `12345678` in this link `https://discordapp.com/oauth2/authorize?client_id=12345678&scope=bot&permissions=66186303` with your `Client ID`. +- Link should look like this: `https://discordapp.com/oauth2/authorize?client_id=**YOUR_CLENT_ID**&scope=bot&permissions=66186303`. +- Go to newly created link and pick the server we created, and click `Authorize`. +- Bot should be added to your server. + +####Starting the bot +- Enter your `NadekoBot` folder that should be (hopefully) in your `Nadeko` folder. +- Run `NadekoBot.exe` (Note: There is `NadekoBot.exe` and `NadekoBot.exe.config`, dont run the second one) +- Your bot should now be online in the server we added him to. +- Note: Your bot will be offline in case you close `NadekoBot.exe`. + +####Setting up OwnerIds +- In the server where your bot is, in a text channel, type `.uid` +- Your `User ID` should show, copy it. +- Close `NadekoBot.exe` +- Replace your `User ID` in the `credentials.json` between `[ ]` and save the changes. +- Run `NadekoBot.exe` again. +- Now you are the bot owner. +- You can add `User IDs` from the other users by separating IDs with a comma if you want to have more owners. + +`*Alternatively, you can download nadekobot from [Releases][Releases] and extract the zip yourself. That is what updater does, except it makes it easier for you to update because it doesn't overwrite important files. If you are downloading releases you will have to be careful about your config, credentials, and other files you edited in order to preserve your data every time you update.` + +________________________________________________________________________________ + +#### Setting Up NadekoBot For Music +##### Prerequisites +- 1) [FFMPEG][FFMPEG] installed. +- 2) Setting up API keys. + +- Follow these steps on how to setup Google API keys: + - Go to [Google Console][Google Console] and log in. + - Create a new project (name does not matter). Once the project is created, go into "Enable and manage APIs." + - Under the "Other Popular APIs" section, enable `URL Shortener API` and `Custom Search Api`. Under the `YouTube APIs` section, enable `YouTube Data API`. + - On the left tab, access `Credentials`. Click `Create Credentials` button. Click on `API Key`, and then `Server Key` in the new window that appears. Enter in a name for the `Server Key`. A new window will appear with your `Google API key`. + - Copy the key. + - Open up `credentials.json`. + - For `"GoogleAPIKey"`, fill in with the new key we copied. +- Follow these steps on how to setup Soundcloud API key: + - Go to [Soundcloud][Soundcloud]. + - Enter a name for the app and create it. + - You will see a page with the title of your app, and a field labeled `Client ID`. Copy the ID. + - In `credentials.json`, fill in `"SoundcloudClientID"` with the copied ID. +- Restart your computer. + +##### Prerequisites for manual `ffmpeg` setup: +**Do this step in case you were not able to install `ffmpeg` with the installer.** + +- Create a folder named `ffmpeg` in your main Windows directory. We will use **C:\ffmpeg** (for our guide) +- Download FFMPEG through the link https://ffmpeg.zeranoe.com/builds/ (download static build) +- Extract it using `7zip` and place the folder `ffmpeg-xxxxx-git-xxxxx-xxxx-static` inside **C:\ffmpeg** +- Before proceeding, check out this gif to set up `ffmpeg` PATH correctly http://i.imgur.com/aR5l1Hn.gif *(thanks to PooPeePants#7135)* +- Go to My Computer, right click and select Properties. On the left tab, select Advanced System Settings. Under the Advanced tab, select Environmental Variables near the bottom. One of the variables should be called "Path". Add a semi-colon (;) to the end followed by your FFMPEG's **bin** install location (**for example C:\ffmpeg\ffmpeg-xxxxx-git-xxxxx-xxxx-static\bin**). Save and close. +- Setup your API keys as explained above. +- Restart your computer. + +[NET Framework]: https://www.microsoft.com/en-us/download/details.aspx?id=48130 +[FFMPEG]: https://github.com/Soundofdarkness/FFMPEG-Installer +[7zip]: http://www.7-zip.org/download.html +[Releases]: //github.com/Kwoth/NadekoUpdater/releases/tag/v1.0 +[DiscordApp]: https://discordapp.com/developers/applications/me +[Notepad++]: https://notepad-plus-plus.org/ +[Invite Guide]: http://discord.kongslien.net/guide.html +[Google Console]: https://console.developers.google.com +[Soundcloud]: https://soundcloud.com/you/apps/new diff --git a/docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs/guides/dockerguide.md b/docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs/guides/dockerguide.md new file mode 100644 index 00000000..0fbf0248 --- /dev/null +++ b/docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs/guides/dockerguide.md @@ -0,0 +1,54 @@ +# Docker Guide with DigitalOcean + +#####Prerequisites: +- Digital ocean account (you can use my [reflink][reflink] to support the project and get 10$ after you register) +- [PuTTY][PuTTY] +- A bot account - follow this [guide][guide] +- $5 +- Common sense + +#####Guide +- Click on the create droplet button +![img](http://i.imgur.com/g2ayOcC.png) + +- Pick one click apps and select docker on 14.04 + +![img](http://imgur.com/065Xkme.png) + +- Pick any droplet size you want (5$ will work ok-ish on a few servers) +- Pick location closest to your discord server's location +- Pick a hostname +![img](http://imgur.com/ifPKB6p.png) + +- Click create + +You will get an email from DigitalOcean with your credentials now. + +Open putty and type ip adress **you got in your email** with port 22 + +![img](http://imgur.com/Mh5ehsh.png) + +- Console will open and you will be prompted for a username, type `root`. +- Type in the password you got in the email. +- Confirm the password you just typed in. +- Type in the new password. +- Confirm new password. + +- When you are successfully logged in, type +`docker run --name nadeko -v /nadeko:/config uirel/nadeko` + +- Wait for it to download and at one point it is going to start throwing errors due to `credentials.json` being empty +- CTRL+C to exit that +- Type `docker stop nadeko` +- Type `nano /nadeko/credentials.json` and type in your `credentials` +- CTRL+X then CTRL+Y to save +- Type `docker start nadeko` +- Type `docker logs -f nadeko` to see the console output + +**Your bot is running, enjoy! o/** + +*When you want to update the bot, just type `docker restart nadeko` as it always downloads latest prerelease* + +[reflink]: http://m.do.co/c/46b4d3d44795/ +[PuTTY]: http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html +[guide]: http://discord.kongslien.net/guide.html diff --git a/docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs/guides/fromsource.md b/docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs/guides/fromsource.md new file mode 100644 index 00000000..df0dfd9e --- /dev/null +++ b/docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs/guides/fromsource.md @@ -0,0 +1,8 @@ +###Building from Source +For easy setup and no programming knowledge, you can use [Updater](https://github.com/Kwoth/NadekoUpdater/releases/latest) or download release from [Releases](https://github.com/Kwoth/NadekoBot/releases) and follow the [Comprehensive Guide](https://github.com/Kwoth/NadekoBot/blob/master/ComprehensiveGuide.md) + +In your bin/debug folder (or next to your exe if you are using release version), you must have a file called 'credentials.json' in which you will store all the necessary data to make the bot know who the owner is, and your api keys. + +When you clone the project, make sure to run `git submodule init` and `git submodule update` to get the correct discord.net version + +Make sure you've read ComprehensiveGuide to get a grasp of basic config/credentials setup and then look at "Credentials and config" chapter. \ No newline at end of file diff --git a/docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs/guides/linuxguide.md b/docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs/guides/linuxguide.md new file mode 100644 index 00000000..cf3be9c9 --- /dev/null +++ b/docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs/guides/linuxguide.md @@ -0,0 +1,258 @@ +#Setting up NadekoBot on Linux + +####Setting up NadekoBot on Linux Digital Ocean Droplet +######If you want Nadeko to play music for you 24/7 without having to hosting it on your PC and want to keep it cheap, reliable and convenient as possible, you can try Nadeko on Linux Digital Ocean Droplet using the link [DigitalOcean][DigitalOcean] (and using this link will be supporting Nadeko and will give you **$10 credit**) + +######Keep this helpful video handy [Linux Setup Video][Linux Setup Video] (thanks to klincheR) it contains how to set up the Digital Ocean droplet aswell. + +####Setting up NadekoBot +Assuming you have followed the link above to created an account in Digital Ocean and video to set up the bot until you get the `IP address and root password (in email)` to login, its time to begin. + +#### Prerequisites +- Download [PuTTY][PuTTY] +- Download [CyberDuck][CyberDuck] + +#### Follow these steps + +- **Open PuTTY.exe** that you downloaded before, and paste or enter your `IP address` and then click **Open**. +If you entered your Droplets IP address correctly, it should show **login as:** in a newly opened window. +- Now for **login as:**, type `root` and hit enter. +- It should then, ask for password, type the `root password` you have received in your **email address registered with Digital Ocean**, then hit Enter. + +*(as you are running it for the first time, it will most likely to ask you to change your root password, for that, type the "password you received through email", hit Enter, enter a "new password", hit Enter and confirm that "new password" again.* +**SAVE that new password somewhere safe not just in mind**. After you done that, you are ready to write commands. + +**Copy and just paste** using **mouse right-click** (it should paste automatically) + +######MONO (Source: [Mono Source][Mono Source]) + +**1) Installing Mono** + +`sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF` +`echo "deb http://download.mono-project.com/repo/debian wheezy main" | sudo tee /etc/apt/sources.list.d/mono-xamarin.list` +`sudo apt-get update` + +Note if the command is not being initiated, hit **Enter** + +**2)** + +`echo "deb http://download.mono-project.com/repo/debian wheezy-apache24-compat main" | sudo tee -a /etc/apt/sources.list.d/mono-xamarin.list` + +**2.5)** +*ONLY DEBIAN 8 and later* + +`echo "deb http://download.mono-project.com/repo/debian wheezy-libjpeg62-compat main" | sudo tee -a /etc/apt/sources.list.d/mono-xamarin.list` + +**2.6)** +*ONLY CentOS 7, Fedora 19 (and later)* + +`yum install yum-util` +`rpm --import "http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF"` +`yum-config-manager --add-repo http://download.mono-project.com/repo/centos/` + +**3)** +*Mono Devel* + +`apt-get install mono-devel` + +**Type** `y` **hit Enter** + + +**4)** +Opus Voice Codec + +`sudo apt-get install libopus0 opus-tools` + +**Type** `y` **hit Enter** + +**5)** +`sudo apt-get install libopus-dev` + +**In case you are having issues with Mono where you get a random string and the bot won't run, do this:** + +`sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF` +`echo "deb http://download.mono-project.com/repo/debian wheezy main" | sudo tee /etc/apt/sources.list.d/mono-xamarin.list` +`apt-get install ca-certificates-mono` +`mozroots --import --sync` + + +####FFMPEG + +**6)** +`apt-get install ffmpeg` + +**Type** `y` **hit Enter** + +NOTE: if its "not installing" then, follow the guide here: [FFMPEG Help Guide][FFMPEG Help Guide] + +**All you need to do, if you are running UBUNTU 14.04 is initiate these:** + +`sudo add-apt-repository ppa:mc3man/trusty-media` +`sudo apt-get update` +`sudo apt-get dist-upgrade` + +*Before executing* `sudo apt-get install ffmpeg` + +**If you are running Debian 8 Jessie, please, follow these steps:** + +`wget http://luxcaeli.de/installer.sh && sudo bash installer.sh` (Thanks to Eleria<3) + +In case you are not able to install it with installer ^up there, follow these steps: + +`sudo apt-get update` +`echo "deb http://ftp.debian.org/debian jessie-backports main" | tee /etc/apt/sources.list.d/debian-backports.list` +`sudo apt-get update` +`sudo apt-get install ffmpeg -y` + +####Uncomplicated Firewall UFW + +**7)** +`apt-get install ufw` + +**it is most likely to have it already installed so if you see it is already installed, check with following command, and/or enable it** + +**8)** +`ufw status` + +**9)** +`ufw enable` + +**Type** `y` **hit Enter** + +**10)** +`sudo ufw allow ssh` + + + +**11)** +Unzip + +`apt-get install unzip` + +**12)** +TMUX + +`apt-get install tmux` + +**Type** `y` **hit Enter** + +####Importing certs +**13)** +`certmgr -ssl https://discordapp.com` + +**14)** +`certmgr -ssl https://gateway.discord.gg` + +Type `yes` and hit Enter **(three times - as it will ask for three times)** + + +**15)** +Create a new folder “nadeko” or anything you prefer + +`mkdir nadeko` + +**16)** +Move to “nadeko” folder (note `cd --` to go back the directory) + +`cd nadeko` + +####Getting NadekoBot from Releases + +Go to this link: [Releases][Releases] and **copy the zip file address** of the lalest version available, +it should look like `https://github.com/Kwoth/NadekoBot/releases/download/vx.xx/NadekoBot.vx.x.zip` + +**17)** +Get the correct link, type `wget`, then *paste the link*, then hit **Enter**. + +`wget https://github.com/Kwoth/NadekoBot/releases/download/vx.xx/NadekoBot.vx.x.zip` + +**^Do not copy-paste it** + +**18)** + +Now we need to `unzip` the downloaded zip file and to do that, type the file name as it showed in your screen or just copy from the screen, should be like ` NadekoBot.vx.x.zip` + +`unzip NadekoBot.vx.x.zip` + +**^Do not copy-paste it** + +####Setting up NadekoBot + +- Open **CyberDuck** +- Click on **Open Connection** (top-left corner), a new window should appear. +- You should see **FTP (File Transfer Protocol)** in drop-down. +- Change it to **SFTP (SSH File Transfer Protocol)** +- Now, in **Server:** paste or type in your `Digital Ocean Droplets IP address`, leave `Port: 22` (no need to change it) +- In **Username:** type `root` +- In **Password:** type `the new root password (you changed at the start)` +- Click on **Connect** +- It should show you the new folder you created. +- Open it. + +#####MAKE SURE YOU READ THE README BEFORE PROCEEDING + +- Copy the `credentials_example.json` to desktop +- EDIT it as it is guided here: [Readme][Readme] +- Rename it to `credentials.json` and paste/put it back in the folder. `(Yes, using CyberDuck)` +- You should see two files `credentials_example.json` and `credentials.json` +- Also if you already have nadeko setup and have `credentials.json`, `config.json`, `nadekobot.sqlite`, and `"permissions" folder`, you can just copy and paste it to the Droplets folder using CyberDuck. + +####Running NadekoBot + +Go back to **PuTTY**, `(hope its still running xD)` + +**19)** +Type/ Copy and hit **Enter**. + +`tmux new -s nadeko` + +**^this 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 running PuTTY in the background.` + +`cd nadeko` + +**20)** +`mono NadekoBot.exe` + +**CHECK THE BOT IN DISCORD, IF EVERYTHING IS WORKING** + +Now time to **move bot to background** and to do that, press **CTRL+B+D** (this will ditach the nadeko session using TMUX), and you can finally close PuTTY now. + +Copy your CLIENT ID (that's in the same Developer page where you brought your token) and replace `12345678` in this link: `https://discordapp.com/oauth2/authorize?client_id=12345678&scope=bot&permissions=66186303` with it. Go to that link and you will be able to add your bot to your server. + +**NOW YOU HAVE YOUR OWN NADEKO BOT** `Thanks to Kwoth <3` + +####Some more Info (just in case): + +-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.) + +**21)** +-If you want to **kill** NadekoBot **session**, type `tmux kill-session -t nadeko` + +####How to restart Nadeko with the server (for science) +**22)** +Open **PuTTY** and login as you have before, type `reboot` and hit Enter. + +####Updating Nadeko + +**FOLLOW THESE STEPS SERIALLY** + +- **-21 OR 22** +- **-19** +- **-16** +- **-17** +- **-18** +- **-20** + +HIT **CTRL+B+D** and close **PuTTY** + +`IF YOU FACE ANY TROUBLE ANYWHERE IN THE GUIDE JUST FIND US IN NADEKO'S DISCORD SERVER` + +[PuTTY]: http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html +[CyberDuck]: https://cyberduck.io +[Linux Setup Video]: https://www.youtube.com/watch?v=icV4_WPqPQk&feature=youtu.be +[Releases]: https://github.com/Kwoth/NadekoBot/releases +[Readme]: https://github.com/Kwoth/NadekoBot/blob/master/README.md +[FFMPEG Help Guide]: http://www.faqforge.com/linux/how-to-install-ffmpeg-on-ubuntu-14-04/ +[Mono Source]: http://www.mono-project.com/docs/getting-started/install/linux/ +[DigitalOcean]: http://m.do.co/c/46b4d3d44795/ diff --git a/docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs/guides/macguide.md b/docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs/guides/macguide.md new file mode 100644 index 00000000..9b73a879 --- /dev/null +++ b/docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs/guides/macguide.md @@ -0,0 +1 @@ +##MAC Guide \ No newline at end of file From 5f66c26f184d22ede97e3c0450ddeaaaab3aa3eb Mon Sep 17 00:00:00 2001 From: miraai Date: Thu, 4 Aug 2016 00:11:59 +0200 Subject: [PATCH 12/84] stuffs --- .../nadekobot/checkouts/latest/docs/FAQ.md | 40 +++++++++ .../nadekobot/checkouts/latest/docs/about.md | 13 +++ .../latest/docs/contributionguide.md | 7 ++ .../checkouts/latest/docs/customreactions.md | 21 +++++ .../checkouts/latest/docs/explanations.md | 38 ++++++++ .../checkouts/latest/docs/fromsource.md | 8 ++ .../nadekobot/checkouts/latest/docs/index.md | 16 ++++ .../checkouts/latest/docs/permissions.md | 87 +++++++++++++++++++ 8 files changed, 230 insertions(+) create mode 100644 docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs/FAQ.md create mode 100644 docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs/about.md create mode 100644 docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs/contributionguide.md create mode 100644 docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs/customreactions.md create mode 100644 docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs/explanations.md create mode 100644 docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs/fromsource.md create mode 100644 docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs/index.md create mode 100644 docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs/permissions.md diff --git a/docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs/FAQ.md b/docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs/FAQ.md new file mode 100644 index 00000000..aed3cb81 --- /dev/null +++ b/docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs/FAQ.md @@ -0,0 +1,40 @@ +Frequently Asked Questions +####Q1: How do I get @Nadeko to join my server? +A: Send her a Direct Message with -h to get the link. Only Server Owners can allow the bot to join +####Q2: I want to change permissions, but it doesn't work D: +A: To change permissions, you have to set the ;permsrole (default permission role is called `Nadeko`, you can create a role named like that and assign it to yourself). *Only the owner of the server can change permissions without having this role.* +####Q3: Music doesn't work on a Mac?! +You have to build `mono` from source. . +####Q5: I want to disable NSFW on my server, please? +A: You would first have to be able to change permissions (see Q4 ), and then run `;sm NSFW disable` +####Q6: How do I get NadekoFlowers/whatever I changed my currency to? +A: You get NadekoFlowers by answering Trivia questions or picking them up after they have been generated with `>gc`, which you can then either plant (give away to a channel so that someone can pick it), gamble it with $betflip, $betroll and $jr, or spend on healing and setting your type in the Pokemon game. +####Q7: I have an issue/bug/suggestion, where can I get it noticed? +A: First of all, check https://github.com/Kwoth/NadekoBot/issues and #suggestions for your problem/improvement. If it's not there, create a new issue on https://github.com/Kwoth/NadekoBot/issues. +####Q8: How do I use the command XXXX? +A: most commands have a description, with a usage guide if required; use -h command, like -h ;pr +####Q9: Music doesn't work!? +A: Music on @Nadeko will be re-enabled in the future, but for now your only option is to host yourself +If you are hosting your own bot, make sure ffmpeg is working correctly; running ffmpeg in the commandline should have a response. see https://github.com/Kwoth/NadekoBot/blob/master/ComprehensiveGuide.md#setting-up-nadekobot-for-music for more +####Q10: My music is still not working/very laggy? +A: Try switching server location, try giving the bot permissions on the server you want to use it on. +####Q12: I want to change data in the database (like NadekoFlowers or the pokemontypes of users, but how? +A: Open data/nadekobot.sqlite using sqlitebrowser (or some alternative), Browse Data, select relevant table, change data, Write changes +####Q13: The .greet and .bye commands doesn't work, but everything else is (From @Kong) +A: Set a greeting message by using .greetmsg YourMessageHere +and a bye-message by using .byemsg YourMessageHere +####Q15: How to import certs on linux? +A: +`certmgr -ssl https://discordapp.com` +`certmgr -ssl https://gateway.discord.gg` +####Q16: I want "BOT" tag with my bot and I can't follow up with Q14, is there a simple way? +A: Yes, you can create an application using your account and use the APP BOT USER TOKEN from here: https://discordapp.com/developers/applications/me +NOTE: This will create a new bot account +####Q17: I made an application following Q16, but I can't add that new bot to my server, how do I invite it to my server? +A: You need to use oauth link to add it to you server, just copy your CLIENT ID (that's in the same Developer page where you brought your token) and replace 12345678 in the link below: +https://discordapp.com/oauth2/authorize?client_id=12345678&scope=bot&permissions=66186303 +FOLLOW THIS DETAILED GUIDE IF IT IS HARD FOR YOU TO UNDERSTAND http://discord.kongslien.net/guide.html +####Q18: I'm building NadekoBot from source, but I get hundreds of (namespace) errors without changing anything!? +A: Using Visual Studio, you can solve these errors by going to Tools -> NuGet Package Manager -> Manage NuGet Packages for Solution. Go to the Installed tab, select the Packages that were missing (usually Newtonsoft.json and RestSharp) and install them for all projects +####Q19: My bot has all permissions but it's still saying, "Failed to add roles. Bot has insufficient permissions.", how do I fix this? +A: Discord has added few new features and roles now follow hierarchy, that means you need to place your bot role above every-other role your server has. Also do NOTE that bot can only set/add all roles below its own highest role. And can not assign it's "highest role" to anyone else. \ No newline at end of file diff --git a/docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs/about.md b/docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs/about.md new file mode 100644 index 00000000..21f82c06 --- /dev/null +++ b/docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs/about.md @@ -0,0 +1,13 @@ +## Terms of Use + +The MIT License (MIT) + +Copyright (c) 2016 NadekoBot Team + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + diff --git a/docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs/contributionguide.md b/docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs/contributionguide.md new file mode 100644 index 00000000..26bbafe8 --- /dev/null +++ b/docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs/contributionguide.md @@ -0,0 +1,7 @@ +### How to contribute + +1. Make Pull Requests to **DEV BRANCH** +2. Keep 1 Pull Request to a single feature +3. Explain what you did in the PR message + +Thanks for all the help ^_^ \ No newline at end of file diff --git a/docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs/customreactions.md b/docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs/customreactions.md new file mode 100644 index 00000000..01057582 --- /dev/null +++ b/docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs/customreactions.md @@ -0,0 +1,21 @@ +**After you add/delete custom commands, you should restart the bot. (either by typing `.restart` if you are on WINDOWS or just manually restarting if you prefer/are on other platform)** + +`.acr` and `.dcr` require you to be a bot owner. + +`.acr` +Adds a new custom command. **If you add multiple commands with the same name, it will pick random one.** First argument is the name, second one is the response. For example `.acr hello hi`. Now the bot will reply `hi` whenever someone types `hello`. For more than 1 word command, wrap it in `"`. +For example: `.acr "hello there" hi there` - now it will print "hi there" whenever someone types "hello there". Currently you can add this placeholders which will get replaced with appropriate text: +`%mention%` - replaces it with bot mention +`%user%` - replaces it with the user runner's mention +`%target%` - replaces it with a mention of another person from within the original message +`%rng%` replaces it with a random number +for example: `.acr "%mention% hello" Hello %user%` +(we will add much more of these over time) + + +`.dcr "command name" (optional index)` +Deletes either whole custom command and all its responses or a single command's response via an index (if you have multiple responses for the same command). +For example: `.dcr "hi there"` or `.dcr "hi there" 1`. You can get an index by using `.lcr [page number]` + +`.lcr [number]` +Prints a list of custom reactions. Paginated. (for example: `.lcr 1` or `.lcr 4`) \ No newline at end of file diff --git a/docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs/explanations.md b/docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs/explanations.md new file mode 100644 index 00000000..ba41ddac --- /dev/null +++ b/docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs/explanations.md @@ -0,0 +1,38 @@ +###Credentials.json and config.json +**This is how unedited credentials.json looks like:** +```json +{ + "Token": "", + "ClientId": "116275390695079945", + "BotId": 1231231231231, + "OwnerIds": [ + 123123123123, + 5675675679845 + ], + "GoogleAPIKey": "", + "SoundCloudClientID": "", + "MashapeKey": "", + "LOLAPIKey": "", + "TrelloAppKey": "", + "OsuAPIKey": "", + "CarbonKey": "" +} +``` +#### Required +- **Token** - Required to log in. See this [guide](http://discord.kongslien.net/guide.html) +- **OwnerIds** - Required for Owner-Only commands to work. Separate multiple IDs with a comma +- **BotId** - Required for custom reactions and conversation commands to work. + +*BotId and OwnerIds are NOT names of the owner and the bot. If you do not know the id of your bot, put 2 random numbers in those fields, run the bot and do `.uid @MyBotName` - that will give you your bot\_id, do the same for yourself `.uid @MyName` and you will get a number to put inside brackets in OwnerIds field.* + +#### Optional +- **GoogleAPIKey** - Youtube song search. Playlist queuing. URL Shortener. ~i and ~img. +- **SoundCloudClientID** - Needed in order to queue soundcloud songs from sc links. For the Soundcloud Api key you need a Soundcloud account. You need to create a new app on http://soundcloud.com/you/apps/new and after that go here http://soundcloud.com/you/apps click on the name of your created your app and copy the Client ID. Paste it into credentials.json. +- **MashapeKey** - Urban dictionary, hashtag search, hearthstone cards.You need to create an account on their api marketplace here https://market.mashape.com/. After that you need to go to market.mashape.com/YOURNAMEHERE/applications/default-application and press GET THE KEYS in the right top corner copy paste it into your credentials.json and you are ready to race! +- **LOLAPIKey** - www.champion.gg api key needed for LoL commands +- **TrelloAppKey** - Needed for trello commands +- **OsuAPIKey** - needed for osu top5 and beatmap commands. +- **CarbonKey** - carbonitex.net key if your bot is listed there in order to send stats (probably nobody needs this) + +Next to your exe you must also have a data folder in which there is config.json (among other things) which will contain some user specific config, like should the Bot join servers, should DMs to bot be forwarded to you and a list of IDs of blacklisted users, channels and servers. If you do not have config.json, you can should config_example.json to config.json. +``` \ No newline at end of file diff --git a/docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs/fromsource.md b/docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs/fromsource.md new file mode 100644 index 00000000..df0dfd9e --- /dev/null +++ b/docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs/fromsource.md @@ -0,0 +1,8 @@ +###Building from Source +For easy setup and no programming knowledge, you can use [Updater](https://github.com/Kwoth/NadekoUpdater/releases/latest) or download release from [Releases](https://github.com/Kwoth/NadekoBot/releases) and follow the [Comprehensive Guide](https://github.com/Kwoth/NadekoBot/blob/master/ComprehensiveGuide.md) + +In your bin/debug folder (or next to your exe if you are using release version), you must have a file called 'credentials.json' in which you will store all the necessary data to make the bot know who the owner is, and your api keys. + +When you clone the project, make sure to run `git submodule init` and `git submodule update` to get the correct discord.net version + +Make sure you've read ComprehensiveGuide to get a grasp of basic config/credentials setup and then look at "Credentials and config" chapter. \ No newline at end of file diff --git a/docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs/index.md b/docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs/index.md new file mode 100644 index 00000000..981a039a --- /dev/null +++ b/docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs/index.md @@ -0,0 +1,16 @@ +#NadekoBot Documentation + +##Content +- [About](about.md) +- Guides + - [Windows Guide](guides/comprehensiveguide.md) + - [Linux Guide](guides/linuxguide.md) + - [OSX Guide](guides/macguide.md) + - [Building from Source](guides/fromsource.md) + - [Docker Guide](guides/dockerguide.md) +- [Commands List](https://github.com/Kwoth/NadekoBot/blob/master/commandlist.md) +- [Permissions System](permissions.md) +- [JSON Explanations](explanations.md) +- [Custiom Reactions](customreactions.md) +- [Frequently Asked Questions](FAQ.md) +- [Contribution Guide](contributionguide.md) \ No newline at end of file diff --git a/docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs/permissions.md b/docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs/permissions.md new file mode 100644 index 00000000..c83337d6 --- /dev/null +++ b/docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs/permissions.md @@ -0,0 +1,87 @@ +# Overview +Ever stuck handling your Nadeko permissions? Look no further than this guide! +We'll handle a few example cases that we've seen frequently on the help channel, as well as explaining the order of permissions in general. Any command used here can be found in the [Commands list](https://github.com/Kwoth/NadekoBot/blob/master/commandlist.md#permissions) + +# How does it work? +Permissions are handy to set up to limit who in your server can use what. by default, every command is enabled for everyone, except for the administration commands, like `.kick` and `.prune`, which are set to correspond to discord's permissions, (kicking and managing messages respectively here), the permissions module, which we will show in the next paragraph, and some other commands throughout the other modules that are owner-only, meaning that only someone who has his or her id in the list of owners of the bot can use them. +Since you may not want to allow everyone to use the NSFW module, skip the current song, pick up flowers, or attack in the pokegame, you're in need of setting up permissions. + +#First time setting up +When you want to change your first permissions, you need to fulfill one of two conditions: +* Be the owner of the server +* Have the role set by `;permrole` (Nadeko by default) + +If you have neither of these, you **can't** set up permissions. +You may want to change the `;permrole` to the role of the admins, using `;permrole Admins`. + +# Basics +Most of the commands found in the list are pretty much self-explanatory. `;rolemdl NSFW disable lurkers` would disable the NSFW module for the lurkers (let them come out of the shadows!). similarly `;chnlperms #general` would show which permissions are banned *specifically* for this channel. +Since permissions are enabled by default, the hierarchy of rulings is simple, if you disable something that affects a user, like `;sm nsfw disable`, you **can't** enable it in a particular other way, like `;cm nsfw enable #nsfw`. Now roles are an exemption to this, e.g. if all roles have music disabled except for the DJ role, you can still use music commands if you have the DJ role. + +By default, the bot notifies when a command can't be used. To disable this, you can use `;verbose false`. + +# Common Cases +These are some common cases of particular settings of permissions. + +## Create a music DJ +e.g. you only want your users to be able to see what's playing, and have a DJ role for the rest. +- `;arc music disable all`, disable all commands of the music module for everyone. +- `;arc music enable DJ`, give permissions to the DJ to do everything +- `;rc "!!nowplaying" enable all`, enable the command for everyone +- `;rc "!!getlink" enable all`, as above. +- `;rc "!!listqueue" enable all`, as above. + +## Create a NSFW channel +You want to only allow NSFW commands in the #nsfw channel. +- `;cm nsfw disable all` disable the nsfw module in every channel. +- `;cm nsfw enable #nsfw` re-enable the nsfw module in the #nsfw channel. + + +-- *Thanks to @applemac for writing this guide* + +#Old Guide + +**NadekoBot's permissions can be set up to be very specific through commands in the Permissions module.** + +Each command or module can be turned on or off at: +- a user level (so specific users can or cannot use a command/module) +- a role level (so only certain roles have access to certain commands/module) +- a channel level (so certain commands can be limited to certain channels, which can prevent music / trivia / NSFW spam in serious channels) +- a server level. + +Use .modules to see a list of modules (sets of commands). +Use .commands [module_name] to see a list of commands in a certain module. + +Permissions use a semicolon as the prefix, so always start the command with a ;. + +Follow the semicolon with the letter of the level which you want to edit. +- "u" for Users. +- "r" for Roles. +- "c" for Channels. +- "s" for Servers. + +Follow the level with whether you want to edit the permissions of a command or a module. +- "c" for Command. +- "m" for Module. + +Follow with a space and then the command or module name (surround the command with quotation marks if there is a space within the command, for example "!!q" or "!!n"). + +Follow that with another space and, to enable it, type one of the following: [1, true, t, enable], or to disable it, one of the following: [0, false, f, disable]. + +Follow that with another space and the name of the user, role, channel. (depending on the first letter you picked) + +###### Examples +- **;rm NSFW 0 [Role_Name]** Disables the NSFW module for the role, . +- **;cc "!!n" 0 [Channel_Name]** Disables skipping to the next song in the channel, . +- **;uc "!!q" 1 [User_Name]** Enables queuing of songs for the user, . +- **;sm Gambling 0** Disables gambling in the server. + +Check permissions by using the letter of the level you want to check followed by a p, and then the name of the level in which you want to check. If there is no name, it will default to yourself for users, the @everyone role for roles, and the channel in which the command is sent for channels. + +###### Examples +- ;cp [Channel_Name] +- ;rp [Role_Name] + +Insert an **a** before the level to edit the permission for all commands / modules for all users / roles / channels / server. + +Reference the Help command (-h) for more Permissions related commands. From fe1228978a11e52086cfe6c4b65d907c2260b1af Mon Sep 17 00:00:00 2001 From: miraai Date: Thu, 4 Aug 2016 00:12:26 +0200 Subject: [PATCH 13/84] dunno --- docs/mkdocs.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/mkdocs.yml b/docs/mkdocs.yml index 56435ef0..6422bb25 100644 --- a/docs/mkdocs.yml +++ b/docs/mkdocs.yml @@ -8,11 +8,11 @@ pages: - OSX Guide: guides/macguide.md - Building from Source: guides/fromsource.md - Docker Guide: guides/dockerguide.md -- Commands List: commandslist.md +- Commands List: https://github.com/Kwoth/NadekoBot/blob/master/commandlist.md - Permissions System: permissions.md - JSON Explanations: explanations.md - Custom Commands: customreactions.md - Frequently Asked Questions: FAQ.md - Contribution Guide: contributionguide.md -theme: readthedocs \ No newline at end of file +theme: readthedocs From 4f4772f307fb13fcd075089be208e982bc5bfa12 Mon Sep 17 00:00:00 2001 From: miraai Date: Thu, 4 Aug 2016 00:12:42 +0200 Subject: [PATCH 14/84] Delete permissions.md --- docs/docs/permissions.md | 87 ---------------------------------------- 1 file changed, 87 deletions(-) delete mode 100644 docs/docs/permissions.md diff --git a/docs/docs/permissions.md b/docs/docs/permissions.md deleted file mode 100644 index c83337d6..00000000 --- a/docs/docs/permissions.md +++ /dev/null @@ -1,87 +0,0 @@ -# Overview -Ever stuck handling your Nadeko permissions? Look no further than this guide! -We'll handle a few example cases that we've seen frequently on the help channel, as well as explaining the order of permissions in general. Any command used here can be found in the [Commands list](https://github.com/Kwoth/NadekoBot/blob/master/commandlist.md#permissions) - -# How does it work? -Permissions are handy to set up to limit who in your server can use what. by default, every command is enabled for everyone, except for the administration commands, like `.kick` and `.prune`, which are set to correspond to discord's permissions, (kicking and managing messages respectively here), the permissions module, which we will show in the next paragraph, and some other commands throughout the other modules that are owner-only, meaning that only someone who has his or her id in the list of owners of the bot can use them. -Since you may not want to allow everyone to use the NSFW module, skip the current song, pick up flowers, or attack in the pokegame, you're in need of setting up permissions. - -#First time setting up -When you want to change your first permissions, you need to fulfill one of two conditions: -* Be the owner of the server -* Have the role set by `;permrole` (Nadeko by default) - -If you have neither of these, you **can't** set up permissions. -You may want to change the `;permrole` to the role of the admins, using `;permrole Admins`. - -# Basics -Most of the commands found in the list are pretty much self-explanatory. `;rolemdl NSFW disable lurkers` would disable the NSFW module for the lurkers (let them come out of the shadows!). similarly `;chnlperms #general` would show which permissions are banned *specifically* for this channel. -Since permissions are enabled by default, the hierarchy of rulings is simple, if you disable something that affects a user, like `;sm nsfw disable`, you **can't** enable it in a particular other way, like `;cm nsfw enable #nsfw`. Now roles are an exemption to this, e.g. if all roles have music disabled except for the DJ role, you can still use music commands if you have the DJ role. - -By default, the bot notifies when a command can't be used. To disable this, you can use `;verbose false`. - -# Common Cases -These are some common cases of particular settings of permissions. - -## Create a music DJ -e.g. you only want your users to be able to see what's playing, and have a DJ role for the rest. -- `;arc music disable all`, disable all commands of the music module for everyone. -- `;arc music enable DJ`, give permissions to the DJ to do everything -- `;rc "!!nowplaying" enable all`, enable the command for everyone -- `;rc "!!getlink" enable all`, as above. -- `;rc "!!listqueue" enable all`, as above. - -## Create a NSFW channel -You want to only allow NSFW commands in the #nsfw channel. -- `;cm nsfw disable all` disable the nsfw module in every channel. -- `;cm nsfw enable #nsfw` re-enable the nsfw module in the #nsfw channel. - - --- *Thanks to @applemac for writing this guide* - -#Old Guide - -**NadekoBot's permissions can be set up to be very specific through commands in the Permissions module.** - -Each command or module can be turned on or off at: -- a user level (so specific users can or cannot use a command/module) -- a role level (so only certain roles have access to certain commands/module) -- a channel level (so certain commands can be limited to certain channels, which can prevent music / trivia / NSFW spam in serious channels) -- a server level. - -Use .modules to see a list of modules (sets of commands). -Use .commands [module_name] to see a list of commands in a certain module. - -Permissions use a semicolon as the prefix, so always start the command with a ;. - -Follow the semicolon with the letter of the level which you want to edit. -- "u" for Users. -- "r" for Roles. -- "c" for Channels. -- "s" for Servers. - -Follow the level with whether you want to edit the permissions of a command or a module. -- "c" for Command. -- "m" for Module. - -Follow with a space and then the command or module name (surround the command with quotation marks if there is a space within the command, for example "!!q" or "!!n"). - -Follow that with another space and, to enable it, type one of the following: [1, true, t, enable], or to disable it, one of the following: [0, false, f, disable]. - -Follow that with another space and the name of the user, role, channel. (depending on the first letter you picked) - -###### Examples -- **;rm NSFW 0 [Role_Name]** Disables the NSFW module for the role, . -- **;cc "!!n" 0 [Channel_Name]** Disables skipping to the next song in the channel, . -- **;uc "!!q" 1 [User_Name]** Enables queuing of songs for the user, . -- **;sm Gambling 0** Disables gambling in the server. - -Check permissions by using the letter of the level you want to check followed by a p, and then the name of the level in which you want to check. If there is no name, it will default to yourself for users, the @everyone role for roles, and the channel in which the command is sent for channels. - -###### Examples -- ;cp [Channel_Name] -- ;rp [Role_Name] - -Insert an **a** before the level to edit the permission for all commands / modules for all users / roles / channels / server. - -Reference the Help command (-h) for more Permissions related commands. From a2f7737b7e75b4e129bdaa4e06c8db840f2bb686 Mon Sep 17 00:00:00 2001 From: miraai Date: Thu, 4 Aug 2016 00:12:48 +0200 Subject: [PATCH 15/84] Delete index.md --- docs/docs/index.md | 16 ---------------- 1 file changed, 16 deletions(-) delete mode 100644 docs/docs/index.md diff --git a/docs/docs/index.md b/docs/docs/index.md deleted file mode 100644 index f22353ac..00000000 --- a/docs/docs/index.md +++ /dev/null @@ -1,16 +0,0 @@ -#NadekoBot Documentation - -##Content -- [About](about.md) -- Guides - - [Windows Guide](guides/comprehensiveguide.md) - - [Linux Guide](guides/linuxguide.md) - - [OSX Guide](guides/macguide.md) - - [Building from Source](guides/fromsource.md) - - [Docker Guide](guides/dockerguide.md) -- [Commands List](commandslist.md) -- [Permissions System](permissions.md) -- [JSON Explanations](explanations.md) -- [Custiom Reactions](customreactions.md) -- [Frequently Asked Questions](FAQ.md) -- [Contribution Guide](contributionguide.md) \ No newline at end of file From 843310cdd6369d1dee41448d1d8455ef613354f6 Mon Sep 17 00:00:00 2001 From: miraai Date: Thu, 4 Aug 2016 00:12:56 +0200 Subject: [PATCH 16/84] Delete fromsource.md --- docs/docs/fromsource.md | 8 -------- 1 file changed, 8 deletions(-) delete mode 100644 docs/docs/fromsource.md diff --git a/docs/docs/fromsource.md b/docs/docs/fromsource.md deleted file mode 100644 index df0dfd9e..00000000 --- a/docs/docs/fromsource.md +++ /dev/null @@ -1,8 +0,0 @@ -###Building from Source -For easy setup and no programming knowledge, you can use [Updater](https://github.com/Kwoth/NadekoUpdater/releases/latest) or download release from [Releases](https://github.com/Kwoth/NadekoBot/releases) and follow the [Comprehensive Guide](https://github.com/Kwoth/NadekoBot/blob/master/ComprehensiveGuide.md) - -In your bin/debug folder (or next to your exe if you are using release version), you must have a file called 'credentials.json' in which you will store all the necessary data to make the bot know who the owner is, and your api keys. - -When you clone the project, make sure to run `git submodule init` and `git submodule update` to get the correct discord.net version - -Make sure you've read ComprehensiveGuide to get a grasp of basic config/credentials setup and then look at "Credentials and config" chapter. \ No newline at end of file From 126d383dbf4f280c58dca796adf0ff8522e7e29a Mon Sep 17 00:00:00 2001 From: miraai Date: Thu, 4 Aug 2016 00:13:03 +0200 Subject: [PATCH 17/84] Delete explanations.md --- docs/docs/explanations.md | 38 -------------------------------------- 1 file changed, 38 deletions(-) delete mode 100644 docs/docs/explanations.md diff --git a/docs/docs/explanations.md b/docs/docs/explanations.md deleted file mode 100644 index ba41ddac..00000000 --- a/docs/docs/explanations.md +++ /dev/null @@ -1,38 +0,0 @@ -###Credentials.json and config.json -**This is how unedited credentials.json looks like:** -```json -{ - "Token": "", - "ClientId": "116275390695079945", - "BotId": 1231231231231, - "OwnerIds": [ - 123123123123, - 5675675679845 - ], - "GoogleAPIKey": "", - "SoundCloudClientID": "", - "MashapeKey": "", - "LOLAPIKey": "", - "TrelloAppKey": "", - "OsuAPIKey": "", - "CarbonKey": "" -} -``` -#### Required -- **Token** - Required to log in. See this [guide](http://discord.kongslien.net/guide.html) -- **OwnerIds** - Required for Owner-Only commands to work. Separate multiple IDs with a comma -- **BotId** - Required for custom reactions and conversation commands to work. - -*BotId and OwnerIds are NOT names of the owner and the bot. If you do not know the id of your bot, put 2 random numbers in those fields, run the bot and do `.uid @MyBotName` - that will give you your bot\_id, do the same for yourself `.uid @MyName` and you will get a number to put inside brackets in OwnerIds field.* - -#### Optional -- **GoogleAPIKey** - Youtube song search. Playlist queuing. URL Shortener. ~i and ~img. -- **SoundCloudClientID** - Needed in order to queue soundcloud songs from sc links. For the Soundcloud Api key you need a Soundcloud account. You need to create a new app on http://soundcloud.com/you/apps/new and after that go here http://soundcloud.com/you/apps click on the name of your created your app and copy the Client ID. Paste it into credentials.json. -- **MashapeKey** - Urban dictionary, hashtag search, hearthstone cards.You need to create an account on their api marketplace here https://market.mashape.com/. After that you need to go to market.mashape.com/YOURNAMEHERE/applications/default-application and press GET THE KEYS in the right top corner copy paste it into your credentials.json and you are ready to race! -- **LOLAPIKey** - www.champion.gg api key needed for LoL commands -- **TrelloAppKey** - Needed for trello commands -- **OsuAPIKey** - needed for osu top5 and beatmap commands. -- **CarbonKey** - carbonitex.net key if your bot is listed there in order to send stats (probably nobody needs this) - -Next to your exe you must also have a data folder in which there is config.json (among other things) which will contain some user specific config, like should the Bot join servers, should DMs to bot be forwarded to you and a list of IDs of blacklisted users, channels and servers. If you do not have config.json, you can should config_example.json to config.json. -``` \ No newline at end of file From 5b6ff51d0c11f654c5f502d9206340d877cc74c8 Mon Sep 17 00:00:00 2001 From: miraai Date: Thu, 4 Aug 2016 00:13:10 +0200 Subject: [PATCH 18/84] Delete customreactions.md --- docs/docs/customreactions.md | 21 --------------------- 1 file changed, 21 deletions(-) delete mode 100644 docs/docs/customreactions.md diff --git a/docs/docs/customreactions.md b/docs/docs/customreactions.md deleted file mode 100644 index 01057582..00000000 --- a/docs/docs/customreactions.md +++ /dev/null @@ -1,21 +0,0 @@ -**After you add/delete custom commands, you should restart the bot. (either by typing `.restart` if you are on WINDOWS or just manually restarting if you prefer/are on other platform)** - -`.acr` and `.dcr` require you to be a bot owner. - -`.acr` -Adds a new custom command. **If you add multiple commands with the same name, it will pick random one.** First argument is the name, second one is the response. For example `.acr hello hi`. Now the bot will reply `hi` whenever someone types `hello`. For more than 1 word command, wrap it in `"`. -For example: `.acr "hello there" hi there` - now it will print "hi there" whenever someone types "hello there". Currently you can add this placeholders which will get replaced with appropriate text: -`%mention%` - replaces it with bot mention -`%user%` - replaces it with the user runner's mention -`%target%` - replaces it with a mention of another person from within the original message -`%rng%` replaces it with a random number -for example: `.acr "%mention% hello" Hello %user%` -(we will add much more of these over time) - - -`.dcr "command name" (optional index)` -Deletes either whole custom command and all its responses or a single command's response via an index (if you have multiple responses for the same command). -For example: `.dcr "hi there"` or `.dcr "hi there" 1`. You can get an index by using `.lcr [page number]` - -`.lcr [number]` -Prints a list of custom reactions. Paginated. (for example: `.lcr 1` or `.lcr 4`) \ No newline at end of file From c6b3e1183c9ccbb4a00264f4b0cb19f2b51b72b0 Mon Sep 17 00:00:00 2001 From: miraai Date: Thu, 4 Aug 2016 00:13:16 +0200 Subject: [PATCH 19/84] Delete contributionguide.md --- docs/docs/contributionguide.md | 7 ------- 1 file changed, 7 deletions(-) delete mode 100644 docs/docs/contributionguide.md diff --git a/docs/docs/contributionguide.md b/docs/docs/contributionguide.md deleted file mode 100644 index 26bbafe8..00000000 --- a/docs/docs/contributionguide.md +++ /dev/null @@ -1,7 +0,0 @@ -### How to contribute - -1. Make Pull Requests to **DEV BRANCH** -2. Keep 1 Pull Request to a single feature -3. Explain what you did in the PR message - -Thanks for all the help ^_^ \ No newline at end of file From 7122de89fea27419c0dde65493bfc271537851f2 Mon Sep 17 00:00:00 2001 From: miraai Date: Thu, 4 Aug 2016 00:13:21 +0200 Subject: [PATCH 20/84] Delete about.md --- docs/docs/about.md | 13 ------------- 1 file changed, 13 deletions(-) delete mode 100644 docs/docs/about.md diff --git a/docs/docs/about.md b/docs/docs/about.md deleted file mode 100644 index 21f82c06..00000000 --- a/docs/docs/about.md +++ /dev/null @@ -1,13 +0,0 @@ -## Terms of Use - -The MIT License (MIT) - -Copyright (c) 2016 NadekoBot Team - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - From 47d1a5cffc74907e83d560269a073dfc34f58773 Mon Sep 17 00:00:00 2001 From: miraai Date: Thu, 4 Aug 2016 00:13:28 +0200 Subject: [PATCH 21/84] Delete FAQ.md --- docs/docs/FAQ.md | 40 ---------------------------------------- 1 file changed, 40 deletions(-) delete mode 100644 docs/docs/FAQ.md diff --git a/docs/docs/FAQ.md b/docs/docs/FAQ.md deleted file mode 100644 index aed3cb81..00000000 --- a/docs/docs/FAQ.md +++ /dev/null @@ -1,40 +0,0 @@ -Frequently Asked Questions -####Q1: How do I get @Nadeko to join my server? -A: Send her a Direct Message with -h to get the link. Only Server Owners can allow the bot to join -####Q2: I want to change permissions, but it doesn't work D: -A: To change permissions, you have to set the ;permsrole (default permission role is called `Nadeko`, you can create a role named like that and assign it to yourself). *Only the owner of the server can change permissions without having this role.* -####Q3: Music doesn't work on a Mac?! -You have to build `mono` from source. . -####Q5: I want to disable NSFW on my server, please? -A: You would first have to be able to change permissions (see Q4 ), and then run `;sm NSFW disable` -####Q6: How do I get NadekoFlowers/whatever I changed my currency to? -A: You get NadekoFlowers by answering Trivia questions or picking them up after they have been generated with `>gc`, which you can then either plant (give away to a channel so that someone can pick it), gamble it with $betflip, $betroll and $jr, or spend on healing and setting your type in the Pokemon game. -####Q7: I have an issue/bug/suggestion, where can I get it noticed? -A: First of all, check https://github.com/Kwoth/NadekoBot/issues and #suggestions for your problem/improvement. If it's not there, create a new issue on https://github.com/Kwoth/NadekoBot/issues. -####Q8: How do I use the command XXXX? -A: most commands have a description, with a usage guide if required; use -h command, like -h ;pr -####Q9: Music doesn't work!? -A: Music on @Nadeko will be re-enabled in the future, but for now your only option is to host yourself -If you are hosting your own bot, make sure ffmpeg is working correctly; running ffmpeg in the commandline should have a response. see https://github.com/Kwoth/NadekoBot/blob/master/ComprehensiveGuide.md#setting-up-nadekobot-for-music for more -####Q10: My music is still not working/very laggy? -A: Try switching server location, try giving the bot permissions on the server you want to use it on. -####Q12: I want to change data in the database (like NadekoFlowers or the pokemontypes of users, but how? -A: Open data/nadekobot.sqlite using sqlitebrowser (or some alternative), Browse Data, select relevant table, change data, Write changes -####Q13: The .greet and .bye commands doesn't work, but everything else is (From @Kong) -A: Set a greeting message by using .greetmsg YourMessageHere -and a bye-message by using .byemsg YourMessageHere -####Q15: How to import certs on linux? -A: -`certmgr -ssl https://discordapp.com` -`certmgr -ssl https://gateway.discord.gg` -####Q16: I want "BOT" tag with my bot and I can't follow up with Q14, is there a simple way? -A: Yes, you can create an application using your account and use the APP BOT USER TOKEN from here: https://discordapp.com/developers/applications/me -NOTE: This will create a new bot account -####Q17: I made an application following Q16, but I can't add that new bot to my server, how do I invite it to my server? -A: You need to use oauth link to add it to you server, just copy your CLIENT ID (that's in the same Developer page where you brought your token) and replace 12345678 in the link below: -https://discordapp.com/oauth2/authorize?client_id=12345678&scope=bot&permissions=66186303 -FOLLOW THIS DETAILED GUIDE IF IT IS HARD FOR YOU TO UNDERSTAND http://discord.kongslien.net/guide.html -####Q18: I'm building NadekoBot from source, but I get hundreds of (namespace) errors without changing anything!? -A: Using Visual Studio, you can solve these errors by going to Tools -> NuGet Package Manager -> Manage NuGet Packages for Solution. Go to the Installed tab, select the Packages that were missing (usually Newtonsoft.json and RestSharp) and install them for all projects -####Q19: My bot has all permissions but it's still saying, "Failed to add roles. Bot has insufficient permissions.", how do I fix this? -A: Discord has added few new features and roles now follow hierarchy, that means you need to place your bot role above every-other role your server has. Also do NOTE that bot can only set/add all roles below its own highest role. And can not assign it's "highest role" to anyone else. \ No newline at end of file From fd6f88ba1fa44ab8defdf49f1257a35534752979 Mon Sep 17 00:00:00 2001 From: miraai Date: Thu, 4 Aug 2016 00:13:47 +0200 Subject: [PATCH 22/84] Delete linuxguide.md --- docs/docs/guides/linuxguide.md | 258 --------------------------------- 1 file changed, 258 deletions(-) delete mode 100644 docs/docs/guides/linuxguide.md diff --git a/docs/docs/guides/linuxguide.md b/docs/docs/guides/linuxguide.md deleted file mode 100644 index cf3be9c9..00000000 --- a/docs/docs/guides/linuxguide.md +++ /dev/null @@ -1,258 +0,0 @@ -#Setting up NadekoBot on Linux - -####Setting up NadekoBot on Linux Digital Ocean Droplet -######If you want Nadeko to play music for you 24/7 without having to hosting it on your PC and want to keep it cheap, reliable and convenient as possible, you can try Nadeko on Linux Digital Ocean Droplet using the link [DigitalOcean][DigitalOcean] (and using this link will be supporting Nadeko and will give you **$10 credit**) - -######Keep this helpful video handy [Linux Setup Video][Linux Setup Video] (thanks to klincheR) it contains how to set up the Digital Ocean droplet aswell. - -####Setting up NadekoBot -Assuming you have followed the link above to created an account in Digital Ocean and video to set up the bot until you get the `IP address and root password (in email)` to login, its time to begin. - -#### Prerequisites -- Download [PuTTY][PuTTY] -- Download [CyberDuck][CyberDuck] - -#### Follow these steps - -- **Open PuTTY.exe** that you downloaded before, and paste or enter your `IP address` and then click **Open**. -If you entered your Droplets IP address correctly, it should show **login as:** in a newly opened window. -- Now for **login as:**, type `root` and hit enter. -- It should then, ask for password, type the `root password` you have received in your **email address registered with Digital Ocean**, then hit Enter. - -*(as you are running it for the first time, it will most likely to ask you to change your root password, for that, type the "password you received through email", hit Enter, enter a "new password", hit Enter and confirm that "new password" again.* -**SAVE that new password somewhere safe not just in mind**. After you done that, you are ready to write commands. - -**Copy and just paste** using **mouse right-click** (it should paste automatically) - -######MONO (Source: [Mono Source][Mono Source]) - -**1) Installing Mono** - -`sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF` -`echo "deb http://download.mono-project.com/repo/debian wheezy main" | sudo tee /etc/apt/sources.list.d/mono-xamarin.list` -`sudo apt-get update` - -Note if the command is not being initiated, hit **Enter** - -**2)** - -`echo "deb http://download.mono-project.com/repo/debian wheezy-apache24-compat main" | sudo tee -a /etc/apt/sources.list.d/mono-xamarin.list` - -**2.5)** -*ONLY DEBIAN 8 and later* - -`echo "deb http://download.mono-project.com/repo/debian wheezy-libjpeg62-compat main" | sudo tee -a /etc/apt/sources.list.d/mono-xamarin.list` - -**2.6)** -*ONLY CentOS 7, Fedora 19 (and later)* - -`yum install yum-util` -`rpm --import "http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF"` -`yum-config-manager --add-repo http://download.mono-project.com/repo/centos/` - -**3)** -*Mono Devel* - -`apt-get install mono-devel` - -**Type** `y` **hit Enter** - - -**4)** -Opus Voice Codec - -`sudo apt-get install libopus0 opus-tools` - -**Type** `y` **hit Enter** - -**5)** -`sudo apt-get install libopus-dev` - -**In case you are having issues with Mono where you get a random string and the bot won't run, do this:** - -`sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF` -`echo "deb http://download.mono-project.com/repo/debian wheezy main" | sudo tee /etc/apt/sources.list.d/mono-xamarin.list` -`apt-get install ca-certificates-mono` -`mozroots --import --sync` - - -####FFMPEG - -**6)** -`apt-get install ffmpeg` - -**Type** `y` **hit Enter** - -NOTE: if its "not installing" then, follow the guide here: [FFMPEG Help Guide][FFMPEG Help Guide] - -**All you need to do, if you are running UBUNTU 14.04 is initiate these:** - -`sudo add-apt-repository ppa:mc3man/trusty-media` -`sudo apt-get update` -`sudo apt-get dist-upgrade` - -*Before executing* `sudo apt-get install ffmpeg` - -**If you are running Debian 8 Jessie, please, follow these steps:** - -`wget http://luxcaeli.de/installer.sh && sudo bash installer.sh` (Thanks to Eleria<3) - -In case you are not able to install it with installer ^up there, follow these steps: - -`sudo apt-get update` -`echo "deb http://ftp.debian.org/debian jessie-backports main" | tee /etc/apt/sources.list.d/debian-backports.list` -`sudo apt-get update` -`sudo apt-get install ffmpeg -y` - -####Uncomplicated Firewall UFW - -**7)** -`apt-get install ufw` - -**it is most likely to have it already installed so if you see it is already installed, check with following command, and/or enable it** - -**8)** -`ufw status` - -**9)** -`ufw enable` - -**Type** `y` **hit Enter** - -**10)** -`sudo ufw allow ssh` - - - -**11)** -Unzip - -`apt-get install unzip` - -**12)** -TMUX - -`apt-get install tmux` - -**Type** `y` **hit Enter** - -####Importing certs -**13)** -`certmgr -ssl https://discordapp.com` - -**14)** -`certmgr -ssl https://gateway.discord.gg` - -Type `yes` and hit Enter **(three times - as it will ask for three times)** - - -**15)** -Create a new folder “nadeko” or anything you prefer - -`mkdir nadeko` - -**16)** -Move to “nadeko” folder (note `cd --` to go back the directory) - -`cd nadeko` - -####Getting NadekoBot from Releases - -Go to this link: [Releases][Releases] and **copy the zip file address** of the lalest version available, -it should look like `https://github.com/Kwoth/NadekoBot/releases/download/vx.xx/NadekoBot.vx.x.zip` - -**17)** -Get the correct link, type `wget`, then *paste the link*, then hit **Enter**. - -`wget https://github.com/Kwoth/NadekoBot/releases/download/vx.xx/NadekoBot.vx.x.zip` - -**^Do not copy-paste it** - -**18)** - -Now we need to `unzip` the downloaded zip file and to do that, type the file name as it showed in your screen or just copy from the screen, should be like ` NadekoBot.vx.x.zip` - -`unzip NadekoBot.vx.x.zip` - -**^Do not copy-paste it** - -####Setting up NadekoBot - -- Open **CyberDuck** -- Click on **Open Connection** (top-left corner), a new window should appear. -- You should see **FTP (File Transfer Protocol)** in drop-down. -- Change it to **SFTP (SSH File Transfer Protocol)** -- Now, in **Server:** paste or type in your `Digital Ocean Droplets IP address`, leave `Port: 22` (no need to change it) -- In **Username:** type `root` -- In **Password:** type `the new root password (you changed at the start)` -- Click on **Connect** -- It should show you the new folder you created. -- Open it. - -#####MAKE SURE YOU READ THE README BEFORE PROCEEDING - -- Copy the `credentials_example.json` to desktop -- EDIT it as it is guided here: [Readme][Readme] -- Rename it to `credentials.json` and paste/put it back in the folder. `(Yes, using CyberDuck)` -- You should see two files `credentials_example.json` and `credentials.json` -- Also if you already have nadeko setup and have `credentials.json`, `config.json`, `nadekobot.sqlite`, and `"permissions" folder`, you can just copy and paste it to the Droplets folder using CyberDuck. - -####Running NadekoBot - -Go back to **PuTTY**, `(hope its still running xD)` - -**19)** -Type/ Copy and hit **Enter**. - -`tmux new -s nadeko` - -**^this 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 running PuTTY in the background.` - -`cd nadeko` - -**20)** -`mono NadekoBot.exe` - -**CHECK THE BOT IN DISCORD, IF EVERYTHING IS WORKING** - -Now time to **move bot to background** and to do that, press **CTRL+B+D** (this will ditach the nadeko session using TMUX), and you can finally close PuTTY now. - -Copy your CLIENT ID (that's in the same Developer page where you brought your token) and replace `12345678` in this link: `https://discordapp.com/oauth2/authorize?client_id=12345678&scope=bot&permissions=66186303` with it. Go to that link and you will be able to add your bot to your server. - -**NOW YOU HAVE YOUR OWN NADEKO BOT** `Thanks to Kwoth <3` - -####Some more Info (just in case): - --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.) - -**21)** --If you want to **kill** NadekoBot **session**, type `tmux kill-session -t nadeko` - -####How to restart Nadeko with the server (for science) -**22)** -Open **PuTTY** and login as you have before, type `reboot` and hit Enter. - -####Updating Nadeko - -**FOLLOW THESE STEPS SERIALLY** - -- **-21 OR 22** -- **-19** -- **-16** -- **-17** -- **-18** -- **-20** - -HIT **CTRL+B+D** and close **PuTTY** - -`IF YOU FACE ANY TROUBLE ANYWHERE IN THE GUIDE JUST FIND US IN NADEKO'S DISCORD SERVER` - -[PuTTY]: http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html -[CyberDuck]: https://cyberduck.io -[Linux Setup Video]: https://www.youtube.com/watch?v=icV4_WPqPQk&feature=youtu.be -[Releases]: https://github.com/Kwoth/NadekoBot/releases -[Readme]: https://github.com/Kwoth/NadekoBot/blob/master/README.md -[FFMPEG Help Guide]: http://www.faqforge.com/linux/how-to-install-ffmpeg-on-ubuntu-14-04/ -[Mono Source]: http://www.mono-project.com/docs/getting-started/install/linux/ -[DigitalOcean]: http://m.do.co/c/46b4d3d44795/ From 3a031b56aa9365f4320915ff017d846385a812e2 Mon Sep 17 00:00:00 2001 From: miraai Date: Thu, 4 Aug 2016 00:13:54 +0200 Subject: [PATCH 23/84] Delete fromsource.md --- docs/docs/guides/fromsource.md | 8 -------- 1 file changed, 8 deletions(-) delete mode 100644 docs/docs/guides/fromsource.md diff --git a/docs/docs/guides/fromsource.md b/docs/docs/guides/fromsource.md deleted file mode 100644 index df0dfd9e..00000000 --- a/docs/docs/guides/fromsource.md +++ /dev/null @@ -1,8 +0,0 @@ -###Building from Source -For easy setup and no programming knowledge, you can use [Updater](https://github.com/Kwoth/NadekoUpdater/releases/latest) or download release from [Releases](https://github.com/Kwoth/NadekoBot/releases) and follow the [Comprehensive Guide](https://github.com/Kwoth/NadekoBot/blob/master/ComprehensiveGuide.md) - -In your bin/debug folder (or next to your exe if you are using release version), you must have a file called 'credentials.json' in which you will store all the necessary data to make the bot know who the owner is, and your api keys. - -When you clone the project, make sure to run `git submodule init` and `git submodule update` to get the correct discord.net version - -Make sure you've read ComprehensiveGuide to get a grasp of basic config/credentials setup and then look at "Credentials and config" chapter. \ No newline at end of file From 50f8573eaafe8f376f4fa7b4a0152c83e0864865 Mon Sep 17 00:00:00 2001 From: miraai Date: Thu, 4 Aug 2016 00:14:00 +0200 Subject: [PATCH 24/84] Delete file.md --- docs/docs/guides/file.md | 1 - 1 file changed, 1 deletion(-) delete mode 100644 docs/docs/guides/file.md diff --git a/docs/docs/guides/file.md b/docs/docs/guides/file.md deleted file mode 100644 index 42f00f63..00000000 --- a/docs/docs/guides/file.md +++ /dev/null @@ -1 +0,0 @@ -dsada From 4cf2b00b90bc7c427c398bd880bad6d3b6b110e0 Mon Sep 17 00:00:00 2001 From: miraai Date: Thu, 4 Aug 2016 00:14:13 +0200 Subject: [PATCH 25/84] Delete dockerguide.md --- docs/docs/guides/dockerguide.md | 54 --------------------------------- 1 file changed, 54 deletions(-) delete mode 100644 docs/docs/guides/dockerguide.md diff --git a/docs/docs/guides/dockerguide.md b/docs/docs/guides/dockerguide.md deleted file mode 100644 index 0fbf0248..00000000 --- a/docs/docs/guides/dockerguide.md +++ /dev/null @@ -1,54 +0,0 @@ -# Docker Guide with DigitalOcean - -#####Prerequisites: -- Digital ocean account (you can use my [reflink][reflink] to support the project and get 10$ after you register) -- [PuTTY][PuTTY] -- A bot account - follow this [guide][guide] -- $5 -- Common sense - -#####Guide -- Click on the create droplet button -![img](http://i.imgur.com/g2ayOcC.png) - -- Pick one click apps and select docker on 14.04 - -![img](http://imgur.com/065Xkme.png) - -- Pick any droplet size you want (5$ will work ok-ish on a few servers) -- Pick location closest to your discord server's location -- Pick a hostname -![img](http://imgur.com/ifPKB6p.png) - -- Click create - -You will get an email from DigitalOcean with your credentials now. - -Open putty and type ip adress **you got in your email** with port 22 - -![img](http://imgur.com/Mh5ehsh.png) - -- Console will open and you will be prompted for a username, type `root`. -- Type in the password you got in the email. -- Confirm the password you just typed in. -- Type in the new password. -- Confirm new password. - -- When you are successfully logged in, type -`docker run --name nadeko -v /nadeko:/config uirel/nadeko` - -- Wait for it to download and at one point it is going to start throwing errors due to `credentials.json` being empty -- CTRL+C to exit that -- Type `docker stop nadeko` -- Type `nano /nadeko/credentials.json` and type in your `credentials` -- CTRL+X then CTRL+Y to save -- Type `docker start nadeko` -- Type `docker logs -f nadeko` to see the console output - -**Your bot is running, enjoy! o/** - -*When you want to update the bot, just type `docker restart nadeko` as it always downloads latest prerelease* - -[reflink]: http://m.do.co/c/46b4d3d44795/ -[PuTTY]: http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html -[guide]: http://discord.kongslien.net/guide.html From aad9b81da9f803a74e6b50d17794c256b489e8af Mon Sep 17 00:00:00 2001 From: miraai Date: Thu, 4 Aug 2016 00:14:22 +0200 Subject: [PATCH 26/84] Delete comprehensiveguide.md --- docs/docs/guides/comprehensiveguide.md | 113 ------------------------- 1 file changed, 113 deletions(-) delete mode 100644 docs/docs/guides/comprehensiveguide.md diff --git a/docs/docs/guides/comprehensiveguide.md b/docs/docs/guides/comprehensiveguide.md deleted file mode 100644 index 9bf594c6..00000000 --- a/docs/docs/guides/comprehensiveguide.md +++ /dev/null @@ -1,113 +0,0 @@ -________________________________________________________________________________ -*Thanks to @Flatbread and Mirai for making this guide* -________________________________________________________________________________ - -### Setting Up NadekoBot on Windows -#### Prerequisites -- 1) [NET Framework][NET Framework] 4.5.2 (or 4.6) -- 2) [FFMPEG][FFMPEG] -- 3) Google Account -- 4) Soundcloud Account (if you want soundcloud support) -- 5) [7zip][7zip] (or whatever you are using, WinRar) -- 6) [Notepad++][Notepad++] - -####Guide: - -- Create a folder, name it `Nadeko`. -- Head to [Releases][Releases]* and download `WINDOWS.-.nadeupdater.7z`. -- Copy `WINDOWS.-.nadeupdater.7z` to the `Nadeko` (folder we created before) and extract everything. -- You will see a file `NadekoUpdater.bat ` and a folder `publish ` after extraction. -- Run/Launch/Open the file `NadekoUpdater.bat ` and you will see it running in cmd.exe asking you with **3 options** *1-3*. - - 1) Stable release - current stable release, but might not contain all the newest Nadeko updates. - - 2) Newest release - release with all features/upgrades. - - 3) Exit -- Press `2` on your keyboard and hit `Enter`. Type `y` and hit `Enter` again. Downloading might take a while, so just be patient and wait. When download is done, press `3` on your keyboard and close the updater. -- You should have a new folder named `NadekoBot` inside the `Nadeko` folder we previously created. - -####Creating DiscordBot application -- Go to [DiscordApp][DiscordApp]. -- Log in with your Discord account. -- On the left side, press `New Application`. -- Fill out the `App Name` (your bot's name, in this case), put the image you want, and add an app description(optional). -- Create the application. -- Once the application is created, click on `Create a Bot User` and confirm it. -- Keep this window open for now. - -####Setting up Credentials.json file -- In our `NadekoBot` folder you should have `.json` file named `credentials_example.json`. (Note: If you do not see a **.json** after `credentials_example.json `, do not add the `**.json**`. You most likely have `"Hide file extensions"` enabled.) -- Rename `credentials_example.json` to `credentials.json`. -- Open the file with your [Notepad++][Notepad++]. -- In there you will see fields like `Token`, `ClientId`, `BotId`, `OwnerIDs`. -- In your [DiscordApp][DiscordApp], under `Bot User` part, you will see the `Token:click to reveal` part, click to reveal it. -- Copy your bot's token, and put it between `" "` in your `credentials.json` file. -- Copy `Client ID` and replace it with the example one in your `credentials.json`. -- Copy `Bot ID` and replace it with the example one in your `credentials.json`. -- Save your `credentials.json` but keep it open. We need to put your `User ID` and owner. - -####Inviting your bot to your server [Invite Guide][Invite Guide] -- Create a new server in Discord. -- Copy your `Client ID` from your [DiscordApp][DiscordApp]. -- Replace `12345678` in this link `https://discordapp.com/oauth2/authorize?client_id=12345678&scope=bot&permissions=66186303` with your `Client ID`. -- Link should look like this: `https://discordapp.com/oauth2/authorize?client_id=**YOUR_CLENT_ID**&scope=bot&permissions=66186303`. -- Go to newly created link and pick the server we created, and click `Authorize`. -- Bot should be added to your server. - -####Starting the bot -- Enter your `NadekoBot` folder that should be (hopefully) in your `Nadeko` folder. -- Run `NadekoBot.exe` (Note: There is `NadekoBot.exe` and `NadekoBot.exe.config`, dont run the second one) -- Your bot should now be online in the server we added him to. -- Note: Your bot will be offline in case you close `NadekoBot.exe`. - -####Setting up OwnerIds -- In the server where your bot is, in a text channel, type `.uid` -- Your `User ID` should show, copy it. -- Close `NadekoBot.exe` -- Replace your `User ID` in the `credentials.json` between `[ ]` and save the changes. -- Run `NadekoBot.exe` again. -- Now you are the bot owner. -- You can add `User IDs` from the other users by separating IDs with a comma if you want to have more owners. - -`*Alternatively, you can download nadekobot from [Releases][Releases] and extract the zip yourself. That is what updater does, except it makes it easier for you to update because it doesn't overwrite important files. If you are downloading releases you will have to be careful about your config, credentials, and other files you edited in order to preserve your data every time you update.` - -________________________________________________________________________________ - -#### Setting Up NadekoBot For Music -##### Prerequisites -- 1) [FFMPEG][FFMPEG] installed. -- 2) Setting up API keys. - -- Follow these steps on how to setup Google API keys: - - Go to [Google Console][Google Console] and log in. - - Create a new project (name does not matter). Once the project is created, go into "Enable and manage APIs." - - Under the "Other Popular APIs" section, enable `URL Shortener API` and `Custom Search Api`. Under the `YouTube APIs` section, enable `YouTube Data API`. - - On the left tab, access `Credentials`. Click `Create Credentials` button. Click on `API Key`, and then `Server Key` in the new window that appears. Enter in a name for the `Server Key`. A new window will appear with your `Google API key`. - - Copy the key. - - Open up `credentials.json`. - - For `"GoogleAPIKey"`, fill in with the new key we copied. -- Follow these steps on how to setup Soundcloud API key: - - Go to [Soundcloud][Soundcloud]. - - Enter a name for the app and create it. - - You will see a page with the title of your app, and a field labeled `Client ID`. Copy the ID. - - In `credentials.json`, fill in `"SoundcloudClientID"` with the copied ID. -- Restart your computer. - -##### Prerequisites for manual `ffmpeg` setup: -**Do this step in case you were not able to install `ffmpeg` with the installer.** - -- Create a folder named `ffmpeg` in your main Windows directory. We will use **C:\ffmpeg** (for our guide) -- Download FFMPEG through the link https://ffmpeg.zeranoe.com/builds/ (download static build) -- Extract it using `7zip` and place the folder `ffmpeg-xxxxx-git-xxxxx-xxxx-static` inside **C:\ffmpeg** -- Before proceeding, check out this gif to set up `ffmpeg` PATH correctly http://i.imgur.com/aR5l1Hn.gif *(thanks to PooPeePants#7135)* -- Go to My Computer, right click and select Properties. On the left tab, select Advanced System Settings. Under the Advanced tab, select Environmental Variables near the bottom. One of the variables should be called "Path". Add a semi-colon (;) to the end followed by your FFMPEG's **bin** install location (**for example C:\ffmpeg\ffmpeg-xxxxx-git-xxxxx-xxxx-static\bin**). Save and close. -- Setup your API keys as explained above. -- Restart your computer. - -[NET Framework]: https://www.microsoft.com/en-us/download/details.aspx?id=48130 -[FFMPEG]: https://github.com/Soundofdarkness/FFMPEG-Installer -[7zip]: http://www.7-zip.org/download.html -[Releases]: //github.com/Kwoth/NadekoUpdater/releases/tag/v1.0 -[DiscordApp]: https://discordapp.com/developers/applications/me -[Notepad++]: https://notepad-plus-plus.org/ -[Invite Guide]: http://discord.kongslien.net/guide.html -[Google Console]: https://console.developers.google.com -[Soundcloud]: https://soundcloud.com/you/apps/new From 9a3e96c785ee93165aab79e6b5b225a994d6b91b Mon Sep 17 00:00:00 2001 From: miraai Date: Thu, 4 Aug 2016 00:14:43 +0200 Subject: [PATCH 27/84] Update mkdocs.yml --- .../user_builds/nadekobot/checkouts/latest/mkdocs.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/mkdocs.yml b/docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/mkdocs.yml index 56435ef0..6422bb25 100644 --- a/docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/mkdocs.yml +++ b/docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/mkdocs.yml @@ -8,11 +8,11 @@ pages: - OSX Guide: guides/macguide.md - Building from Source: guides/fromsource.md - Docker Guide: guides/dockerguide.md -- Commands List: commandslist.md +- Commands List: https://github.com/Kwoth/NadekoBot/blob/master/commandlist.md - Permissions System: permissions.md - JSON Explanations: explanations.md - Custom Commands: customreactions.md - Frequently Asked Questions: FAQ.md - Contribution Guide: contributionguide.md -theme: readthedocs \ No newline at end of file +theme: readthedocs From 28861f8f2f3641ca1c4b42733b761bfd24957691 Mon Sep 17 00:00:00 2001 From: miraai Date: Thu, 4 Aug 2016 00:15:09 +0200 Subject: [PATCH 28/84] Update mkdocs.yml --- .../user_builds/nadekobot/checkouts/latest/docs/mkdocs.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs/mkdocs.yml b/docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs/mkdocs.yml index 56435ef0..6422bb25 100644 --- a/docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs/mkdocs.yml +++ b/docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs/mkdocs.yml @@ -8,11 +8,11 @@ pages: - OSX Guide: guides/macguide.md - Building from Source: guides/fromsource.md - Docker Guide: guides/dockerguide.md -- Commands List: commandslist.md +- Commands List: https://github.com/Kwoth/NadekoBot/blob/master/commandlist.md - Permissions System: permissions.md - JSON Explanations: explanations.md - Custom Commands: customreactions.md - Frequently Asked Questions: FAQ.md - Contribution Guide: contributionguide.md -theme: readthedocs \ No newline at end of file +theme: readthedocs From 258fdd2565dcc2b9b2fc7b3a7b98d558a4f22866 Mon Sep 17 00:00:00 2001 From: miraai Date: Thu, 4 Aug 2016 00:15:22 +0200 Subject: [PATCH 29/84] Delete stuff1.md --- .../user_builds/nadekobot/checkouts/latest/docs/guides/stuff1.md | 1 - 1 file changed, 1 deletion(-) delete mode 100644 docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs/guides/stuff1.md diff --git a/docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs/guides/stuff1.md b/docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs/guides/stuff1.md deleted file mode 100644 index ce0e8bd3..00000000 --- a/docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs/guides/stuff1.md +++ /dev/null @@ -1 +0,0 @@ -sadasda From d073a24d5a39d79405259a67a4102010278c772e Mon Sep 17 00:00:00 2001 From: miraai Date: Thu, 4 Aug 2016 00:15:31 +0200 Subject: [PATCH 30/84] Delete stuff.md --- .../user_builds/nadekobot/checkouts/latest/docs/stuff.md | 1 - 1 file changed, 1 deletion(-) delete mode 100644 docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs/stuff.md diff --git a/docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs/stuff.md b/docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs/stuff.md deleted file mode 100644 index ce0e8bd3..00000000 --- a/docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs/stuff.md +++ /dev/null @@ -1 +0,0 @@ -sadasda From fd02792bfac9d282c964eb4d01df2aff6b58fd21 Mon Sep 17 00:00:00 2001 From: Kwoth Date: Wed, 3 Aug 2016 16:59:04 +0200 Subject: [PATCH 31/84] fixed stats on shared nadeko --- NadekoBot/Classes/NadekoStats.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/NadekoBot/Classes/NadekoStats.cs b/NadekoBot/Classes/NadekoStats.cs index 8161348a..15953d61 100644 --- a/NadekoBot/Classes/NadekoStats.cs +++ b/NadekoBot/Classes/NadekoStats.cs @@ -254,12 +254,12 @@ namespace NadekoBot { commandTracker.TryAdd(e.Message.Id, DateTime.UtcNow); Console.WriteLine($">>COMMAND STARTED\nCmd: {e.Command.Text}\nMsg: {e.Message.Text}\nUsr: {e.User.Name} [{e.User.Id}]\nSrvr: {e.Server?.Name ?? "PRIVATE"} [{e.Server?.Id}]\n-----"); + commandsRan++; #if !NADEKO_RELEASE await Task.Run(() => { try { - commandsRan++; Classes.DbHandler.Instance.Connection.Insert(new DataModels.Command { ServerId = (long)(e.Server?.Id ?? 0), From 50a8b9a80ef7c7b2fbe58df193a48fd233c52ca0 Mon Sep 17 00:00:00 2001 From: Kwoth Date: Thu, 4 Aug 2016 00:26:14 +0200 Subject: [PATCH 32/84] ok fixing mirai's PR xD --- .../checkouts/latest/docs => }/FAQ.md | 78 +-- .../checkouts/latest/docs => }/about.md | 26 +- .../latest/docs => }/contributionguide.md | 12 +- .../latest/docs => }/customreactions.md | 40 +- .../latest/docs => }/explanations.md | 74 +-- .../checkouts/latest/docs => }/fromsource.md | 14 +- .../docs => }/guides/comprehensiveguide.md | 226 ++++---- .../latest/docs => }/guides/dockerguide.md | 108 ++-- .../latest/docs => }/guides/fromsource.md | 14 +- .../latest/docs => }/guides/linuxguide.md | 516 +++++++++--------- .../latest/docs => }/guides/macguide.md | 0 .../checkouts/latest/docs => }/index.md | 30 +- .../checkouts/latest/docs => }/mkdocs.yml | 36 +- .../checkouts/latest/docs => }/permissions.md | 174 +++--- docs/index.rst | 1 - 15 files changed, 674 insertions(+), 675 deletions(-) rename docs/docs/{checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs => }/FAQ.md (99%) rename docs/docs/{checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs => }/about.md (98%) rename docs/docs/{checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs => }/contributionguide.md (96%) rename docs/docs/{checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs => }/customreactions.md (98%) rename docs/docs/{checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs => }/explanations.md (98%) rename docs/docs/{checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs => }/fromsource.md (99%) rename docs/docs/{checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs => }/guides/comprehensiveguide.md (98%) rename docs/docs/{checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs => }/guides/dockerguide.md (97%) rename docs/docs/{checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs => }/guides/fromsource.md (99%) rename docs/docs/{checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs => }/guides/linuxguide.md (97%) rename docs/docs/{checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs => }/guides/macguide.md (100%) rename docs/docs/{checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs => }/index.md (97%) rename docs/docs/{checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs => }/mkdocs.yml (96%) rename docs/docs/{checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs => }/permissions.md (98%) delete mode 100644 docs/index.rst diff --git a/docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs/FAQ.md b/docs/docs/FAQ.md similarity index 99% rename from docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs/FAQ.md rename to docs/docs/FAQ.md index aed3cb81..8f6a91a1 100644 --- a/docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs/FAQ.md +++ b/docs/docs/FAQ.md @@ -1,40 +1,40 @@ -Frequently Asked Questions -####Q1: How do I get @Nadeko to join my server? -A: Send her a Direct Message with -h to get the link. Only Server Owners can allow the bot to join -####Q2: I want to change permissions, but it doesn't work D: -A: To change permissions, you have to set the ;permsrole (default permission role is called `Nadeko`, you can create a role named like that and assign it to yourself). *Only the owner of the server can change permissions without having this role.* -####Q3: Music doesn't work on a Mac?! -You have to build `mono` from source. . -####Q5: I want to disable NSFW on my server, please? -A: You would first have to be able to change permissions (see Q4 ), and then run `;sm NSFW disable` -####Q6: How do I get NadekoFlowers/whatever I changed my currency to? -A: You get NadekoFlowers by answering Trivia questions or picking them up after they have been generated with `>gc`, which you can then either plant (give away to a channel so that someone can pick it), gamble it with $betflip, $betroll and $jr, or spend on healing and setting your type in the Pokemon game. -####Q7: I have an issue/bug/suggestion, where can I get it noticed? -A: First of all, check https://github.com/Kwoth/NadekoBot/issues and #suggestions for your problem/improvement. If it's not there, create a new issue on https://github.com/Kwoth/NadekoBot/issues. -####Q8: How do I use the command XXXX? -A: most commands have a description, with a usage guide if required; use -h command, like -h ;pr -####Q9: Music doesn't work!? -A: Music on @Nadeko will be re-enabled in the future, but for now your only option is to host yourself -If you are hosting your own bot, make sure ffmpeg is working correctly; running ffmpeg in the commandline should have a response. see https://github.com/Kwoth/NadekoBot/blob/master/ComprehensiveGuide.md#setting-up-nadekobot-for-music for more -####Q10: My music is still not working/very laggy? -A: Try switching server location, try giving the bot permissions on the server you want to use it on. -####Q12: I want to change data in the database (like NadekoFlowers or the pokemontypes of users, but how? -A: Open data/nadekobot.sqlite using sqlitebrowser (or some alternative), Browse Data, select relevant table, change data, Write changes -####Q13: The .greet and .bye commands doesn't work, but everything else is (From @Kong) -A: Set a greeting message by using .greetmsg YourMessageHere -and a bye-message by using .byemsg YourMessageHere -####Q15: How to import certs on linux? -A: -`certmgr -ssl https://discordapp.com` -`certmgr -ssl https://gateway.discord.gg` -####Q16: I want "BOT" tag with my bot and I can't follow up with Q14, is there a simple way? -A: Yes, you can create an application using your account and use the APP BOT USER TOKEN from here: https://discordapp.com/developers/applications/me -NOTE: This will create a new bot account -####Q17: I made an application following Q16, but I can't add that new bot to my server, how do I invite it to my server? -A: You need to use oauth link to add it to you server, just copy your CLIENT ID (that's in the same Developer page where you brought your token) and replace 12345678 in the link below: -https://discordapp.com/oauth2/authorize?client_id=12345678&scope=bot&permissions=66186303 -FOLLOW THIS DETAILED GUIDE IF IT IS HARD FOR YOU TO UNDERSTAND http://discord.kongslien.net/guide.html -####Q18: I'm building NadekoBot from source, but I get hundreds of (namespace) errors without changing anything!? -A: Using Visual Studio, you can solve these errors by going to Tools -> NuGet Package Manager -> Manage NuGet Packages for Solution. Go to the Installed tab, select the Packages that were missing (usually Newtonsoft.json and RestSharp) and install them for all projects -####Q19: My bot has all permissions but it's still saying, "Failed to add roles. Bot has insufficient permissions.", how do I fix this? +Frequently Asked Questions +####Q1: How do I get @Nadeko to join my server? +A: Send her a Direct Message with -h to get the link. Only Server Owners can allow the bot to join +####Q2: I want to change permissions, but it doesn't work D: +A: To change permissions, you have to set the ;permsrole (default permission role is called `Nadeko`, you can create a role named like that and assign it to yourself). *Only the owner of the server can change permissions without having this role.* +####Q3: Music doesn't work on a Mac?! +You have to build `mono` from source. . +####Q5: I want to disable NSFW on my server, please? +A: You would first have to be able to change permissions (see Q4 ), and then run `;sm NSFW disable` +####Q6: How do I get NadekoFlowers/whatever I changed my currency to? +A: You get NadekoFlowers by answering Trivia questions or picking them up after they have been generated with `>gc`, which you can then either plant (give away to a channel so that someone can pick it), gamble it with $betflip, $betroll and $jr, or spend on healing and setting your type in the Pokemon game. +####Q7: I have an issue/bug/suggestion, where can I get it noticed? +A: First of all, check https://github.com/Kwoth/NadekoBot/issues and #suggestions for your problem/improvement. If it's not there, create a new issue on https://github.com/Kwoth/NadekoBot/issues. +####Q8: How do I use the command XXXX? +A: most commands have a description, with a usage guide if required; use -h command, like -h ;pr +####Q9: Music doesn't work!? +A: Music on @Nadeko will be re-enabled in the future, but for now your only option is to host yourself +If you are hosting your own bot, make sure ffmpeg is working correctly; running ffmpeg in the commandline should have a response. see https://github.com/Kwoth/NadekoBot/blob/master/ComprehensiveGuide.md#setting-up-nadekobot-for-music for more +####Q10: My music is still not working/very laggy? +A: Try switching server location, try giving the bot permissions on the server you want to use it on. +####Q12: I want to change data in the database (like NadekoFlowers or the pokemontypes of users, but how? +A: Open data/nadekobot.sqlite using sqlitebrowser (or some alternative), Browse Data, select relevant table, change data, Write changes +####Q13: The .greet and .bye commands doesn't work, but everything else is (From @Kong) +A: Set a greeting message by using .greetmsg YourMessageHere +and a bye-message by using .byemsg YourMessageHere +####Q15: How to import certs on linux? +A: +`certmgr -ssl https://discordapp.com` +`certmgr -ssl https://gateway.discord.gg` +####Q16: I want "BOT" tag with my bot and I can't follow up with Q14, is there a simple way? +A: Yes, you can create an application using your account and use the APP BOT USER TOKEN from here: https://discordapp.com/developers/applications/me +NOTE: This will create a new bot account +####Q17: I made an application following Q16, but I can't add that new bot to my server, how do I invite it to my server? +A: You need to use oauth link to add it to you server, just copy your CLIENT ID (that's in the same Developer page where you brought your token) and replace 12345678 in the link below: +https://discordapp.com/oauth2/authorize?client_id=12345678&scope=bot&permissions=66186303 +FOLLOW THIS DETAILED GUIDE IF IT IS HARD FOR YOU TO UNDERSTAND http://discord.kongslien.net/guide.html +####Q18: I'm building NadekoBot from source, but I get hundreds of (namespace) errors without changing anything!? +A: Using Visual Studio, you can solve these errors by going to Tools -> NuGet Package Manager -> Manage NuGet Packages for Solution. Go to the Installed tab, select the Packages that were missing (usually Newtonsoft.json and RestSharp) and install them for all projects +####Q19: My bot has all permissions but it's still saying, "Failed to add roles. Bot has insufficient permissions.", how do I fix this? A: Discord has added few new features and roles now follow hierarchy, that means you need to place your bot role above every-other role your server has. Also do NOTE that bot can only set/add all roles below its own highest role. And can not assign it's "highest role" to anyone else. \ No newline at end of file diff --git a/docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs/about.md b/docs/docs/about.md similarity index 98% rename from docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs/about.md rename to docs/docs/about.md index 21f82c06..8435eda2 100644 --- a/docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs/about.md +++ b/docs/docs/about.md @@ -1,13 +1,13 @@ -## Terms of Use - -The MIT License (MIT) - -Copyright (c) 2016 NadekoBot Team - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - +## Terms of Use + +The MIT License (MIT) + +Copyright (c) 2016 NadekoBot Team + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + diff --git a/docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs/contributionguide.md b/docs/docs/contributionguide.md similarity index 96% rename from docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs/contributionguide.md rename to docs/docs/contributionguide.md index 26bbafe8..44738208 100644 --- a/docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs/contributionguide.md +++ b/docs/docs/contributionguide.md @@ -1,7 +1,7 @@ -### How to contribute - -1. Make Pull Requests to **DEV BRANCH** -2. Keep 1 Pull Request to a single feature -3. Explain what you did in the PR message - +### How to contribute + +1. Make Pull Requests to **DEV BRANCH** +2. Keep 1 Pull Request to a single feature +3. Explain what you did in the PR message + Thanks for all the help ^_^ \ No newline at end of file diff --git a/docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs/customreactions.md b/docs/docs/customreactions.md similarity index 98% rename from docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs/customreactions.md rename to docs/docs/customreactions.md index 01057582..337a2d03 100644 --- a/docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs/customreactions.md +++ b/docs/docs/customreactions.md @@ -1,21 +1,21 @@ -**After you add/delete custom commands, you should restart the bot. (either by typing `.restart` if you are on WINDOWS or just manually restarting if you prefer/are on other platform)** - -`.acr` and `.dcr` require you to be a bot owner. - -`.acr` -Adds a new custom command. **If you add multiple commands with the same name, it will pick random one.** First argument is the name, second one is the response. For example `.acr hello hi`. Now the bot will reply `hi` whenever someone types `hello`. For more than 1 word command, wrap it in `"`. -For example: `.acr "hello there" hi there` - now it will print "hi there" whenever someone types "hello there". Currently you can add this placeholders which will get replaced with appropriate text: -`%mention%` - replaces it with bot mention -`%user%` - replaces it with the user runner's mention -`%target%` - replaces it with a mention of another person from within the original message -`%rng%` replaces it with a random number -for example: `.acr "%mention% hello" Hello %user%` -(we will add much more of these over time) - - -`.dcr "command name" (optional index)` -Deletes either whole custom command and all its responses or a single command's response via an index (if you have multiple responses for the same command). -For example: `.dcr "hi there"` or `.dcr "hi there" 1`. You can get an index by using `.lcr [page number]` - -`.lcr [number]` +**After you add/delete custom commands, you should restart the bot. (either by typing `.restart` if you are on WINDOWS or just manually restarting if you prefer/are on other platform)** + +`.acr` and `.dcr` require you to be a bot owner. + +`.acr` +Adds a new custom command. **If you add multiple commands with the same name, it will pick random one.** First argument is the name, second one is the response. For example `.acr hello hi`. Now the bot will reply `hi` whenever someone types `hello`. For more than 1 word command, wrap it in `"`. +For example: `.acr "hello there" hi there` - now it will print "hi there" whenever someone types "hello there". Currently you can add this placeholders which will get replaced with appropriate text: +`%mention%` - replaces it with bot mention +`%user%` - replaces it with the user runner's mention +`%target%` - replaces it with a mention of another person from within the original message +`%rng%` replaces it with a random number +for example: `.acr "%mention% hello" Hello %user%` +(we will add much more of these over time) + + +`.dcr "command name" (optional index)` +Deletes either whole custom command and all its responses or a single command's response via an index (if you have multiple responses for the same command). +For example: `.dcr "hi there"` or `.dcr "hi there" 1`. You can get an index by using `.lcr [page number]` + +`.lcr [number]` Prints a list of custom reactions. Paginated. (for example: `.lcr 1` or `.lcr 4`) \ No newline at end of file diff --git a/docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs/explanations.md b/docs/docs/explanations.md similarity index 98% rename from docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs/explanations.md rename to docs/docs/explanations.md index ba41ddac..9d4e41c1 100644 --- a/docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs/explanations.md +++ b/docs/docs/explanations.md @@ -1,38 +1,38 @@ -###Credentials.json and config.json -**This is how unedited credentials.json looks like:** -```json -{ - "Token": "", - "ClientId": "116275390695079945", - "BotId": 1231231231231, - "OwnerIds": [ - 123123123123, - 5675675679845 - ], - "GoogleAPIKey": "", - "SoundCloudClientID": "", - "MashapeKey": "", - "LOLAPIKey": "", - "TrelloAppKey": "", - "OsuAPIKey": "", - "CarbonKey": "" -} -``` -#### Required -- **Token** - Required to log in. See this [guide](http://discord.kongslien.net/guide.html) -- **OwnerIds** - Required for Owner-Only commands to work. Separate multiple IDs with a comma -- **BotId** - Required for custom reactions and conversation commands to work. - -*BotId and OwnerIds are NOT names of the owner and the bot. If you do not know the id of your bot, put 2 random numbers in those fields, run the bot and do `.uid @MyBotName` - that will give you your bot\_id, do the same for yourself `.uid @MyName` and you will get a number to put inside brackets in OwnerIds field.* - -#### Optional -- **GoogleAPIKey** - Youtube song search. Playlist queuing. URL Shortener. ~i and ~img. -- **SoundCloudClientID** - Needed in order to queue soundcloud songs from sc links. For the Soundcloud Api key you need a Soundcloud account. You need to create a new app on http://soundcloud.com/you/apps/new and after that go here http://soundcloud.com/you/apps click on the name of your created your app and copy the Client ID. Paste it into credentials.json. -- **MashapeKey** - Urban dictionary, hashtag search, hearthstone cards.You need to create an account on their api marketplace here https://market.mashape.com/. After that you need to go to market.mashape.com/YOURNAMEHERE/applications/default-application and press GET THE KEYS in the right top corner copy paste it into your credentials.json and you are ready to race! -- **LOLAPIKey** - www.champion.gg api key needed for LoL commands -- **TrelloAppKey** - Needed for trello commands -- **OsuAPIKey** - needed for osu top5 and beatmap commands. -- **CarbonKey** - carbonitex.net key if your bot is listed there in order to send stats (probably nobody needs this) - -Next to your exe you must also have a data folder in which there is config.json (among other things) which will contain some user specific config, like should the Bot join servers, should DMs to bot be forwarded to you and a list of IDs of blacklisted users, channels and servers. If you do not have config.json, you can should config_example.json to config.json. +###Credentials.json and config.json +**This is how unedited credentials.json looks like:** +```json +{ + "Token": "", + "ClientId": "116275390695079945", + "BotId": 1231231231231, + "OwnerIds": [ + 123123123123, + 5675675679845 + ], + "GoogleAPIKey": "", + "SoundCloudClientID": "", + "MashapeKey": "", + "LOLAPIKey": "", + "TrelloAppKey": "", + "OsuAPIKey": "", + "CarbonKey": "" +} +``` +#### Required +- **Token** - Required to log in. See this [guide](http://discord.kongslien.net/guide.html) +- **OwnerIds** - Required for Owner-Only commands to work. Separate multiple IDs with a comma +- **BotId** - Required for custom reactions and conversation commands to work. + +*BotId and OwnerIds are NOT names of the owner and the bot. If you do not know the id of your bot, put 2 random numbers in those fields, run the bot and do `.uid @MyBotName` - that will give you your bot\_id, do the same for yourself `.uid @MyName` and you will get a number to put inside brackets in OwnerIds field.* + +#### Optional +- **GoogleAPIKey** - Youtube song search. Playlist queuing. URL Shortener. ~i and ~img. +- **SoundCloudClientID** - Needed in order to queue soundcloud songs from sc links. For the Soundcloud Api key you need a Soundcloud account. You need to create a new app on http://soundcloud.com/you/apps/new and after that go here http://soundcloud.com/you/apps click on the name of your created your app and copy the Client ID. Paste it into credentials.json. +- **MashapeKey** - Urban dictionary, hashtag search, hearthstone cards.You need to create an account on their api marketplace here https://market.mashape.com/. After that you need to go to market.mashape.com/YOURNAMEHERE/applications/default-application and press GET THE KEYS in the right top corner copy paste it into your credentials.json and you are ready to race! +- **LOLAPIKey** - www.champion.gg api key needed for LoL commands +- **TrelloAppKey** - Needed for trello commands +- **OsuAPIKey** - needed for osu top5 and beatmap commands. +- **CarbonKey** - carbonitex.net key if your bot is listed there in order to send stats (probably nobody needs this) + +Next to your exe you must also have a data folder in which there is config.json (among other things) which will contain some user specific config, like should the Bot join servers, should DMs to bot be forwarded to you and a list of IDs of blacklisted users, channels and servers. If you do not have config.json, you can should config_example.json to config.json. ``` \ No newline at end of file diff --git a/docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs/fromsource.md b/docs/docs/fromsource.md similarity index 99% rename from docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs/fromsource.md rename to docs/docs/fromsource.md index df0dfd9e..90baf038 100644 --- a/docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs/fromsource.md +++ b/docs/docs/fromsource.md @@ -1,8 +1,8 @@ -###Building from Source -For easy setup and no programming knowledge, you can use [Updater](https://github.com/Kwoth/NadekoUpdater/releases/latest) or download release from [Releases](https://github.com/Kwoth/NadekoBot/releases) and follow the [Comprehensive Guide](https://github.com/Kwoth/NadekoBot/blob/master/ComprehensiveGuide.md) - -In your bin/debug folder (or next to your exe if you are using release version), you must have a file called 'credentials.json' in which you will store all the necessary data to make the bot know who the owner is, and your api keys. - -When you clone the project, make sure to run `git submodule init` and `git submodule update` to get the correct discord.net version - +###Building from Source +For easy setup and no programming knowledge, you can use [Updater](https://github.com/Kwoth/NadekoUpdater/releases/latest) or download release from [Releases](https://github.com/Kwoth/NadekoBot/releases) and follow the [Comprehensive Guide](https://github.com/Kwoth/NadekoBot/blob/master/ComprehensiveGuide.md) + +In your bin/debug folder (or next to your exe if you are using release version), you must have a file called 'credentials.json' in which you will store all the necessary data to make the bot know who the owner is, and your api keys. + +When you clone the project, make sure to run `git submodule init` and `git submodule update` to get the correct discord.net version + Make sure you've read ComprehensiveGuide to get a grasp of basic config/credentials setup and then look at "Credentials and config" chapter. \ No newline at end of file diff --git a/docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs/guides/comprehensiveguide.md b/docs/docs/guides/comprehensiveguide.md similarity index 98% rename from docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs/guides/comprehensiveguide.md rename to docs/docs/guides/comprehensiveguide.md index 9bf594c6..363bccd0 100644 --- a/docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs/guides/comprehensiveguide.md +++ b/docs/docs/guides/comprehensiveguide.md @@ -1,113 +1,113 @@ -________________________________________________________________________________ -*Thanks to @Flatbread and Mirai for making this guide* -________________________________________________________________________________ - -### Setting Up NadekoBot on Windows -#### Prerequisites -- 1) [NET Framework][NET Framework] 4.5.2 (or 4.6) -- 2) [FFMPEG][FFMPEG] -- 3) Google Account -- 4) Soundcloud Account (if you want soundcloud support) -- 5) [7zip][7zip] (or whatever you are using, WinRar) -- 6) [Notepad++][Notepad++] - -####Guide: - -- Create a folder, name it `Nadeko`. -- Head to [Releases][Releases]* and download `WINDOWS.-.nadeupdater.7z`. -- Copy `WINDOWS.-.nadeupdater.7z` to the `Nadeko` (folder we created before) and extract everything. -- You will see a file `NadekoUpdater.bat ` and a folder `publish ` after extraction. -- Run/Launch/Open the file `NadekoUpdater.bat ` and you will see it running in cmd.exe asking you with **3 options** *1-3*. - - 1) Stable release - current stable release, but might not contain all the newest Nadeko updates. - - 2) Newest release - release with all features/upgrades. - - 3) Exit -- Press `2` on your keyboard and hit `Enter`. Type `y` and hit `Enter` again. Downloading might take a while, so just be patient and wait. When download is done, press `3` on your keyboard and close the updater. -- You should have a new folder named `NadekoBot` inside the `Nadeko` folder we previously created. - -####Creating DiscordBot application -- Go to [DiscordApp][DiscordApp]. -- Log in with your Discord account. -- On the left side, press `New Application`. -- Fill out the `App Name` (your bot's name, in this case), put the image you want, and add an app description(optional). -- Create the application. -- Once the application is created, click on `Create a Bot User` and confirm it. -- Keep this window open for now. - -####Setting up Credentials.json file -- In our `NadekoBot` folder you should have `.json` file named `credentials_example.json`. (Note: If you do not see a **.json** after `credentials_example.json `, do not add the `**.json**`. You most likely have `"Hide file extensions"` enabled.) -- Rename `credentials_example.json` to `credentials.json`. -- Open the file with your [Notepad++][Notepad++]. -- In there you will see fields like `Token`, `ClientId`, `BotId`, `OwnerIDs`. -- In your [DiscordApp][DiscordApp], under `Bot User` part, you will see the `Token:click to reveal` part, click to reveal it. -- Copy your bot's token, and put it between `" "` in your `credentials.json` file. -- Copy `Client ID` and replace it with the example one in your `credentials.json`. -- Copy `Bot ID` and replace it with the example one in your `credentials.json`. -- Save your `credentials.json` but keep it open. We need to put your `User ID` and owner. - -####Inviting your bot to your server [Invite Guide][Invite Guide] -- Create a new server in Discord. -- Copy your `Client ID` from your [DiscordApp][DiscordApp]. -- Replace `12345678` in this link `https://discordapp.com/oauth2/authorize?client_id=12345678&scope=bot&permissions=66186303` with your `Client ID`. -- Link should look like this: `https://discordapp.com/oauth2/authorize?client_id=**YOUR_CLENT_ID**&scope=bot&permissions=66186303`. -- Go to newly created link and pick the server we created, and click `Authorize`. -- Bot should be added to your server. - -####Starting the bot -- Enter your `NadekoBot` folder that should be (hopefully) in your `Nadeko` folder. -- Run `NadekoBot.exe` (Note: There is `NadekoBot.exe` and `NadekoBot.exe.config`, dont run the second one) -- Your bot should now be online in the server we added him to. -- Note: Your bot will be offline in case you close `NadekoBot.exe`. - -####Setting up OwnerIds -- In the server where your bot is, in a text channel, type `.uid` -- Your `User ID` should show, copy it. -- Close `NadekoBot.exe` -- Replace your `User ID` in the `credentials.json` between `[ ]` and save the changes. -- Run `NadekoBot.exe` again. -- Now you are the bot owner. -- You can add `User IDs` from the other users by separating IDs with a comma if you want to have more owners. - -`*Alternatively, you can download nadekobot from [Releases][Releases] and extract the zip yourself. That is what updater does, except it makes it easier for you to update because it doesn't overwrite important files. If you are downloading releases you will have to be careful about your config, credentials, and other files you edited in order to preserve your data every time you update.` - -________________________________________________________________________________ - -#### Setting Up NadekoBot For Music -##### Prerequisites -- 1) [FFMPEG][FFMPEG] installed. -- 2) Setting up API keys. - -- Follow these steps on how to setup Google API keys: - - Go to [Google Console][Google Console] and log in. - - Create a new project (name does not matter). Once the project is created, go into "Enable and manage APIs." - - Under the "Other Popular APIs" section, enable `URL Shortener API` and `Custom Search Api`. Under the `YouTube APIs` section, enable `YouTube Data API`. - - On the left tab, access `Credentials`. Click `Create Credentials` button. Click on `API Key`, and then `Server Key` in the new window that appears. Enter in a name for the `Server Key`. A new window will appear with your `Google API key`. - - Copy the key. - - Open up `credentials.json`. - - For `"GoogleAPIKey"`, fill in with the new key we copied. -- Follow these steps on how to setup Soundcloud API key: - - Go to [Soundcloud][Soundcloud]. - - Enter a name for the app and create it. - - You will see a page with the title of your app, and a field labeled `Client ID`. Copy the ID. - - In `credentials.json`, fill in `"SoundcloudClientID"` with the copied ID. -- Restart your computer. - -##### Prerequisites for manual `ffmpeg` setup: -**Do this step in case you were not able to install `ffmpeg` with the installer.** - -- Create a folder named `ffmpeg` in your main Windows directory. We will use **C:\ffmpeg** (for our guide) -- Download FFMPEG through the link https://ffmpeg.zeranoe.com/builds/ (download static build) -- Extract it using `7zip` and place the folder `ffmpeg-xxxxx-git-xxxxx-xxxx-static` inside **C:\ffmpeg** -- Before proceeding, check out this gif to set up `ffmpeg` PATH correctly http://i.imgur.com/aR5l1Hn.gif *(thanks to PooPeePants#7135)* -- Go to My Computer, right click and select Properties. On the left tab, select Advanced System Settings. Under the Advanced tab, select Environmental Variables near the bottom. One of the variables should be called "Path". Add a semi-colon (;) to the end followed by your FFMPEG's **bin** install location (**for example C:\ffmpeg\ffmpeg-xxxxx-git-xxxxx-xxxx-static\bin**). Save and close. -- Setup your API keys as explained above. -- Restart your computer. - -[NET Framework]: https://www.microsoft.com/en-us/download/details.aspx?id=48130 -[FFMPEG]: https://github.com/Soundofdarkness/FFMPEG-Installer -[7zip]: http://www.7-zip.org/download.html -[Releases]: //github.com/Kwoth/NadekoUpdater/releases/tag/v1.0 -[DiscordApp]: https://discordapp.com/developers/applications/me -[Notepad++]: https://notepad-plus-plus.org/ -[Invite Guide]: http://discord.kongslien.net/guide.html -[Google Console]: https://console.developers.google.com -[Soundcloud]: https://soundcloud.com/you/apps/new +________________________________________________________________________________ +*Thanks to @Flatbread and Mirai for making this guide* +________________________________________________________________________________ + +### Setting Up NadekoBot on Windows +#### Prerequisites +- 1) [NET Framework][NET Framework] 4.5.2 (or 4.6) +- 2) [FFMPEG][FFMPEG] +- 3) Google Account +- 4) Soundcloud Account (if you want soundcloud support) +- 5) [7zip][7zip] (or whatever you are using, WinRar) +- 6) [Notepad++][Notepad++] + +####Guide: + +- Create a folder, name it `Nadeko`. +- Head to [Releases][Releases]* and download `WINDOWS.-.nadeupdater.7z`. +- Copy `WINDOWS.-.nadeupdater.7z` to the `Nadeko` (folder we created before) and extract everything. +- You will see a file `NadekoUpdater.bat ` and a folder `publish ` after extraction. +- Run/Launch/Open the file `NadekoUpdater.bat ` and you will see it running in cmd.exe asking you with **3 options** *1-3*. + - 1) Stable release - current stable release, but might not contain all the newest Nadeko updates. + - 2) Newest release - release with all features/upgrades. + - 3) Exit +- Press `2` on your keyboard and hit `Enter`. Type `y` and hit `Enter` again. Downloading might take a while, so just be patient and wait. When download is done, press `3` on your keyboard and close the updater. +- You should have a new folder named `NadekoBot` inside the `Nadeko` folder we previously created. + +####Creating DiscordBot application +- Go to [DiscordApp][DiscordApp]. +- Log in with your Discord account. +- On the left side, press `New Application`. +- Fill out the `App Name` (your bot's name, in this case), put the image you want, and add an app description(optional). +- Create the application. +- Once the application is created, click on `Create a Bot User` and confirm it. +- Keep this window open for now. + +####Setting up Credentials.json file +- In our `NadekoBot` folder you should have `.json` file named `credentials_example.json`. (Note: If you do not see a **.json** after `credentials_example.json `, do not add the `**.json**`. You most likely have `"Hide file extensions"` enabled.) +- Rename `credentials_example.json` to `credentials.json`. +- Open the file with your [Notepad++][Notepad++]. +- In there you will see fields like `Token`, `ClientId`, `BotId`, `OwnerIDs`. +- In your [DiscordApp][DiscordApp], under `Bot User` part, you will see the `Token:click to reveal` part, click to reveal it. +- Copy your bot's token, and put it between `" "` in your `credentials.json` file. +- Copy `Client ID` and replace it with the example one in your `credentials.json`. +- Copy `Bot ID` and replace it with the example one in your `credentials.json`. +- Save your `credentials.json` but keep it open. We need to put your `User ID` and owner. + +####Inviting your bot to your server [Invite Guide][Invite Guide] +- Create a new server in Discord. +- Copy your `Client ID` from your [DiscordApp][DiscordApp]. +- Replace `12345678` in this link `https://discordapp.com/oauth2/authorize?client_id=12345678&scope=bot&permissions=66186303` with your `Client ID`. +- Link should look like this: `https://discordapp.com/oauth2/authorize?client_id=**YOUR_CLENT_ID**&scope=bot&permissions=66186303`. +- Go to newly created link and pick the server we created, and click `Authorize`. +- Bot should be added to your server. + +####Starting the bot +- Enter your `NadekoBot` folder that should be (hopefully) in your `Nadeko` folder. +- Run `NadekoBot.exe` (Note: There is `NadekoBot.exe` and `NadekoBot.exe.config`, dont run the second one) +- Your bot should now be online in the server we added him to. +- Note: Your bot will be offline in case you close `NadekoBot.exe`. + +####Setting up OwnerIds +- In the server where your bot is, in a text channel, type `.uid` +- Your `User ID` should show, copy it. +- Close `NadekoBot.exe` +- Replace your `User ID` in the `credentials.json` between `[ ]` and save the changes. +- Run `NadekoBot.exe` again. +- Now you are the bot owner. +- You can add `User IDs` from the other users by separating IDs with a comma if you want to have more owners. + +`*Alternatively, you can download nadekobot from [Releases][Releases] and extract the zip yourself. That is what updater does, except it makes it easier for you to update because it doesn't overwrite important files. If you are downloading releases you will have to be careful about your config, credentials, and other files you edited in order to preserve your data every time you update.` + +________________________________________________________________________________ + +#### Setting Up NadekoBot For Music +##### Prerequisites +- 1) [FFMPEG][FFMPEG] installed. +- 2) Setting up API keys. + +- Follow these steps on how to setup Google API keys: + - Go to [Google Console][Google Console] and log in. + - Create a new project (name does not matter). Once the project is created, go into "Enable and manage APIs." + - Under the "Other Popular APIs" section, enable `URL Shortener API` and `Custom Search Api`. Under the `YouTube APIs` section, enable `YouTube Data API`. + - On the left tab, access `Credentials`. Click `Create Credentials` button. Click on `API Key`, and then `Server Key` in the new window that appears. Enter in a name for the `Server Key`. A new window will appear with your `Google API key`. + - Copy the key. + - Open up `credentials.json`. + - For `"GoogleAPIKey"`, fill in with the new key we copied. +- Follow these steps on how to setup Soundcloud API key: + - Go to [Soundcloud][Soundcloud]. + - Enter a name for the app and create it. + - You will see a page with the title of your app, and a field labeled `Client ID`. Copy the ID. + - In `credentials.json`, fill in `"SoundcloudClientID"` with the copied ID. +- Restart your computer. + +##### Prerequisites for manual `ffmpeg` setup: +**Do this step in case you were not able to install `ffmpeg` with the installer.** + +- Create a folder named `ffmpeg` in your main Windows directory. We will use **C:\ffmpeg** (for our guide) +- Download FFMPEG through the link https://ffmpeg.zeranoe.com/builds/ (download static build) +- Extract it using `7zip` and place the folder `ffmpeg-xxxxx-git-xxxxx-xxxx-static` inside **C:\ffmpeg** +- Before proceeding, check out this gif to set up `ffmpeg` PATH correctly http://i.imgur.com/aR5l1Hn.gif *(thanks to PooPeePants#7135)* +- Go to My Computer, right click and select Properties. On the left tab, select Advanced System Settings. Under the Advanced tab, select Environmental Variables near the bottom. One of the variables should be called "Path". Add a semi-colon (;) to the end followed by your FFMPEG's **bin** install location (**for example C:\ffmpeg\ffmpeg-xxxxx-git-xxxxx-xxxx-static\bin**). Save and close. +- Setup your API keys as explained above. +- Restart your computer. + +[NET Framework]: https://www.microsoft.com/en-us/download/details.aspx?id=48130 +[FFMPEG]: https://github.com/Soundofdarkness/FFMPEG-Installer +[7zip]: http://www.7-zip.org/download.html +[Releases]: //github.com/Kwoth/NadekoUpdater/releases/tag/v1.0 +[DiscordApp]: https://discordapp.com/developers/applications/me +[Notepad++]: https://notepad-plus-plus.org/ +[Invite Guide]: http://discord.kongslien.net/guide.html +[Google Console]: https://console.developers.google.com +[Soundcloud]: https://soundcloud.com/you/apps/new diff --git a/docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs/guides/dockerguide.md b/docs/docs/guides/dockerguide.md similarity index 97% rename from docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs/guides/dockerguide.md rename to docs/docs/guides/dockerguide.md index 0fbf0248..106dc9a5 100644 --- a/docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs/guides/dockerguide.md +++ b/docs/docs/guides/dockerguide.md @@ -1,54 +1,54 @@ -# Docker Guide with DigitalOcean - -#####Prerequisites: -- Digital ocean account (you can use my [reflink][reflink] to support the project and get 10$ after you register) -- [PuTTY][PuTTY] -- A bot account - follow this [guide][guide] -- $5 -- Common sense - -#####Guide -- Click on the create droplet button -![img](http://i.imgur.com/g2ayOcC.png) - -- Pick one click apps and select docker on 14.04 - -![img](http://imgur.com/065Xkme.png) - -- Pick any droplet size you want (5$ will work ok-ish on a few servers) -- Pick location closest to your discord server's location -- Pick a hostname -![img](http://imgur.com/ifPKB6p.png) - -- Click create - -You will get an email from DigitalOcean with your credentials now. - -Open putty and type ip adress **you got in your email** with port 22 - -![img](http://imgur.com/Mh5ehsh.png) - -- Console will open and you will be prompted for a username, type `root`. -- Type in the password you got in the email. -- Confirm the password you just typed in. -- Type in the new password. -- Confirm new password. - -- When you are successfully logged in, type -`docker run --name nadeko -v /nadeko:/config uirel/nadeko` - -- Wait for it to download and at one point it is going to start throwing errors due to `credentials.json` being empty -- CTRL+C to exit that -- Type `docker stop nadeko` -- Type `nano /nadeko/credentials.json` and type in your `credentials` -- CTRL+X then CTRL+Y to save -- Type `docker start nadeko` -- Type `docker logs -f nadeko` to see the console output - -**Your bot is running, enjoy! o/** - -*When you want to update the bot, just type `docker restart nadeko` as it always downloads latest prerelease* - -[reflink]: http://m.do.co/c/46b4d3d44795/ -[PuTTY]: http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html -[guide]: http://discord.kongslien.net/guide.html +# Docker Guide with DigitalOcean + +#####Prerequisites: +- Digital ocean account (you can use my [reflink][reflink] to support the project and get 10$ after you register) +- [PuTTY][PuTTY] +- A bot account - follow this [guide][guide] +- $5 +- Common sense + +#####Guide +- Click on the create droplet button +![img](http://i.imgur.com/g2ayOcC.png) + +- Pick one click apps and select docker on 14.04 + +![img](http://imgur.com/065Xkme.png) + +- Pick any droplet size you want (5$ will work ok-ish on a few servers) +- Pick location closest to your discord server's location +- Pick a hostname +![img](http://imgur.com/ifPKB6p.png) + +- Click create + +You will get an email from DigitalOcean with your credentials now. + +Open putty and type ip adress **you got in your email** with port 22 + +![img](http://imgur.com/Mh5ehsh.png) + +- Console will open and you will be prompted for a username, type `root`. +- Type in the password you got in the email. +- Confirm the password you just typed in. +- Type in the new password. +- Confirm new password. + +- When you are successfully logged in, type +`docker run --name nadeko -v /nadeko:/config uirel/nadeko` + +- Wait for it to download and at one point it is going to start throwing errors due to `credentials.json` being empty +- CTRL+C to exit that +- Type `docker stop nadeko` +- Type `nano /nadeko/credentials.json` and type in your `credentials` +- CTRL+X then CTRL+Y to save +- Type `docker start nadeko` +- Type `docker logs -f nadeko` to see the console output + +**Your bot is running, enjoy! o/** + +*When you want to update the bot, just type `docker restart nadeko` as it always downloads latest prerelease* + +[reflink]: http://m.do.co/c/46b4d3d44795/ +[PuTTY]: http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html +[guide]: http://discord.kongslien.net/guide.html diff --git a/docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs/guides/fromsource.md b/docs/docs/guides/fromsource.md similarity index 99% rename from docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs/guides/fromsource.md rename to docs/docs/guides/fromsource.md index df0dfd9e..90baf038 100644 --- a/docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs/guides/fromsource.md +++ b/docs/docs/guides/fromsource.md @@ -1,8 +1,8 @@ -###Building from Source -For easy setup and no programming knowledge, you can use [Updater](https://github.com/Kwoth/NadekoUpdater/releases/latest) or download release from [Releases](https://github.com/Kwoth/NadekoBot/releases) and follow the [Comprehensive Guide](https://github.com/Kwoth/NadekoBot/blob/master/ComprehensiveGuide.md) - -In your bin/debug folder (or next to your exe if you are using release version), you must have a file called 'credentials.json' in which you will store all the necessary data to make the bot know who the owner is, and your api keys. - -When you clone the project, make sure to run `git submodule init` and `git submodule update` to get the correct discord.net version - +###Building from Source +For easy setup and no programming knowledge, you can use [Updater](https://github.com/Kwoth/NadekoUpdater/releases/latest) or download release from [Releases](https://github.com/Kwoth/NadekoBot/releases) and follow the [Comprehensive Guide](https://github.com/Kwoth/NadekoBot/blob/master/ComprehensiveGuide.md) + +In your bin/debug folder (or next to your exe if you are using release version), you must have a file called 'credentials.json' in which you will store all the necessary data to make the bot know who the owner is, and your api keys. + +When you clone the project, make sure to run `git submodule init` and `git submodule update` to get the correct discord.net version + Make sure you've read ComprehensiveGuide to get a grasp of basic config/credentials setup and then look at "Credentials and config" chapter. \ No newline at end of file diff --git a/docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs/guides/linuxguide.md b/docs/docs/guides/linuxguide.md similarity index 97% rename from docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs/guides/linuxguide.md rename to docs/docs/guides/linuxguide.md index cf3be9c9..311ac939 100644 --- a/docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs/guides/linuxguide.md +++ b/docs/docs/guides/linuxguide.md @@ -1,258 +1,258 @@ -#Setting up NadekoBot on Linux - -####Setting up NadekoBot on Linux Digital Ocean Droplet -######If you want Nadeko to play music for you 24/7 without having to hosting it on your PC and want to keep it cheap, reliable and convenient as possible, you can try Nadeko on Linux Digital Ocean Droplet using the link [DigitalOcean][DigitalOcean] (and using this link will be supporting Nadeko and will give you **$10 credit**) - -######Keep this helpful video handy [Linux Setup Video][Linux Setup Video] (thanks to klincheR) it contains how to set up the Digital Ocean droplet aswell. - -####Setting up NadekoBot -Assuming you have followed the link above to created an account in Digital Ocean and video to set up the bot until you get the `IP address and root password (in email)` to login, its time to begin. - -#### Prerequisites -- Download [PuTTY][PuTTY] -- Download [CyberDuck][CyberDuck] - -#### Follow these steps - -- **Open PuTTY.exe** that you downloaded before, and paste or enter your `IP address` and then click **Open**. -If you entered your Droplets IP address correctly, it should show **login as:** in a newly opened window. -- Now for **login as:**, type `root` and hit enter. -- It should then, ask for password, type the `root password` you have received in your **email address registered with Digital Ocean**, then hit Enter. - -*(as you are running it for the first time, it will most likely to ask you to change your root password, for that, type the "password you received through email", hit Enter, enter a "new password", hit Enter and confirm that "new password" again.* -**SAVE that new password somewhere safe not just in mind**. After you done that, you are ready to write commands. - -**Copy and just paste** using **mouse right-click** (it should paste automatically) - -######MONO (Source: [Mono Source][Mono Source]) - -**1) Installing Mono** - -`sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF` -`echo "deb http://download.mono-project.com/repo/debian wheezy main" | sudo tee /etc/apt/sources.list.d/mono-xamarin.list` -`sudo apt-get update` - -Note if the command is not being initiated, hit **Enter** - -**2)** - -`echo "deb http://download.mono-project.com/repo/debian wheezy-apache24-compat main" | sudo tee -a /etc/apt/sources.list.d/mono-xamarin.list` - -**2.5)** -*ONLY DEBIAN 8 and later* - -`echo "deb http://download.mono-project.com/repo/debian wheezy-libjpeg62-compat main" | sudo tee -a /etc/apt/sources.list.d/mono-xamarin.list` - -**2.6)** -*ONLY CentOS 7, Fedora 19 (and later)* - -`yum install yum-util` -`rpm --import "http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF"` -`yum-config-manager --add-repo http://download.mono-project.com/repo/centos/` - -**3)** -*Mono Devel* - -`apt-get install mono-devel` - -**Type** `y` **hit Enter** - - -**4)** -Opus Voice Codec - -`sudo apt-get install libopus0 opus-tools` - -**Type** `y` **hit Enter** - -**5)** -`sudo apt-get install libopus-dev` - -**In case you are having issues with Mono where you get a random string and the bot won't run, do this:** - -`sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF` -`echo "deb http://download.mono-project.com/repo/debian wheezy main" | sudo tee /etc/apt/sources.list.d/mono-xamarin.list` -`apt-get install ca-certificates-mono` -`mozroots --import --sync` - - -####FFMPEG - -**6)** -`apt-get install ffmpeg` - -**Type** `y` **hit Enter** - -NOTE: if its "not installing" then, follow the guide here: [FFMPEG Help Guide][FFMPEG Help Guide] - -**All you need to do, if you are running UBUNTU 14.04 is initiate these:** - -`sudo add-apt-repository ppa:mc3man/trusty-media` -`sudo apt-get update` -`sudo apt-get dist-upgrade` - -*Before executing* `sudo apt-get install ffmpeg` - -**If you are running Debian 8 Jessie, please, follow these steps:** - -`wget http://luxcaeli.de/installer.sh && sudo bash installer.sh` (Thanks to Eleria<3) - -In case you are not able to install it with installer ^up there, follow these steps: - -`sudo apt-get update` -`echo "deb http://ftp.debian.org/debian jessie-backports main" | tee /etc/apt/sources.list.d/debian-backports.list` -`sudo apt-get update` -`sudo apt-get install ffmpeg -y` - -####Uncomplicated Firewall UFW - -**7)** -`apt-get install ufw` - -**it is most likely to have it already installed so if you see it is already installed, check with following command, and/or enable it** - -**8)** -`ufw status` - -**9)** -`ufw enable` - -**Type** `y` **hit Enter** - -**10)** -`sudo ufw allow ssh` - - - -**11)** -Unzip - -`apt-get install unzip` - -**12)** -TMUX - -`apt-get install tmux` - -**Type** `y` **hit Enter** - -####Importing certs -**13)** -`certmgr -ssl https://discordapp.com` - -**14)** -`certmgr -ssl https://gateway.discord.gg` - -Type `yes` and hit Enter **(three times - as it will ask for three times)** - - -**15)** -Create a new folder “nadeko” or anything you prefer - -`mkdir nadeko` - -**16)** -Move to “nadeko” folder (note `cd --` to go back the directory) - -`cd nadeko` - -####Getting NadekoBot from Releases - -Go to this link: [Releases][Releases] and **copy the zip file address** of the lalest version available, -it should look like `https://github.com/Kwoth/NadekoBot/releases/download/vx.xx/NadekoBot.vx.x.zip` - -**17)** -Get the correct link, type `wget`, then *paste the link*, then hit **Enter**. - -`wget https://github.com/Kwoth/NadekoBot/releases/download/vx.xx/NadekoBot.vx.x.zip` - -**^Do not copy-paste it** - -**18)** - -Now we need to `unzip` the downloaded zip file and to do that, type the file name as it showed in your screen or just copy from the screen, should be like ` NadekoBot.vx.x.zip` - -`unzip NadekoBot.vx.x.zip` - -**^Do not copy-paste it** - -####Setting up NadekoBot - -- Open **CyberDuck** -- Click on **Open Connection** (top-left corner), a new window should appear. -- You should see **FTP (File Transfer Protocol)** in drop-down. -- Change it to **SFTP (SSH File Transfer Protocol)** -- Now, in **Server:** paste or type in your `Digital Ocean Droplets IP address`, leave `Port: 22` (no need to change it) -- In **Username:** type `root` -- In **Password:** type `the new root password (you changed at the start)` -- Click on **Connect** -- It should show you the new folder you created. -- Open it. - -#####MAKE SURE YOU READ THE README BEFORE PROCEEDING - -- Copy the `credentials_example.json` to desktop -- EDIT it as it is guided here: [Readme][Readme] -- Rename it to `credentials.json` and paste/put it back in the folder. `(Yes, using CyberDuck)` -- You should see two files `credentials_example.json` and `credentials.json` -- Also if you already have nadeko setup and have `credentials.json`, `config.json`, `nadekobot.sqlite`, and `"permissions" folder`, you can just copy and paste it to the Droplets folder using CyberDuck. - -####Running NadekoBot - -Go back to **PuTTY**, `(hope its still running xD)` - -**19)** -Type/ Copy and hit **Enter**. - -`tmux new -s nadeko` - -**^this 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 running PuTTY in the background.` - -`cd nadeko` - -**20)** -`mono NadekoBot.exe` - -**CHECK THE BOT IN DISCORD, IF EVERYTHING IS WORKING** - -Now time to **move bot to background** and to do that, press **CTRL+B+D** (this will ditach the nadeko session using TMUX), and you can finally close PuTTY now. - -Copy your CLIENT ID (that's in the same Developer page where you brought your token) and replace `12345678` in this link: `https://discordapp.com/oauth2/authorize?client_id=12345678&scope=bot&permissions=66186303` with it. Go to that link and you will be able to add your bot to your server. - -**NOW YOU HAVE YOUR OWN NADEKO BOT** `Thanks to Kwoth <3` - -####Some more Info (just in case): - --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.) - -**21)** --If you want to **kill** NadekoBot **session**, type `tmux kill-session -t nadeko` - -####How to restart Nadeko with the server (for science) -**22)** -Open **PuTTY** and login as you have before, type `reboot` and hit Enter. - -####Updating Nadeko - -**FOLLOW THESE STEPS SERIALLY** - -- **-21 OR 22** -- **-19** -- **-16** -- **-17** -- **-18** -- **-20** - -HIT **CTRL+B+D** and close **PuTTY** - -`IF YOU FACE ANY TROUBLE ANYWHERE IN THE GUIDE JUST FIND US IN NADEKO'S DISCORD SERVER` - -[PuTTY]: http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html -[CyberDuck]: https://cyberduck.io -[Linux Setup Video]: https://www.youtube.com/watch?v=icV4_WPqPQk&feature=youtu.be -[Releases]: https://github.com/Kwoth/NadekoBot/releases -[Readme]: https://github.com/Kwoth/NadekoBot/blob/master/README.md -[FFMPEG Help Guide]: http://www.faqforge.com/linux/how-to-install-ffmpeg-on-ubuntu-14-04/ -[Mono Source]: http://www.mono-project.com/docs/getting-started/install/linux/ -[DigitalOcean]: http://m.do.co/c/46b4d3d44795/ +#Setting up NadekoBot on Linux + +####Setting up NadekoBot on Linux Digital Ocean Droplet +######If you want Nadeko to play music for you 24/7 without having to hosting it on your PC and want to keep it cheap, reliable and convenient as possible, you can try Nadeko on Linux Digital Ocean Droplet using the link [DigitalOcean][DigitalOcean] (and using this link will be supporting Nadeko and will give you **$10 credit**) + +######Keep this helpful video handy [Linux Setup Video][Linux Setup Video] (thanks to klincheR) it contains how to set up the Digital Ocean droplet aswell. + +####Setting up NadekoBot +Assuming you have followed the link above to created an account in Digital Ocean and video to set up the bot until you get the `IP address and root password (in email)` to login, its time to begin. + +#### Prerequisites +- Download [PuTTY][PuTTY] +- Download [CyberDuck][CyberDuck] + +#### Follow these steps + +- **Open PuTTY.exe** that you downloaded before, and paste or enter your `IP address` and then click **Open**. +If you entered your Droplets IP address correctly, it should show **login as:** in a newly opened window. +- Now for **login as:**, type `root` and hit enter. +- It should then, ask for password, type the `root password` you have received in your **email address registered with Digital Ocean**, then hit Enter. + +*(as you are running it for the first time, it will most likely to ask you to change your root password, for that, type the "password you received through email", hit Enter, enter a "new password", hit Enter and confirm that "new password" again.* +**SAVE that new password somewhere safe not just in mind**. After you done that, you are ready to write commands. + +**Copy and just paste** using **mouse right-click** (it should paste automatically) + +######MONO (Source: [Mono Source][Mono Source]) + +**1) Installing Mono** + +`sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF` +`echo "deb http://download.mono-project.com/repo/debian wheezy main" | sudo tee /etc/apt/sources.list.d/mono-xamarin.list` +`sudo apt-get update` + +Note if the command is not being initiated, hit **Enter** + +**2)** + +`echo "deb http://download.mono-project.com/repo/debian wheezy-apache24-compat main" | sudo tee -a /etc/apt/sources.list.d/mono-xamarin.list` + +**2.5)** +*ONLY DEBIAN 8 and later* + +`echo "deb http://download.mono-project.com/repo/debian wheezy-libjpeg62-compat main" | sudo tee -a /etc/apt/sources.list.d/mono-xamarin.list` + +**2.6)** +*ONLY CentOS 7, Fedora 19 (and later)* + +`yum install yum-util` +`rpm --import "http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF"` +`yum-config-manager --add-repo http://download.mono-project.com/repo/centos/` + +**3)** +*Mono Devel* + +`apt-get install mono-devel` + +**Type** `y` **hit Enter** + + +**4)** +Opus Voice Codec + +`sudo apt-get install libopus0 opus-tools` + +**Type** `y` **hit Enter** + +**5)** +`sudo apt-get install libopus-dev` + +**In case you are having issues with Mono where you get a random string and the bot won't run, do this:** + +`sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF` +`echo "deb http://download.mono-project.com/repo/debian wheezy main" | sudo tee /etc/apt/sources.list.d/mono-xamarin.list` +`apt-get install ca-certificates-mono` +`mozroots --import --sync` + + +####FFMPEG + +**6)** +`apt-get install ffmpeg` + +**Type** `y` **hit Enter** + +NOTE: if its "not installing" then, follow the guide here: [FFMPEG Help Guide][FFMPEG Help Guide] + +**All you need to do, if you are running UBUNTU 14.04 is initiate these:** + +`sudo add-apt-repository ppa:mc3man/trusty-media` +`sudo apt-get update` +`sudo apt-get dist-upgrade` + +*Before executing* `sudo apt-get install ffmpeg` + +**If you are running Debian 8 Jessie, please, follow these steps:** + +`wget http://luxcaeli.de/installer.sh && sudo bash installer.sh` (Thanks to Eleria<3) + +In case you are not able to install it with installer ^up there, follow these steps: + +`sudo apt-get update` +`echo "deb http://ftp.debian.org/debian jessie-backports main" | tee /etc/apt/sources.list.d/debian-backports.list` +`sudo apt-get update` +`sudo apt-get install ffmpeg -y` + +####Uncomplicated Firewall UFW + +**7)** +`apt-get install ufw` + +**it is most likely to have it already installed so if you see it is already installed, check with following command, and/or enable it** + +**8)** +`ufw status` + +**9)** +`ufw enable` + +**Type** `y` **hit Enter** + +**10)** +`sudo ufw allow ssh` + + + +**11)** +Unzip + +`apt-get install unzip` + +**12)** +TMUX + +`apt-get install tmux` + +**Type** `y` **hit Enter** + +####Importing certs +**13)** +`certmgr -ssl https://discordapp.com` + +**14)** +`certmgr -ssl https://gateway.discord.gg` + +Type `yes` and hit Enter **(three times - as it will ask for three times)** + + +**15)** +Create a new folder “nadeko” or anything you prefer + +`mkdir nadeko` + +**16)** +Move to “nadeko” folder (note `cd --` to go back the directory) + +`cd nadeko` + +####Getting NadekoBot from Releases + +Go to this link: [Releases][Releases] and **copy the zip file address** of the lalest version available, +it should look like `https://github.com/Kwoth/NadekoBot/releases/download/vx.xx/NadekoBot.vx.x.zip` + +**17)** +Get the correct link, type `wget`, then *paste the link*, then hit **Enter**. + +`wget https://github.com/Kwoth/NadekoBot/releases/download/vx.xx/NadekoBot.vx.x.zip` + +**^Do not copy-paste it** + +**18)** + +Now we need to `unzip` the downloaded zip file and to do that, type the file name as it showed in your screen or just copy from the screen, should be like ` NadekoBot.vx.x.zip` + +`unzip NadekoBot.vx.x.zip` + +**^Do not copy-paste it** + +####Setting up NadekoBot + +- Open **CyberDuck** +- Click on **Open Connection** (top-left corner), a new window should appear. +- You should see **FTP (File Transfer Protocol)** in drop-down. +- Change it to **SFTP (SSH File Transfer Protocol)** +- Now, in **Server:** paste or type in your `Digital Ocean Droplets IP address`, leave `Port: 22` (no need to change it) +- In **Username:** type `root` +- In **Password:** type `the new root password (you changed at the start)` +- Click on **Connect** +- It should show you the new folder you created. +- Open it. + +#####MAKE SURE YOU READ THE README BEFORE PROCEEDING + +- Copy the `credentials_example.json` to desktop +- EDIT it as it is guided here: [Readme][Readme] +- Rename it to `credentials.json` and paste/put it back in the folder. `(Yes, using CyberDuck)` +- You should see two files `credentials_example.json` and `credentials.json` +- Also if you already have nadeko setup and have `credentials.json`, `config.json`, `nadekobot.sqlite`, and `"permissions" folder`, you can just copy and paste it to the Droplets folder using CyberDuck. + +####Running NadekoBot + +Go back to **PuTTY**, `(hope its still running xD)` + +**19)** +Type/ Copy and hit **Enter**. + +`tmux new -s nadeko` + +**^this 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 running PuTTY in the background.` + +`cd nadeko` + +**20)** +`mono NadekoBot.exe` + +**CHECK THE BOT IN DISCORD, IF EVERYTHING IS WORKING** + +Now time to **move bot to background** and to do that, press **CTRL+B+D** (this will ditach the nadeko session using TMUX), and you can finally close PuTTY now. + +Copy your CLIENT ID (that's in the same Developer page where you brought your token) and replace `12345678` in this link: `https://discordapp.com/oauth2/authorize?client_id=12345678&scope=bot&permissions=66186303` with it. Go to that link and you will be able to add your bot to your server. + +**NOW YOU HAVE YOUR OWN NADEKO BOT** `Thanks to Kwoth <3` + +####Some more Info (just in case): + +-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.) + +**21)** +-If you want to **kill** NadekoBot **session**, type `tmux kill-session -t nadeko` + +####How to restart Nadeko with the server (for science) +**22)** +Open **PuTTY** and login as you have before, type `reboot` and hit Enter. + +####Updating Nadeko + +**FOLLOW THESE STEPS SERIALLY** + +- **-21 OR 22** +- **-19** +- **-16** +- **-17** +- **-18** +- **-20** + +HIT **CTRL+B+D** and close **PuTTY** + +`IF YOU FACE ANY TROUBLE ANYWHERE IN THE GUIDE JUST FIND US IN NADEKO'S DISCORD SERVER` + +[PuTTY]: http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html +[CyberDuck]: https://cyberduck.io +[Linux Setup Video]: https://www.youtube.com/watch?v=icV4_WPqPQk&feature=youtu.be +[Releases]: https://github.com/Kwoth/NadekoBot/releases +[Readme]: https://github.com/Kwoth/NadekoBot/blob/master/README.md +[FFMPEG Help Guide]: http://www.faqforge.com/linux/how-to-install-ffmpeg-on-ubuntu-14-04/ +[Mono Source]: http://www.mono-project.com/docs/getting-started/install/linux/ +[DigitalOcean]: http://m.do.co/c/46b4d3d44795/ diff --git a/docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs/guides/macguide.md b/docs/docs/guides/macguide.md similarity index 100% rename from docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs/guides/macguide.md rename to docs/docs/guides/macguide.md diff --git a/docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs/index.md b/docs/docs/index.md similarity index 97% rename from docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs/index.md rename to docs/docs/index.md index 981a039a..8ad0758e 100644 --- a/docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs/index.md +++ b/docs/docs/index.md @@ -1,16 +1,16 @@ -#NadekoBot Documentation - -##Content -- [About](about.md) -- Guides - - [Windows Guide](guides/comprehensiveguide.md) - - [Linux Guide](guides/linuxguide.md) - - [OSX Guide](guides/macguide.md) - - [Building from Source](guides/fromsource.md) - - [Docker Guide](guides/dockerguide.md) -- [Commands List](https://github.com/Kwoth/NadekoBot/blob/master/commandlist.md) -- [Permissions System](permissions.md) -- [JSON Explanations](explanations.md) -- [Custiom Reactions](customreactions.md) -- [Frequently Asked Questions](FAQ.md) +#NadekoBot Documentation + +##Content +- [About](about.md) +- Guides + - [Windows Guide](guides/comprehensiveguide.md) + - [Linux Guide](guides/linuxguide.md) + - [OSX Guide](guides/macguide.md) + - [Building from Source](guides/fromsource.md) + - [Docker Guide](guides/dockerguide.md) +- [Commands List](https://github.com/Kwoth/NadekoBot/blob/master/commandlist.md) +- [Permissions System](permissions.md) +- [JSON Explanations](explanations.md) +- [Custiom Reactions](customreactions.md) +- [Frequently Asked Questions](FAQ.md) - [Contribution Guide](contributionguide.md) \ No newline at end of file diff --git a/docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs/mkdocs.yml b/docs/docs/mkdocs.yml similarity index 96% rename from docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs/mkdocs.yml rename to docs/docs/mkdocs.yml index 6422bb25..7b159ab4 100644 --- a/docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs/mkdocs.yml +++ b/docs/docs/mkdocs.yml @@ -1,18 +1,18 @@ -site_name: NadekoBot -pages: -- Home: index.md -- About: about.md -- Guides: - - Windows Guide: guides/comprehensiveguide.md - - Linux Guide: guides/linuxguide.md - - OSX Guide: guides/macguide.md - - Building from Source: guides/fromsource.md - - Docker Guide: guides/dockerguide.md -- Commands List: https://github.com/Kwoth/NadekoBot/blob/master/commandlist.md -- Permissions System: permissions.md -- JSON Explanations: explanations.md -- Custom Commands: customreactions.md -- Frequently Asked Questions: FAQ.md -- Contribution Guide: contributionguide.md - -theme: readthedocs +site_name: NadekoBot +pages: +- Home: index.md +- About: about.md +- Guides: + - Windows Guide: guides/comprehensiveguide.md + - Linux Guide: guides/linuxguide.md + - OSX Guide: guides/macguide.md + - Building from Source: guides/fromsource.md + - Docker Guide: guides/dockerguide.md +- Commands List: https://github.com/Kwoth/NadekoBot/blob/master/commandlist.md +- Permissions System: permissions.md +- JSON Explanations: explanations.md +- Custom Commands: customreactions.md +- Frequently Asked Questions: FAQ.md +- Contribution Guide: contributionguide.md + +theme: readthedocs diff --git a/docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs/permissions.md b/docs/docs/permissions.md similarity index 98% rename from docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs/permissions.md rename to docs/docs/permissions.md index c83337d6..ec320c74 100644 --- a/docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/docs/permissions.md +++ b/docs/docs/permissions.md @@ -1,87 +1,87 @@ -# Overview -Ever stuck handling your Nadeko permissions? Look no further than this guide! -We'll handle a few example cases that we've seen frequently on the help channel, as well as explaining the order of permissions in general. Any command used here can be found in the [Commands list](https://github.com/Kwoth/NadekoBot/blob/master/commandlist.md#permissions) - -# How does it work? -Permissions are handy to set up to limit who in your server can use what. by default, every command is enabled for everyone, except for the administration commands, like `.kick` and `.prune`, which are set to correspond to discord's permissions, (kicking and managing messages respectively here), the permissions module, which we will show in the next paragraph, and some other commands throughout the other modules that are owner-only, meaning that only someone who has his or her id in the list of owners of the bot can use them. -Since you may not want to allow everyone to use the NSFW module, skip the current song, pick up flowers, or attack in the pokegame, you're in need of setting up permissions. - -#First time setting up -When you want to change your first permissions, you need to fulfill one of two conditions: -* Be the owner of the server -* Have the role set by `;permrole` (Nadeko by default) - -If you have neither of these, you **can't** set up permissions. -You may want to change the `;permrole` to the role of the admins, using `;permrole Admins`. - -# Basics -Most of the commands found in the list are pretty much self-explanatory. `;rolemdl NSFW disable lurkers` would disable the NSFW module for the lurkers (let them come out of the shadows!). similarly `;chnlperms #general` would show which permissions are banned *specifically* for this channel. -Since permissions are enabled by default, the hierarchy of rulings is simple, if you disable something that affects a user, like `;sm nsfw disable`, you **can't** enable it in a particular other way, like `;cm nsfw enable #nsfw`. Now roles are an exemption to this, e.g. if all roles have music disabled except for the DJ role, you can still use music commands if you have the DJ role. - -By default, the bot notifies when a command can't be used. To disable this, you can use `;verbose false`. - -# Common Cases -These are some common cases of particular settings of permissions. - -## Create a music DJ -e.g. you only want your users to be able to see what's playing, and have a DJ role for the rest. -- `;arc music disable all`, disable all commands of the music module for everyone. -- `;arc music enable DJ`, give permissions to the DJ to do everything -- `;rc "!!nowplaying" enable all`, enable the command for everyone -- `;rc "!!getlink" enable all`, as above. -- `;rc "!!listqueue" enable all`, as above. - -## Create a NSFW channel -You want to only allow NSFW commands in the #nsfw channel. -- `;cm nsfw disable all` disable the nsfw module in every channel. -- `;cm nsfw enable #nsfw` re-enable the nsfw module in the #nsfw channel. - - --- *Thanks to @applemac for writing this guide* - -#Old Guide - -**NadekoBot's permissions can be set up to be very specific through commands in the Permissions module.** - -Each command or module can be turned on or off at: -- a user level (so specific users can or cannot use a command/module) -- a role level (so only certain roles have access to certain commands/module) -- a channel level (so certain commands can be limited to certain channels, which can prevent music / trivia / NSFW spam in serious channels) -- a server level. - -Use .modules to see a list of modules (sets of commands). -Use .commands [module_name] to see a list of commands in a certain module. - -Permissions use a semicolon as the prefix, so always start the command with a ;. - -Follow the semicolon with the letter of the level which you want to edit. -- "u" for Users. -- "r" for Roles. -- "c" for Channels. -- "s" for Servers. - -Follow the level with whether you want to edit the permissions of a command or a module. -- "c" for Command. -- "m" for Module. - -Follow with a space and then the command or module name (surround the command with quotation marks if there is a space within the command, for example "!!q" or "!!n"). - -Follow that with another space and, to enable it, type one of the following: [1, true, t, enable], or to disable it, one of the following: [0, false, f, disable]. - -Follow that with another space and the name of the user, role, channel. (depending on the first letter you picked) - -###### Examples -- **;rm NSFW 0 [Role_Name]** Disables the NSFW module for the role, . -- **;cc "!!n" 0 [Channel_Name]** Disables skipping to the next song in the channel, . -- **;uc "!!q" 1 [User_Name]** Enables queuing of songs for the user, . -- **;sm Gambling 0** Disables gambling in the server. - -Check permissions by using the letter of the level you want to check followed by a p, and then the name of the level in which you want to check. If there is no name, it will default to yourself for users, the @everyone role for roles, and the channel in which the command is sent for channels. - -###### Examples -- ;cp [Channel_Name] -- ;rp [Role_Name] - -Insert an **a** before the level to edit the permission for all commands / modules for all users / roles / channels / server. - -Reference the Help command (-h) for more Permissions related commands. +# Overview +Ever stuck handling your Nadeko permissions? Look no further than this guide! +We'll handle a few example cases that we've seen frequently on the help channel, as well as explaining the order of permissions in general. Any command used here can be found in the [Commands list](https://github.com/Kwoth/NadekoBot/blob/master/commandlist.md#permissions) + +# How does it work? +Permissions are handy to set up to limit who in your server can use what. by default, every command is enabled for everyone, except for the administration commands, like `.kick` and `.prune`, which are set to correspond to discord's permissions, (kicking and managing messages respectively here), the permissions module, which we will show in the next paragraph, and some other commands throughout the other modules that are owner-only, meaning that only someone who has his or her id in the list of owners of the bot can use them. +Since you may not want to allow everyone to use the NSFW module, skip the current song, pick up flowers, or attack in the pokegame, you're in need of setting up permissions. + +#First time setting up +When you want to change your first permissions, you need to fulfill one of two conditions: +* Be the owner of the server +* Have the role set by `;permrole` (Nadeko by default) + +If you have neither of these, you **can't** set up permissions. +You may want to change the `;permrole` to the role of the admins, using `;permrole Admins`. + +# Basics +Most of the commands found in the list are pretty much self-explanatory. `;rolemdl NSFW disable lurkers` would disable the NSFW module for the lurkers (let them come out of the shadows!). similarly `;chnlperms #general` would show which permissions are banned *specifically* for this channel. +Since permissions are enabled by default, the hierarchy of rulings is simple, if you disable something that affects a user, like `;sm nsfw disable`, you **can't** enable it in a particular other way, like `;cm nsfw enable #nsfw`. Now roles are an exemption to this, e.g. if all roles have music disabled except for the DJ role, you can still use music commands if you have the DJ role. + +By default, the bot notifies when a command can't be used. To disable this, you can use `;verbose false`. + +# Common Cases +These are some common cases of particular settings of permissions. + +## Create a music DJ +e.g. you only want your users to be able to see what's playing, and have a DJ role for the rest. +- `;arc music disable all`, disable all commands of the music module for everyone. +- `;arc music enable DJ`, give permissions to the DJ to do everything +- `;rc "!!nowplaying" enable all`, enable the command for everyone +- `;rc "!!getlink" enable all`, as above. +- `;rc "!!listqueue" enable all`, as above. + +## Create a NSFW channel +You want to only allow NSFW commands in the #nsfw channel. +- `;cm nsfw disable all` disable the nsfw module in every channel. +- `;cm nsfw enable #nsfw` re-enable the nsfw module in the #nsfw channel. + + +-- *Thanks to @applemac for writing this guide* + +#Old Guide + +**NadekoBot's permissions can be set up to be very specific through commands in the Permissions module.** + +Each command or module can be turned on or off at: +- a user level (so specific users can or cannot use a command/module) +- a role level (so only certain roles have access to certain commands/module) +- a channel level (so certain commands can be limited to certain channels, which can prevent music / trivia / NSFW spam in serious channels) +- a server level. + +Use .modules to see a list of modules (sets of commands). +Use .commands [module_name] to see a list of commands in a certain module. + +Permissions use a semicolon as the prefix, so always start the command with a ;. + +Follow the semicolon with the letter of the level which you want to edit. +- "u" for Users. +- "r" for Roles. +- "c" for Channels. +- "s" for Servers. + +Follow the level with whether you want to edit the permissions of a command or a module. +- "c" for Command. +- "m" for Module. + +Follow with a space and then the command or module name (surround the command with quotation marks if there is a space within the command, for example "!!q" or "!!n"). + +Follow that with another space and, to enable it, type one of the following: [1, true, t, enable], or to disable it, one of the following: [0, false, f, disable]. + +Follow that with another space and the name of the user, role, channel. (depending on the first letter you picked) + +###### Examples +- **;rm NSFW 0 [Role_Name]** Disables the NSFW module for the role, . +- **;cc "!!n" 0 [Channel_Name]** Disables skipping to the next song in the channel, . +- **;uc "!!q" 1 [User_Name]** Enables queuing of songs for the user, . +- **;sm Gambling 0** Disables gambling in the server. + +Check permissions by using the letter of the level you want to check followed by a p, and then the name of the level in which you want to check. If there is no name, it will default to yourself for users, the @everyone role for roles, and the channel in which the command is sent for channels. + +###### Examples +- ;cp [Channel_Name] +- ;rp [Role_Name] + +Insert an **a** before the level to edit the permission for all commands / modules for all users / roles / channels / server. + +Reference the Help command (-h) for more Permissions related commands. diff --git a/docs/index.rst b/docs/index.rst deleted file mode 100644 index 9cec30e0..00000000 --- a/docs/index.rst +++ /dev/null @@ -1 +0,0 @@ -Hai, this will be docs of nakeda \ No newline at end of file From a41f6cae0dab3e3133c023b555690b7956d0b6fc Mon Sep 17 00:00:00 2001 From: Kwoth Date: Thu, 4 Aug 2016 00:30:07 +0200 Subject: [PATCH 33/84] test readthedocs index page --- docs/index.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 docs/index.md diff --git a/docs/index.md b/docs/index.md new file mode 100644 index 00000000..66e4bbd7 --- /dev/null +++ b/docs/index.md @@ -0,0 +1 @@ +HAi, this is future nakeda docs \ No newline at end of file From 36dcb9b2b7bad023cd67c9142656cda54f545f2f Mon Sep 17 00:00:00 2001 From: miraai Date: Thu, 4 Aug 2016 00:35:58 +0200 Subject: [PATCH 34/84] Delete mkdocs.yml --- .../nadekobot/checkouts/latest/mkdocs.yml | 18 ------------------ 1 file changed, 18 deletions(-) delete mode 100644 docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/mkdocs.yml diff --git a/docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/mkdocs.yml b/docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/mkdocs.yml deleted file mode 100644 index 6422bb25..00000000 --- a/docs/docs/checkouts/readthedocs.org/user_builds/nadekobot/checkouts/latest/mkdocs.yml +++ /dev/null @@ -1,18 +0,0 @@ -site_name: NadekoBot -pages: -- Home: index.md -- About: about.md -- Guides: - - Windows Guide: guides/comprehensiveguide.md - - Linux Guide: guides/linuxguide.md - - OSX Guide: guides/macguide.md - - Building from Source: guides/fromsource.md - - Docker Guide: guides/dockerguide.md -- Commands List: https://github.com/Kwoth/NadekoBot/blob/master/commandlist.md -- Permissions System: permissions.md -- JSON Explanations: explanations.md -- Custom Commands: customreactions.md -- Frequently Asked Questions: FAQ.md -- Contribution Guide: contributionguide.md - -theme: readthedocs From 5dca1d42e85780eb7198a4e421c8ad01854b2337 Mon Sep 17 00:00:00 2001 From: miraai Date: Thu, 4 Aug 2016 00:37:10 +0200 Subject: [PATCH 35/84] Update index.md --- docs/index.md | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/docs/index.md b/docs/index.md index 66e4bbd7..4878922f 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1 +1,16 @@ -HAi, this is future nakeda docs \ No newline at end of file +#NadekoBot Documentation + +##Content +- [About](about.md) +- Guides + - [Windows Guide](guides/comprehensiveguide.md) + - [Linux Guide](guides/linuxguide.md) + - [OSX Guide](guides/macguide.md) + - [Building from Source](guides/fromsource.md) + - [Docker Guide](guides/dockerguide.md) +- [Commands List](Kwoth/NadekoBot/blob/master/commandlist.md) +- [Permissions System](permissions.md) +- [JSON Explanations](explanations.md) +- [Custiom Reactions](customreactions.md) +- [Frequently Asked Questions](FAQ.md) +- [Contribution Guide](contributionguide.md) From 862ade7ecfa57db843b963212cb5494e447659c0 Mon Sep 17 00:00:00 2001 From: miraai Date: Thu, 4 Aug 2016 00:37:29 +0200 Subject: [PATCH 36/84] Update index.md --- docs/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/index.md b/docs/index.md index 4878922f..fe804f7e 100644 --- a/docs/index.md +++ b/docs/index.md @@ -8,7 +8,7 @@ - [OSX Guide](guides/macguide.md) - [Building from Source](guides/fromsource.md) - [Docker Guide](guides/dockerguide.md) -- [Commands List](Kwoth/NadekoBot/blob/master/commandlist.md) +- [Commands List](commandlist.md) - [Permissions System](permissions.md) - [JSON Explanations](explanations.md) - [Custiom Reactions](customreactions.md) From f03020d625ace6c263e49da1e31be5a225684c42 Mon Sep 17 00:00:00 2001 From: miraai Date: Thu, 4 Aug 2016 00:39:11 +0200 Subject: [PATCH 37/84] moved .md files --- docs/FAQ.md | 40 ++++++++++++++++++ docs/about.md | 13 ++++++ docs/contributionguide.md | 7 ++++ docs/customreactions.md | 21 ++++++++++ docs/explanations.md | 38 +++++++++++++++++ docs/fromsource.md | 8 ++++ docs/index.md | 32 +++++++------- docs/permissions.md | 87 +++++++++++++++++++++++++++++++++++++++ 8 files changed, 230 insertions(+), 16 deletions(-) create mode 100644 docs/FAQ.md create mode 100644 docs/about.md create mode 100644 docs/contributionguide.md create mode 100644 docs/customreactions.md create mode 100644 docs/explanations.md create mode 100644 docs/fromsource.md create mode 100644 docs/permissions.md diff --git a/docs/FAQ.md b/docs/FAQ.md new file mode 100644 index 00000000..aed3cb81 --- /dev/null +++ b/docs/FAQ.md @@ -0,0 +1,40 @@ +Frequently Asked Questions +####Q1: How do I get @Nadeko to join my server? +A: Send her a Direct Message with -h to get the link. Only Server Owners can allow the bot to join +####Q2: I want to change permissions, but it doesn't work D: +A: To change permissions, you have to set the ;permsrole (default permission role is called `Nadeko`, you can create a role named like that and assign it to yourself). *Only the owner of the server can change permissions without having this role.* +####Q3: Music doesn't work on a Mac?! +You have to build `mono` from source. . +####Q5: I want to disable NSFW on my server, please? +A: You would first have to be able to change permissions (see Q4 ), and then run `;sm NSFW disable` +####Q6: How do I get NadekoFlowers/whatever I changed my currency to? +A: You get NadekoFlowers by answering Trivia questions or picking them up after they have been generated with `>gc`, which you can then either plant (give away to a channel so that someone can pick it), gamble it with $betflip, $betroll and $jr, or spend on healing and setting your type in the Pokemon game. +####Q7: I have an issue/bug/suggestion, where can I get it noticed? +A: First of all, check https://github.com/Kwoth/NadekoBot/issues and #suggestions for your problem/improvement. If it's not there, create a new issue on https://github.com/Kwoth/NadekoBot/issues. +####Q8: How do I use the command XXXX? +A: most commands have a description, with a usage guide if required; use -h command, like -h ;pr +####Q9: Music doesn't work!? +A: Music on @Nadeko will be re-enabled in the future, but for now your only option is to host yourself +If you are hosting your own bot, make sure ffmpeg is working correctly; running ffmpeg in the commandline should have a response. see https://github.com/Kwoth/NadekoBot/blob/master/ComprehensiveGuide.md#setting-up-nadekobot-for-music for more +####Q10: My music is still not working/very laggy? +A: Try switching server location, try giving the bot permissions on the server you want to use it on. +####Q12: I want to change data in the database (like NadekoFlowers or the pokemontypes of users, but how? +A: Open data/nadekobot.sqlite using sqlitebrowser (or some alternative), Browse Data, select relevant table, change data, Write changes +####Q13: The .greet and .bye commands doesn't work, but everything else is (From @Kong) +A: Set a greeting message by using .greetmsg YourMessageHere +and a bye-message by using .byemsg YourMessageHere +####Q15: How to import certs on linux? +A: +`certmgr -ssl https://discordapp.com` +`certmgr -ssl https://gateway.discord.gg` +####Q16: I want "BOT" tag with my bot and I can't follow up with Q14, is there a simple way? +A: Yes, you can create an application using your account and use the APP BOT USER TOKEN from here: https://discordapp.com/developers/applications/me +NOTE: This will create a new bot account +####Q17: I made an application following Q16, but I can't add that new bot to my server, how do I invite it to my server? +A: You need to use oauth link to add it to you server, just copy your CLIENT ID (that's in the same Developer page where you brought your token) and replace 12345678 in the link below: +https://discordapp.com/oauth2/authorize?client_id=12345678&scope=bot&permissions=66186303 +FOLLOW THIS DETAILED GUIDE IF IT IS HARD FOR YOU TO UNDERSTAND http://discord.kongslien.net/guide.html +####Q18: I'm building NadekoBot from source, but I get hundreds of (namespace) errors without changing anything!? +A: Using Visual Studio, you can solve these errors by going to Tools -> NuGet Package Manager -> Manage NuGet Packages for Solution. Go to the Installed tab, select the Packages that were missing (usually Newtonsoft.json and RestSharp) and install them for all projects +####Q19: My bot has all permissions but it's still saying, "Failed to add roles. Bot has insufficient permissions.", how do I fix this? +A: Discord has added few new features and roles now follow hierarchy, that means you need to place your bot role above every-other role your server has. Also do NOTE that bot can only set/add all roles below its own highest role. And can not assign it's "highest role" to anyone else. \ No newline at end of file diff --git a/docs/about.md b/docs/about.md new file mode 100644 index 00000000..21f82c06 --- /dev/null +++ b/docs/about.md @@ -0,0 +1,13 @@ +## Terms of Use + +The MIT License (MIT) + +Copyright (c) 2016 NadekoBot Team + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + diff --git a/docs/contributionguide.md b/docs/contributionguide.md new file mode 100644 index 00000000..26bbafe8 --- /dev/null +++ b/docs/contributionguide.md @@ -0,0 +1,7 @@ +### How to contribute + +1. Make Pull Requests to **DEV BRANCH** +2. Keep 1 Pull Request to a single feature +3. Explain what you did in the PR message + +Thanks for all the help ^_^ \ No newline at end of file diff --git a/docs/customreactions.md b/docs/customreactions.md new file mode 100644 index 00000000..01057582 --- /dev/null +++ b/docs/customreactions.md @@ -0,0 +1,21 @@ +**After you add/delete custom commands, you should restart the bot. (either by typing `.restart` if you are on WINDOWS or just manually restarting if you prefer/are on other platform)** + +`.acr` and `.dcr` require you to be a bot owner. + +`.acr` +Adds a new custom command. **If you add multiple commands with the same name, it will pick random one.** First argument is the name, second one is the response. For example `.acr hello hi`. Now the bot will reply `hi` whenever someone types `hello`. For more than 1 word command, wrap it in `"`. +For example: `.acr "hello there" hi there` - now it will print "hi there" whenever someone types "hello there". Currently you can add this placeholders which will get replaced with appropriate text: +`%mention%` - replaces it with bot mention +`%user%` - replaces it with the user runner's mention +`%target%` - replaces it with a mention of another person from within the original message +`%rng%` replaces it with a random number +for example: `.acr "%mention% hello" Hello %user%` +(we will add much more of these over time) + + +`.dcr "command name" (optional index)` +Deletes either whole custom command and all its responses or a single command's response via an index (if you have multiple responses for the same command). +For example: `.dcr "hi there"` or `.dcr "hi there" 1`. You can get an index by using `.lcr [page number]` + +`.lcr [number]` +Prints a list of custom reactions. Paginated. (for example: `.lcr 1` or `.lcr 4`) \ No newline at end of file diff --git a/docs/explanations.md b/docs/explanations.md new file mode 100644 index 00000000..ba41ddac --- /dev/null +++ b/docs/explanations.md @@ -0,0 +1,38 @@ +###Credentials.json and config.json +**This is how unedited credentials.json looks like:** +```json +{ + "Token": "", + "ClientId": "116275390695079945", + "BotId": 1231231231231, + "OwnerIds": [ + 123123123123, + 5675675679845 + ], + "GoogleAPIKey": "", + "SoundCloudClientID": "", + "MashapeKey": "", + "LOLAPIKey": "", + "TrelloAppKey": "", + "OsuAPIKey": "", + "CarbonKey": "" +} +``` +#### Required +- **Token** - Required to log in. See this [guide](http://discord.kongslien.net/guide.html) +- **OwnerIds** - Required for Owner-Only commands to work. Separate multiple IDs with a comma +- **BotId** - Required for custom reactions and conversation commands to work. + +*BotId and OwnerIds are NOT names of the owner and the bot. If you do not know the id of your bot, put 2 random numbers in those fields, run the bot and do `.uid @MyBotName` - that will give you your bot\_id, do the same for yourself `.uid @MyName` and you will get a number to put inside brackets in OwnerIds field.* + +#### Optional +- **GoogleAPIKey** - Youtube song search. Playlist queuing. URL Shortener. ~i and ~img. +- **SoundCloudClientID** - Needed in order to queue soundcloud songs from sc links. For the Soundcloud Api key you need a Soundcloud account. You need to create a new app on http://soundcloud.com/you/apps/new and after that go here http://soundcloud.com/you/apps click on the name of your created your app and copy the Client ID. Paste it into credentials.json. +- **MashapeKey** - Urban dictionary, hashtag search, hearthstone cards.You need to create an account on their api marketplace here https://market.mashape.com/. After that you need to go to market.mashape.com/YOURNAMEHERE/applications/default-application and press GET THE KEYS in the right top corner copy paste it into your credentials.json and you are ready to race! +- **LOLAPIKey** - www.champion.gg api key needed for LoL commands +- **TrelloAppKey** - Needed for trello commands +- **OsuAPIKey** - needed for osu top5 and beatmap commands. +- **CarbonKey** - carbonitex.net key if your bot is listed there in order to send stats (probably nobody needs this) + +Next to your exe you must also have a data folder in which there is config.json (among other things) which will contain some user specific config, like should the Bot join servers, should DMs to bot be forwarded to you and a list of IDs of blacklisted users, channels and servers. If you do not have config.json, you can should config_example.json to config.json. +``` \ No newline at end of file diff --git a/docs/fromsource.md b/docs/fromsource.md new file mode 100644 index 00000000..df0dfd9e --- /dev/null +++ b/docs/fromsource.md @@ -0,0 +1,8 @@ +###Building from Source +For easy setup and no programming knowledge, you can use [Updater](https://github.com/Kwoth/NadekoUpdater/releases/latest) or download release from [Releases](https://github.com/Kwoth/NadekoBot/releases) and follow the [Comprehensive Guide](https://github.com/Kwoth/NadekoBot/blob/master/ComprehensiveGuide.md) + +In your bin/debug folder (or next to your exe if you are using release version), you must have a file called 'credentials.json' in which you will store all the necessary data to make the bot know who the owner is, and your api keys. + +When you clone the project, make sure to run `git submodule init` and `git submodule update` to get the correct discord.net version + +Make sure you've read ComprehensiveGuide to get a grasp of basic config/credentials setup and then look at "Credentials and config" chapter. \ No newline at end of file diff --git a/docs/index.md b/docs/index.md index fe804f7e..f22353ac 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,16 +1,16 @@ -#NadekoBot Documentation - -##Content -- [About](about.md) -- Guides - - [Windows Guide](guides/comprehensiveguide.md) - - [Linux Guide](guides/linuxguide.md) - - [OSX Guide](guides/macguide.md) - - [Building from Source](guides/fromsource.md) - - [Docker Guide](guides/dockerguide.md) -- [Commands List](commandlist.md) -- [Permissions System](permissions.md) -- [JSON Explanations](explanations.md) -- [Custiom Reactions](customreactions.md) -- [Frequently Asked Questions](FAQ.md) -- [Contribution Guide](contributionguide.md) +#NadekoBot Documentation + +##Content +- [About](about.md) +- Guides + - [Windows Guide](guides/comprehensiveguide.md) + - [Linux Guide](guides/linuxguide.md) + - [OSX Guide](guides/macguide.md) + - [Building from Source](guides/fromsource.md) + - [Docker Guide](guides/dockerguide.md) +- [Commands List](commandslist.md) +- [Permissions System](permissions.md) +- [JSON Explanations](explanations.md) +- [Custiom Reactions](customreactions.md) +- [Frequently Asked Questions](FAQ.md) +- [Contribution Guide](contributionguide.md) \ No newline at end of file diff --git a/docs/permissions.md b/docs/permissions.md new file mode 100644 index 00000000..c83337d6 --- /dev/null +++ b/docs/permissions.md @@ -0,0 +1,87 @@ +# Overview +Ever stuck handling your Nadeko permissions? Look no further than this guide! +We'll handle a few example cases that we've seen frequently on the help channel, as well as explaining the order of permissions in general. Any command used here can be found in the [Commands list](https://github.com/Kwoth/NadekoBot/blob/master/commandlist.md#permissions) + +# How does it work? +Permissions are handy to set up to limit who in your server can use what. by default, every command is enabled for everyone, except for the administration commands, like `.kick` and `.prune`, which are set to correspond to discord's permissions, (kicking and managing messages respectively here), the permissions module, which we will show in the next paragraph, and some other commands throughout the other modules that are owner-only, meaning that only someone who has his or her id in the list of owners of the bot can use them. +Since you may not want to allow everyone to use the NSFW module, skip the current song, pick up flowers, or attack in the pokegame, you're in need of setting up permissions. + +#First time setting up +When you want to change your first permissions, you need to fulfill one of two conditions: +* Be the owner of the server +* Have the role set by `;permrole` (Nadeko by default) + +If you have neither of these, you **can't** set up permissions. +You may want to change the `;permrole` to the role of the admins, using `;permrole Admins`. + +# Basics +Most of the commands found in the list are pretty much self-explanatory. `;rolemdl NSFW disable lurkers` would disable the NSFW module for the lurkers (let them come out of the shadows!). similarly `;chnlperms #general` would show which permissions are banned *specifically* for this channel. +Since permissions are enabled by default, the hierarchy of rulings is simple, if you disable something that affects a user, like `;sm nsfw disable`, you **can't** enable it in a particular other way, like `;cm nsfw enable #nsfw`. Now roles are an exemption to this, e.g. if all roles have music disabled except for the DJ role, you can still use music commands if you have the DJ role. + +By default, the bot notifies when a command can't be used. To disable this, you can use `;verbose false`. + +# Common Cases +These are some common cases of particular settings of permissions. + +## Create a music DJ +e.g. you only want your users to be able to see what's playing, and have a DJ role for the rest. +- `;arc music disable all`, disable all commands of the music module for everyone. +- `;arc music enable DJ`, give permissions to the DJ to do everything +- `;rc "!!nowplaying" enable all`, enable the command for everyone +- `;rc "!!getlink" enable all`, as above. +- `;rc "!!listqueue" enable all`, as above. + +## Create a NSFW channel +You want to only allow NSFW commands in the #nsfw channel. +- `;cm nsfw disable all` disable the nsfw module in every channel. +- `;cm nsfw enable #nsfw` re-enable the nsfw module in the #nsfw channel. + + +-- *Thanks to @applemac for writing this guide* + +#Old Guide + +**NadekoBot's permissions can be set up to be very specific through commands in the Permissions module.** + +Each command or module can be turned on or off at: +- a user level (so specific users can or cannot use a command/module) +- a role level (so only certain roles have access to certain commands/module) +- a channel level (so certain commands can be limited to certain channels, which can prevent music / trivia / NSFW spam in serious channels) +- a server level. + +Use .modules to see a list of modules (sets of commands). +Use .commands [module_name] to see a list of commands in a certain module. + +Permissions use a semicolon as the prefix, so always start the command with a ;. + +Follow the semicolon with the letter of the level which you want to edit. +- "u" for Users. +- "r" for Roles. +- "c" for Channels. +- "s" for Servers. + +Follow the level with whether you want to edit the permissions of a command or a module. +- "c" for Command. +- "m" for Module. + +Follow with a space and then the command or module name (surround the command with quotation marks if there is a space within the command, for example "!!q" or "!!n"). + +Follow that with another space and, to enable it, type one of the following: [1, true, t, enable], or to disable it, one of the following: [0, false, f, disable]. + +Follow that with another space and the name of the user, role, channel. (depending on the first letter you picked) + +###### Examples +- **;rm NSFW 0 [Role_Name]** Disables the NSFW module for the role, . +- **;cc "!!n" 0 [Channel_Name]** Disables skipping to the next song in the channel, . +- **;uc "!!q" 1 [User_Name]** Enables queuing of songs for the user, . +- **;sm Gambling 0** Disables gambling in the server. + +Check permissions by using the letter of the level you want to check followed by a p, and then the name of the level in which you want to check. If there is no name, it will default to yourself for users, the @everyone role for roles, and the channel in which the command is sent for channels. + +###### Examples +- ;cp [Channel_Name] +- ;rp [Role_Name] + +Insert an **a** before the level to edit the permission for all commands / modules for all users / roles / channels / server. + +Reference the Help command (-h) for more Permissions related commands. From fa5e08771fc6b840a64aff87bf8c8266a9e4c1c7 Mon Sep 17 00:00:00 2001 From: miraai Date: Thu, 4 Aug 2016 00:39:26 +0200 Subject: [PATCH 38/84] Delete permissions.md --- docs/docs/permissions.md | 87 ---------------------------------------- 1 file changed, 87 deletions(-) delete mode 100644 docs/docs/permissions.md diff --git a/docs/docs/permissions.md b/docs/docs/permissions.md deleted file mode 100644 index ec320c74..00000000 --- a/docs/docs/permissions.md +++ /dev/null @@ -1,87 +0,0 @@ -# Overview -Ever stuck handling your Nadeko permissions? Look no further than this guide! -We'll handle a few example cases that we've seen frequently on the help channel, as well as explaining the order of permissions in general. Any command used here can be found in the [Commands list](https://github.com/Kwoth/NadekoBot/blob/master/commandlist.md#permissions) - -# How does it work? -Permissions are handy to set up to limit who in your server can use what. by default, every command is enabled for everyone, except for the administration commands, like `.kick` and `.prune`, which are set to correspond to discord's permissions, (kicking and managing messages respectively here), the permissions module, which we will show in the next paragraph, and some other commands throughout the other modules that are owner-only, meaning that only someone who has his or her id in the list of owners of the bot can use them. -Since you may not want to allow everyone to use the NSFW module, skip the current song, pick up flowers, or attack in the pokegame, you're in need of setting up permissions. - -#First time setting up -When you want to change your first permissions, you need to fulfill one of two conditions: -* Be the owner of the server -* Have the role set by `;permrole` (Nadeko by default) - -If you have neither of these, you **can't** set up permissions. -You may want to change the `;permrole` to the role of the admins, using `;permrole Admins`. - -# Basics -Most of the commands found in the list are pretty much self-explanatory. `;rolemdl NSFW disable lurkers` would disable the NSFW module for the lurkers (let them come out of the shadows!). similarly `;chnlperms #general` would show which permissions are banned *specifically* for this channel. -Since permissions are enabled by default, the hierarchy of rulings is simple, if you disable something that affects a user, like `;sm nsfw disable`, you **can't** enable it in a particular other way, like `;cm nsfw enable #nsfw`. Now roles are an exemption to this, e.g. if all roles have music disabled except for the DJ role, you can still use music commands if you have the DJ role. - -By default, the bot notifies when a command can't be used. To disable this, you can use `;verbose false`. - -# Common Cases -These are some common cases of particular settings of permissions. - -## Create a music DJ -e.g. you only want your users to be able to see what's playing, and have a DJ role for the rest. -- `;arc music disable all`, disable all commands of the music module for everyone. -- `;arc music enable DJ`, give permissions to the DJ to do everything -- `;rc "!!nowplaying" enable all`, enable the command for everyone -- `;rc "!!getlink" enable all`, as above. -- `;rc "!!listqueue" enable all`, as above. - -## Create a NSFW channel -You want to only allow NSFW commands in the #nsfw channel. -- `;cm nsfw disable all` disable the nsfw module in every channel. -- `;cm nsfw enable #nsfw` re-enable the nsfw module in the #nsfw channel. - - --- *Thanks to @applemac for writing this guide* - -#Old Guide - -**NadekoBot's permissions can be set up to be very specific through commands in the Permissions module.** - -Each command or module can be turned on or off at: -- a user level (so specific users can or cannot use a command/module) -- a role level (so only certain roles have access to certain commands/module) -- a channel level (so certain commands can be limited to certain channels, which can prevent music / trivia / NSFW spam in serious channels) -- a server level. - -Use .modules to see a list of modules (sets of commands). -Use .commands [module_name] to see a list of commands in a certain module. - -Permissions use a semicolon as the prefix, so always start the command with a ;. - -Follow the semicolon with the letter of the level which you want to edit. -- "u" for Users. -- "r" for Roles. -- "c" for Channels. -- "s" for Servers. - -Follow the level with whether you want to edit the permissions of a command or a module. -- "c" for Command. -- "m" for Module. - -Follow with a space and then the command or module name (surround the command with quotation marks if there is a space within the command, for example "!!q" or "!!n"). - -Follow that with another space and, to enable it, type one of the following: [1, true, t, enable], or to disable it, one of the following: [0, false, f, disable]. - -Follow that with another space and the name of the user, role, channel. (depending on the first letter you picked) - -###### Examples -- **;rm NSFW 0 [Role_Name]** Disables the NSFW module for the role, . -- **;cc "!!n" 0 [Channel_Name]** Disables skipping to the next song in the channel, . -- **;uc "!!q" 1 [User_Name]** Enables queuing of songs for the user, . -- **;sm Gambling 0** Disables gambling in the server. - -Check permissions by using the letter of the level you want to check followed by a p, and then the name of the level in which you want to check. If there is no name, it will default to yourself for users, the @everyone role for roles, and the channel in which the command is sent for channels. - -###### Examples -- ;cp [Channel_Name] -- ;rp [Role_Name] - -Insert an **a** before the level to edit the permission for all commands / modules for all users / roles / channels / server. - -Reference the Help command (-h) for more Permissions related commands. From 0b1bc8b10b87c1d934ab5604d754171eac36b7cc Mon Sep 17 00:00:00 2001 From: miraai Date: Thu, 4 Aug 2016 00:39:46 +0200 Subject: [PATCH 39/84] Delete FAQ.md --- docs/docs/FAQ.md | 40 ---------------------------------------- 1 file changed, 40 deletions(-) delete mode 100644 docs/docs/FAQ.md diff --git a/docs/docs/FAQ.md b/docs/docs/FAQ.md deleted file mode 100644 index 8f6a91a1..00000000 --- a/docs/docs/FAQ.md +++ /dev/null @@ -1,40 +0,0 @@ -Frequently Asked Questions -####Q1: How do I get @Nadeko to join my server? -A: Send her a Direct Message with -h to get the link. Only Server Owners can allow the bot to join -####Q2: I want to change permissions, but it doesn't work D: -A: To change permissions, you have to set the ;permsrole (default permission role is called `Nadeko`, you can create a role named like that and assign it to yourself). *Only the owner of the server can change permissions without having this role.* -####Q3: Music doesn't work on a Mac?! -You have to build `mono` from source. . -####Q5: I want to disable NSFW on my server, please? -A: You would first have to be able to change permissions (see Q4 ), and then run `;sm NSFW disable` -####Q6: How do I get NadekoFlowers/whatever I changed my currency to? -A: You get NadekoFlowers by answering Trivia questions or picking them up after they have been generated with `>gc`, which you can then either plant (give away to a channel so that someone can pick it), gamble it with $betflip, $betroll and $jr, or spend on healing and setting your type in the Pokemon game. -####Q7: I have an issue/bug/suggestion, where can I get it noticed? -A: First of all, check https://github.com/Kwoth/NadekoBot/issues and #suggestions for your problem/improvement. If it's not there, create a new issue on https://github.com/Kwoth/NadekoBot/issues. -####Q8: How do I use the command XXXX? -A: most commands have a description, with a usage guide if required; use -h command, like -h ;pr -####Q9: Music doesn't work!? -A: Music on @Nadeko will be re-enabled in the future, but for now your only option is to host yourself -If you are hosting your own bot, make sure ffmpeg is working correctly; running ffmpeg in the commandline should have a response. see https://github.com/Kwoth/NadekoBot/blob/master/ComprehensiveGuide.md#setting-up-nadekobot-for-music for more -####Q10: My music is still not working/very laggy? -A: Try switching server location, try giving the bot permissions on the server you want to use it on. -####Q12: I want to change data in the database (like NadekoFlowers or the pokemontypes of users, but how? -A: Open data/nadekobot.sqlite using sqlitebrowser (or some alternative), Browse Data, select relevant table, change data, Write changes -####Q13: The .greet and .bye commands doesn't work, but everything else is (From @Kong) -A: Set a greeting message by using .greetmsg YourMessageHere -and a bye-message by using .byemsg YourMessageHere -####Q15: How to import certs on linux? -A: -`certmgr -ssl https://discordapp.com` -`certmgr -ssl https://gateway.discord.gg` -####Q16: I want "BOT" tag with my bot and I can't follow up with Q14, is there a simple way? -A: Yes, you can create an application using your account and use the APP BOT USER TOKEN from here: https://discordapp.com/developers/applications/me -NOTE: This will create a new bot account -####Q17: I made an application following Q16, but I can't add that new bot to my server, how do I invite it to my server? -A: You need to use oauth link to add it to you server, just copy your CLIENT ID (that's in the same Developer page where you brought your token) and replace 12345678 in the link below: -https://discordapp.com/oauth2/authorize?client_id=12345678&scope=bot&permissions=66186303 -FOLLOW THIS DETAILED GUIDE IF IT IS HARD FOR YOU TO UNDERSTAND http://discord.kongslien.net/guide.html -####Q18: I'm building NadekoBot from source, but I get hundreds of (namespace) errors without changing anything!? -A: Using Visual Studio, you can solve these errors by going to Tools -> NuGet Package Manager -> Manage NuGet Packages for Solution. Go to the Installed tab, select the Packages that were missing (usually Newtonsoft.json and RestSharp) and install them for all projects -####Q19: My bot has all permissions but it's still saying, "Failed to add roles. Bot has insufficient permissions.", how do I fix this? -A: Discord has added few new features and roles now follow hierarchy, that means you need to place your bot role above every-other role your server has. Also do NOTE that bot can only set/add all roles below its own highest role. And can not assign it's "highest role" to anyone else. \ No newline at end of file From 075d9d791a6ac85e626d887af0c67c3f5cbbfaa6 Mon Sep 17 00:00:00 2001 From: miraai Date: Thu, 4 Aug 2016 00:39:50 +0200 Subject: [PATCH 40/84] Delete about.md --- docs/docs/about.md | 13 ------------- 1 file changed, 13 deletions(-) delete mode 100644 docs/docs/about.md diff --git a/docs/docs/about.md b/docs/docs/about.md deleted file mode 100644 index 8435eda2..00000000 --- a/docs/docs/about.md +++ /dev/null @@ -1,13 +0,0 @@ -## Terms of Use - -The MIT License (MIT) - -Copyright (c) 2016 NadekoBot Team - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - From f9babbd3beca9ed88c6835b30573ccfa655b641f Mon Sep 17 00:00:00 2001 From: miraai Date: Thu, 4 Aug 2016 00:39:54 +0200 Subject: [PATCH 41/84] Delete contributionguide.md --- docs/docs/contributionguide.md | 7 ------- 1 file changed, 7 deletions(-) delete mode 100644 docs/docs/contributionguide.md diff --git a/docs/docs/contributionguide.md b/docs/docs/contributionguide.md deleted file mode 100644 index 44738208..00000000 --- a/docs/docs/contributionguide.md +++ /dev/null @@ -1,7 +0,0 @@ -### How to contribute - -1. Make Pull Requests to **DEV BRANCH** -2. Keep 1 Pull Request to a single feature -3. Explain what you did in the PR message - -Thanks for all the help ^_^ \ No newline at end of file From 26b25520800a143fdb28be8bc563bf9cca557af1 Mon Sep 17 00:00:00 2001 From: miraai Date: Thu, 4 Aug 2016 00:39:58 +0200 Subject: [PATCH 42/84] Delete customreactions.md --- docs/docs/customreactions.md | 21 --------------------- 1 file changed, 21 deletions(-) delete mode 100644 docs/docs/customreactions.md diff --git a/docs/docs/customreactions.md b/docs/docs/customreactions.md deleted file mode 100644 index 337a2d03..00000000 --- a/docs/docs/customreactions.md +++ /dev/null @@ -1,21 +0,0 @@ -**After you add/delete custom commands, you should restart the bot. (either by typing `.restart` if you are on WINDOWS or just manually restarting if you prefer/are on other platform)** - -`.acr` and `.dcr` require you to be a bot owner. - -`.acr` -Adds a new custom command. **If you add multiple commands with the same name, it will pick random one.** First argument is the name, second one is the response. For example `.acr hello hi`. Now the bot will reply `hi` whenever someone types `hello`. For more than 1 word command, wrap it in `"`. -For example: `.acr "hello there" hi there` - now it will print "hi there" whenever someone types "hello there". Currently you can add this placeholders which will get replaced with appropriate text: -`%mention%` - replaces it with bot mention -`%user%` - replaces it with the user runner's mention -`%target%` - replaces it with a mention of another person from within the original message -`%rng%` replaces it with a random number -for example: `.acr "%mention% hello" Hello %user%` -(we will add much more of these over time) - - -`.dcr "command name" (optional index)` -Deletes either whole custom command and all its responses or a single command's response via an index (if you have multiple responses for the same command). -For example: `.dcr "hi there"` or `.dcr "hi there" 1`. You can get an index by using `.lcr [page number]` - -`.lcr [number]` -Prints a list of custom reactions. Paginated. (for example: `.lcr 1` or `.lcr 4`) \ No newline at end of file From 226293899ca1ab734746ae41ae818d9204f962d9 Mon Sep 17 00:00:00 2001 From: miraai Date: Thu, 4 Aug 2016 00:40:03 +0200 Subject: [PATCH 43/84] Delete explanations.md --- docs/docs/explanations.md | 38 -------------------------------------- 1 file changed, 38 deletions(-) delete mode 100644 docs/docs/explanations.md diff --git a/docs/docs/explanations.md b/docs/docs/explanations.md deleted file mode 100644 index 9d4e41c1..00000000 --- a/docs/docs/explanations.md +++ /dev/null @@ -1,38 +0,0 @@ -###Credentials.json and config.json -**This is how unedited credentials.json looks like:** -```json -{ - "Token": "", - "ClientId": "116275390695079945", - "BotId": 1231231231231, - "OwnerIds": [ - 123123123123, - 5675675679845 - ], - "GoogleAPIKey": "", - "SoundCloudClientID": "", - "MashapeKey": "", - "LOLAPIKey": "", - "TrelloAppKey": "", - "OsuAPIKey": "", - "CarbonKey": "" -} -``` -#### Required -- **Token** - Required to log in. See this [guide](http://discord.kongslien.net/guide.html) -- **OwnerIds** - Required for Owner-Only commands to work. Separate multiple IDs with a comma -- **BotId** - Required for custom reactions and conversation commands to work. - -*BotId and OwnerIds are NOT names of the owner and the bot. If you do not know the id of your bot, put 2 random numbers in those fields, run the bot and do `.uid @MyBotName` - that will give you your bot\_id, do the same for yourself `.uid @MyName` and you will get a number to put inside brackets in OwnerIds field.* - -#### Optional -- **GoogleAPIKey** - Youtube song search. Playlist queuing. URL Shortener. ~i and ~img. -- **SoundCloudClientID** - Needed in order to queue soundcloud songs from sc links. For the Soundcloud Api key you need a Soundcloud account. You need to create a new app on http://soundcloud.com/you/apps/new and after that go here http://soundcloud.com/you/apps click on the name of your created your app and copy the Client ID. Paste it into credentials.json. -- **MashapeKey** - Urban dictionary, hashtag search, hearthstone cards.You need to create an account on their api marketplace here https://market.mashape.com/. After that you need to go to market.mashape.com/YOURNAMEHERE/applications/default-application and press GET THE KEYS in the right top corner copy paste it into your credentials.json and you are ready to race! -- **LOLAPIKey** - www.champion.gg api key needed for LoL commands -- **TrelloAppKey** - Needed for trello commands -- **OsuAPIKey** - needed for osu top5 and beatmap commands. -- **CarbonKey** - carbonitex.net key if your bot is listed there in order to send stats (probably nobody needs this) - -Next to your exe you must also have a data folder in which there is config.json (among other things) which will contain some user specific config, like should the Bot join servers, should DMs to bot be forwarded to you and a list of IDs of blacklisted users, channels and servers. If you do not have config.json, you can should config_example.json to config.json. -``` \ No newline at end of file From 5576e77f6ea2d2fbf3c2c5130d9b55666fbcb7cc Mon Sep 17 00:00:00 2001 From: miraai Date: Thu, 4 Aug 2016 00:40:07 +0200 Subject: [PATCH 44/84] Delete fromsource.md --- docs/docs/fromsource.md | 8 -------- 1 file changed, 8 deletions(-) delete mode 100644 docs/docs/fromsource.md diff --git a/docs/docs/fromsource.md b/docs/docs/fromsource.md deleted file mode 100644 index 90baf038..00000000 --- a/docs/docs/fromsource.md +++ /dev/null @@ -1,8 +0,0 @@ -###Building from Source -For easy setup and no programming knowledge, you can use [Updater](https://github.com/Kwoth/NadekoUpdater/releases/latest) or download release from [Releases](https://github.com/Kwoth/NadekoBot/releases) and follow the [Comprehensive Guide](https://github.com/Kwoth/NadekoBot/blob/master/ComprehensiveGuide.md) - -In your bin/debug folder (or next to your exe if you are using release version), you must have a file called 'credentials.json' in which you will store all the necessary data to make the bot know who the owner is, and your api keys. - -When you clone the project, make sure to run `git submodule init` and `git submodule update` to get the correct discord.net version - -Make sure you've read ComprehensiveGuide to get a grasp of basic config/credentials setup and then look at "Credentials and config" chapter. \ No newline at end of file From 1e1f11c05a342a0569fe1ac0bfe72e0d28bd6cb8 Mon Sep 17 00:00:00 2001 From: miraai Date: Thu, 4 Aug 2016 00:40:14 +0200 Subject: [PATCH 45/84] Delete index.md --- docs/docs/index.md | 16 ---------------- 1 file changed, 16 deletions(-) delete mode 100644 docs/docs/index.md diff --git a/docs/docs/index.md b/docs/docs/index.md deleted file mode 100644 index 8ad0758e..00000000 --- a/docs/docs/index.md +++ /dev/null @@ -1,16 +0,0 @@ -#NadekoBot Documentation - -##Content -- [About](about.md) -- Guides - - [Windows Guide](guides/comprehensiveguide.md) - - [Linux Guide](guides/linuxguide.md) - - [OSX Guide](guides/macguide.md) - - [Building from Source](guides/fromsource.md) - - [Docker Guide](guides/dockerguide.md) -- [Commands List](https://github.com/Kwoth/NadekoBot/blob/master/commandlist.md) -- [Permissions System](permissions.md) -- [JSON Explanations](explanations.md) -- [Custiom Reactions](customreactions.md) -- [Frequently Asked Questions](FAQ.md) -- [Contribution Guide](contributionguide.md) \ No newline at end of file From 9d0e8442f01f872dd6da93edaf2382cbb4e0e855 Mon Sep 17 00:00:00 2001 From: miraai Date: Thu, 4 Aug 2016 00:40:20 +0200 Subject: [PATCH 46/84] Delete mkdocs.yml --- docs/docs/mkdocs.yml | 18 ------------------ 1 file changed, 18 deletions(-) delete mode 100644 docs/docs/mkdocs.yml diff --git a/docs/docs/mkdocs.yml b/docs/docs/mkdocs.yml deleted file mode 100644 index 7b159ab4..00000000 --- a/docs/docs/mkdocs.yml +++ /dev/null @@ -1,18 +0,0 @@ -site_name: NadekoBot -pages: -- Home: index.md -- About: about.md -- Guides: - - Windows Guide: guides/comprehensiveguide.md - - Linux Guide: guides/linuxguide.md - - OSX Guide: guides/macguide.md - - Building from Source: guides/fromsource.md - - Docker Guide: guides/dockerguide.md -- Commands List: https://github.com/Kwoth/NadekoBot/blob/master/commandlist.md -- Permissions System: permissions.md -- JSON Explanations: explanations.md -- Custom Commands: customreactions.md -- Frequently Asked Questions: FAQ.md -- Contribution Guide: contributionguide.md - -theme: readthedocs From cf2f73ebdb335a8325af07336e55bd35876d3f38 Mon Sep 17 00:00:00 2001 From: miraai Date: Thu, 4 Aug 2016 00:40:40 +0200 Subject: [PATCH 47/84] Delete macguide.md --- docs/docs/guides/macguide.md | 1 - 1 file changed, 1 deletion(-) delete mode 100644 docs/docs/guides/macguide.md diff --git a/docs/docs/guides/macguide.md b/docs/docs/guides/macguide.md deleted file mode 100644 index 9b73a879..00000000 --- a/docs/docs/guides/macguide.md +++ /dev/null @@ -1 +0,0 @@ -##MAC Guide \ No newline at end of file From b750895e30914602f8e245424c64d7d46775891c Mon Sep 17 00:00:00 2001 From: miraai Date: Thu, 4 Aug 2016 00:40:46 +0200 Subject: [PATCH 48/84] Delete linuxguide.md --- docs/docs/guides/linuxguide.md | 258 --------------------------------- 1 file changed, 258 deletions(-) delete mode 100644 docs/docs/guides/linuxguide.md diff --git a/docs/docs/guides/linuxguide.md b/docs/docs/guides/linuxguide.md deleted file mode 100644 index 311ac939..00000000 --- a/docs/docs/guides/linuxguide.md +++ /dev/null @@ -1,258 +0,0 @@ -#Setting up NadekoBot on Linux - -####Setting up NadekoBot on Linux Digital Ocean Droplet -######If you want Nadeko to play music for you 24/7 without having to hosting it on your PC and want to keep it cheap, reliable and convenient as possible, you can try Nadeko on Linux Digital Ocean Droplet using the link [DigitalOcean][DigitalOcean] (and using this link will be supporting Nadeko and will give you **$10 credit**) - -######Keep this helpful video handy [Linux Setup Video][Linux Setup Video] (thanks to klincheR) it contains how to set up the Digital Ocean droplet aswell. - -####Setting up NadekoBot -Assuming you have followed the link above to created an account in Digital Ocean and video to set up the bot until you get the `IP address and root password (in email)` to login, its time to begin. - -#### Prerequisites -- Download [PuTTY][PuTTY] -- Download [CyberDuck][CyberDuck] - -#### Follow these steps - -- **Open PuTTY.exe** that you downloaded before, and paste or enter your `IP address` and then click **Open**. -If you entered your Droplets IP address correctly, it should show **login as:** in a newly opened window. -- Now for **login as:**, type `root` and hit enter. -- It should then, ask for password, type the `root password` you have received in your **email address registered with Digital Ocean**, then hit Enter. - -*(as you are running it for the first time, it will most likely to ask you to change your root password, for that, type the "password you received through email", hit Enter, enter a "new password", hit Enter and confirm that "new password" again.* -**SAVE that new password somewhere safe not just in mind**. After you done that, you are ready to write commands. - -**Copy and just paste** using **mouse right-click** (it should paste automatically) - -######MONO (Source: [Mono Source][Mono Source]) - -**1) Installing Mono** - -`sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF` -`echo "deb http://download.mono-project.com/repo/debian wheezy main" | sudo tee /etc/apt/sources.list.d/mono-xamarin.list` -`sudo apt-get update` - -Note if the command is not being initiated, hit **Enter** - -**2)** - -`echo "deb http://download.mono-project.com/repo/debian wheezy-apache24-compat main" | sudo tee -a /etc/apt/sources.list.d/mono-xamarin.list` - -**2.5)** -*ONLY DEBIAN 8 and later* - -`echo "deb http://download.mono-project.com/repo/debian wheezy-libjpeg62-compat main" | sudo tee -a /etc/apt/sources.list.d/mono-xamarin.list` - -**2.6)** -*ONLY CentOS 7, Fedora 19 (and later)* - -`yum install yum-util` -`rpm --import "http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF"` -`yum-config-manager --add-repo http://download.mono-project.com/repo/centos/` - -**3)** -*Mono Devel* - -`apt-get install mono-devel` - -**Type** `y` **hit Enter** - - -**4)** -Opus Voice Codec - -`sudo apt-get install libopus0 opus-tools` - -**Type** `y` **hit Enter** - -**5)** -`sudo apt-get install libopus-dev` - -**In case you are having issues with Mono where you get a random string and the bot won't run, do this:** - -`sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF` -`echo "deb http://download.mono-project.com/repo/debian wheezy main" | sudo tee /etc/apt/sources.list.d/mono-xamarin.list` -`apt-get install ca-certificates-mono` -`mozroots --import --sync` - - -####FFMPEG - -**6)** -`apt-get install ffmpeg` - -**Type** `y` **hit Enter** - -NOTE: if its "not installing" then, follow the guide here: [FFMPEG Help Guide][FFMPEG Help Guide] - -**All you need to do, if you are running UBUNTU 14.04 is initiate these:** - -`sudo add-apt-repository ppa:mc3man/trusty-media` -`sudo apt-get update` -`sudo apt-get dist-upgrade` - -*Before executing* `sudo apt-get install ffmpeg` - -**If you are running Debian 8 Jessie, please, follow these steps:** - -`wget http://luxcaeli.de/installer.sh && sudo bash installer.sh` (Thanks to Eleria<3) - -In case you are not able to install it with installer ^up there, follow these steps: - -`sudo apt-get update` -`echo "deb http://ftp.debian.org/debian jessie-backports main" | tee /etc/apt/sources.list.d/debian-backports.list` -`sudo apt-get update` -`sudo apt-get install ffmpeg -y` - -####Uncomplicated Firewall UFW - -**7)** -`apt-get install ufw` - -**it is most likely to have it already installed so if you see it is already installed, check with following command, and/or enable it** - -**8)** -`ufw status` - -**9)** -`ufw enable` - -**Type** `y` **hit Enter** - -**10)** -`sudo ufw allow ssh` - - - -**11)** -Unzip - -`apt-get install unzip` - -**12)** -TMUX - -`apt-get install tmux` - -**Type** `y` **hit Enter** - -####Importing certs -**13)** -`certmgr -ssl https://discordapp.com` - -**14)** -`certmgr -ssl https://gateway.discord.gg` - -Type `yes` and hit Enter **(three times - as it will ask for three times)** - - -**15)** -Create a new folder “nadeko” or anything you prefer - -`mkdir nadeko` - -**16)** -Move to “nadeko” folder (note `cd --` to go back the directory) - -`cd nadeko` - -####Getting NadekoBot from Releases - -Go to this link: [Releases][Releases] and **copy the zip file address** of the lalest version available, -it should look like `https://github.com/Kwoth/NadekoBot/releases/download/vx.xx/NadekoBot.vx.x.zip` - -**17)** -Get the correct link, type `wget`, then *paste the link*, then hit **Enter**. - -`wget https://github.com/Kwoth/NadekoBot/releases/download/vx.xx/NadekoBot.vx.x.zip` - -**^Do not copy-paste it** - -**18)** - -Now we need to `unzip` the downloaded zip file and to do that, type the file name as it showed in your screen or just copy from the screen, should be like ` NadekoBot.vx.x.zip` - -`unzip NadekoBot.vx.x.zip` - -**^Do not copy-paste it** - -####Setting up NadekoBot - -- Open **CyberDuck** -- Click on **Open Connection** (top-left corner), a new window should appear. -- You should see **FTP (File Transfer Protocol)** in drop-down. -- Change it to **SFTP (SSH File Transfer Protocol)** -- Now, in **Server:** paste or type in your `Digital Ocean Droplets IP address`, leave `Port: 22` (no need to change it) -- In **Username:** type `root` -- In **Password:** type `the new root password (you changed at the start)` -- Click on **Connect** -- It should show you the new folder you created. -- Open it. - -#####MAKE SURE YOU READ THE README BEFORE PROCEEDING - -- Copy the `credentials_example.json` to desktop -- EDIT it as it is guided here: [Readme][Readme] -- Rename it to `credentials.json` and paste/put it back in the folder. `(Yes, using CyberDuck)` -- You should see two files `credentials_example.json` and `credentials.json` -- Also if you already have nadeko setup and have `credentials.json`, `config.json`, `nadekobot.sqlite`, and `"permissions" folder`, you can just copy and paste it to the Droplets folder using CyberDuck. - -####Running NadekoBot - -Go back to **PuTTY**, `(hope its still running xD)` - -**19)** -Type/ Copy and hit **Enter**. - -`tmux new -s nadeko` - -**^this 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 running PuTTY in the background.` - -`cd nadeko` - -**20)** -`mono NadekoBot.exe` - -**CHECK THE BOT IN DISCORD, IF EVERYTHING IS WORKING** - -Now time to **move bot to background** and to do that, press **CTRL+B+D** (this will ditach the nadeko session using TMUX), and you can finally close PuTTY now. - -Copy your CLIENT ID (that's in the same Developer page where you brought your token) and replace `12345678` in this link: `https://discordapp.com/oauth2/authorize?client_id=12345678&scope=bot&permissions=66186303` with it. Go to that link and you will be able to add your bot to your server. - -**NOW YOU HAVE YOUR OWN NADEKO BOT** `Thanks to Kwoth <3` - -####Some more Info (just in case): - --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.) - -**21)** --If you want to **kill** NadekoBot **session**, type `tmux kill-session -t nadeko` - -####How to restart Nadeko with the server (for science) -**22)** -Open **PuTTY** and login as you have before, type `reboot` and hit Enter. - -####Updating Nadeko - -**FOLLOW THESE STEPS SERIALLY** - -- **-21 OR 22** -- **-19** -- **-16** -- **-17** -- **-18** -- **-20** - -HIT **CTRL+B+D** and close **PuTTY** - -`IF YOU FACE ANY TROUBLE ANYWHERE IN THE GUIDE JUST FIND US IN NADEKO'S DISCORD SERVER` - -[PuTTY]: http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html -[CyberDuck]: https://cyberduck.io -[Linux Setup Video]: https://www.youtube.com/watch?v=icV4_WPqPQk&feature=youtu.be -[Releases]: https://github.com/Kwoth/NadekoBot/releases -[Readme]: https://github.com/Kwoth/NadekoBot/blob/master/README.md -[FFMPEG Help Guide]: http://www.faqforge.com/linux/how-to-install-ffmpeg-on-ubuntu-14-04/ -[Mono Source]: http://www.mono-project.com/docs/getting-started/install/linux/ -[DigitalOcean]: http://m.do.co/c/46b4d3d44795/ From b30bf54628e398d4f5280319193356623579b1c5 Mon Sep 17 00:00:00 2001 From: miraai Date: Thu, 4 Aug 2016 00:40:50 +0200 Subject: [PATCH 49/84] Delete fromsource.md --- docs/docs/guides/fromsource.md | 8 -------- 1 file changed, 8 deletions(-) delete mode 100644 docs/docs/guides/fromsource.md diff --git a/docs/docs/guides/fromsource.md b/docs/docs/guides/fromsource.md deleted file mode 100644 index 90baf038..00000000 --- a/docs/docs/guides/fromsource.md +++ /dev/null @@ -1,8 +0,0 @@ -###Building from Source -For easy setup and no programming knowledge, you can use [Updater](https://github.com/Kwoth/NadekoUpdater/releases/latest) or download release from [Releases](https://github.com/Kwoth/NadekoBot/releases) and follow the [Comprehensive Guide](https://github.com/Kwoth/NadekoBot/blob/master/ComprehensiveGuide.md) - -In your bin/debug folder (or next to your exe if you are using release version), you must have a file called 'credentials.json' in which you will store all the necessary data to make the bot know who the owner is, and your api keys. - -When you clone the project, make sure to run `git submodule init` and `git submodule update` to get the correct discord.net version - -Make sure you've read ComprehensiveGuide to get a grasp of basic config/credentials setup and then look at "Credentials and config" chapter. \ No newline at end of file From c54b9c39bb9f06cba6fbd0627667d58a10250b63 Mon Sep 17 00:00:00 2001 From: miraai Date: Thu, 4 Aug 2016 00:40:55 +0200 Subject: [PATCH 50/84] Delete dockerguide.md --- docs/docs/guides/dockerguide.md | 54 --------------------------------- 1 file changed, 54 deletions(-) delete mode 100644 docs/docs/guides/dockerguide.md diff --git a/docs/docs/guides/dockerguide.md b/docs/docs/guides/dockerguide.md deleted file mode 100644 index 106dc9a5..00000000 --- a/docs/docs/guides/dockerguide.md +++ /dev/null @@ -1,54 +0,0 @@ -# Docker Guide with DigitalOcean - -#####Prerequisites: -- Digital ocean account (you can use my [reflink][reflink] to support the project and get 10$ after you register) -- [PuTTY][PuTTY] -- A bot account - follow this [guide][guide] -- $5 -- Common sense - -#####Guide -- Click on the create droplet button -![img](http://i.imgur.com/g2ayOcC.png) - -- Pick one click apps and select docker on 14.04 - -![img](http://imgur.com/065Xkme.png) - -- Pick any droplet size you want (5$ will work ok-ish on a few servers) -- Pick location closest to your discord server's location -- Pick a hostname -![img](http://imgur.com/ifPKB6p.png) - -- Click create - -You will get an email from DigitalOcean with your credentials now. - -Open putty and type ip adress **you got in your email** with port 22 - -![img](http://imgur.com/Mh5ehsh.png) - -- Console will open and you will be prompted for a username, type `root`. -- Type in the password you got in the email. -- Confirm the password you just typed in. -- Type in the new password. -- Confirm new password. - -- When you are successfully logged in, type -`docker run --name nadeko -v /nadeko:/config uirel/nadeko` - -- Wait for it to download and at one point it is going to start throwing errors due to `credentials.json` being empty -- CTRL+C to exit that -- Type `docker stop nadeko` -- Type `nano /nadeko/credentials.json` and type in your `credentials` -- CTRL+X then CTRL+Y to save -- Type `docker start nadeko` -- Type `docker logs -f nadeko` to see the console output - -**Your bot is running, enjoy! o/** - -*When you want to update the bot, just type `docker restart nadeko` as it always downloads latest prerelease* - -[reflink]: http://m.do.co/c/46b4d3d44795/ -[PuTTY]: http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html -[guide]: http://discord.kongslien.net/guide.html From 75a210e5f7c9ccaa1048f921fa194b59a5e47e21 Mon Sep 17 00:00:00 2001 From: miraai Date: Thu, 4 Aug 2016 00:41:00 +0200 Subject: [PATCH 51/84] Delete comprehensiveguide.md --- docs/docs/guides/comprehensiveguide.md | 113 ------------------------- 1 file changed, 113 deletions(-) delete mode 100644 docs/docs/guides/comprehensiveguide.md diff --git a/docs/docs/guides/comprehensiveguide.md b/docs/docs/guides/comprehensiveguide.md deleted file mode 100644 index 363bccd0..00000000 --- a/docs/docs/guides/comprehensiveguide.md +++ /dev/null @@ -1,113 +0,0 @@ -________________________________________________________________________________ -*Thanks to @Flatbread and Mirai for making this guide* -________________________________________________________________________________ - -### Setting Up NadekoBot on Windows -#### Prerequisites -- 1) [NET Framework][NET Framework] 4.5.2 (or 4.6) -- 2) [FFMPEG][FFMPEG] -- 3) Google Account -- 4) Soundcloud Account (if you want soundcloud support) -- 5) [7zip][7zip] (or whatever you are using, WinRar) -- 6) [Notepad++][Notepad++] - -####Guide: - -- Create a folder, name it `Nadeko`. -- Head to [Releases][Releases]* and download `WINDOWS.-.nadeupdater.7z`. -- Copy `WINDOWS.-.nadeupdater.7z` to the `Nadeko` (folder we created before) and extract everything. -- You will see a file `NadekoUpdater.bat ` and a folder `publish ` after extraction. -- Run/Launch/Open the file `NadekoUpdater.bat ` and you will see it running in cmd.exe asking you with **3 options** *1-3*. - - 1) Stable release - current stable release, but might not contain all the newest Nadeko updates. - - 2) Newest release - release with all features/upgrades. - - 3) Exit -- Press `2` on your keyboard and hit `Enter`. Type `y` and hit `Enter` again. Downloading might take a while, so just be patient and wait. When download is done, press `3` on your keyboard and close the updater. -- You should have a new folder named `NadekoBot` inside the `Nadeko` folder we previously created. - -####Creating DiscordBot application -- Go to [DiscordApp][DiscordApp]. -- Log in with your Discord account. -- On the left side, press `New Application`. -- Fill out the `App Name` (your bot's name, in this case), put the image you want, and add an app description(optional). -- Create the application. -- Once the application is created, click on `Create a Bot User` and confirm it. -- Keep this window open for now. - -####Setting up Credentials.json file -- In our `NadekoBot` folder you should have `.json` file named `credentials_example.json`. (Note: If you do not see a **.json** after `credentials_example.json `, do not add the `**.json**`. You most likely have `"Hide file extensions"` enabled.) -- Rename `credentials_example.json` to `credentials.json`. -- Open the file with your [Notepad++][Notepad++]. -- In there you will see fields like `Token`, `ClientId`, `BotId`, `OwnerIDs`. -- In your [DiscordApp][DiscordApp], under `Bot User` part, you will see the `Token:click to reveal` part, click to reveal it. -- Copy your bot's token, and put it between `" "` in your `credentials.json` file. -- Copy `Client ID` and replace it with the example one in your `credentials.json`. -- Copy `Bot ID` and replace it with the example one in your `credentials.json`. -- Save your `credentials.json` but keep it open. We need to put your `User ID` and owner. - -####Inviting your bot to your server [Invite Guide][Invite Guide] -- Create a new server in Discord. -- Copy your `Client ID` from your [DiscordApp][DiscordApp]. -- Replace `12345678` in this link `https://discordapp.com/oauth2/authorize?client_id=12345678&scope=bot&permissions=66186303` with your `Client ID`. -- Link should look like this: `https://discordapp.com/oauth2/authorize?client_id=**YOUR_CLENT_ID**&scope=bot&permissions=66186303`. -- Go to newly created link and pick the server we created, and click `Authorize`. -- Bot should be added to your server. - -####Starting the bot -- Enter your `NadekoBot` folder that should be (hopefully) in your `Nadeko` folder. -- Run `NadekoBot.exe` (Note: There is `NadekoBot.exe` and `NadekoBot.exe.config`, dont run the second one) -- Your bot should now be online in the server we added him to. -- Note: Your bot will be offline in case you close `NadekoBot.exe`. - -####Setting up OwnerIds -- In the server where your bot is, in a text channel, type `.uid` -- Your `User ID` should show, copy it. -- Close `NadekoBot.exe` -- Replace your `User ID` in the `credentials.json` between `[ ]` and save the changes. -- Run `NadekoBot.exe` again. -- Now you are the bot owner. -- You can add `User IDs` from the other users by separating IDs with a comma if you want to have more owners. - -`*Alternatively, you can download nadekobot from [Releases][Releases] and extract the zip yourself. That is what updater does, except it makes it easier for you to update because it doesn't overwrite important files. If you are downloading releases you will have to be careful about your config, credentials, and other files you edited in order to preserve your data every time you update.` - -________________________________________________________________________________ - -#### Setting Up NadekoBot For Music -##### Prerequisites -- 1) [FFMPEG][FFMPEG] installed. -- 2) Setting up API keys. - -- Follow these steps on how to setup Google API keys: - - Go to [Google Console][Google Console] and log in. - - Create a new project (name does not matter). Once the project is created, go into "Enable and manage APIs." - - Under the "Other Popular APIs" section, enable `URL Shortener API` and `Custom Search Api`. Under the `YouTube APIs` section, enable `YouTube Data API`. - - On the left tab, access `Credentials`. Click `Create Credentials` button. Click on `API Key`, and then `Server Key` in the new window that appears. Enter in a name for the `Server Key`. A new window will appear with your `Google API key`. - - Copy the key. - - Open up `credentials.json`. - - For `"GoogleAPIKey"`, fill in with the new key we copied. -- Follow these steps on how to setup Soundcloud API key: - - Go to [Soundcloud][Soundcloud]. - - Enter a name for the app and create it. - - You will see a page with the title of your app, and a field labeled `Client ID`. Copy the ID. - - In `credentials.json`, fill in `"SoundcloudClientID"` with the copied ID. -- Restart your computer. - -##### Prerequisites for manual `ffmpeg` setup: -**Do this step in case you were not able to install `ffmpeg` with the installer.** - -- Create a folder named `ffmpeg` in your main Windows directory. We will use **C:\ffmpeg** (for our guide) -- Download FFMPEG through the link https://ffmpeg.zeranoe.com/builds/ (download static build) -- Extract it using `7zip` and place the folder `ffmpeg-xxxxx-git-xxxxx-xxxx-static` inside **C:\ffmpeg** -- Before proceeding, check out this gif to set up `ffmpeg` PATH correctly http://i.imgur.com/aR5l1Hn.gif *(thanks to PooPeePants#7135)* -- Go to My Computer, right click and select Properties. On the left tab, select Advanced System Settings. Under the Advanced tab, select Environmental Variables near the bottom. One of the variables should be called "Path". Add a semi-colon (;) to the end followed by your FFMPEG's **bin** install location (**for example C:\ffmpeg\ffmpeg-xxxxx-git-xxxxx-xxxx-static\bin**). Save and close. -- Setup your API keys as explained above. -- Restart your computer. - -[NET Framework]: https://www.microsoft.com/en-us/download/details.aspx?id=48130 -[FFMPEG]: https://github.com/Soundofdarkness/FFMPEG-Installer -[7zip]: http://www.7-zip.org/download.html -[Releases]: //github.com/Kwoth/NadekoUpdater/releases/tag/v1.0 -[DiscordApp]: https://discordapp.com/developers/applications/me -[Notepad++]: https://notepad-plus-plus.org/ -[Invite Guide]: http://discord.kongslien.net/guide.html -[Google Console]: https://console.developers.google.com -[Soundcloud]: https://soundcloud.com/you/apps/new From 3cd7177af90701a2cd4527f43e99f8e5f5d16795 Mon Sep 17 00:00:00 2001 From: miraai Date: Thu, 4 Aug 2016 00:41:12 +0200 Subject: [PATCH 52/84] Delete fromsource.md --- docs/fromsource.md | 8 -------- 1 file changed, 8 deletions(-) delete mode 100644 docs/fromsource.md diff --git a/docs/fromsource.md b/docs/fromsource.md deleted file mode 100644 index df0dfd9e..00000000 --- a/docs/fromsource.md +++ /dev/null @@ -1,8 +0,0 @@ -###Building from Source -For easy setup and no programming knowledge, you can use [Updater](https://github.com/Kwoth/NadekoUpdater/releases/latest) or download release from [Releases](https://github.com/Kwoth/NadekoBot/releases) and follow the [Comprehensive Guide](https://github.com/Kwoth/NadekoBot/blob/master/ComprehensiveGuide.md) - -In your bin/debug folder (or next to your exe if you are using release version), you must have a file called 'credentials.json' in which you will store all the necessary data to make the bot know who the owner is, and your api keys. - -When you clone the project, make sure to run `git submodule init` and `git submodule update` to get the correct discord.net version - -Make sure you've read ComprehensiveGuide to get a grasp of basic config/credentials setup and then look at "Credentials and config" chapter. \ No newline at end of file From 7adb1a17c11cd04d52990d7963e68e4a95da5e03 Mon Sep 17 00:00:00 2001 From: miraai Date: Thu, 4 Aug 2016 00:41:56 +0200 Subject: [PATCH 53/84] Docs are in the air --- docs/guides/mii-chan.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 docs/guides/mii-chan.md diff --git a/docs/guides/mii-chan.md b/docs/guides/mii-chan.md new file mode 100644 index 00000000..3fbc1bee --- /dev/null +++ b/docs/guides/mii-chan.md @@ -0,0 +1 @@ +Docs are in the air. From b58469dde6f865d4c307820db733baa3dba7cacc Mon Sep 17 00:00:00 2001 From: miraai Date: Thu, 4 Aug 2016 00:42:31 +0200 Subject: [PATCH 54/84] Added Guides --- docs/guides/comprehensiveguide.md | 113 +++++++++++++ docs/guides/dockerguide.md | 54 +++++++ docs/guides/fromsource.md | 8 + docs/guides/linuxguide.md | 258 ++++++++++++++++++++++++++++++ docs/guides/macguide.md | 1 + 5 files changed, 434 insertions(+) create mode 100644 docs/guides/comprehensiveguide.md create mode 100644 docs/guides/dockerguide.md create mode 100644 docs/guides/fromsource.md create mode 100644 docs/guides/linuxguide.md create mode 100644 docs/guides/macguide.md diff --git a/docs/guides/comprehensiveguide.md b/docs/guides/comprehensiveguide.md new file mode 100644 index 00000000..9bf594c6 --- /dev/null +++ b/docs/guides/comprehensiveguide.md @@ -0,0 +1,113 @@ +________________________________________________________________________________ +*Thanks to @Flatbread and Mirai for making this guide* +________________________________________________________________________________ + +### Setting Up NadekoBot on Windows +#### Prerequisites +- 1) [NET Framework][NET Framework] 4.5.2 (or 4.6) +- 2) [FFMPEG][FFMPEG] +- 3) Google Account +- 4) Soundcloud Account (if you want soundcloud support) +- 5) [7zip][7zip] (or whatever you are using, WinRar) +- 6) [Notepad++][Notepad++] + +####Guide: + +- Create a folder, name it `Nadeko`. +- Head to [Releases][Releases]* and download `WINDOWS.-.nadeupdater.7z`. +- Copy `WINDOWS.-.nadeupdater.7z` to the `Nadeko` (folder we created before) and extract everything. +- You will see a file `NadekoUpdater.bat ` and a folder `publish ` after extraction. +- Run/Launch/Open the file `NadekoUpdater.bat ` and you will see it running in cmd.exe asking you with **3 options** *1-3*. + - 1) Stable release - current stable release, but might not contain all the newest Nadeko updates. + - 2) Newest release - release with all features/upgrades. + - 3) Exit +- Press `2` on your keyboard and hit `Enter`. Type `y` and hit `Enter` again. Downloading might take a while, so just be patient and wait. When download is done, press `3` on your keyboard and close the updater. +- You should have a new folder named `NadekoBot` inside the `Nadeko` folder we previously created. + +####Creating DiscordBot application +- Go to [DiscordApp][DiscordApp]. +- Log in with your Discord account. +- On the left side, press `New Application`. +- Fill out the `App Name` (your bot's name, in this case), put the image you want, and add an app description(optional). +- Create the application. +- Once the application is created, click on `Create a Bot User` and confirm it. +- Keep this window open for now. + +####Setting up Credentials.json file +- In our `NadekoBot` folder you should have `.json` file named `credentials_example.json`. (Note: If you do not see a **.json** after `credentials_example.json `, do not add the `**.json**`. You most likely have `"Hide file extensions"` enabled.) +- Rename `credentials_example.json` to `credentials.json`. +- Open the file with your [Notepad++][Notepad++]. +- In there you will see fields like `Token`, `ClientId`, `BotId`, `OwnerIDs`. +- In your [DiscordApp][DiscordApp], under `Bot User` part, you will see the `Token:click to reveal` part, click to reveal it. +- Copy your bot's token, and put it between `" "` in your `credentials.json` file. +- Copy `Client ID` and replace it with the example one in your `credentials.json`. +- Copy `Bot ID` and replace it with the example one in your `credentials.json`. +- Save your `credentials.json` but keep it open. We need to put your `User ID` and owner. + +####Inviting your bot to your server [Invite Guide][Invite Guide] +- Create a new server in Discord. +- Copy your `Client ID` from your [DiscordApp][DiscordApp]. +- Replace `12345678` in this link `https://discordapp.com/oauth2/authorize?client_id=12345678&scope=bot&permissions=66186303` with your `Client ID`. +- Link should look like this: `https://discordapp.com/oauth2/authorize?client_id=**YOUR_CLENT_ID**&scope=bot&permissions=66186303`. +- Go to newly created link and pick the server we created, and click `Authorize`. +- Bot should be added to your server. + +####Starting the bot +- Enter your `NadekoBot` folder that should be (hopefully) in your `Nadeko` folder. +- Run `NadekoBot.exe` (Note: There is `NadekoBot.exe` and `NadekoBot.exe.config`, dont run the second one) +- Your bot should now be online in the server we added him to. +- Note: Your bot will be offline in case you close `NadekoBot.exe`. + +####Setting up OwnerIds +- In the server where your bot is, in a text channel, type `.uid` +- Your `User ID` should show, copy it. +- Close `NadekoBot.exe` +- Replace your `User ID` in the `credentials.json` between `[ ]` and save the changes. +- Run `NadekoBot.exe` again. +- Now you are the bot owner. +- You can add `User IDs` from the other users by separating IDs with a comma if you want to have more owners. + +`*Alternatively, you can download nadekobot from [Releases][Releases] and extract the zip yourself. That is what updater does, except it makes it easier for you to update because it doesn't overwrite important files. If you are downloading releases you will have to be careful about your config, credentials, and other files you edited in order to preserve your data every time you update.` + +________________________________________________________________________________ + +#### Setting Up NadekoBot For Music +##### Prerequisites +- 1) [FFMPEG][FFMPEG] installed. +- 2) Setting up API keys. + +- Follow these steps on how to setup Google API keys: + - Go to [Google Console][Google Console] and log in. + - Create a new project (name does not matter). Once the project is created, go into "Enable and manage APIs." + - Under the "Other Popular APIs" section, enable `URL Shortener API` and `Custom Search Api`. Under the `YouTube APIs` section, enable `YouTube Data API`. + - On the left tab, access `Credentials`. Click `Create Credentials` button. Click on `API Key`, and then `Server Key` in the new window that appears. Enter in a name for the `Server Key`. A new window will appear with your `Google API key`. + - Copy the key. + - Open up `credentials.json`. + - For `"GoogleAPIKey"`, fill in with the new key we copied. +- Follow these steps on how to setup Soundcloud API key: + - Go to [Soundcloud][Soundcloud]. + - Enter a name for the app and create it. + - You will see a page with the title of your app, and a field labeled `Client ID`. Copy the ID. + - In `credentials.json`, fill in `"SoundcloudClientID"` with the copied ID. +- Restart your computer. + +##### Prerequisites for manual `ffmpeg` setup: +**Do this step in case you were not able to install `ffmpeg` with the installer.** + +- Create a folder named `ffmpeg` in your main Windows directory. We will use **C:\ffmpeg** (for our guide) +- Download FFMPEG through the link https://ffmpeg.zeranoe.com/builds/ (download static build) +- Extract it using `7zip` and place the folder `ffmpeg-xxxxx-git-xxxxx-xxxx-static` inside **C:\ffmpeg** +- Before proceeding, check out this gif to set up `ffmpeg` PATH correctly http://i.imgur.com/aR5l1Hn.gif *(thanks to PooPeePants#7135)* +- Go to My Computer, right click and select Properties. On the left tab, select Advanced System Settings. Under the Advanced tab, select Environmental Variables near the bottom. One of the variables should be called "Path". Add a semi-colon (;) to the end followed by your FFMPEG's **bin** install location (**for example C:\ffmpeg\ffmpeg-xxxxx-git-xxxxx-xxxx-static\bin**). Save and close. +- Setup your API keys as explained above. +- Restart your computer. + +[NET Framework]: https://www.microsoft.com/en-us/download/details.aspx?id=48130 +[FFMPEG]: https://github.com/Soundofdarkness/FFMPEG-Installer +[7zip]: http://www.7-zip.org/download.html +[Releases]: //github.com/Kwoth/NadekoUpdater/releases/tag/v1.0 +[DiscordApp]: https://discordapp.com/developers/applications/me +[Notepad++]: https://notepad-plus-plus.org/ +[Invite Guide]: http://discord.kongslien.net/guide.html +[Google Console]: https://console.developers.google.com +[Soundcloud]: https://soundcloud.com/you/apps/new diff --git a/docs/guides/dockerguide.md b/docs/guides/dockerguide.md new file mode 100644 index 00000000..0fbf0248 --- /dev/null +++ b/docs/guides/dockerguide.md @@ -0,0 +1,54 @@ +# Docker Guide with DigitalOcean + +#####Prerequisites: +- Digital ocean account (you can use my [reflink][reflink] to support the project and get 10$ after you register) +- [PuTTY][PuTTY] +- A bot account - follow this [guide][guide] +- $5 +- Common sense + +#####Guide +- Click on the create droplet button +![img](http://i.imgur.com/g2ayOcC.png) + +- Pick one click apps and select docker on 14.04 + +![img](http://imgur.com/065Xkme.png) + +- Pick any droplet size you want (5$ will work ok-ish on a few servers) +- Pick location closest to your discord server's location +- Pick a hostname +![img](http://imgur.com/ifPKB6p.png) + +- Click create + +You will get an email from DigitalOcean with your credentials now. + +Open putty and type ip adress **you got in your email** with port 22 + +![img](http://imgur.com/Mh5ehsh.png) + +- Console will open and you will be prompted for a username, type `root`. +- Type in the password you got in the email. +- Confirm the password you just typed in. +- Type in the new password. +- Confirm new password. + +- When you are successfully logged in, type +`docker run --name nadeko -v /nadeko:/config uirel/nadeko` + +- Wait for it to download and at one point it is going to start throwing errors due to `credentials.json` being empty +- CTRL+C to exit that +- Type `docker stop nadeko` +- Type `nano /nadeko/credentials.json` and type in your `credentials` +- CTRL+X then CTRL+Y to save +- Type `docker start nadeko` +- Type `docker logs -f nadeko` to see the console output + +**Your bot is running, enjoy! o/** + +*When you want to update the bot, just type `docker restart nadeko` as it always downloads latest prerelease* + +[reflink]: http://m.do.co/c/46b4d3d44795/ +[PuTTY]: http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html +[guide]: http://discord.kongslien.net/guide.html diff --git a/docs/guides/fromsource.md b/docs/guides/fromsource.md new file mode 100644 index 00000000..df0dfd9e --- /dev/null +++ b/docs/guides/fromsource.md @@ -0,0 +1,8 @@ +###Building from Source +For easy setup and no programming knowledge, you can use [Updater](https://github.com/Kwoth/NadekoUpdater/releases/latest) or download release from [Releases](https://github.com/Kwoth/NadekoBot/releases) and follow the [Comprehensive Guide](https://github.com/Kwoth/NadekoBot/blob/master/ComprehensiveGuide.md) + +In your bin/debug folder (or next to your exe if you are using release version), you must have a file called 'credentials.json' in which you will store all the necessary data to make the bot know who the owner is, and your api keys. + +When you clone the project, make sure to run `git submodule init` and `git submodule update` to get the correct discord.net version + +Make sure you've read ComprehensiveGuide to get a grasp of basic config/credentials setup and then look at "Credentials and config" chapter. \ No newline at end of file diff --git a/docs/guides/linuxguide.md b/docs/guides/linuxguide.md new file mode 100644 index 00000000..cf3be9c9 --- /dev/null +++ b/docs/guides/linuxguide.md @@ -0,0 +1,258 @@ +#Setting up NadekoBot on Linux + +####Setting up NadekoBot on Linux Digital Ocean Droplet +######If you want Nadeko to play music for you 24/7 without having to hosting it on your PC and want to keep it cheap, reliable and convenient as possible, you can try Nadeko on Linux Digital Ocean Droplet using the link [DigitalOcean][DigitalOcean] (and using this link will be supporting Nadeko and will give you **$10 credit**) + +######Keep this helpful video handy [Linux Setup Video][Linux Setup Video] (thanks to klincheR) it contains how to set up the Digital Ocean droplet aswell. + +####Setting up NadekoBot +Assuming you have followed the link above to created an account in Digital Ocean and video to set up the bot until you get the `IP address and root password (in email)` to login, its time to begin. + +#### Prerequisites +- Download [PuTTY][PuTTY] +- Download [CyberDuck][CyberDuck] + +#### Follow these steps + +- **Open PuTTY.exe** that you downloaded before, and paste or enter your `IP address` and then click **Open**. +If you entered your Droplets IP address correctly, it should show **login as:** in a newly opened window. +- Now for **login as:**, type `root` and hit enter. +- It should then, ask for password, type the `root password` you have received in your **email address registered with Digital Ocean**, then hit Enter. + +*(as you are running it for the first time, it will most likely to ask you to change your root password, for that, type the "password you received through email", hit Enter, enter a "new password", hit Enter and confirm that "new password" again.* +**SAVE that new password somewhere safe not just in mind**. After you done that, you are ready to write commands. + +**Copy and just paste** using **mouse right-click** (it should paste automatically) + +######MONO (Source: [Mono Source][Mono Source]) + +**1) Installing Mono** + +`sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF` +`echo "deb http://download.mono-project.com/repo/debian wheezy main" | sudo tee /etc/apt/sources.list.d/mono-xamarin.list` +`sudo apt-get update` + +Note if the command is not being initiated, hit **Enter** + +**2)** + +`echo "deb http://download.mono-project.com/repo/debian wheezy-apache24-compat main" | sudo tee -a /etc/apt/sources.list.d/mono-xamarin.list` + +**2.5)** +*ONLY DEBIAN 8 and later* + +`echo "deb http://download.mono-project.com/repo/debian wheezy-libjpeg62-compat main" | sudo tee -a /etc/apt/sources.list.d/mono-xamarin.list` + +**2.6)** +*ONLY CentOS 7, Fedora 19 (and later)* + +`yum install yum-util` +`rpm --import "http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF"` +`yum-config-manager --add-repo http://download.mono-project.com/repo/centos/` + +**3)** +*Mono Devel* + +`apt-get install mono-devel` + +**Type** `y` **hit Enter** + + +**4)** +Opus Voice Codec + +`sudo apt-get install libopus0 opus-tools` + +**Type** `y` **hit Enter** + +**5)** +`sudo apt-get install libopus-dev` + +**In case you are having issues with Mono where you get a random string and the bot won't run, do this:** + +`sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF` +`echo "deb http://download.mono-project.com/repo/debian wheezy main" | sudo tee /etc/apt/sources.list.d/mono-xamarin.list` +`apt-get install ca-certificates-mono` +`mozroots --import --sync` + + +####FFMPEG + +**6)** +`apt-get install ffmpeg` + +**Type** `y` **hit Enter** + +NOTE: if its "not installing" then, follow the guide here: [FFMPEG Help Guide][FFMPEG Help Guide] + +**All you need to do, if you are running UBUNTU 14.04 is initiate these:** + +`sudo add-apt-repository ppa:mc3man/trusty-media` +`sudo apt-get update` +`sudo apt-get dist-upgrade` + +*Before executing* `sudo apt-get install ffmpeg` + +**If you are running Debian 8 Jessie, please, follow these steps:** + +`wget http://luxcaeli.de/installer.sh && sudo bash installer.sh` (Thanks to Eleria<3) + +In case you are not able to install it with installer ^up there, follow these steps: + +`sudo apt-get update` +`echo "deb http://ftp.debian.org/debian jessie-backports main" | tee /etc/apt/sources.list.d/debian-backports.list` +`sudo apt-get update` +`sudo apt-get install ffmpeg -y` + +####Uncomplicated Firewall UFW + +**7)** +`apt-get install ufw` + +**it is most likely to have it already installed so if you see it is already installed, check with following command, and/or enable it** + +**8)** +`ufw status` + +**9)** +`ufw enable` + +**Type** `y` **hit Enter** + +**10)** +`sudo ufw allow ssh` + + + +**11)** +Unzip + +`apt-get install unzip` + +**12)** +TMUX + +`apt-get install tmux` + +**Type** `y` **hit Enter** + +####Importing certs +**13)** +`certmgr -ssl https://discordapp.com` + +**14)** +`certmgr -ssl https://gateway.discord.gg` + +Type `yes` and hit Enter **(three times - as it will ask for three times)** + + +**15)** +Create a new folder “nadeko” or anything you prefer + +`mkdir nadeko` + +**16)** +Move to “nadeko” folder (note `cd --` to go back the directory) + +`cd nadeko` + +####Getting NadekoBot from Releases + +Go to this link: [Releases][Releases] and **copy the zip file address** of the lalest version available, +it should look like `https://github.com/Kwoth/NadekoBot/releases/download/vx.xx/NadekoBot.vx.x.zip` + +**17)** +Get the correct link, type `wget`, then *paste the link*, then hit **Enter**. + +`wget https://github.com/Kwoth/NadekoBot/releases/download/vx.xx/NadekoBot.vx.x.zip` + +**^Do not copy-paste it** + +**18)** + +Now we need to `unzip` the downloaded zip file and to do that, type the file name as it showed in your screen or just copy from the screen, should be like ` NadekoBot.vx.x.zip` + +`unzip NadekoBot.vx.x.zip` + +**^Do not copy-paste it** + +####Setting up NadekoBot + +- Open **CyberDuck** +- Click on **Open Connection** (top-left corner), a new window should appear. +- You should see **FTP (File Transfer Protocol)** in drop-down. +- Change it to **SFTP (SSH File Transfer Protocol)** +- Now, in **Server:** paste or type in your `Digital Ocean Droplets IP address`, leave `Port: 22` (no need to change it) +- In **Username:** type `root` +- In **Password:** type `the new root password (you changed at the start)` +- Click on **Connect** +- It should show you the new folder you created. +- Open it. + +#####MAKE SURE YOU READ THE README BEFORE PROCEEDING + +- Copy the `credentials_example.json` to desktop +- EDIT it as it is guided here: [Readme][Readme] +- Rename it to `credentials.json` and paste/put it back in the folder. `(Yes, using CyberDuck)` +- You should see two files `credentials_example.json` and `credentials.json` +- Also if you already have nadeko setup and have `credentials.json`, `config.json`, `nadekobot.sqlite`, and `"permissions" folder`, you can just copy and paste it to the Droplets folder using CyberDuck. + +####Running NadekoBot + +Go back to **PuTTY**, `(hope its still running xD)` + +**19)** +Type/ Copy and hit **Enter**. + +`tmux new -s nadeko` + +**^this 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 running PuTTY in the background.` + +`cd nadeko` + +**20)** +`mono NadekoBot.exe` + +**CHECK THE BOT IN DISCORD, IF EVERYTHING IS WORKING** + +Now time to **move bot to background** and to do that, press **CTRL+B+D** (this will ditach the nadeko session using TMUX), and you can finally close PuTTY now. + +Copy your CLIENT ID (that's in the same Developer page where you brought your token) and replace `12345678` in this link: `https://discordapp.com/oauth2/authorize?client_id=12345678&scope=bot&permissions=66186303` with it. Go to that link and you will be able to add your bot to your server. + +**NOW YOU HAVE YOUR OWN NADEKO BOT** `Thanks to Kwoth <3` + +####Some more Info (just in case): + +-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.) + +**21)** +-If you want to **kill** NadekoBot **session**, type `tmux kill-session -t nadeko` + +####How to restart Nadeko with the server (for science) +**22)** +Open **PuTTY** and login as you have before, type `reboot` and hit Enter. + +####Updating Nadeko + +**FOLLOW THESE STEPS SERIALLY** + +- **-21 OR 22** +- **-19** +- **-16** +- **-17** +- **-18** +- **-20** + +HIT **CTRL+B+D** and close **PuTTY** + +`IF YOU FACE ANY TROUBLE ANYWHERE IN THE GUIDE JUST FIND US IN NADEKO'S DISCORD SERVER` + +[PuTTY]: http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html +[CyberDuck]: https://cyberduck.io +[Linux Setup Video]: https://www.youtube.com/watch?v=icV4_WPqPQk&feature=youtu.be +[Releases]: https://github.com/Kwoth/NadekoBot/releases +[Readme]: https://github.com/Kwoth/NadekoBot/blob/master/README.md +[FFMPEG Help Guide]: http://www.faqforge.com/linux/how-to-install-ffmpeg-on-ubuntu-14-04/ +[Mono Source]: http://www.mono-project.com/docs/getting-started/install/linux/ +[DigitalOcean]: http://m.do.co/c/46b4d3d44795/ diff --git a/docs/guides/macguide.md b/docs/guides/macguide.md new file mode 100644 index 00000000..9b73a879 --- /dev/null +++ b/docs/guides/macguide.md @@ -0,0 +1 @@ +##MAC Guide \ No newline at end of file From 6b63f00620c9ee3c9aab49b508ebe2c6147daa93 Mon Sep 17 00:00:00 2001 From: miraai Date: Thu, 4 Aug 2016 00:46:41 +0200 Subject: [PATCH 55/84] name change --- docs/{contributionguide.md => Contribution Guide.md} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename docs/{contributionguide.md => Contribution Guide.md} (80%) diff --git a/docs/contributionguide.md b/docs/Contribution Guide.md similarity index 80% rename from docs/contributionguide.md rename to docs/Contribution Guide.md index 26bbafe8..be1e29a3 100644 --- a/docs/contributionguide.md +++ b/docs/Contribution Guide.md @@ -4,4 +4,4 @@ 2. Keep 1 Pull Request to a single feature 3. Explain what you did in the PR message -Thanks for all the help ^_^ \ No newline at end of file +Thanks for all the help ^_^ From c423a4040aff2814fd4abff76e87d65da7c950b6 Mon Sep 17 00:00:00 2001 From: miraai Date: Thu, 4 Aug 2016 00:47:12 +0200 Subject: [PATCH 56/84] name change --- docs/{customreactions.md => Custom Reactions.md} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename docs/{customreactions.md => Custom Reactions.md} (97%) diff --git a/docs/customreactions.md b/docs/Custom Reactions.md similarity index 97% rename from docs/customreactions.md rename to docs/Custom Reactions.md index 01057582..a4c39f29 100644 --- a/docs/customreactions.md +++ b/docs/Custom Reactions.md @@ -18,4 +18,4 @@ Deletes either whole custom command and all its responses or a single command's For example: `.dcr "hi there"` or `.dcr "hi there" 1`. You can get an index by using `.lcr [page number]` `.lcr [number]` -Prints a list of custom reactions. Paginated. (for example: `.lcr 1` or `.lcr 4`) \ No newline at end of file +Prints a list of custom reactions. Paginated. (for example: `.lcr 1` or `.lcr 4`) From b6d03dc52bbfdb3ad27ca770ff900e9a641cfd40 Mon Sep 17 00:00:00 2001 From: miraai Date: Thu, 4 Aug 2016 00:47:35 +0200 Subject: [PATCH 57/84] name change --- docs/{FAQ.md => Frequently Asked Questions.md} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename docs/{FAQ.md => Frequently Asked Questions.md} (98%) diff --git a/docs/FAQ.md b/docs/Frequently Asked Questions.md similarity index 98% rename from docs/FAQ.md rename to docs/Frequently Asked Questions.md index aed3cb81..7e37722d 100644 --- a/docs/FAQ.md +++ b/docs/Frequently Asked Questions.md @@ -37,4 +37,4 @@ FOLLOW THIS DETAILED GUIDE IF IT IS HARD FOR YOU TO UNDERSTAND http://discord.ko ####Q18: I'm building NadekoBot from source, but I get hundreds of (namespace) errors without changing anything!? A: Using Visual Studio, you can solve these errors by going to Tools -> NuGet Package Manager -> Manage NuGet Packages for Solution. Go to the Installed tab, select the Packages that were missing (usually Newtonsoft.json and RestSharp) and install them for all projects ####Q19: My bot has all permissions but it's still saying, "Failed to add roles. Bot has insufficient permissions.", how do I fix this? -A: Discord has added few new features and roles now follow hierarchy, that means you need to place your bot role above every-other role your server has. Also do NOTE that bot can only set/add all roles below its own highest role. And can not assign it's "highest role" to anyone else. \ No newline at end of file +A: Discord has added few new features and roles now follow hierarchy, that means you need to place your bot role above every-other role your server has. Also do NOTE that bot can only set/add all roles below its own highest role. And can not assign it's "highest role" to anyone else. From 54149286f41edff1a59a919b7da42beeacc96ca2 Mon Sep 17 00:00:00 2001 From: miraai Date: Thu, 4 Aug 2016 00:47:55 +0200 Subject: [PATCH 58/84] name change --- docs/{explanations.md => JSON Explanations.md} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename docs/{explanations.md => JSON Explanations.md} (98%) diff --git a/docs/explanations.md b/docs/JSON Explanations.md similarity index 98% rename from docs/explanations.md rename to docs/JSON Explanations.md index ba41ddac..f650dc1a 100644 --- a/docs/explanations.md +++ b/docs/JSON Explanations.md @@ -35,4 +35,4 @@ - **CarbonKey** - carbonitex.net key if your bot is listed there in order to send stats (probably nobody needs this) Next to your exe you must also have a data folder in which there is config.json (among other things) which will contain some user specific config, like should the Bot join servers, should DMs to bot be forwarded to you and a list of IDs of blacklisted users, channels and servers. If you do not have config.json, you can should config_example.json to config.json. -``` \ No newline at end of file +``` From 65890106ab72ee9c07ba8764a5c0de4d5033e1fe Mon Sep 17 00:00:00 2001 From: miraai Date: Thu, 4 Aug 2016 00:48:34 +0200 Subject: [PATCH 59/84] name change --- docs/{permissions.md => Permissions System.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename docs/{permissions.md => Permissions System.md} (100%) diff --git a/docs/permissions.md b/docs/Permissions System.md similarity index 100% rename from docs/permissions.md rename to docs/Permissions System.md From b7ce7c247eb92b98c7c5b2893df499596fd2489a Mon Sep 17 00:00:00 2001 From: miraai Date: Thu, 4 Aug 2016 00:51:14 +0200 Subject: [PATCH 60/84] name change --- docs/guides/{comprehensiveguide.md => Windows Guide.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename docs/guides/{comprehensiveguide.md => Windows Guide.md} (100%) diff --git a/docs/guides/comprehensiveguide.md b/docs/guides/Windows Guide.md similarity index 100% rename from docs/guides/comprehensiveguide.md rename to docs/guides/Windows Guide.md From 8c34c5aecbed7d88ea2c1618d11151e21708bca8 Mon Sep 17 00:00:00 2001 From: miraai Date: Thu, 4 Aug 2016 00:51:35 +0200 Subject: [PATCH 61/84] name change --- docs/guides/{dockerguide.md => Docker Guide.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename docs/guides/{dockerguide.md => Docker Guide.md} (100%) diff --git a/docs/guides/dockerguide.md b/docs/guides/Docker Guide.md similarity index 100% rename from docs/guides/dockerguide.md rename to docs/guides/Docker Guide.md From b3fcdb809afc98be1ca3aa66922ed9935cbd2cf7 Mon Sep 17 00:00:00 2001 From: miraai Date: Thu, 4 Aug 2016 00:51:51 +0200 Subject: [PATCH 62/84] name change --- docs/guides/{fromsource.md => Building from Source.md} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename docs/guides/{fromsource.md => Building from Source.md} (97%) diff --git a/docs/guides/fromsource.md b/docs/guides/Building from Source.md similarity index 97% rename from docs/guides/fromsource.md rename to docs/guides/Building from Source.md index df0dfd9e..d99971b4 100644 --- a/docs/guides/fromsource.md +++ b/docs/guides/Building from Source.md @@ -5,4 +5,4 @@ In your bin/debug folder (or next to your exe if you are using release version), When you clone the project, make sure to run `git submodule init` and `git submodule update` to get the correct discord.net version -Make sure you've read ComprehensiveGuide to get a grasp of basic config/credentials setup and then look at "Credentials and config" chapter. \ No newline at end of file +Make sure you've read ComprehensiveGuide to get a grasp of basic config/credentials setup and then look at "Credentials and config" chapter. From 83ae8a264d7aa5750aac4b251e86cf1c49c7d654 Mon Sep 17 00:00:00 2001 From: miraai Date: Thu, 4 Aug 2016 00:52:04 +0200 Subject: [PATCH 63/84] name change --- docs/guides/{linuxguide.md => Linux Guide.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename docs/guides/{linuxguide.md => Linux Guide.md} (100%) diff --git a/docs/guides/linuxguide.md b/docs/guides/Linux Guide.md similarity index 100% rename from docs/guides/linuxguide.md rename to docs/guides/Linux Guide.md From 99f4132282987431e6d9849136cdfcdd62850718 Mon Sep 17 00:00:00 2001 From: miraai Date: Thu, 4 Aug 2016 00:52:23 +0200 Subject: [PATCH 64/84] name change --- docs/guides/OSX Guide.md | 1 + docs/guides/macguide.md | 1 - 2 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 docs/guides/OSX Guide.md delete mode 100644 docs/guides/macguide.md diff --git a/docs/guides/OSX Guide.md b/docs/guides/OSX Guide.md new file mode 100644 index 00000000..759887bb --- /dev/null +++ b/docs/guides/OSX Guide.md @@ -0,0 +1 @@ +##MAC Guide diff --git a/docs/guides/macguide.md b/docs/guides/macguide.md deleted file mode 100644 index 9b73a879..00000000 --- a/docs/guides/macguide.md +++ /dev/null @@ -1 +0,0 @@ -##MAC Guide \ No newline at end of file From 98cb5945f162948a578f9c782a9e04c25721cdf2 Mon Sep 17 00:00:00 2001 From: miraai Date: Thu, 4 Aug 2016 00:58:49 +0200 Subject: [PATCH 65/84] mkdocs in root - test --- mkdocs.yml | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 mkdocs.yml diff --git a/mkdocs.yml b/mkdocs.yml new file mode 100644 index 00000000..d0fe64de --- /dev/null +++ b/mkdocs.yml @@ -0,0 +1,18 @@ +site_name: NadekoBot +pages: +- Home: index.md +- About: about.md +- Guides: + - Windows Guide: guides/comprehensiveguide.md + - Linux Guide: guides/linuxguide.md + - OSX Guide: guides/macguide.md + - Building from Source: guides/fromsource.md + - Docker Guide: guides/dockerguide.md +- Commands List: commandlist.md +- Permissions System: permissions.md +- JSON Explanations: explanations.md +- Custom Commands: customreactions.md +- Frequently Asked Questions: FAQ.md +- Contribution Guide: contributionguide.md + +theme: readthedocs \ No newline at end of file From 77b1012168addff1a63f8a8572cdb60ddd887040 Mon Sep 17 00:00:00 2001 From: miraai Date: Thu, 4 Aug 2016 01:02:22 +0200 Subject: [PATCH 66/84] update --- mkdocs.yml | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/mkdocs.yml b/mkdocs.yml index d0fe64de..95d6dc27 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -3,16 +3,16 @@ pages: - Home: index.md - About: about.md - Guides: - - Windows Guide: guides/comprehensiveguide.md - - Linux Guide: guides/linuxguide.md - - OSX Guide: guides/macguide.md - - Building from Source: guides/fromsource.md - - Docker Guide: guides/dockerguide.md + - Windows Guide: guides/Windows Guide.md + - Linux Guide: guides/Linux Guide.md + - OSX Guide: guides/OSX Guide.md + - Building from Source: guides/Building from Source.md + - Docker Guide: guides/Docker Guide.md - Commands List: commandlist.md -- Permissions System: permissions.md -- JSON Explanations: explanations.md -- Custom Commands: customreactions.md -- Frequently Asked Questions: FAQ.md -- Contribution Guide: contributionguide.md +- Permissions System: Permissions System.md +- JSON Explanations: JSON Explanations.md +- Custom Commands: Custom Reactions.md +- Frequently Asked Questions: Frequently Asked Questions.md +- Contribution Guide: Contribution Guide.md -theme: readthedocs \ No newline at end of file +theme: readthedocs From 2ab279870a703f83733dceb3b5a7b0b2c4d072a1 Mon Sep 17 00:00:00 2001 From: miraai Date: Thu, 4 Aug 2016 01:02:37 +0200 Subject: [PATCH 67/84] update --- docs/mkdocs.yml | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/docs/mkdocs.yml b/docs/mkdocs.yml index 6422bb25..95d6dc27 100644 --- a/docs/mkdocs.yml +++ b/docs/mkdocs.yml @@ -3,16 +3,16 @@ pages: - Home: index.md - About: about.md - Guides: - - Windows Guide: guides/comprehensiveguide.md - - Linux Guide: guides/linuxguide.md - - OSX Guide: guides/macguide.md - - Building from Source: guides/fromsource.md - - Docker Guide: guides/dockerguide.md -- Commands List: https://github.com/Kwoth/NadekoBot/blob/master/commandlist.md -- Permissions System: permissions.md -- JSON Explanations: explanations.md -- Custom Commands: customreactions.md -- Frequently Asked Questions: FAQ.md -- Contribution Guide: contributionguide.md + - Windows Guide: guides/Windows Guide.md + - Linux Guide: guides/Linux Guide.md + - OSX Guide: guides/OSX Guide.md + - Building from Source: guides/Building from Source.md + - Docker Guide: guides/Docker Guide.md +- Commands List: commandlist.md +- Permissions System: Permissions System.md +- JSON Explanations: JSON Explanations.md +- Custom Commands: Custom Reactions.md +- Frequently Asked Questions: Frequently Asked Questions.md +- Contribution Guide: Contribution Guide.md theme: readthedocs From 2ec672308a8d57fc66efd3b780d737ffcdcb4bf9 Mon Sep 17 00:00:00 2001 From: miraai Date: Thu, 4 Aug 2016 01:04:21 +0200 Subject: [PATCH 68/84] update --- docs/index.md | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/docs/index.md b/docs/index.md index f22353ac..26156087 100644 --- a/docs/index.md +++ b/docs/index.md @@ -3,14 +3,14 @@ ##Content - [About](about.md) - Guides - - [Windows Guide](guides/comprehensiveguide.md) - - [Linux Guide](guides/linuxguide.md) - - [OSX Guide](guides/macguide.md) - - [Building from Source](guides/fromsource.md) - - [Docker Guide](guides/dockerguide.md) + - [Windows Guide](guides/Windows Guide.md) + - [Linux Guide](guides/Linux Guide.md) + - [OSX Guide](guides/OSX Guide.md) + - [Building from Source](guides/Building from Source.md) + - [Docker Guide](guides/Docker Guide.md) - [Commands List](commandslist.md) -- [Permissions System](permissions.md) -- [JSON Explanations](explanations.md) -- [Custiom Reactions](customreactions.md) -- [Frequently Asked Questions](FAQ.md) -- [Contribution Guide](contributionguide.md) \ No newline at end of file +- [Permissions System](Permissions System.md) +- [JSON Explanations](JSON Explanations.md) +- [Custiom Reactions](Custom Reactions.md) +- [Frequently Asked Questions](Frequently Asked Questions.md) +- [Contribution Guide](Contribution Guide.md) From 145131e7cf4cfb38475cb704642b94c11cbb3645 Mon Sep 17 00:00:00 2001 From: miraai Date: Thu, 4 Aug 2016 01:05:55 +0200 Subject: [PATCH 69/84] Update mkdocs.yml --- mkdocs.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/mkdocs.yml b/mkdocs.yml index 95d6dc27..c3d79c67 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -8,7 +8,6 @@ pages: - OSX Guide: guides/OSX Guide.md - Building from Source: guides/Building from Source.md - Docker Guide: guides/Docker Guide.md -- Commands List: commandlist.md - Permissions System: Permissions System.md - JSON Explanations: JSON Explanations.md - Custom Commands: Custom Reactions.md From 5049f3ac5d7507c662163f7c58f2844c19508b24 Mon Sep 17 00:00:00 2001 From: miraai Date: Thu, 4 Aug 2016 01:06:10 +0200 Subject: [PATCH 70/84] Update mkdocs.yml --- docs/mkdocs.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/docs/mkdocs.yml b/docs/mkdocs.yml index 95d6dc27..c3d79c67 100644 --- a/docs/mkdocs.yml +++ b/docs/mkdocs.yml @@ -8,7 +8,6 @@ pages: - OSX Guide: guides/OSX Guide.md - Building from Source: guides/Building from Source.md - Docker Guide: guides/Docker Guide.md -- Commands List: commandlist.md - Permissions System: Permissions System.md - JSON Explanations: JSON Explanations.md - Custom Commands: Custom Reactions.md From 0341463600b3112f82b0b5d441a45d6a1604b63a Mon Sep 17 00:00:00 2001 From: miraai Date: Thu, 4 Aug 2016 01:06:32 +0200 Subject: [PATCH 71/84] Update index.md --- docs/index.md | 1 - 1 file changed, 1 deletion(-) diff --git a/docs/index.md b/docs/index.md index 26156087..91ebfbe8 100644 --- a/docs/index.md +++ b/docs/index.md @@ -8,7 +8,6 @@ - [OSX Guide](guides/OSX Guide.md) - [Building from Source](guides/Building from Source.md) - [Docker Guide](guides/Docker Guide.md) -- [Commands List](commandslist.md) - [Permissions System](Permissions System.md) - [JSON Explanations](JSON Explanations.md) - [Custiom Reactions](Custom Reactions.md) From 2cbdf64bc1f103646e393d352536adb80dc41869 Mon Sep 17 00:00:00 2001 From: miraai Date: Thu, 4 Aug 2016 01:19:25 +0200 Subject: [PATCH 72/84] Windows Guide fix --- docs/guides/Windows Guide.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/docs/guides/Windows Guide.md b/docs/guides/Windows Guide.md index 9bf594c6..72676be7 100644 --- a/docs/guides/Windows Guide.md +++ b/docs/guides/Windows Guide.md @@ -67,7 +67,10 @@ ________________________________________________________________________________ - Now you are the bot owner. - You can add `User IDs` from the other users by separating IDs with a comma if you want to have more owners. -`*Alternatively, you can download nadekobot from [Releases][Releases] and extract the zip yourself. That is what updater does, except it makes it easier for you to update because it doesn't overwrite important files. If you are downloading releases you will have to be careful about your config, credentials, and other files you edited in order to preserve your data every time you update.` +`*Alternatively, you can download nadekobot from [Releases][Releases] and extract the zip yourself. +That is what updater does, except it makes it easier for you to update because it doesn't overwrite +important files.If you are downloading releases you will have to be careful about your config, +credentials, and other files you edited in order to preserve your data every time you update.` ________________________________________________________________________________ From 97f7a1fe7e4e039fc7b686a9fa6cc57267213283 Mon Sep 17 00:00:00 2001 From: miraai Date: Thu, 4 Aug 2016 01:29:17 +0200 Subject: [PATCH 73/84] Linux Guide fix --- docs/guides/Linux Guide.md | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/docs/guides/Linux Guide.md b/docs/guides/Linux Guide.md index cf3be9c9..52196dc0 100644 --- a/docs/guides/Linux Guide.md +++ b/docs/guides/Linux Guide.md @@ -36,12 +36,14 @@ Note if the command is not being initiated, hit **Enter** **2)** -`echo "deb http://download.mono-project.com/repo/debian wheezy-apache24-compat main" | sudo tee -a /etc/apt/sources.list.d/mono-xamarin.list` +`echo "deb http://download.mono-project.com/repo/debian wheezy-apache24-compat main" | +sudo tee -a /etc/apt/sources.list.d/mono-xamarin.list` **2.5)** *ONLY DEBIAN 8 and later* -`echo "deb http://download.mono-project.com/repo/debian wheezy-libjpeg62-compat main" | sudo tee -a /etc/apt/sources.list.d/mono-xamarin.list` +`echo "deb http://download.mono-project.com/repo/debian wheezy-libjpeg62-compat main" | +sudo tee -a /etc/apt/sources.list.d/mono-xamarin.list` **2.6)** *ONLY CentOS 7, Fedora 19 (and later)* @@ -206,7 +208,8 @@ Type/ Copy and hit **Enter**. `tmux new -s nadeko` -**^this 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 running PuTTY in the background.` +**^this 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 running PuTTY in the background.` `cd nadeko` From 7ac09b1aefab5093459bee1f03c6a3f2c4e3e4cf Mon Sep 17 00:00:00 2001 From: miraai Date: Thu, 4 Aug 2016 01:41:03 +0200 Subject: [PATCH 74/84] Update Building from Source.md --- docs/guides/Building from Source.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/guides/Building from Source.md b/docs/guides/Building from Source.md index d99971b4..16e4eb3a 100644 --- a/docs/guides/Building from Source.md +++ b/docs/guides/Building from Source.md @@ -1,5 +1,5 @@ ###Building from Source -For easy setup and no programming knowledge, you can use [Updater](https://github.com/Kwoth/NadekoUpdater/releases/latest) or download release from [Releases](https://github.com/Kwoth/NadekoBot/releases) and follow the [Comprehensive Guide](https://github.com/Kwoth/NadekoBot/blob/master/ComprehensiveGuide.md) +For easy setup and no programming knowledge, you can use [Updater](https://github.com/Kwoth/NadekoUpdater/releases/latest) or download release from [Releases](https://github.com/Kwoth/NadekoBot/releases) and follow the [Windows Guide](Windows Guide.md) In your bin/debug folder (or next to your exe if you are using release version), you must have a file called 'credentials.json' in which you will store all the necessary data to make the bot know who the owner is, and your api keys. From 62c55c0c3482363ed9ece34d2de23e368c1b58d2 Mon Sep 17 00:00:00 2001 From: miraai Date: Thu, 4 Aug 2016 01:46:50 +0200 Subject: [PATCH 75/84] Windows Guide fix #2 --- docs/guides/Windows Guide.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/guides/Windows Guide.md b/docs/guides/Windows Guide.md index 72676be7..866e22a2 100644 --- a/docs/guides/Windows Guide.md +++ b/docs/guides/Windows Guide.md @@ -44,7 +44,7 @@ ________________________________________________________________________________ - Copy `Bot ID` and replace it with the example one in your `credentials.json`. - Save your `credentials.json` but keep it open. We need to put your `User ID` and owner. -####Inviting your bot to your server [Invite Guide][Invite Guide] +####Inviting your bot to your server - [Invite Guide][Invite Guide] - Create a new server in Discord. - Copy your `Client ID` from your [DiscordApp][DiscordApp]. - Replace `12345678` in this link `https://discordapp.com/oauth2/authorize?client_id=12345678&scope=bot&permissions=66186303` with your `Client ID`. @@ -94,7 +94,7 @@ ________________________________________________________________________________ - In `credentials.json`, fill in `"SoundcloudClientID"` with the copied ID. - Restart your computer. -##### Prerequisites for manual `ffmpeg` setup: +####Prerequisites for manual `ffmpeg` setup: **Do this step in case you were not able to install `ffmpeg` with the installer.** - Create a folder named `ffmpeg` in your main Windows directory. We will use **C:\ffmpeg** (for our guide) From 863723dbde8f3e7032315c46b49f64d07dc85b4b Mon Sep 17 00:00:00 2001 From: miraai Date: Thu, 4 Aug 2016 01:52:54 +0200 Subject: [PATCH 76/84] FAQ fixes --- docs/Frequently Asked Questions.md | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/docs/Frequently Asked Questions.md b/docs/Frequently Asked Questions.md index 7e37722d..56be8a9c 100644 --- a/docs/Frequently Asked Questions.md +++ b/docs/Frequently Asked Questions.md @@ -4,18 +4,18 @@ A: Send her a Direct Message with -h to get the link. Only Server Owners can all ####Q2: I want to change permissions, but it doesn't work D: A: To change permissions, you have to set the ;permsrole (default permission role is called `Nadeko`, you can create a role named like that and assign it to yourself). *Only the owner of the server can change permissions without having this role.* ####Q3: Music doesn't work on a Mac?! -You have to build `mono` from source. . +You have to build `mono` from source - [Mono Source][Mono Source]. ####Q5: I want to disable NSFW on my server, please? A: You would first have to be able to change permissions (see Q4 ), and then run `;sm NSFW disable` ####Q6: How do I get NadekoFlowers/whatever I changed my currency to? A: You get NadekoFlowers by answering Trivia questions or picking them up after they have been generated with `>gc`, which you can then either plant (give away to a channel so that someone can pick it), gamble it with $betflip, $betroll and $jr, or spend on healing and setting your type in the Pokemon game. ####Q7: I have an issue/bug/suggestion, where can I get it noticed? -A: First of all, check https://github.com/Kwoth/NadekoBot/issues and #suggestions for your problem/improvement. If it's not there, create a new issue on https://github.com/Kwoth/NadekoBot/issues. +A: First of all, check [Issues][Issues] and `#suggestions` for your problem/improvement. If it's not there, create a new issue on [Issues][Issues]. ####Q8: How do I use the command XXXX? A: most commands have a description, with a usage guide if required; use -h command, like -h ;pr ####Q9: Music doesn't work!? A: Music on @Nadeko will be re-enabled in the future, but for now your only option is to host yourself -If you are hosting your own bot, make sure ffmpeg is working correctly; running ffmpeg in the commandline should have a response. see https://github.com/Kwoth/NadekoBot/blob/master/ComprehensiveGuide.md#setting-up-nadekobot-for-music for more +If you are hosting your own bot, make sure ffmpeg is working correctly; running ffmpeg in the commandline should have a response. see [Guide](guides/Windows Guide.md) for more ####Q10: My music is still not working/very laggy? A: Try switching server location, try giving the bot permissions on the server you want to use it on. ####Q12: I want to change data in the database (like NadekoFlowers or the pokemontypes of users, but how? @@ -28,13 +28,18 @@ A: `certmgr -ssl https://discordapp.com` `certmgr -ssl https://gateway.discord.gg` ####Q16: I want "BOT" tag with my bot and I can't follow up with Q14, is there a simple way? -A: Yes, you can create an application using your account and use the APP BOT USER TOKEN from here: https://discordapp.com/developers/applications/me +A: Yes, you can create an application using your account and use the APP BOT USER TOKEN from here: [DiscordApp][DiscordApp] NOTE: This will create a new bot account ####Q17: I made an application following Q16, but I can't add that new bot to my server, how do I invite it to my server? -A: You need to use oauth link to add it to you server, just copy your CLIENT ID (that's in the same Developer page where you brought your token) and replace 12345678 in the link below: -https://discordapp.com/oauth2/authorize?client_id=12345678&scope=bot&permissions=66186303 -FOLLOW THIS DETAILED GUIDE IF IT IS HARD FOR YOU TO UNDERSTAND http://discord.kongslien.net/guide.html +A: You need to use oauth link to add it to you server, just copy your CLIENT ID (that's in the same Developer page where you brought your token) and replace `12345678` in the link below: +`https://discordapp.com/oauth2/authorize?client_id=12345678&scope=bot&permissions=66186303` +FOLLOW THIS [DETAILED GUIDE][DETAILED GUIDE] IF IT IS HARD FOR YOU TO UNDERSTAND ####Q18: I'm building NadekoBot from source, but I get hundreds of (namespace) errors without changing anything!? -A: Using Visual Studio, you can solve these errors by going to Tools -> NuGet Package Manager -> Manage NuGet Packages for Solution. Go to the Installed tab, select the Packages that were missing (usually Newtonsoft.json and RestSharp) and install them for all projects +A: Using Visual Studio, you can solve these errors by going to Tools -> `NuGet Package Manager -> Manage NuGet Packages` for Solution. Go to the Installed tab, select the Packages that were missing (usually `Newtonsoft.json` and `RestSharp`) and install them for all projects ####Q19: My bot has all permissions but it's still saying, "Failed to add roles. Bot has insufficient permissions.", how do I fix this? A: Discord has added few new features and roles now follow hierarchy, that means you need to place your bot role above every-other role your server has. Also do NOTE that bot can only set/add all roles below its own highest role. And can not assign it's "highest role" to anyone else. + +[Mono Source]:http://www.mono-project.com/docs/compiling-mono/mac/ +[Issues]: https://github.com/Kwoth/NadekoBot/issues +[DiscordApp]: https://discordapp.com/developers/applications/me +[DETAILED GUIDE]: http://discord.kongslien.net/guide.html From ad89cf35b922ed031e158d374e9b27e6ca5d661d Mon Sep 17 00:00:00 2001 From: miraai Date: Thu, 4 Aug 2016 01:57:28 +0200 Subject: [PATCH 77/84] JSON Explanations fixes --- docs/JSON Explanations.md | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/docs/JSON Explanations.md b/docs/JSON Explanations.md index f650dc1a..08dc4654 100644 --- a/docs/JSON Explanations.md +++ b/docs/JSON Explanations.md @@ -27,12 +27,16 @@ #### Optional - **GoogleAPIKey** - Youtube song search. Playlist queuing. URL Shortener. ~i and ~img. -- **SoundCloudClientID** - Needed in order to queue soundcloud songs from sc links. For the Soundcloud Api key you need a Soundcloud account. You need to create a new app on http://soundcloud.com/you/apps/new and after that go here http://soundcloud.com/you/apps click on the name of your created your app and copy the Client ID. Paste it into credentials.json. -- **MashapeKey** - Urban dictionary, hashtag search, hearthstone cards.You need to create an account on their api marketplace here https://market.mashape.com/. After that you need to go to market.mashape.com/YOURNAMEHERE/applications/default-application and press GET THE KEYS in the right top corner copy paste it into your credentials.json and you are ready to race! -- **LOLAPIKey** - www.champion.gg api key needed for LoL commands +- **SoundCloudClientID** - Needed in order to queue soundcloud songs from sc links. For the Soundcloud Api key you need a Soundcloud account. You need to create a new app on [SoundcloudApp][SoundcloudApp] and after that go here [Your SC Apps][Your SC Apps] click on the name of your created your app and copy the Client ID. Paste it into credentials.json. +- **MashapeKey** - Urban dictionary, hashtag search, hearthstone cards.You need to create an account on their api marketplace here [Mashape][Mashape]. After that you need to go to `market.mashape.com/YOURNAMEHERE/applications/default-application` and press GET THE KEYS in the right top corner copy paste it into your `credentials.json` and you are ready to race! +- **LOLAPIKey** - [Champion.gg][Champion.gg] api key needed for LoL commands - **TrelloAppKey** - Needed for trello commands - **OsuAPIKey** - needed for osu top5 and beatmap commands. - **CarbonKey** - carbonitex.net key if your bot is listed there in order to send stats (probably nobody needs this) -Next to your exe you must also have a data folder in which there is config.json (among other things) which will contain some user specific config, like should the Bot join servers, should DMs to bot be forwarded to you and a list of IDs of blacklisted users, channels and servers. If you do not have config.json, you can should config_example.json to config.json. -``` +Next to your exe you must also have a `data folder` in which there is `config.jso`n (among other things) which will contain some user specific config, like should the Bot join servers, should DMs to bot be forwarded to you and a list of IDs of blacklisted users, channels and servers. If you do not have `config.json`, you can should `config_example.json` to `config.json`. + +[SoundcloudApp]: http://soundcloud.com/you/apps/new +[Your SC Apps]: http://soundcloud.com/you/apps +[Mashape]: https://market.mashape.com/ +[Champion.gg]: www.champion.gg From 79ad67e77fae082cc07d14dd4fba8171c9ee497f Mon Sep 17 00:00:00 2001 From: miraai Date: Thu, 4 Aug 2016 02:01:22 +0200 Subject: [PATCH 78/84] moving --- commandlist.md => docs/commandlist.md | 722 +++++++++++++------------- 1 file changed, 361 insertions(+), 361 deletions(-) rename commandlist.md => docs/commandlist.md (99%) diff --git a/commandlist.md b/docs/commandlist.md similarity index 99% rename from commandlist.md rename to docs/commandlist.md index 4d09a425..eefc3a8d 100644 --- a/commandlist.md +++ b/docs/commandlist.md @@ -2,364 +2,364 @@ ######You can donate on patreon: ######or paypal: `nadekodiscordbot@gmail.com` -#NadekoBot List Of Commands -### Help -Command and aliases | Description | Usage -----------------|--------------|------- -`-h`, `-help`, `@BotName help`, `@BotName h`, `~h` | Either shows a help for a single command, or PMs you help link if no arguments are specified. | `-h !m q` or just `-h` -`-hgit` | Generates the commandlist.md file. **Bot Owner Only!** | `-hgit` -`-readme`, `-guide` | Sends a readme and a guide links to the channel. | `-readme` or `-guide` -`-donate`, `~donate` | Instructions for helping the project! | `-donate` or `~donate` -`-modules`, `.modules` | List all bot modules. | `-modules` or `.modules` -`-commands`, `.commands` | List all of the bot's commands from a certain module. | `-commands` or `.commands` - -### Administration -Command and aliases | Description | Usage -----------------|--------------|------- -`.grdel` | Toggles automatic deletion of greet and bye messages. **Needs Manage Server Permissions.**| `.grdel` -`.greet` | Toggles anouncements on the current channel when someone joins the server. **Needs Manage Server Permissions.**| `.greet` -`.greetmsg` | Sets a new join announcement message. Type %user% if you want to mention the new member. Using it with no message will show the current greet message. **Needs Manage Server Permissions.**| `.greetmsg Welcome to the server, %user%.` -`.bye` | Toggles anouncements on the current channel when someone leaves the server. | `.bye` -`.byemsg` | Sets a new leave announcement message. Type %user% if you want to mention the new member. Using it with no message will show the current bye message. **Needs Manage Server Permissions.**| `.byemsg %user% has left the server.` -`.byepm` | Toggles whether the good bye messages will be sent in a PM or in the text channel. **Needs Manage Server Permissions.**| `.byepm` -`.greetpm` | Toggles whether the greet messages will be sent in a PM or in the text channel. **Needs Manage Server Permissions.**| `.greetpm` -`.spmom` | Toggles whether mentions of other offline users on your server will send a pm to them. **Needs Manage Server Permissions.**| `.spmom` -`.logserver` | Toggles logging in this channel. Logs every message sent/deleted/edited on the server. **Bot Owner Only!** | `.logserver` -`.logignore` | Toggles whether the .logserver command ignores this channel. Useful if you have hidden admin channel and public log channel. **Bot Owner Only!**| `.logignore` -`.userpresence` | Starts logging to this channel when someone from the server goes online/offline/idle. **Needs Manage Server Permissions.**| `.userpresence` -`.voicepresence` | Toggles logging to this channel whenever someone joins or leaves a voice channel you are in right now. **Needs Manage Server Permissions.**| `.voicerpresence` -`.repeatinvoke`, `.repinv` | Immediately shows the repeat message and restarts the timer. **Needs Manage Messages Permissions.**| `.repinv` -`.repeat` | Repeat a message every X minutes. If no parameters are specified, repeat is disabled. **Needs Manage Messages Permissions.** | `.repeat 5 Hello there` -`.rotateplaying`, `.ropl` | Toggles rotation of playing status of the dynamic strings you specified earlier. **Bot Owner Only!** | `.ropl` -`.addplaying`, `.adpl` | Adds a specified string to the list of playing strings to rotate. Supported placeholders: %servers%, %users%, %playing%, %queued%, %trivia% **Bot Owner Only!**| `.adpl` -`.listplaying`, `.lipl` | Lists all playing statuses with their corresponding number. **Bot Owner Only!**| `.lipl` -`.removeplaying`, `.repl`, `.rmpl` | Removes a playing string on a given number. **Bot Owner Only!**| `.rmpl` -`.slowmode` | Toggles slow mode. When ON, users will be able to send only 1 message every 5 seconds. **Needs Manage Messages Permissions.**| `.slowmode` -`.cleanv+t`, `.cv+t` | Deletes all text channels ending in `-voice` for which voicechannels are not found. **Use at your own risk. -Needs Manage Roles and Manage Channels Permissions.** | `.cleanv+t` -`.voice+text`, `.v+t` | Creates a text channel for each voice channel only users in that voice channel can see.If you are server owner, keep in mind you will see them all the time regardless. **Needs Manage Roles and Manage Channels Permissions.**| `.voice+text` -`.scsc` | Starts an instance of cross server channel. You will get a token as a DM that other people will use to tune in to the same instance. **Bot Owner Only.** | `.scsc` -`.jcsc` | Joins current channel to an instance of cross server channel using the token. **Needs Manage Server Permissions.**| `.jcsc` -`.lcsc` | Leaves Cross server channel instance from this channel. **Needs Manage Server Permissions.**| `.lcsc` -`.asar` | Adds a role, or list of roles separated by whitespace(use quotations for multiword roles) to the list of self-assignable roles. **Needs Manage Roles Permissions.**| `.asar Gamer` -`.rsar` | Removes a specified role from the list of self-assignable roles. | `.rsar` -`.lsar` | Lists all self-assignable roles. | `.lsar` -`.togglexclsar`, `.tesar` | toggle whether the self-assigned roles should be exclusive | `.tesar` -`.iam` | Adds a role to you that you choose. Role must be on a list of self-assignable roles. | `.iam Gamer` -`.iamnot`, `.iamn` | Removes a role to you that you choose. Role must be on a list of self-assignable roles. | `.iamn Gamer` -`.addcustreact`, `.acr` | Add a custom reaction. Guide here: **Bot Owner Only!** | `.acr "hello" I love saying hello to %user%` -`.listcustreact`, `.lcr` | Lists custom reactions (paginated with 30 commands per page). Use 'all' instead of page number to get all custom reactions DM-ed to you. | `.lcr 1` -`.showcustreact`, `.scr` | Shows all possible responses from a single custom reaction. | `.scr %mention% bb` -`.editcustreact`, `.ecr` | Edits a custom reaction, arguments are custom reactions name, index to change, and a (multiword) message **Bot Owner Only** | `.ecr "%mention% disguise" 2 Test 123` -`.delcustreact`, `.dcr` | Deletes a custom reaction with given name (and index). **Bot Owner Only.**| `.dcr index` -`.autoassignrole`, `.aar` | Automaticaly assigns a specified role to every user who joins the server. **Needs Manage Roles Permissions.** | `.aar` to disable, `.aar Role Name` to enable -`.leave` | Makes Nadeko leave the server. Either name or id required. **Bot Owner Only!**| `.leave 123123123331` -`.listincidents`, `.lin` | List all UNREAD incidents and flags them as read. **Needs Manage Server Permissions.**| `.lin` -`.listallincidents`, `.lain` | Sends you a file containing all incidents and flags them as read. **Needs Manage Server Permissions.**| `.lain` -`.delmsgoncmd` | Toggles the automatic deletion of user's successful command message to prevent chat flood. **Server Manager Only.** | `.delmsgoncmd` -`.restart` | Restarts the bot. Might not work. **Bot Owner Only** | `.restart` -`.setrole`, `.sr` | Sets a role for a given user. **Needs Manage Roles Permissions.**| `.sr @User Guest` -`.removerole`, `.rr` | Removes a role from a given user. **Needs Manage Roles Permissions.**| `.rr @User Admin` -`.renamerole`, `.renr` | Renames a role. Roles you are renaming must be lower than bot's highest role. **Manage Roles Permissions.** | `.renr "First role" SecondRole` -`.removeallroles`, `.rar` | Removes all roles from a mentioned user. **Needs Manage Roles Permissions.**| `.rar @User` -`.createrole`, `.cr` | Creates a role with a given name. **Needs Manage Roles Permissions.**| `.cr Awesome Role` -`.rolecolor`, `.rc` | Set a role's color to the hex or 0-255 rgb color value provided. **Needs Manage Roles Permissions.** | `.rc Admin 255 200 100` or `.rc Admin ffba55` -`.ban`, `.b` | Bans a user by id or name with an optional message. **Needs Ban Permissions.**| `.b "@some Guy" Your behaviour is toxic.` -`.softban`, `.sb` | Bans and then unbans a user by id or name with an optional message. **Needs Ban Permissions.**| `.sb "@some Guy" Your behaviour is toxic.` -`.kick`, `.k` | Kicks a mentioned user. **Needs Kick Permissions.**| `.k "@some Guy" Your behaviour is toxic.` -`.mute` | Mutes mentioned user or users. **Needs Mute Permissions.**| `.mute "@Someguy"` or `.mute "@Someguy" "@Someguy"` -`.unmute` | Unmutes mentioned user or users. **Needs Mute Permissions.**| `.unmute "@Someguy"` or `.unmute "@Someguy" "@Someguy"` -`.deafen`, `.deaf` | Deafens mentioned user or users. **Needs Deafen Permissions.**| `.deaf "@Someguy"` or `.deaf "@Someguy" "@Someguy"` -`.undeafen`, `.undef` | Undeafens mentioned user or users. **Needs Deafen Permissions.** | `.undef "@Someguy"` or `.undef "@Someguy" "@Someguy"` -`.delvoichanl`, `.dvch` | Deletes a voice channel with a given name. **Needs Manage Channel Permissions.**| `.dvch VoiceChannelName` -`.creatvoichanl`, `.cvch` | Creates a new voice channel with a given name. **Needs Manage Channel Permissions.** | `.cvch VoiceChannelName` -`.deltxtchanl`, `.dtch` | Deletes a text channel with a given name. **Needs Manage Channel Permissions.** | `.dtch TextChannelName` -`.creatxtchanl`, `.ctch` | Creates a new text channel with a given name. **Needs Manage Channel Permissions.** | `.ctch TextChannelName` -`.settopic`, `.st` | Sets a topic on the current channel. **Needs Manage Channel Permissions.** | `.st My new topic` -`.setchanlname`, `.schn` | Changed the name of the current channel. **Needs Manage Channel Permissions.**| `.schn NewName` -`.heap` | Shows allocated memory - **Bot Owner Only!** | `.heap` -`.prune`, `.clr` | `.prune` removes all nadeko's messages in the last 100 messages.`.prune X` removes last X messages from the channel (up to 100)`.prune @Someone` removes all Someone's messages in the last 100 messages.`.prune @Someone X` removes last X 'Someone's' messages in the channel. | `.prune` or `.prune 5` or `.prune @Someone` or `.prune @Someone X` -`.die` | Shuts the bot down and notifies users about the restart. **Bot Owner Only!** | `.die` -`.setname`, `.newnm` | Give the bot a new name. **Bot Owner Only!** | .newnm BotName -`.newavatar`, `.setavatar` | Sets a new avatar image for the NadekoBot. Argument is a direct link to an image. **Bot Owner Only!** | `.setavatar https://i.ytimg.com/vi/WDudkR1eTMM/maxresdefault.jpg` -`.setgame` | Sets the bots game. **Bot Owner Only!** | `.setgame Playing with kwoth` -`.send` | Send a message to someone on a different server through the bot. **Bot Owner Only!** | `.send serverid|u:user_id Send this to a user!` or `.send serverid|c:channel_id Send this to a channel!` -`.mentionrole`, `.menro` | Mentions every person from the provided role or roles (separated by a ',') on this server. Requires you to have mention everyone permission. | `.menro RoleName` -`.unstuck` | Clears the message queue. **Bot Owner Only!** | `.unstuck` -`.donators` | List of lovely people who donated to keep this project alive. | `.donators` -`.donadd` | Add a donator to the database. **Kwoth Only** | `.donadd Donate Amount` -`.announce` | Sends a message to all servers' general channel bot is connected to.**Bot Owner Only!** | `.announce Useless spam` -`.savechat` | Saves a number of messages to a text file and sends it to you. **Bot Owner Only** | `.savechat 150` - -### Utility -Command and aliases | Description | Usage -----------------|--------------|------- -`.remind` | Sends a message to you or a channel after certain amount of time. First argument is me/here/'channelname'. Second argument is time in a descending order (mo>w>d>h>m) example: 1w5d3h10m. Third argument is a (multiword)message. | `.remind me 1d5h Do something` or `.remind #general Start now!` -`.remindmsg` | Sets message for when the remind is triggered. Available placeholders are %user% - user who ran the command, %message% - Message specified in the remind, %target% - target channel of the remind. **Bot Owner Only!** | `.remindmsg do something else` -`.serverinfo`, `.sinfo` | Shows info about the server the bot is on. If no channel is supplied, it defaults to current one. | `.sinfo Some Server` -`.channelinfo`, `.cinfo` | Shows info about the channel. If no channel is supplied, it defaults to current one. | `.cinfo #some-channel` -`.userinfo`, `.uinfo` | Shows info about the user. If no user is supplied, it defaults a user running the command. | `.uinfo @SomeUser` -`.whoplays` | Shows a list of users who are playing the specified game. | `.whoplays Overwatch` -`.inrole` | Lists every person from the provided role or roles (separated by a ',') on this server. If the list is too long for 1 message, you must have Manage Messages permission. | `.inrole Role` -`.checkmyperms` | Checks your userspecific permissions on this channel. | `.checkmyperms` -`.stats` | Shows some basic stats for Nadeko. | `.stats` -`.dysyd` | Shows some basic stats for Nadeko. | `.dysyd` -`.userid`, `.uid` | Shows user ID. | `.uid` or `.uid "@SomeGuy"` -`.channelid`, `.cid` | Shows current channel ID. | `.cid` -`.serverid`, `.sid` | Shows current server ID. | `.sid` -`.roles` | List all roles on this server or a single user if specified. | `.roles` -`.channeltopic`, `.ct` | Sends current channel's topic as a message. | `.ct` - -### Permissions -Command and aliases | Description | Usage -----------------|--------------|------- -`;chnlfilterinv`, `;cfi` | Enables or disables automatic deleting of invites on the channel.If no channel supplied, it will default to current one. Use ALL to apply to all existing channels at once. | `;cfi enable #general-chat` -`;srvrfilterinv`, `;sfi` | Enables or disables automatic deleting of invites on the server. | `;sfi disable` -`;chnlfilterwords`, `;cfw` | Enables or disables automatic deleting of messages containing banned words on the channel.If no channel supplied, it will default to current one. Use ALL to apply to all existing channels at once. | `;cfw enable #general-chat` -`;addfilterword`, `;afw` | Adds a new word to the list of filtered words | `;afw poop` -`;rmvfilterword`, `;rfw` | Removes the word from the list of filtered words | `;rw poop` -`;lstfilterwords`, `;lfw` | Shows a list of filtered words | `;lfw` -`;srvrfilterwords`, `;sfw` | Enables or disables automatic deleting of messages containing forbidden words on the server. | `;sfw disable` -`;permrole`, `;pr` | Sets a role which can change permissions. Or supply no parameters to find out the current one. Default one is 'Nadeko'. | `;pr role` -`;rolepermscopy`, `;rpc` | Copies BOT PERMISSIONS (not discord permissions) from one role to another. | `;rpc Some Role ~ Some other role` -`;chnlpermscopy`, `;cpc` | Copies BOT PERMISSIONS (not discord permissions) from one channel to another. | `;cpc Some Channel ~ Some other channel` -`;usrpermscopy`, `;upc` | Copies BOT PERMISSIONS (not discord permissions) from one role to another. | `;upc @SomeUser ~ @SomeOtherUser` -`;verbose`, `;v` | Sets whether to show when a command/module is blocked. | `;verbose true` -`;srvrperms`, `;sp` | Shows banned permissions for this server. | `;sp` -`;roleperms`, `;rp` | Shows banned permissions for a certain role. No argument means for everyone. | `;rp AwesomeRole` -`;chnlperms`, `;cp` | Shows banned permissions for a certain channel. No argument means for this channel. | `;cp #dev` -`;userperms`, `;up` | Shows banned permissions for a certain user. No argument means for yourself. | `;up Kwoth` -`;srvrmdl`, `;sm` | Sets a module's permission at the server level. | `;sm "module name" enable` -`;srvrcmd`, `;sc` | Sets a command's permission at the server level. | `;sc "command name" disable` -`;rolemdl`, `;rm` | Sets a module's permission at the role level. | `;rm "module name" enable MyRole` -`;rolecmd`, `;rc` | Sets a command's permission at the role level. | `;rc "command name" disable MyRole` -`;chnlmdl`, `;cm` | Sets a module's permission at the channel level. | `;cm "module name" enable SomeChannel` -`;chnlcmd`, `;cc` | Sets a command's permission at the channel level. | `;cc "command name" enable SomeChannel` -`;usrmdl`, `;um` | Sets a module's permission at the user level. | `;um "module name" enable SomeUsername` -`;usrcmd`, `;uc` | Sets a command's permission at the user level. | `;uc "command name" enable SomeUsername` -`;allsrvrmdls`, `;asm` | Sets permissions for all modules at the server level. | `;asm [enable/disable]` -`;allsrvrcmds`, `;asc` | Sets permissions for all commands from a certain module at the server level. | `;asc "module name" [enable/disable]` -`;allchnlmdls`, `;acm` | Sets permissions for all modules at the channel level. | `;acm [enable/disable] SomeChannel` -`;allchnlcmds`, `;acc` | Sets permissions for all commands from a certain module at the channel level. | `;acc "module name" [enable/disable] SomeChannel` -`;allrolemdls`, `;arm` | Sets permissions for all modules at the role level. | `;arm [enable/disable] MyRole` -`;allrolecmds`, `;arc` | Sets permissions for all commands from a certain module at the role level. | `;arc "module name" [enable/disable] MyRole` -`;ubl` | Blacklists a mentioned user. | `;ubl [user_mention]` -`;uubl` | Unblacklists a mentioned user. | `;uubl [user_mention]` -`;cbl` | Blacklists a mentioned channel (#general for example). | `;cbl #some_channel` -`;cubl` | Unblacklists a mentioned channel (#general for example). | `;cubl #some_channel` -`;sbl` | Blacklists a server by a name or id (#general for example). **BOT OWNER ONLY** | `;sbl [servername/serverid]` -`;cmdcooldown`, `;cmdcd` | Sets a cooldown per user for a command. Set 0 to clear. | `;cmdcd "some cmd" 5` -`;allcmdcooldowns`, `;acmdcds` | Shows a list of all commands and their respective cooldowns. | `;acmdcds` - -### Conversations -Command and aliases | Description | Usage -----------------|--------------|------- -`..` | Adds a new quote with the specified name (single word) and message (no limit). | `.. abc My message` -`...` | Shows a random quote with a specified name. | `... abc` -`..qdel`, `..quotedelete` | Deletes all quotes with the specified keyword. You have to either be bot owner or the creator of the quote to delete it. | `..qdel abc` -`@BotName rip` | Shows a grave image of someone with a start year | `@NadekoBot rip @Someone 2000` -`@BotName die` | Works only for the owner. Shuts the bot down. | `@NadekoBot die` -`@BotName do you love me` | Replies with positive answer only to the bot owner. | `@NadekoBot do you love me` -`@BotName how are you`, `@BotName how are you?` | Replies positive only if bot owner is online. | `@NadekoBot how are you` -`@BotName fire` | Shows a unicode fire message. Optional parameter [x] tells her how many times to repeat the fire. | `@NadekoBot fire [x]` -`@BotName dump` | Dumps all of the invites it can to dump.txt.** Owner Only.** | `@NadekoBot dump` -`@BotName ab` | Try to get 'abalabahaha'| `@NadekoBot ab` - -### Gambling -Command and aliases | Description | Usage -----------------|--------------|------- -`$draw` | Draws a card from the deck.If you supply number [x], she draws up to 5 cards from the deck. | `$draw [x]` -`$shuffle`, `$sh` | Reshuffles all cards back into the deck.|`$shuffle` -`$flip` | Flips coin(s) - heads or tails, and shows an image. | `$flip` or `$flip 3` -`$betflip`, `$bf` | Bet to guess will the result be heads or tails. Guessing award you double flowers you've bet. | `$bf 5 heads` or `$bf 3 t` -`$roll` | Rolls 0-100. If you supply a number [x] it rolls up to 30 normal dice. If you split 2 numbers with letter d (xdy) it will roll x dice from 1 to y. | `$roll` or `$roll 7` or `$roll 3d5` -`$rolluo` | Rolls 0-100. If you supply a number [x] it rolls up to 30 normal dice (unordered). If you split 2 numbers with letter d (xdy) it will roll x dice from 1 to y. | `$roll` or `$roll` 7 or `$roll 3d5` -`$nroll` | Rolls in a given range. | `$nroll 5` (rolls 0-5) or `$nroll 5-15` -`$race` | Starts a new animal race. | `$race` -`$joinrace`, `$jr` | Joins a new race. You can specify an amount of flowers for betting (optional). You will get YourBet*(participants-1) back if you win. | `$jr` or `$jr 5` -`$raffle` | Prints a name and ID of a random user from the online list from the (optional) role. | `$raffle` or `$raffle RoleName` -`$$$` | Check how much NadekoFlowers a person has. (Defaults to yourself) | `$$$` or `$$$ @Someone` -`$give` | Give someone a certain amount of NadekoFlowers|`$give 1 "@SomeGuy"` -`$award` | Gives someone a certain amount of flowers. **Bot Owner Only!** | `$award 100 @person` -`$take` | Takes a certain amount of flowers from someone. **Bot Owner Only!** | `$take 1 "@someguy"` -`$betroll`, `$br` | Bets a certain amount of NadekoFlowers and rolls a dice. Rolling over 66 yields x2 flowers, over 90 - x3 and 100 x10. | `$br 5` -`$leaderboard`, `$lb` | Displays bot currency leaderboard | `$lb` - -### Games -Command and aliases | Description | Usage -----------------|--------------|------- -`>t` | Starts a game of trivia. You can add nohint to prevent hints.First player to get to 10 points wins by default. You can specify a different number. 30 seconds per question. | `>t nohint` or `>t 5 nohint` -`>tl` | Shows a current trivia leaderboard. | `>tl` -`>tq` | Quits current trivia after current question. | `>tq` -`>typestart` | Starts a typing contest. | `>typestart` -`>typestop` | Stops a typing contest on the current channel. | `>typestop` -`>typeadd` | Adds a new article to the typing contest. Owner only. | `>typeadd wordswords` -`>poll` | Creates a poll, only person who has manage server permission can do it. | `>poll Question?;Answer1;Answ 2;A_3` -`>pollend` | Stops active poll on this server and prints the results in this channel. | `>pollend` -`>pick` | Picks a flower planted in this channel. | `>pick` -`>plant` | Spend a flower to plant it in this channel. (If bot is restarted or crashes, flower will be lost) | `>plant` -`>gencurrency`, `>gc` | Toggles currency generation on this channel. Every posted message will have 2% chance to spawn a NadekoFlower. Optional parameter cooldown time in minutes, 5 minutes by default. Requires Manage Messages permission. | `>gc` or `>gc 60` -`>leet` | Converts a text to leetspeak with 6 (1-6) severity levels | `>leet 3 Hello` -`>choose` | Chooses a thing from a list of things | `>choose Get up;Sleep;Sleep more` -`>8ball` | Ask the 8ball a yes/no question. | `>8ball should i do something` -`>rps` | Play a game of rocket paperclip scissors with Nadeko. | `>rps scissors` -`>linux` | Prints a customizable Linux interjection | `>linux Spyware Windows` - -### Music -Command and aliases | Description | Usage -----------------|--------------|------- -`!!next`, `!!n`, `!!skip` | Goes to the next song in the queue. You have to be in the same voice channel as the bot. | `!!n` -`!!stop`, `!!s` | Stops the music and clears the playlist. Stays in the channel. | `!!s` -`!!destroy`, `!!d` | Completely stops the music and unbinds the bot from the channel. (may cause weird behaviour) | `!!d` -`!!pause`, `!!p` | Pauses or Unpauses the song. | `!!p` -`!!queue`, `!!q`, `!!yq` | Queue a song using keywords or a link. Bot will join your voice channel.**You must be in a voice channel**. | `!!q Dream Of Venice` -`!!soundcloudqueue`, `!!sq` | Queue a soundcloud song using keywords. Bot will join your voice channel.**You must be in a voice channel**. | `!!sq Dream Of Venice` -`!!listqueue`, `!!lq` | Lists 15 currently queued songs per page. Default page is 1. | `!!lq` or `!!lq 2` -`!!nowplaying`, `!!np` | Shows the song currently playing. | `!!np` -`!!volume`, `!!vol` | Sets the music volume 0-100% | `!!vol 50` -`!!defvol`, `!!dv` | Sets the default music volume when music playback is started (0-100). Persists through restarts. | `!!dv 80` -`!!mute`, `!!min` | Sets the music volume to 0% | `!!min` -`!!max` | Sets the music volume to 100%. | `!!max` -`!!half` | Sets the music volume to 50%. | `!!half` -`!!shuffle`, `!!sh` | Shuffles the current playlist. | `!!sh` -`!!playlist`, `!!pl` | Queues up to 500 songs from a youtube playlist specified by a link, or keywords. | `!!pl playlist link or name` -`!!soundcloudpl`, `!!scpl` | Queue a soundcloud playlist using a link. | `!!scpl https://soundcloud.com/saratology/sets/symphony` -`!!localplaylst`, `!!lopl` | Queues all songs from a directory. **Bot Owner Only!** | `!!lopl C:/music/classical` -`!!radio`, `!!ra` | Queues a radio stream from a link. It can be a direct mp3 radio stream, .m3u, .pls .asx or .xspf (Usage Video: ) | `!!ra radio link here` -`!!local`, `!!lo` | Queues a local file by specifying a full path. **Bot Owner Only!** | `!!lo C:/music/mysong.mp3` -`!!move`, `!!mv` | Moves the bot to your voice channel. (works only if music is already playing) | `!!mv` -`!!remove`, `!!rm` | Remove a song by its # in the queue, or 'all' to remove whole queue. | `!!rm 5` -`!!movesong`, `!!ms` | Moves a song from one position to another. | `!! ms` 5>3 -`!!setmaxqueue`, `!!smq` | Sets a maximum queue size. Supply 0 or no argument to have no limit. | `!!smq` 50 or `!!smq` -`!!cleanup` | Cleans up hanging voice connections. **Bot Owner Only!** | `!!cleanup` -`!!reptcursong`, `!!rcs` | Toggles repeat of current song. | `!!rcs` -`!!rpeatplaylst`, `!!rpl` | Toggles repeat of all songs in the queue (every song that finishes is added to the end of the queue). | `!!rpl` -`!!save` | Saves a playlist under a certain name. Name must be no longer than 20 characters and mustn't contain dashes. | `!!save classical1` -`!!load` | Loads a playlist under a certain name. | `!!load classical-1` -`!!playlists`, `!!pls` | Lists all playlists. Paginated. 20 per page. Default page is 0. | `!!pls 1` -`!!deleteplaylist`, `!!delpls` | Deletes a saved playlist. Only if you made it or if you are the bot owner. | `!!delpls animu-5` -`!!goto` | Goes to a specific time in seconds in a song. | `!!goto 30` -`!!getlink`, `!!gl` | Shows a link to the song in the queue by index, or the currently playing song by default. | `!!gl` -`!!autoplay`, `!!ap` | Toggles autoplay - When the song is finished, automatically queue a related youtube song. (Works only for youtube songs and when queue is empty) | `!!ap` - -### Searches -Command and aliases | Description | Usage -----------------|--------------|------- -`~lolchamp` | Shows League Of Legends champion statistics. If there are spaces/apostrophes or in the name - omit them. Optional second parameter is a role. | `~lolchamp Riven` or `~lolchamp Annie sup` -`~lolban` | Shows top 6 banned champions ordered by ban rate. Ban these champions and you will be Plat 5 in no time. | `~lolban` -`~hitbox`, `~hb` | Notifies this channel when a certain user starts streaming. | `~hitbox SomeStreamer` -`~twitch`, `~tw` | Notifies this channel when a certain user starts streaming. | `~twitch SomeStreamer` -`~beam`, `~bm` | Notifies this channel when a certain user starts streaming. | `~beam SomeStreamer` -`~checkhitbox`, `~chhb` | Checks if a certain user is streaming on the hitbox platform. | `~chhb SomeStreamer` -`~checktwitch`, `~chtw` | Checks if a certain user is streaming on the twitch platform. | `~chtw SomeStreamer` -`~checkbeam`, `~chbm` | Checks if a certain user is streaming on the beam platform. | `~chbm SomeStreamer` -`~removestream`, `~rms` | Removes notifications of a certain streamer on this channel. | `~rms SomeGuy` -`~liststreams`, `~ls` | Lists all streams you are following on this server. | `~ls` -`~convert` | Convert quantities from>to. | `~convert m>km 1000` -`~convertlist` | List of the convertable dimensions and currencies. -`~wowjoke` | Get one of Kwoth's penultimate WoW jokes. | `~wowjoke` -`~calculate`, `~calc` | Evaluate a mathematical expression. | `~calc 1+1` -`~osu` | Shows osu stats for a player. | `~osu Name` or `~osu Name taiko` -`~osu b` | Shows information about an osu beatmap. | `~osu b` https://osu.ppy.sh/s/127712 -`~osu top5` | Displays a user's top 5 plays. | `~osu top5 Name` -`~pokemon`, `~poke` | Searches for a pokemon. | `~poke Sylveon` -`~pokemonability`, `~pokeab` | Searches for a pokemon ability. | `~pokeab "water gun"` -`~memelist` | Pulls a list of memes you can use with `~memegen` from http://memegen.link/templates/ | `~memelist` -`~memegen` | Generates a meme from memelist with top and bottom text. | `~memegen biw "gets iced coffee" "in the winter"` -`~we` | Shows weather data for a specified city and a country. BOTH ARE REQUIRED. Use country abbrevations. | `~we Moscow RF` -`~yt` | Searches youtubes and shows the first result | `~yt query` -`~ani`, `~anime`, `~aq` | Queries anilist for an anime and shows the first result. | `~aq aquarion evol` -`~imdb` | Queries imdb for movies or series, show first result. | `~imdb Batman vs Superman` -`~mang`, `~manga`, `~mq` | Queries anilist for a manga and shows the first result. | `~mq Shingeki no kyojin` -`~randomcat`, `~meow` | Shows a random cat image. | `~meow` -`~randomdog`, `~woof` | Shows a random dog image. | `~woof` -`~i` | Pulls the first image found using a search parameter. Use ~ir for different results. | `~i cute kitten` -`~ir` | Pulls a random image using a search parameter. | `~ir cute kitten` -`~lmgtfy` | Google something for an idiot. | `~lmgtfy query` -`~google`, `~g` | Get a google search link for some terms. | `~google query` -`~hs` | Searches for a Hearthstone card and shows its image. Takes a while to complete. | `~hs Ysera` -`~ud` | Searches Urban Dictionary for a word. | `~ud Pineapple` -`~#` | Searches Tagdef.com for a hashtag. | `~# ff` -`~quote` | Shows a random quote. | `~quote` -`~catfact` | Shows a random catfact from | `~catfact` -`~yomama`, `~ym` | Shows a random joke from | `~ym` -`~randjoke`, `~rj` | Shows a random joke from | `~rj` -`~chucknorris`, `~cn` | Shows a random chucknorris joke from | `~cn` -`~magicitem`, `~mi` | Shows a random magicitem from | `~mi` -`~revav` | Returns a google reverse image search for someone's avatar. | `~revav "@SomeGuy"` -`~revimg` | Returns a google reverse image search for an image from a link. | `~revav Image link` -`~safebooru` | Shows a random image from safebooru with a given tag. Tag is optional but preffered. (multiple tags are appended with +) | `~safebooru yuri+kissing` -`~wiki` | Gives you back a wikipedia link | `~wiki query` -`~clr` | Shows you what color corresponds to that hex. | `~clr 00ff00` -`~videocall` | Creates a private video call link for you and other mentioned people. The link is sent to mentioned people via a private message. | `~videocall "@SomeGuy"` -`~av`, `~avatar` | Shows a mentioned person's avatar. | `~av "@SomeGuy"` - -### NSFW -Command and aliases | Description | Usage -----------------|--------------|------- -`~hentai` | Shows a random NSFW hentai image from gelbooru and danbooru with a given tag. Tag is optional but preffered. (multiple tags are appended with +) | `~hentai yuri+kissing` -`~danbooru` | Shows a random hentai image from danbooru with a given tag. Tag is optional but preffered. (multiple tags are appended with +) | `~danbooru yuri+kissing` -`~gelbooru` | Shows a random hentai image from gelbooru with a given tag. Tag is optional but preffered. (multiple tags are appended with +) | `~gelbooru yuri+kissing` -`~rule34` | Shows a random image from rule34.xx with a given tag. Tag is optional but preffered. (multiple tags are appended with +) | `~rule34 yuri+kissing` -`~e621` | Shows a random hentai image from e621.net with a given tag. Tag is optional but preffered. Use spaces for multiple tags. | `~e621 yuri kissing` -`~cp` | We all know where this will lead you to. | `~cp` -`~boobs` | Real adult content. | `~boobs` -`~butts`, `~ass`, `~butt` | Real adult content. | `~butts` or `~ass` - -### ClashOfClans -Command and aliases | Description | Usage -----------------|--------------|------- -`,createwar`, `,cw` | Creates a new war by specifying a size (>10 and multiple of 5) and enemy clan name. | `,cw 15 The Enemy Clan` -`,startwar`, `,sw` | Starts a war with a given number. | `,sw 15` -`,listwar`, `,lw` | Shows the active war claims by a number. Shows all wars in a short way if no number is specified. | `,lw [war_number] or ,lw` -`,claim`, `,call`, `,c` | Claims a certain base from a certain war. You can supply a name in the third optional argument to claim in someone else's place. | `,call [war_number] [base_number] [optional_other_name]` -`,claimfinish`, `,cf`, `,cf3`, `,claimfinish3` | Finish your claim with 3 stars if you destroyed a base. Optional second argument finishes for someone else. | `,cf [war_number] [optional_other_name]` -`,claimfinish2`, `,cf2` | Finish your claim with 2 stars if you destroyed a base. Optional second argument finishes for someone else. | `,cf [war_number] [optional_other_name]` -`,claimfinish1`, `,cf1` | Finish your claim with 1 stars if you destroyed a base. Optional second argument finishes for someone else. | `,cf [war_number] [optional_other_name]` -`,unclaim`, `,uncall`, `,uc` | Removes your claim from a certain war. Optional second argument denotes a person in whose place to unclaim | `,uc [war_number] [optional_other_name]` -`,endwar`, `,ew` | Ends the war with a given index. | `,ew [war_number]` - -### Pokegame -Command and aliases | Description | Usage -----------------|--------------|------- -`>attack` | Attacks a target with the given move. Use `>movelist` to see a list of moves your type can use. | `>attack "vine whip" @someguy` -`>movelist`, `>ml` | Lists the moves you are able to use | `>ml` -`>heal` | Heals someone. Revives those who fainted. Costs a NadekoFlower | `>heal @someone` -`>type` | Get the poketype of the target. | `>type @someone` -`>settype` | Set your poketype. Costs a NadekoFlower. | `>settype fire` - -### Translator -Command and aliases | Description | Usage -----------------|--------------|------- -`~translate`, `~trans` | Translates from>to text. From the given language to the destiation language. | `~trans en>fr Hello` -`~translangs` | List the valid languages for translation. | `~translangs` or `~translangs language` - -### Customreactions -Command and aliases | Description | Usage -----------------|--------------|------- -`\o\` | Custom reaction. | `\o\` -`/o/` | Custom reaction. | `/o/` -`moveto` | Custom reaction. | `moveto` -`comeatmebro` | Custom reaction. | `comeatmebro` -`e` | Custom reaction. | `e` -`@BotName insult`, `<@!116275390695079945> insult` | Custom reaction. | `%mention% insult` -`@BotName praise`, `<@!116275390695079945> praise` | Custom reaction. | `%mention% praise` -`@BotName pat`, `<@!116275390695079945> pat` | Custom reaction. | `%mention% pat` -`@BotName cry`, `<@!116275390695079945> cry` | Custom reaction. | `%mention% cry` -`@BotName are you real?`, `<@!116275390695079945> are you real?` | Custom reaction. | `%mention% are you real?` -`@BotName are you there?`, `<@!116275390695079945> are you there?` | Custom reaction. | `%mention% are you there?` -`@BotName draw`, `<@!116275390695079945> draw` | Custom reaction. | `%mention% draw` -`@BotName bb`, `<@!116275390695079945> bb` | Custom reaction. | `%mention% bb` -`@BotName call`, `<@!116275390695079945> call` | Custom reaction. | `%mention% call` -`@BotName disguise`, `<@!116275390695079945> disguise` | Custom reaction. | `%mention% disguise` -`@BotName inv`, `<@!116275390695079945> inv` | Custom reaction. | `%mention% inv` -`@BotName threaten`, `<@!116275390695079945> threaten` | Custom reaction. | `%mention% threaten` -`@BotName archer`, `<@!116275390695079945> archer` | Custom reaction. | `%mention% archer` - -### Trello -Command and aliases | Description | Usage -----------------|--------------|------- -`trello bind` | Bind a trello bot to a single channel. You will receive notifications from your board when something is added or edited. **Bot Owner Only!**| `trello bind [board_id]` -`trello unbind` | Unbinds a bot from the channel and board. **Bot Owner Only!**| `trello unbind` -`trello lists`, `trello list` | Lists all lists, yo ;) **Bot Owner Only!**| `trello list` -`trello cards` | Lists all cards from the supplied list. You can supply either a name or an index. **Bot Owner Only!**| `trello cards index` +#NadekoBot List Of Commands +### Help +Command and aliases | Description | Usage +----------------|--------------|------- +`-h`, `-help`, `@BotName help`, `@BotName h`, `~h` | Either shows a help for a single command, or PMs you help link if no arguments are specified. | `-h !m q` or just `-h` +`-hgit` | Generates the commandlist.md file. **Bot Owner Only!** | `-hgit` +`-readme`, `-guide` | Sends a readme and a guide links to the channel. | `-readme` or `-guide` +`-donate`, `~donate` | Instructions for helping the project! | `-donate` or `~donate` +`-modules`, `.modules` | List all bot modules. | `-modules` or `.modules` +`-commands`, `.commands` | List all of the bot's commands from a certain module. | `-commands` or `.commands` + +### Administration +Command and aliases | Description | Usage +----------------|--------------|------- +`.grdel` | Toggles automatic deletion of greet and bye messages. **Needs Manage Server Permissions.**| `.grdel` +`.greet` | Toggles anouncements on the current channel when someone joins the server. **Needs Manage Server Permissions.**| `.greet` +`.greetmsg` | Sets a new join announcement message. Type %user% if you want to mention the new member. Using it with no message will show the current greet message. **Needs Manage Server Permissions.**| `.greetmsg Welcome to the server, %user%.` +`.bye` | Toggles anouncements on the current channel when someone leaves the server. | `.bye` +`.byemsg` | Sets a new leave announcement message. Type %user% if you want to mention the new member. Using it with no message will show the current bye message. **Needs Manage Server Permissions.**| `.byemsg %user% has left the server.` +`.byepm` | Toggles whether the good bye messages will be sent in a PM or in the text channel. **Needs Manage Server Permissions.**| `.byepm` +`.greetpm` | Toggles whether the greet messages will be sent in a PM or in the text channel. **Needs Manage Server Permissions.**| `.greetpm` +`.spmom` | Toggles whether mentions of other offline users on your server will send a pm to them. **Needs Manage Server Permissions.**| `.spmom` +`.logserver` | Toggles logging in this channel. Logs every message sent/deleted/edited on the server. **Bot Owner Only!** | `.logserver` +`.logignore` | Toggles whether the .logserver command ignores this channel. Useful if you have hidden admin channel and public log channel. **Bot Owner Only!**| `.logignore` +`.userpresence` | Starts logging to this channel when someone from the server goes online/offline/idle. **Needs Manage Server Permissions.**| `.userpresence` +`.voicepresence` | Toggles logging to this channel whenever someone joins or leaves a voice channel you are in right now. **Needs Manage Server Permissions.**| `.voicerpresence` +`.repeatinvoke`, `.repinv` | Immediately shows the repeat message and restarts the timer. **Needs Manage Messages Permissions.**| `.repinv` +`.repeat` | Repeat a message every X minutes. If no parameters are specified, repeat is disabled. **Needs Manage Messages Permissions.** | `.repeat 5 Hello there` +`.rotateplaying`, `.ropl` | Toggles rotation of playing status of the dynamic strings you specified earlier. **Bot Owner Only!** | `.ropl` +`.addplaying`, `.adpl` | Adds a specified string to the list of playing strings to rotate. Supported placeholders: %servers%, %users%, %playing%, %queued%, %trivia% **Bot Owner Only!**| `.adpl` +`.listplaying`, `.lipl` | Lists all playing statuses with their corresponding number. **Bot Owner Only!**| `.lipl` +`.removeplaying`, `.repl`, `.rmpl` | Removes a playing string on a given number. **Bot Owner Only!**| `.rmpl` +`.slowmode` | Toggles slow mode. When ON, users will be able to send only 1 message every 5 seconds. **Needs Manage Messages Permissions.**| `.slowmode` +`.cleanv+t`, `.cv+t` | Deletes all text channels ending in `-voice` for which voicechannels are not found. **Use at your own risk. +Needs Manage Roles and Manage Channels Permissions.** | `.cleanv+t` +`.voice+text`, `.v+t` | Creates a text channel for each voice channel only users in that voice channel can see.If you are server owner, keep in mind you will see them all the time regardless. **Needs Manage Roles and Manage Channels Permissions.**| `.voice+text` +`.scsc` | Starts an instance of cross server channel. You will get a token as a DM that other people will use to tune in to the same instance. **Bot Owner Only.** | `.scsc` +`.jcsc` | Joins current channel to an instance of cross server channel using the token. **Needs Manage Server Permissions.**| `.jcsc` +`.lcsc` | Leaves Cross server channel instance from this channel. **Needs Manage Server Permissions.**| `.lcsc` +`.asar` | Adds a role, or list of roles separated by whitespace(use quotations for multiword roles) to the list of self-assignable roles. **Needs Manage Roles Permissions.**| `.asar Gamer` +`.rsar` | Removes a specified role from the list of self-assignable roles. | `.rsar` +`.lsar` | Lists all self-assignable roles. | `.lsar` +`.togglexclsar`, `.tesar` | toggle whether the self-assigned roles should be exclusive | `.tesar` +`.iam` | Adds a role to you that you choose. Role must be on a list of self-assignable roles. | `.iam Gamer` +`.iamnot`, `.iamn` | Removes a role to you that you choose. Role must be on a list of self-assignable roles. | `.iamn Gamer` +`.addcustreact`, `.acr` | Add a custom reaction. Guide here: **Bot Owner Only!** | `.acr "hello" I love saying hello to %user%` +`.listcustreact`, `.lcr` | Lists custom reactions (paginated with 30 commands per page). Use 'all' instead of page number to get all custom reactions DM-ed to you. | `.lcr 1` +`.showcustreact`, `.scr` | Shows all possible responses from a single custom reaction. | `.scr %mention% bb` +`.editcustreact`, `.ecr` | Edits a custom reaction, arguments are custom reactions name, index to change, and a (multiword) message **Bot Owner Only** | `.ecr "%mention% disguise" 2 Test 123` +`.delcustreact`, `.dcr` | Deletes a custom reaction with given name (and index). **Bot Owner Only.**| `.dcr index` +`.autoassignrole`, `.aar` | Automaticaly assigns a specified role to every user who joins the server. **Needs Manage Roles Permissions.** | `.aar` to disable, `.aar Role Name` to enable +`.leave` | Makes Nadeko leave the server. Either name or id required. **Bot Owner Only!**| `.leave 123123123331` +`.listincidents`, `.lin` | List all UNREAD incidents and flags them as read. **Needs Manage Server Permissions.**| `.lin` +`.listallincidents`, `.lain` | Sends you a file containing all incidents and flags them as read. **Needs Manage Server Permissions.**| `.lain` +`.delmsgoncmd` | Toggles the automatic deletion of user's successful command message to prevent chat flood. **Server Manager Only.** | `.delmsgoncmd` +`.restart` | Restarts the bot. Might not work. **Bot Owner Only** | `.restart` +`.setrole`, `.sr` | Sets a role for a given user. **Needs Manage Roles Permissions.**| `.sr @User Guest` +`.removerole`, `.rr` | Removes a role from a given user. **Needs Manage Roles Permissions.**| `.rr @User Admin` +`.renamerole`, `.renr` | Renames a role. Roles you are renaming must be lower than bot's highest role. **Manage Roles Permissions.** | `.renr "First role" SecondRole` +`.removeallroles`, `.rar` | Removes all roles from a mentioned user. **Needs Manage Roles Permissions.**| `.rar @User` +`.createrole`, `.cr` | Creates a role with a given name. **Needs Manage Roles Permissions.**| `.cr Awesome Role` +`.rolecolor`, `.rc` | Set a role's color to the hex or 0-255 rgb color value provided. **Needs Manage Roles Permissions.** | `.rc Admin 255 200 100` or `.rc Admin ffba55` +`.ban`, `.b` | Bans a user by id or name with an optional message. **Needs Ban Permissions.**| `.b "@some Guy" Your behaviour is toxic.` +`.softban`, `.sb` | Bans and then unbans a user by id or name with an optional message. **Needs Ban Permissions.**| `.sb "@some Guy" Your behaviour is toxic.` +`.kick`, `.k` | Kicks a mentioned user. **Needs Kick Permissions.**| `.k "@some Guy" Your behaviour is toxic.` +`.mute` | Mutes mentioned user or users. **Needs Mute Permissions.**| `.mute "@Someguy"` or `.mute "@Someguy" "@Someguy"` +`.unmute` | Unmutes mentioned user or users. **Needs Mute Permissions.**| `.unmute "@Someguy"` or `.unmute "@Someguy" "@Someguy"` +`.deafen`, `.deaf` | Deafens mentioned user or users. **Needs Deafen Permissions.**| `.deaf "@Someguy"` or `.deaf "@Someguy" "@Someguy"` +`.undeafen`, `.undef` | Undeafens mentioned user or users. **Needs Deafen Permissions.** | `.undef "@Someguy"` or `.undef "@Someguy" "@Someguy"` +`.delvoichanl`, `.dvch` | Deletes a voice channel with a given name. **Needs Manage Channel Permissions.**| `.dvch VoiceChannelName` +`.creatvoichanl`, `.cvch` | Creates a new voice channel with a given name. **Needs Manage Channel Permissions.** | `.cvch VoiceChannelName` +`.deltxtchanl`, `.dtch` | Deletes a text channel with a given name. **Needs Manage Channel Permissions.** | `.dtch TextChannelName` +`.creatxtchanl`, `.ctch` | Creates a new text channel with a given name. **Needs Manage Channel Permissions.** | `.ctch TextChannelName` +`.settopic`, `.st` | Sets a topic on the current channel. **Needs Manage Channel Permissions.** | `.st My new topic` +`.setchanlname`, `.schn` | Changed the name of the current channel. **Needs Manage Channel Permissions.**| `.schn NewName` +`.heap` | Shows allocated memory - **Bot Owner Only!** | `.heap` +`.prune`, `.clr` | `.prune` removes all nadeko's messages in the last 100 messages.`.prune X` removes last X messages from the channel (up to 100)`.prune @Someone` removes all Someone's messages in the last 100 messages.`.prune @Someone X` removes last X 'Someone's' messages in the channel. | `.prune` or `.prune 5` or `.prune @Someone` or `.prune @Someone X` +`.die` | Shuts the bot down and notifies users about the restart. **Bot Owner Only!** | `.die` +`.setname`, `.newnm` | Give the bot a new name. **Bot Owner Only!** | .newnm BotName +`.newavatar`, `.setavatar` | Sets a new avatar image for the NadekoBot. Argument is a direct link to an image. **Bot Owner Only!** | `.setavatar https://i.ytimg.com/vi/WDudkR1eTMM/maxresdefault.jpg` +`.setgame` | Sets the bots game. **Bot Owner Only!** | `.setgame Playing with kwoth` +`.send` | Send a message to someone on a different server through the bot. **Bot Owner Only!** | `.send serverid|u:user_id Send this to a user!` or `.send serverid|c:channel_id Send this to a channel!` +`.mentionrole`, `.menro` | Mentions every person from the provided role or roles (separated by a ',') on this server. Requires you to have mention everyone permission. | `.menro RoleName` +`.unstuck` | Clears the message queue. **Bot Owner Only!** | `.unstuck` +`.donators` | List of lovely people who donated to keep this project alive. | `.donators` +`.donadd` | Add a donator to the database. **Kwoth Only** | `.donadd Donate Amount` +`.announce` | Sends a message to all servers' general channel bot is connected to.**Bot Owner Only!** | `.announce Useless spam` +`.savechat` | Saves a number of messages to a text file and sends it to you. **Bot Owner Only** | `.savechat 150` + +### Utility +Command and aliases | Description | Usage +----------------|--------------|------- +`.remind` | Sends a message to you or a channel after certain amount of time. First argument is me/here/'channelname'. Second argument is time in a descending order (mo>w>d>h>m) example: 1w5d3h10m. Third argument is a (multiword)message. | `.remind me 1d5h Do something` or `.remind #general Start now!` +`.remindmsg` | Sets message for when the remind is triggered. Available placeholders are %user% - user who ran the command, %message% - Message specified in the remind, %target% - target channel of the remind. **Bot Owner Only!** | `.remindmsg do something else` +`.serverinfo`, `.sinfo` | Shows info about the server the bot is on. If no channel is supplied, it defaults to current one. | `.sinfo Some Server` +`.channelinfo`, `.cinfo` | Shows info about the channel. If no channel is supplied, it defaults to current one. | `.cinfo #some-channel` +`.userinfo`, `.uinfo` | Shows info about the user. If no user is supplied, it defaults a user running the command. | `.uinfo @SomeUser` +`.whoplays` | Shows a list of users who are playing the specified game. | `.whoplays Overwatch` +`.inrole` | Lists every person from the provided role or roles (separated by a ',') on this server. If the list is too long for 1 message, you must have Manage Messages permission. | `.inrole Role` +`.checkmyperms` | Checks your userspecific permissions on this channel. | `.checkmyperms` +`.stats` | Shows some basic stats for Nadeko. | `.stats` +`.dysyd` | Shows some basic stats for Nadeko. | `.dysyd` +`.userid`, `.uid` | Shows user ID. | `.uid` or `.uid "@SomeGuy"` +`.channelid`, `.cid` | Shows current channel ID. | `.cid` +`.serverid`, `.sid` | Shows current server ID. | `.sid` +`.roles` | List all roles on this server or a single user if specified. | `.roles` +`.channeltopic`, `.ct` | Sends current channel's topic as a message. | `.ct` + +### Permissions +Command and aliases | Description | Usage +----------------|--------------|------- +`;chnlfilterinv`, `;cfi` | Enables or disables automatic deleting of invites on the channel.If no channel supplied, it will default to current one. Use ALL to apply to all existing channels at once. | `;cfi enable #general-chat` +`;srvrfilterinv`, `;sfi` | Enables or disables automatic deleting of invites on the server. | `;sfi disable` +`;chnlfilterwords`, `;cfw` | Enables or disables automatic deleting of messages containing banned words on the channel.If no channel supplied, it will default to current one. Use ALL to apply to all existing channels at once. | `;cfw enable #general-chat` +`;addfilterword`, `;afw` | Adds a new word to the list of filtered words | `;afw poop` +`;rmvfilterword`, `;rfw` | Removes the word from the list of filtered words | `;rw poop` +`;lstfilterwords`, `;lfw` | Shows a list of filtered words | `;lfw` +`;srvrfilterwords`, `;sfw` | Enables or disables automatic deleting of messages containing forbidden words on the server. | `;sfw disable` +`;permrole`, `;pr` | Sets a role which can change permissions. Or supply no parameters to find out the current one. Default one is 'Nadeko'. | `;pr role` +`;rolepermscopy`, `;rpc` | Copies BOT PERMISSIONS (not discord permissions) from one role to another. | `;rpc Some Role ~ Some other role` +`;chnlpermscopy`, `;cpc` | Copies BOT PERMISSIONS (not discord permissions) from one channel to another. | `;cpc Some Channel ~ Some other channel` +`;usrpermscopy`, `;upc` | Copies BOT PERMISSIONS (not discord permissions) from one role to another. | `;upc @SomeUser ~ @SomeOtherUser` +`;verbose`, `;v` | Sets whether to show when a command/module is blocked. | `;verbose true` +`;srvrperms`, `;sp` | Shows banned permissions for this server. | `;sp` +`;roleperms`, `;rp` | Shows banned permissions for a certain role. No argument means for everyone. | `;rp AwesomeRole` +`;chnlperms`, `;cp` | Shows banned permissions for a certain channel. No argument means for this channel. | `;cp #dev` +`;userperms`, `;up` | Shows banned permissions for a certain user. No argument means for yourself. | `;up Kwoth` +`;srvrmdl`, `;sm` | Sets a module's permission at the server level. | `;sm "module name" enable` +`;srvrcmd`, `;sc` | Sets a command's permission at the server level. | `;sc "command name" disable` +`;rolemdl`, `;rm` | Sets a module's permission at the role level. | `;rm "module name" enable MyRole` +`;rolecmd`, `;rc` | Sets a command's permission at the role level. | `;rc "command name" disable MyRole` +`;chnlmdl`, `;cm` | Sets a module's permission at the channel level. | `;cm "module name" enable SomeChannel` +`;chnlcmd`, `;cc` | Sets a command's permission at the channel level. | `;cc "command name" enable SomeChannel` +`;usrmdl`, `;um` | Sets a module's permission at the user level. | `;um "module name" enable SomeUsername` +`;usrcmd`, `;uc` | Sets a command's permission at the user level. | `;uc "command name" enable SomeUsername` +`;allsrvrmdls`, `;asm` | Sets permissions for all modules at the server level. | `;asm [enable/disable]` +`;allsrvrcmds`, `;asc` | Sets permissions for all commands from a certain module at the server level. | `;asc "module name" [enable/disable]` +`;allchnlmdls`, `;acm` | Sets permissions for all modules at the channel level. | `;acm [enable/disable] SomeChannel` +`;allchnlcmds`, `;acc` | Sets permissions for all commands from a certain module at the channel level. | `;acc "module name" [enable/disable] SomeChannel` +`;allrolemdls`, `;arm` | Sets permissions for all modules at the role level. | `;arm [enable/disable] MyRole` +`;allrolecmds`, `;arc` | Sets permissions for all commands from a certain module at the role level. | `;arc "module name" [enable/disable] MyRole` +`;ubl` | Blacklists a mentioned user. | `;ubl [user_mention]` +`;uubl` | Unblacklists a mentioned user. | `;uubl [user_mention]` +`;cbl` | Blacklists a mentioned channel (#general for example). | `;cbl #some_channel` +`;cubl` | Unblacklists a mentioned channel (#general for example). | `;cubl #some_channel` +`;sbl` | Blacklists a server by a name or id (#general for example). **BOT OWNER ONLY** | `;sbl [servername/serverid]` +`;cmdcooldown`, `;cmdcd` | Sets a cooldown per user for a command. Set 0 to clear. | `;cmdcd "some cmd" 5` +`;allcmdcooldowns`, `;acmdcds` | Shows a list of all commands and their respective cooldowns. | `;acmdcds` + +### Conversations +Command and aliases | Description | Usage +----------------|--------------|------- +`..` | Adds a new quote with the specified name (single word) and message (no limit). | `.. abc My message` +`...` | Shows a random quote with a specified name. | `... abc` +`..qdel`, `..quotedelete` | Deletes all quotes with the specified keyword. You have to either be bot owner or the creator of the quote to delete it. | `..qdel abc` +`@BotName rip` | Shows a grave image of someone with a start year | `@NadekoBot rip @Someone 2000` +`@BotName die` | Works only for the owner. Shuts the bot down. | `@NadekoBot die` +`@BotName do you love me` | Replies with positive answer only to the bot owner. | `@NadekoBot do you love me` +`@BotName how are you`, `@BotName how are you?` | Replies positive only if bot owner is online. | `@NadekoBot how are you` +`@BotName fire` | Shows a unicode fire message. Optional parameter [x] tells her how many times to repeat the fire. | `@NadekoBot fire [x]` +`@BotName dump` | Dumps all of the invites it can to dump.txt.** Owner Only.** | `@NadekoBot dump` +`@BotName ab` | Try to get 'abalabahaha'| `@NadekoBot ab` + +### Gambling +Command and aliases | Description | Usage +----------------|--------------|------- +`$draw` | Draws a card from the deck.If you supply number [x], she draws up to 5 cards from the deck. | `$draw [x]` +`$shuffle`, `$sh` | Reshuffles all cards back into the deck.|`$shuffle` +`$flip` | Flips coin(s) - heads or tails, and shows an image. | `$flip` or `$flip 3` +`$betflip`, `$bf` | Bet to guess will the result be heads or tails. Guessing award you double flowers you've bet. | `$bf 5 heads` or `$bf 3 t` +`$roll` | Rolls 0-100. If you supply a number [x] it rolls up to 30 normal dice. If you split 2 numbers with letter d (xdy) it will roll x dice from 1 to y. | `$roll` or `$roll 7` or `$roll 3d5` +`$rolluo` | Rolls 0-100. If you supply a number [x] it rolls up to 30 normal dice (unordered). If you split 2 numbers with letter d (xdy) it will roll x dice from 1 to y. | `$roll` or `$roll` 7 or `$roll 3d5` +`$nroll` | Rolls in a given range. | `$nroll 5` (rolls 0-5) or `$nroll 5-15` +`$race` | Starts a new animal race. | `$race` +`$joinrace`, `$jr` | Joins a new race. You can specify an amount of flowers for betting (optional). You will get YourBet*(participants-1) back if you win. | `$jr` or `$jr 5` +`$raffle` | Prints a name and ID of a random user from the online list from the (optional) role. | `$raffle` or `$raffle RoleName` +`$$$` | Check how much NadekoFlowers a person has. (Defaults to yourself) | `$$$` or `$$$ @Someone` +`$give` | Give someone a certain amount of NadekoFlowers|`$give 1 "@SomeGuy"` +`$award` | Gives someone a certain amount of flowers. **Bot Owner Only!** | `$award 100 @person` +`$take` | Takes a certain amount of flowers from someone. **Bot Owner Only!** | `$take 1 "@someguy"` +`$betroll`, `$br` | Bets a certain amount of NadekoFlowers and rolls a dice. Rolling over 66 yields x2 flowers, over 90 - x3 and 100 x10. | `$br 5` +`$leaderboard`, `$lb` | Displays bot currency leaderboard | `$lb` + +### Games +Command and aliases | Description | Usage +----------------|--------------|------- +`>t` | Starts a game of trivia. You can add nohint to prevent hints.First player to get to 10 points wins by default. You can specify a different number. 30 seconds per question. | `>t nohint` or `>t 5 nohint` +`>tl` | Shows a current trivia leaderboard. | `>tl` +`>tq` | Quits current trivia after current question. | `>tq` +`>typestart` | Starts a typing contest. | `>typestart` +`>typestop` | Stops a typing contest on the current channel. | `>typestop` +`>typeadd` | Adds a new article to the typing contest. Owner only. | `>typeadd wordswords` +`>poll` | Creates a poll, only person who has manage server permission can do it. | `>poll Question?;Answer1;Answ 2;A_3` +`>pollend` | Stops active poll on this server and prints the results in this channel. | `>pollend` +`>pick` | Picks a flower planted in this channel. | `>pick` +`>plant` | Spend a flower to plant it in this channel. (If bot is restarted or crashes, flower will be lost) | `>plant` +`>gencurrency`, `>gc` | Toggles currency generation on this channel. Every posted message will have 2% chance to spawn a NadekoFlower. Optional parameter cooldown time in minutes, 5 minutes by default. Requires Manage Messages permission. | `>gc` or `>gc 60` +`>leet` | Converts a text to leetspeak with 6 (1-6) severity levels | `>leet 3 Hello` +`>choose` | Chooses a thing from a list of things | `>choose Get up;Sleep;Sleep more` +`>8ball` | Ask the 8ball a yes/no question. | `>8ball should i do something` +`>rps` | Play a game of rocket paperclip scissors with Nadeko. | `>rps scissors` +`>linux` | Prints a customizable Linux interjection | `>linux Spyware Windows` + +### Music +Command and aliases | Description | Usage +----------------|--------------|------- +`!!next`, `!!n`, `!!skip` | Goes to the next song in the queue. You have to be in the same voice channel as the bot. | `!!n` +`!!stop`, `!!s` | Stops the music and clears the playlist. Stays in the channel. | `!!s` +`!!destroy`, `!!d` | Completely stops the music and unbinds the bot from the channel. (may cause weird behaviour) | `!!d` +`!!pause`, `!!p` | Pauses or Unpauses the song. | `!!p` +`!!queue`, `!!q`, `!!yq` | Queue a song using keywords or a link. Bot will join your voice channel.**You must be in a voice channel**. | `!!q Dream Of Venice` +`!!soundcloudqueue`, `!!sq` | Queue a soundcloud song using keywords. Bot will join your voice channel.**You must be in a voice channel**. | `!!sq Dream Of Venice` +`!!listqueue`, `!!lq` | Lists 15 currently queued songs per page. Default page is 1. | `!!lq` or `!!lq 2` +`!!nowplaying`, `!!np` | Shows the song currently playing. | `!!np` +`!!volume`, `!!vol` | Sets the music volume 0-100% | `!!vol 50` +`!!defvol`, `!!dv` | Sets the default music volume when music playback is started (0-100). Persists through restarts. | `!!dv 80` +`!!mute`, `!!min` | Sets the music volume to 0% | `!!min` +`!!max` | Sets the music volume to 100%. | `!!max` +`!!half` | Sets the music volume to 50%. | `!!half` +`!!shuffle`, `!!sh` | Shuffles the current playlist. | `!!sh` +`!!playlist`, `!!pl` | Queues up to 500 songs from a youtube playlist specified by a link, or keywords. | `!!pl playlist link or name` +`!!soundcloudpl`, `!!scpl` | Queue a soundcloud playlist using a link. | `!!scpl https://soundcloud.com/saratology/sets/symphony` +`!!localplaylst`, `!!lopl` | Queues all songs from a directory. **Bot Owner Only!** | `!!lopl C:/music/classical` +`!!radio`, `!!ra` | Queues a radio stream from a link. It can be a direct mp3 radio stream, .m3u, .pls .asx or .xspf (Usage Video: ) | `!!ra radio link here` +`!!local`, `!!lo` | Queues a local file by specifying a full path. **Bot Owner Only!** | `!!lo C:/music/mysong.mp3` +`!!move`, `!!mv` | Moves the bot to your voice channel. (works only if music is already playing) | `!!mv` +`!!remove`, `!!rm` | Remove a song by its # in the queue, or 'all' to remove whole queue. | `!!rm 5` +`!!movesong`, `!!ms` | Moves a song from one position to another. | `!! ms` 5>3 +`!!setmaxqueue`, `!!smq` | Sets a maximum queue size. Supply 0 or no argument to have no limit. | `!!smq` 50 or `!!smq` +`!!cleanup` | Cleans up hanging voice connections. **Bot Owner Only!** | `!!cleanup` +`!!reptcursong`, `!!rcs` | Toggles repeat of current song. | `!!rcs` +`!!rpeatplaylst`, `!!rpl` | Toggles repeat of all songs in the queue (every song that finishes is added to the end of the queue). | `!!rpl` +`!!save` | Saves a playlist under a certain name. Name must be no longer than 20 characters and mustn't contain dashes. | `!!save classical1` +`!!load` | Loads a playlist under a certain name. | `!!load classical-1` +`!!playlists`, `!!pls` | Lists all playlists. Paginated. 20 per page. Default page is 0. | `!!pls 1` +`!!deleteplaylist`, `!!delpls` | Deletes a saved playlist. Only if you made it or if you are the bot owner. | `!!delpls animu-5` +`!!goto` | Goes to a specific time in seconds in a song. | `!!goto 30` +`!!getlink`, `!!gl` | Shows a link to the song in the queue by index, or the currently playing song by default. | `!!gl` +`!!autoplay`, `!!ap` | Toggles autoplay - When the song is finished, automatically queue a related youtube song. (Works only for youtube songs and when queue is empty) | `!!ap` + +### Searches +Command and aliases | Description | Usage +----------------|--------------|------- +`~lolchamp` | Shows League Of Legends champion statistics. If there are spaces/apostrophes or in the name - omit them. Optional second parameter is a role. | `~lolchamp Riven` or `~lolchamp Annie sup` +`~lolban` | Shows top 6 banned champions ordered by ban rate. Ban these champions and you will be Plat 5 in no time. | `~lolban` +`~hitbox`, `~hb` | Notifies this channel when a certain user starts streaming. | `~hitbox SomeStreamer` +`~twitch`, `~tw` | Notifies this channel when a certain user starts streaming. | `~twitch SomeStreamer` +`~beam`, `~bm` | Notifies this channel when a certain user starts streaming. | `~beam SomeStreamer` +`~checkhitbox`, `~chhb` | Checks if a certain user is streaming on the hitbox platform. | `~chhb SomeStreamer` +`~checktwitch`, `~chtw` | Checks if a certain user is streaming on the twitch platform. | `~chtw SomeStreamer` +`~checkbeam`, `~chbm` | Checks if a certain user is streaming on the beam platform. | `~chbm SomeStreamer` +`~removestream`, `~rms` | Removes notifications of a certain streamer on this channel. | `~rms SomeGuy` +`~liststreams`, `~ls` | Lists all streams you are following on this server. | `~ls` +`~convert` | Convert quantities from>to. | `~convert m>km 1000` +`~convertlist` | List of the convertable dimensions and currencies. +`~wowjoke` | Get one of Kwoth's penultimate WoW jokes. | `~wowjoke` +`~calculate`, `~calc` | Evaluate a mathematical expression. | `~calc 1+1` +`~osu` | Shows osu stats for a player. | `~osu Name` or `~osu Name taiko` +`~osu b` | Shows information about an osu beatmap. | `~osu b` https://osu.ppy.sh/s/127712 +`~osu top5` | Displays a user's top 5 plays. | `~osu top5 Name` +`~pokemon`, `~poke` | Searches for a pokemon. | `~poke Sylveon` +`~pokemonability`, `~pokeab` | Searches for a pokemon ability. | `~pokeab "water gun"` +`~memelist` | Pulls a list of memes you can use with `~memegen` from http://memegen.link/templates/ | `~memelist` +`~memegen` | Generates a meme from memelist with top and bottom text. | `~memegen biw "gets iced coffee" "in the winter"` +`~we` | Shows weather data for a specified city and a country. BOTH ARE REQUIRED. Use country abbrevations. | `~we Moscow RF` +`~yt` | Searches youtubes and shows the first result | `~yt query` +`~ani`, `~anime`, `~aq` | Queries anilist for an anime and shows the first result. | `~aq aquarion evol` +`~imdb` | Queries imdb for movies or series, show first result. | `~imdb Batman vs Superman` +`~mang`, `~manga`, `~mq` | Queries anilist for a manga and shows the first result. | `~mq Shingeki no kyojin` +`~randomcat`, `~meow` | Shows a random cat image. | `~meow` +`~randomdog`, `~woof` | Shows a random dog image. | `~woof` +`~i` | Pulls the first image found using a search parameter. Use ~ir for different results. | `~i cute kitten` +`~ir` | Pulls a random image using a search parameter. | `~ir cute kitten` +`~lmgtfy` | Google something for an idiot. | `~lmgtfy query` +`~google`, `~g` | Get a google search link for some terms. | `~google query` +`~hs` | Searches for a Hearthstone card and shows its image. Takes a while to complete. | `~hs Ysera` +`~ud` | Searches Urban Dictionary for a word. | `~ud Pineapple` +`~#` | Searches Tagdef.com for a hashtag. | `~# ff` +`~quote` | Shows a random quote. | `~quote` +`~catfact` | Shows a random catfact from | `~catfact` +`~yomama`, `~ym` | Shows a random joke from | `~ym` +`~randjoke`, `~rj` | Shows a random joke from | `~rj` +`~chucknorris`, `~cn` | Shows a random chucknorris joke from | `~cn` +`~magicitem`, `~mi` | Shows a random magicitem from | `~mi` +`~revav` | Returns a google reverse image search for someone's avatar. | `~revav "@SomeGuy"` +`~revimg` | Returns a google reverse image search for an image from a link. | `~revav Image link` +`~safebooru` | Shows a random image from safebooru with a given tag. Tag is optional but preffered. (multiple tags are appended with +) | `~safebooru yuri+kissing` +`~wiki` | Gives you back a wikipedia link | `~wiki query` +`~clr` | Shows you what color corresponds to that hex. | `~clr 00ff00` +`~videocall` | Creates a private video call link for you and other mentioned people. The link is sent to mentioned people via a private message. | `~videocall "@SomeGuy"` +`~av`, `~avatar` | Shows a mentioned person's avatar. | `~av "@SomeGuy"` + +### NSFW +Command and aliases | Description | Usage +----------------|--------------|------- +`~hentai` | Shows a random NSFW hentai image from gelbooru and danbooru with a given tag. Tag is optional but preffered. (multiple tags are appended with +) | `~hentai yuri+kissing` +`~danbooru` | Shows a random hentai image from danbooru with a given tag. Tag is optional but preffered. (multiple tags are appended with +) | `~danbooru yuri+kissing` +`~gelbooru` | Shows a random hentai image from gelbooru with a given tag. Tag is optional but preffered. (multiple tags are appended with +) | `~gelbooru yuri+kissing` +`~rule34` | Shows a random image from rule34.xx with a given tag. Tag is optional but preffered. (multiple tags are appended with +) | `~rule34 yuri+kissing` +`~e621` | Shows a random hentai image from e621.net with a given tag. Tag is optional but preffered. Use spaces for multiple tags. | `~e621 yuri kissing` +`~cp` | We all know where this will lead you to. | `~cp` +`~boobs` | Real adult content. | `~boobs` +`~butts`, `~ass`, `~butt` | Real adult content. | `~butts` or `~ass` + +### ClashOfClans +Command and aliases | Description | Usage +----------------|--------------|------- +`,createwar`, `,cw` | Creates a new war by specifying a size (>10 and multiple of 5) and enemy clan name. | `,cw 15 The Enemy Clan` +`,startwar`, `,sw` | Starts a war with a given number. | `,sw 15` +`,listwar`, `,lw` | Shows the active war claims by a number. Shows all wars in a short way if no number is specified. | `,lw [war_number] or ,lw` +`,claim`, `,call`, `,c` | Claims a certain base from a certain war. You can supply a name in the third optional argument to claim in someone else's place. | `,call [war_number] [base_number] [optional_other_name]` +`,claimfinish`, `,cf`, `,cf3`, `,claimfinish3` | Finish your claim with 3 stars if you destroyed a base. Optional second argument finishes for someone else. | `,cf [war_number] [optional_other_name]` +`,claimfinish2`, `,cf2` | Finish your claim with 2 stars if you destroyed a base. Optional second argument finishes for someone else. | `,cf [war_number] [optional_other_name]` +`,claimfinish1`, `,cf1` | Finish your claim with 1 stars if you destroyed a base. Optional second argument finishes for someone else. | `,cf [war_number] [optional_other_name]` +`,unclaim`, `,uncall`, `,uc` | Removes your claim from a certain war. Optional second argument denotes a person in whose place to unclaim | `,uc [war_number] [optional_other_name]` +`,endwar`, `,ew` | Ends the war with a given index. | `,ew [war_number]` + +### Pokegame +Command and aliases | Description | Usage +----------------|--------------|------- +`>attack` | Attacks a target with the given move. Use `>movelist` to see a list of moves your type can use. | `>attack "vine whip" @someguy` +`>movelist`, `>ml` | Lists the moves you are able to use | `>ml` +`>heal` | Heals someone. Revives those who fainted. Costs a NadekoFlower | `>heal @someone` +`>type` | Get the poketype of the target. | `>type @someone` +`>settype` | Set your poketype. Costs a NadekoFlower. | `>settype fire` + +### Translator +Command and aliases | Description | Usage +----------------|--------------|------- +`~translate`, `~trans` | Translates from>to text. From the given language to the destiation language. | `~trans en>fr Hello` +`~translangs` | List the valid languages for translation. | `~translangs` or `~translangs language` + +### Customreactions +Command and aliases | Description | Usage +----------------|--------------|------- +`\o\` | Custom reaction. | `\o\` +`/o/` | Custom reaction. | `/o/` +`moveto` | Custom reaction. | `moveto` +`comeatmebro` | Custom reaction. | `comeatmebro` +`e` | Custom reaction. | `e` +`@BotName insult`, `<@!116275390695079945> insult` | Custom reaction. | `%mention% insult` +`@BotName praise`, `<@!116275390695079945> praise` | Custom reaction. | `%mention% praise` +`@BotName pat`, `<@!116275390695079945> pat` | Custom reaction. | `%mention% pat` +`@BotName cry`, `<@!116275390695079945> cry` | Custom reaction. | `%mention% cry` +`@BotName are you real?`, `<@!116275390695079945> are you real?` | Custom reaction. | `%mention% are you real?` +`@BotName are you there?`, `<@!116275390695079945> are you there?` | Custom reaction. | `%mention% are you there?` +`@BotName draw`, `<@!116275390695079945> draw` | Custom reaction. | `%mention% draw` +`@BotName bb`, `<@!116275390695079945> bb` | Custom reaction. | `%mention% bb` +`@BotName call`, `<@!116275390695079945> call` | Custom reaction. | `%mention% call` +`@BotName disguise`, `<@!116275390695079945> disguise` | Custom reaction. | `%mention% disguise` +`@BotName inv`, `<@!116275390695079945> inv` | Custom reaction. | `%mention% inv` +`@BotName threaten`, `<@!116275390695079945> threaten` | Custom reaction. | `%mention% threaten` +`@BotName archer`, `<@!116275390695079945> archer` | Custom reaction. | `%mention% archer` + +### Trello +Command and aliases | Description | Usage +----------------|--------------|------- +`trello bind` | Bind a trello bot to a single channel. You will receive notifications from your board when something is added or edited. **Bot Owner Only!**| `trello bind [board_id]` +`trello unbind` | Unbinds a bot from the channel and board. **Bot Owner Only!**| `trello unbind` +`trello lists`, `trello list` | Lists all lists, yo ;) **Bot Owner Only!**| `trello list` +`trello cards` | Lists all cards from the supplied list. You can supply either a name or an index. **Bot Owner Only!**| `trello cards index` From dcf3ac4d7e9867c9c157516687c18d791c286af3 Mon Sep 17 00:00:00 2001 From: miraai Date: Thu, 4 Aug 2016 02:01:58 +0200 Subject: [PATCH 79/84] all is well --- commandlist.md | 365 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 365 insertions(+) create mode 100644 commandlist.md diff --git a/commandlist.md b/commandlist.md new file mode 100644 index 00000000..4d09a425 --- /dev/null +++ b/commandlist.md @@ -0,0 +1,365 @@ +######For more information and how to setup your own NadekoBot, go to: +######You can donate on patreon: +######or paypal: `nadekodiscordbot@gmail.com` + +#NadekoBot List Of Commands +### Help +Command and aliases | Description | Usage +----------------|--------------|------- +`-h`, `-help`, `@BotName help`, `@BotName h`, `~h` | Either shows a help for a single command, or PMs you help link if no arguments are specified. | `-h !m q` or just `-h` +`-hgit` | Generates the commandlist.md file. **Bot Owner Only!** | `-hgit` +`-readme`, `-guide` | Sends a readme and a guide links to the channel. | `-readme` or `-guide` +`-donate`, `~donate` | Instructions for helping the project! | `-donate` or `~donate` +`-modules`, `.modules` | List all bot modules. | `-modules` or `.modules` +`-commands`, `.commands` | List all of the bot's commands from a certain module. | `-commands` or `.commands` + +### Administration +Command and aliases | Description | Usage +----------------|--------------|------- +`.grdel` | Toggles automatic deletion of greet and bye messages. **Needs Manage Server Permissions.**| `.grdel` +`.greet` | Toggles anouncements on the current channel when someone joins the server. **Needs Manage Server Permissions.**| `.greet` +`.greetmsg` | Sets a new join announcement message. Type %user% if you want to mention the new member. Using it with no message will show the current greet message. **Needs Manage Server Permissions.**| `.greetmsg Welcome to the server, %user%.` +`.bye` | Toggles anouncements on the current channel when someone leaves the server. | `.bye` +`.byemsg` | Sets a new leave announcement message. Type %user% if you want to mention the new member. Using it with no message will show the current bye message. **Needs Manage Server Permissions.**| `.byemsg %user% has left the server.` +`.byepm` | Toggles whether the good bye messages will be sent in a PM or in the text channel. **Needs Manage Server Permissions.**| `.byepm` +`.greetpm` | Toggles whether the greet messages will be sent in a PM or in the text channel. **Needs Manage Server Permissions.**| `.greetpm` +`.spmom` | Toggles whether mentions of other offline users on your server will send a pm to them. **Needs Manage Server Permissions.**| `.spmom` +`.logserver` | Toggles logging in this channel. Logs every message sent/deleted/edited on the server. **Bot Owner Only!** | `.logserver` +`.logignore` | Toggles whether the .logserver command ignores this channel. Useful if you have hidden admin channel and public log channel. **Bot Owner Only!**| `.logignore` +`.userpresence` | Starts logging to this channel when someone from the server goes online/offline/idle. **Needs Manage Server Permissions.**| `.userpresence` +`.voicepresence` | Toggles logging to this channel whenever someone joins or leaves a voice channel you are in right now. **Needs Manage Server Permissions.**| `.voicerpresence` +`.repeatinvoke`, `.repinv` | Immediately shows the repeat message and restarts the timer. **Needs Manage Messages Permissions.**| `.repinv` +`.repeat` | Repeat a message every X minutes. If no parameters are specified, repeat is disabled. **Needs Manage Messages Permissions.** | `.repeat 5 Hello there` +`.rotateplaying`, `.ropl` | Toggles rotation of playing status of the dynamic strings you specified earlier. **Bot Owner Only!** | `.ropl` +`.addplaying`, `.adpl` | Adds a specified string to the list of playing strings to rotate. Supported placeholders: %servers%, %users%, %playing%, %queued%, %trivia% **Bot Owner Only!**| `.adpl` +`.listplaying`, `.lipl` | Lists all playing statuses with their corresponding number. **Bot Owner Only!**| `.lipl` +`.removeplaying`, `.repl`, `.rmpl` | Removes a playing string on a given number. **Bot Owner Only!**| `.rmpl` +`.slowmode` | Toggles slow mode. When ON, users will be able to send only 1 message every 5 seconds. **Needs Manage Messages Permissions.**| `.slowmode` +`.cleanv+t`, `.cv+t` | Deletes all text channels ending in `-voice` for which voicechannels are not found. **Use at your own risk. +Needs Manage Roles and Manage Channels Permissions.** | `.cleanv+t` +`.voice+text`, `.v+t` | Creates a text channel for each voice channel only users in that voice channel can see.If you are server owner, keep in mind you will see them all the time regardless. **Needs Manage Roles and Manage Channels Permissions.**| `.voice+text` +`.scsc` | Starts an instance of cross server channel. You will get a token as a DM that other people will use to tune in to the same instance. **Bot Owner Only.** | `.scsc` +`.jcsc` | Joins current channel to an instance of cross server channel using the token. **Needs Manage Server Permissions.**| `.jcsc` +`.lcsc` | Leaves Cross server channel instance from this channel. **Needs Manage Server Permissions.**| `.lcsc` +`.asar` | Adds a role, or list of roles separated by whitespace(use quotations for multiword roles) to the list of self-assignable roles. **Needs Manage Roles Permissions.**| `.asar Gamer` +`.rsar` | Removes a specified role from the list of self-assignable roles. | `.rsar` +`.lsar` | Lists all self-assignable roles. | `.lsar` +`.togglexclsar`, `.tesar` | toggle whether the self-assigned roles should be exclusive | `.tesar` +`.iam` | Adds a role to you that you choose. Role must be on a list of self-assignable roles. | `.iam Gamer` +`.iamnot`, `.iamn` | Removes a role to you that you choose. Role must be on a list of self-assignable roles. | `.iamn Gamer` +`.addcustreact`, `.acr` | Add a custom reaction. Guide here: **Bot Owner Only!** | `.acr "hello" I love saying hello to %user%` +`.listcustreact`, `.lcr` | Lists custom reactions (paginated with 30 commands per page). Use 'all' instead of page number to get all custom reactions DM-ed to you. | `.lcr 1` +`.showcustreact`, `.scr` | Shows all possible responses from a single custom reaction. | `.scr %mention% bb` +`.editcustreact`, `.ecr` | Edits a custom reaction, arguments are custom reactions name, index to change, and a (multiword) message **Bot Owner Only** | `.ecr "%mention% disguise" 2 Test 123` +`.delcustreact`, `.dcr` | Deletes a custom reaction with given name (and index). **Bot Owner Only.**| `.dcr index` +`.autoassignrole`, `.aar` | Automaticaly assigns a specified role to every user who joins the server. **Needs Manage Roles Permissions.** | `.aar` to disable, `.aar Role Name` to enable +`.leave` | Makes Nadeko leave the server. Either name or id required. **Bot Owner Only!**| `.leave 123123123331` +`.listincidents`, `.lin` | List all UNREAD incidents and flags them as read. **Needs Manage Server Permissions.**| `.lin` +`.listallincidents`, `.lain` | Sends you a file containing all incidents and flags them as read. **Needs Manage Server Permissions.**| `.lain` +`.delmsgoncmd` | Toggles the automatic deletion of user's successful command message to prevent chat flood. **Server Manager Only.** | `.delmsgoncmd` +`.restart` | Restarts the bot. Might not work. **Bot Owner Only** | `.restart` +`.setrole`, `.sr` | Sets a role for a given user. **Needs Manage Roles Permissions.**| `.sr @User Guest` +`.removerole`, `.rr` | Removes a role from a given user. **Needs Manage Roles Permissions.**| `.rr @User Admin` +`.renamerole`, `.renr` | Renames a role. Roles you are renaming must be lower than bot's highest role. **Manage Roles Permissions.** | `.renr "First role" SecondRole` +`.removeallroles`, `.rar` | Removes all roles from a mentioned user. **Needs Manage Roles Permissions.**| `.rar @User` +`.createrole`, `.cr` | Creates a role with a given name. **Needs Manage Roles Permissions.**| `.cr Awesome Role` +`.rolecolor`, `.rc` | Set a role's color to the hex or 0-255 rgb color value provided. **Needs Manage Roles Permissions.** | `.rc Admin 255 200 100` or `.rc Admin ffba55` +`.ban`, `.b` | Bans a user by id or name with an optional message. **Needs Ban Permissions.**| `.b "@some Guy" Your behaviour is toxic.` +`.softban`, `.sb` | Bans and then unbans a user by id or name with an optional message. **Needs Ban Permissions.**| `.sb "@some Guy" Your behaviour is toxic.` +`.kick`, `.k` | Kicks a mentioned user. **Needs Kick Permissions.**| `.k "@some Guy" Your behaviour is toxic.` +`.mute` | Mutes mentioned user or users. **Needs Mute Permissions.**| `.mute "@Someguy"` or `.mute "@Someguy" "@Someguy"` +`.unmute` | Unmutes mentioned user or users. **Needs Mute Permissions.**| `.unmute "@Someguy"` or `.unmute "@Someguy" "@Someguy"` +`.deafen`, `.deaf` | Deafens mentioned user or users. **Needs Deafen Permissions.**| `.deaf "@Someguy"` or `.deaf "@Someguy" "@Someguy"` +`.undeafen`, `.undef` | Undeafens mentioned user or users. **Needs Deafen Permissions.** | `.undef "@Someguy"` or `.undef "@Someguy" "@Someguy"` +`.delvoichanl`, `.dvch` | Deletes a voice channel with a given name. **Needs Manage Channel Permissions.**| `.dvch VoiceChannelName` +`.creatvoichanl`, `.cvch` | Creates a new voice channel with a given name. **Needs Manage Channel Permissions.** | `.cvch VoiceChannelName` +`.deltxtchanl`, `.dtch` | Deletes a text channel with a given name. **Needs Manage Channel Permissions.** | `.dtch TextChannelName` +`.creatxtchanl`, `.ctch` | Creates a new text channel with a given name. **Needs Manage Channel Permissions.** | `.ctch TextChannelName` +`.settopic`, `.st` | Sets a topic on the current channel. **Needs Manage Channel Permissions.** | `.st My new topic` +`.setchanlname`, `.schn` | Changed the name of the current channel. **Needs Manage Channel Permissions.**| `.schn NewName` +`.heap` | Shows allocated memory - **Bot Owner Only!** | `.heap` +`.prune`, `.clr` | `.prune` removes all nadeko's messages in the last 100 messages.`.prune X` removes last X messages from the channel (up to 100)`.prune @Someone` removes all Someone's messages in the last 100 messages.`.prune @Someone X` removes last X 'Someone's' messages in the channel. | `.prune` or `.prune 5` or `.prune @Someone` or `.prune @Someone X` +`.die` | Shuts the bot down and notifies users about the restart. **Bot Owner Only!** | `.die` +`.setname`, `.newnm` | Give the bot a new name. **Bot Owner Only!** | .newnm BotName +`.newavatar`, `.setavatar` | Sets a new avatar image for the NadekoBot. Argument is a direct link to an image. **Bot Owner Only!** | `.setavatar https://i.ytimg.com/vi/WDudkR1eTMM/maxresdefault.jpg` +`.setgame` | Sets the bots game. **Bot Owner Only!** | `.setgame Playing with kwoth` +`.send` | Send a message to someone on a different server through the bot. **Bot Owner Only!** | `.send serverid|u:user_id Send this to a user!` or `.send serverid|c:channel_id Send this to a channel!` +`.mentionrole`, `.menro` | Mentions every person from the provided role or roles (separated by a ',') on this server. Requires you to have mention everyone permission. | `.menro RoleName` +`.unstuck` | Clears the message queue. **Bot Owner Only!** | `.unstuck` +`.donators` | List of lovely people who donated to keep this project alive. | `.donators` +`.donadd` | Add a donator to the database. **Kwoth Only** | `.donadd Donate Amount` +`.announce` | Sends a message to all servers' general channel bot is connected to.**Bot Owner Only!** | `.announce Useless spam` +`.savechat` | Saves a number of messages to a text file and sends it to you. **Bot Owner Only** | `.savechat 150` + +### Utility +Command and aliases | Description | Usage +----------------|--------------|------- +`.remind` | Sends a message to you or a channel after certain amount of time. First argument is me/here/'channelname'. Second argument is time in a descending order (mo>w>d>h>m) example: 1w5d3h10m. Third argument is a (multiword)message. | `.remind me 1d5h Do something` or `.remind #general Start now!` +`.remindmsg` | Sets message for when the remind is triggered. Available placeholders are %user% - user who ran the command, %message% - Message specified in the remind, %target% - target channel of the remind. **Bot Owner Only!** | `.remindmsg do something else` +`.serverinfo`, `.sinfo` | Shows info about the server the bot is on. If no channel is supplied, it defaults to current one. | `.sinfo Some Server` +`.channelinfo`, `.cinfo` | Shows info about the channel. If no channel is supplied, it defaults to current one. | `.cinfo #some-channel` +`.userinfo`, `.uinfo` | Shows info about the user. If no user is supplied, it defaults a user running the command. | `.uinfo @SomeUser` +`.whoplays` | Shows a list of users who are playing the specified game. | `.whoplays Overwatch` +`.inrole` | Lists every person from the provided role or roles (separated by a ',') on this server. If the list is too long for 1 message, you must have Manage Messages permission. | `.inrole Role` +`.checkmyperms` | Checks your userspecific permissions on this channel. | `.checkmyperms` +`.stats` | Shows some basic stats for Nadeko. | `.stats` +`.dysyd` | Shows some basic stats for Nadeko. | `.dysyd` +`.userid`, `.uid` | Shows user ID. | `.uid` or `.uid "@SomeGuy"` +`.channelid`, `.cid` | Shows current channel ID. | `.cid` +`.serverid`, `.sid` | Shows current server ID. | `.sid` +`.roles` | List all roles on this server or a single user if specified. | `.roles` +`.channeltopic`, `.ct` | Sends current channel's topic as a message. | `.ct` + +### Permissions +Command and aliases | Description | Usage +----------------|--------------|------- +`;chnlfilterinv`, `;cfi` | Enables or disables automatic deleting of invites on the channel.If no channel supplied, it will default to current one. Use ALL to apply to all existing channels at once. | `;cfi enable #general-chat` +`;srvrfilterinv`, `;sfi` | Enables or disables automatic deleting of invites on the server. | `;sfi disable` +`;chnlfilterwords`, `;cfw` | Enables or disables automatic deleting of messages containing banned words on the channel.If no channel supplied, it will default to current one. Use ALL to apply to all existing channels at once. | `;cfw enable #general-chat` +`;addfilterword`, `;afw` | Adds a new word to the list of filtered words | `;afw poop` +`;rmvfilterword`, `;rfw` | Removes the word from the list of filtered words | `;rw poop` +`;lstfilterwords`, `;lfw` | Shows a list of filtered words | `;lfw` +`;srvrfilterwords`, `;sfw` | Enables or disables automatic deleting of messages containing forbidden words on the server. | `;sfw disable` +`;permrole`, `;pr` | Sets a role which can change permissions. Or supply no parameters to find out the current one. Default one is 'Nadeko'. | `;pr role` +`;rolepermscopy`, `;rpc` | Copies BOT PERMISSIONS (not discord permissions) from one role to another. | `;rpc Some Role ~ Some other role` +`;chnlpermscopy`, `;cpc` | Copies BOT PERMISSIONS (not discord permissions) from one channel to another. | `;cpc Some Channel ~ Some other channel` +`;usrpermscopy`, `;upc` | Copies BOT PERMISSIONS (not discord permissions) from one role to another. | `;upc @SomeUser ~ @SomeOtherUser` +`;verbose`, `;v` | Sets whether to show when a command/module is blocked. | `;verbose true` +`;srvrperms`, `;sp` | Shows banned permissions for this server. | `;sp` +`;roleperms`, `;rp` | Shows banned permissions for a certain role. No argument means for everyone. | `;rp AwesomeRole` +`;chnlperms`, `;cp` | Shows banned permissions for a certain channel. No argument means for this channel. | `;cp #dev` +`;userperms`, `;up` | Shows banned permissions for a certain user. No argument means for yourself. | `;up Kwoth` +`;srvrmdl`, `;sm` | Sets a module's permission at the server level. | `;sm "module name" enable` +`;srvrcmd`, `;sc` | Sets a command's permission at the server level. | `;sc "command name" disable` +`;rolemdl`, `;rm` | Sets a module's permission at the role level. | `;rm "module name" enable MyRole` +`;rolecmd`, `;rc` | Sets a command's permission at the role level. | `;rc "command name" disable MyRole` +`;chnlmdl`, `;cm` | Sets a module's permission at the channel level. | `;cm "module name" enable SomeChannel` +`;chnlcmd`, `;cc` | Sets a command's permission at the channel level. | `;cc "command name" enable SomeChannel` +`;usrmdl`, `;um` | Sets a module's permission at the user level. | `;um "module name" enable SomeUsername` +`;usrcmd`, `;uc` | Sets a command's permission at the user level. | `;uc "command name" enable SomeUsername` +`;allsrvrmdls`, `;asm` | Sets permissions for all modules at the server level. | `;asm [enable/disable]` +`;allsrvrcmds`, `;asc` | Sets permissions for all commands from a certain module at the server level. | `;asc "module name" [enable/disable]` +`;allchnlmdls`, `;acm` | Sets permissions for all modules at the channel level. | `;acm [enable/disable] SomeChannel` +`;allchnlcmds`, `;acc` | Sets permissions for all commands from a certain module at the channel level. | `;acc "module name" [enable/disable] SomeChannel` +`;allrolemdls`, `;arm` | Sets permissions for all modules at the role level. | `;arm [enable/disable] MyRole` +`;allrolecmds`, `;arc` | Sets permissions for all commands from a certain module at the role level. | `;arc "module name" [enable/disable] MyRole` +`;ubl` | Blacklists a mentioned user. | `;ubl [user_mention]` +`;uubl` | Unblacklists a mentioned user. | `;uubl [user_mention]` +`;cbl` | Blacklists a mentioned channel (#general for example). | `;cbl #some_channel` +`;cubl` | Unblacklists a mentioned channel (#general for example). | `;cubl #some_channel` +`;sbl` | Blacklists a server by a name or id (#general for example). **BOT OWNER ONLY** | `;sbl [servername/serverid]` +`;cmdcooldown`, `;cmdcd` | Sets a cooldown per user for a command. Set 0 to clear. | `;cmdcd "some cmd" 5` +`;allcmdcooldowns`, `;acmdcds` | Shows a list of all commands and their respective cooldowns. | `;acmdcds` + +### Conversations +Command and aliases | Description | Usage +----------------|--------------|------- +`..` | Adds a new quote with the specified name (single word) and message (no limit). | `.. abc My message` +`...` | Shows a random quote with a specified name. | `... abc` +`..qdel`, `..quotedelete` | Deletes all quotes with the specified keyword. You have to either be bot owner or the creator of the quote to delete it. | `..qdel abc` +`@BotName rip` | Shows a grave image of someone with a start year | `@NadekoBot rip @Someone 2000` +`@BotName die` | Works only for the owner. Shuts the bot down. | `@NadekoBot die` +`@BotName do you love me` | Replies with positive answer only to the bot owner. | `@NadekoBot do you love me` +`@BotName how are you`, `@BotName how are you?` | Replies positive only if bot owner is online. | `@NadekoBot how are you` +`@BotName fire` | Shows a unicode fire message. Optional parameter [x] tells her how many times to repeat the fire. | `@NadekoBot fire [x]` +`@BotName dump` | Dumps all of the invites it can to dump.txt.** Owner Only.** | `@NadekoBot dump` +`@BotName ab` | Try to get 'abalabahaha'| `@NadekoBot ab` + +### Gambling +Command and aliases | Description | Usage +----------------|--------------|------- +`$draw` | Draws a card from the deck.If you supply number [x], she draws up to 5 cards from the deck. | `$draw [x]` +`$shuffle`, `$sh` | Reshuffles all cards back into the deck.|`$shuffle` +`$flip` | Flips coin(s) - heads or tails, and shows an image. | `$flip` or `$flip 3` +`$betflip`, `$bf` | Bet to guess will the result be heads or tails. Guessing award you double flowers you've bet. | `$bf 5 heads` or `$bf 3 t` +`$roll` | Rolls 0-100. If you supply a number [x] it rolls up to 30 normal dice. If you split 2 numbers with letter d (xdy) it will roll x dice from 1 to y. | `$roll` or `$roll 7` or `$roll 3d5` +`$rolluo` | Rolls 0-100. If you supply a number [x] it rolls up to 30 normal dice (unordered). If you split 2 numbers with letter d (xdy) it will roll x dice from 1 to y. | `$roll` or `$roll` 7 or `$roll 3d5` +`$nroll` | Rolls in a given range. | `$nroll 5` (rolls 0-5) or `$nroll 5-15` +`$race` | Starts a new animal race. | `$race` +`$joinrace`, `$jr` | Joins a new race. You can specify an amount of flowers for betting (optional). You will get YourBet*(participants-1) back if you win. | `$jr` or `$jr 5` +`$raffle` | Prints a name and ID of a random user from the online list from the (optional) role. | `$raffle` or `$raffle RoleName` +`$$$` | Check how much NadekoFlowers a person has. (Defaults to yourself) | `$$$` or `$$$ @Someone` +`$give` | Give someone a certain amount of NadekoFlowers|`$give 1 "@SomeGuy"` +`$award` | Gives someone a certain amount of flowers. **Bot Owner Only!** | `$award 100 @person` +`$take` | Takes a certain amount of flowers from someone. **Bot Owner Only!** | `$take 1 "@someguy"` +`$betroll`, `$br` | Bets a certain amount of NadekoFlowers and rolls a dice. Rolling over 66 yields x2 flowers, over 90 - x3 and 100 x10. | `$br 5` +`$leaderboard`, `$lb` | Displays bot currency leaderboard | `$lb` + +### Games +Command and aliases | Description | Usage +----------------|--------------|------- +`>t` | Starts a game of trivia. You can add nohint to prevent hints.First player to get to 10 points wins by default. You can specify a different number. 30 seconds per question. | `>t nohint` or `>t 5 nohint` +`>tl` | Shows a current trivia leaderboard. | `>tl` +`>tq` | Quits current trivia after current question. | `>tq` +`>typestart` | Starts a typing contest. | `>typestart` +`>typestop` | Stops a typing contest on the current channel. | `>typestop` +`>typeadd` | Adds a new article to the typing contest. Owner only. | `>typeadd wordswords` +`>poll` | Creates a poll, only person who has manage server permission can do it. | `>poll Question?;Answer1;Answ 2;A_3` +`>pollend` | Stops active poll on this server and prints the results in this channel. | `>pollend` +`>pick` | Picks a flower planted in this channel. | `>pick` +`>plant` | Spend a flower to plant it in this channel. (If bot is restarted or crashes, flower will be lost) | `>plant` +`>gencurrency`, `>gc` | Toggles currency generation on this channel. Every posted message will have 2% chance to spawn a NadekoFlower. Optional parameter cooldown time in minutes, 5 minutes by default. Requires Manage Messages permission. | `>gc` or `>gc 60` +`>leet` | Converts a text to leetspeak with 6 (1-6) severity levels | `>leet 3 Hello` +`>choose` | Chooses a thing from a list of things | `>choose Get up;Sleep;Sleep more` +`>8ball` | Ask the 8ball a yes/no question. | `>8ball should i do something` +`>rps` | Play a game of rocket paperclip scissors with Nadeko. | `>rps scissors` +`>linux` | Prints a customizable Linux interjection | `>linux Spyware Windows` + +### Music +Command and aliases | Description | Usage +----------------|--------------|------- +`!!next`, `!!n`, `!!skip` | Goes to the next song in the queue. You have to be in the same voice channel as the bot. | `!!n` +`!!stop`, `!!s` | Stops the music and clears the playlist. Stays in the channel. | `!!s` +`!!destroy`, `!!d` | Completely stops the music and unbinds the bot from the channel. (may cause weird behaviour) | `!!d` +`!!pause`, `!!p` | Pauses or Unpauses the song. | `!!p` +`!!queue`, `!!q`, `!!yq` | Queue a song using keywords or a link. Bot will join your voice channel.**You must be in a voice channel**. | `!!q Dream Of Venice` +`!!soundcloudqueue`, `!!sq` | Queue a soundcloud song using keywords. Bot will join your voice channel.**You must be in a voice channel**. | `!!sq Dream Of Venice` +`!!listqueue`, `!!lq` | Lists 15 currently queued songs per page. Default page is 1. | `!!lq` or `!!lq 2` +`!!nowplaying`, `!!np` | Shows the song currently playing. | `!!np` +`!!volume`, `!!vol` | Sets the music volume 0-100% | `!!vol 50` +`!!defvol`, `!!dv` | Sets the default music volume when music playback is started (0-100). Persists through restarts. | `!!dv 80` +`!!mute`, `!!min` | Sets the music volume to 0% | `!!min` +`!!max` | Sets the music volume to 100%. | `!!max` +`!!half` | Sets the music volume to 50%. | `!!half` +`!!shuffle`, `!!sh` | Shuffles the current playlist. | `!!sh` +`!!playlist`, `!!pl` | Queues up to 500 songs from a youtube playlist specified by a link, or keywords. | `!!pl playlist link or name` +`!!soundcloudpl`, `!!scpl` | Queue a soundcloud playlist using a link. | `!!scpl https://soundcloud.com/saratology/sets/symphony` +`!!localplaylst`, `!!lopl` | Queues all songs from a directory. **Bot Owner Only!** | `!!lopl C:/music/classical` +`!!radio`, `!!ra` | Queues a radio stream from a link. It can be a direct mp3 radio stream, .m3u, .pls .asx or .xspf (Usage Video: ) | `!!ra radio link here` +`!!local`, `!!lo` | Queues a local file by specifying a full path. **Bot Owner Only!** | `!!lo C:/music/mysong.mp3` +`!!move`, `!!mv` | Moves the bot to your voice channel. (works only if music is already playing) | `!!mv` +`!!remove`, `!!rm` | Remove a song by its # in the queue, or 'all' to remove whole queue. | `!!rm 5` +`!!movesong`, `!!ms` | Moves a song from one position to another. | `!! ms` 5>3 +`!!setmaxqueue`, `!!smq` | Sets a maximum queue size. Supply 0 or no argument to have no limit. | `!!smq` 50 or `!!smq` +`!!cleanup` | Cleans up hanging voice connections. **Bot Owner Only!** | `!!cleanup` +`!!reptcursong`, `!!rcs` | Toggles repeat of current song. | `!!rcs` +`!!rpeatplaylst`, `!!rpl` | Toggles repeat of all songs in the queue (every song that finishes is added to the end of the queue). | `!!rpl` +`!!save` | Saves a playlist under a certain name. Name must be no longer than 20 characters and mustn't contain dashes. | `!!save classical1` +`!!load` | Loads a playlist under a certain name. | `!!load classical-1` +`!!playlists`, `!!pls` | Lists all playlists. Paginated. 20 per page. Default page is 0. | `!!pls 1` +`!!deleteplaylist`, `!!delpls` | Deletes a saved playlist. Only if you made it or if you are the bot owner. | `!!delpls animu-5` +`!!goto` | Goes to a specific time in seconds in a song. | `!!goto 30` +`!!getlink`, `!!gl` | Shows a link to the song in the queue by index, or the currently playing song by default. | `!!gl` +`!!autoplay`, `!!ap` | Toggles autoplay - When the song is finished, automatically queue a related youtube song. (Works only for youtube songs and when queue is empty) | `!!ap` + +### Searches +Command and aliases | Description | Usage +----------------|--------------|------- +`~lolchamp` | Shows League Of Legends champion statistics. If there are spaces/apostrophes or in the name - omit them. Optional second parameter is a role. | `~lolchamp Riven` or `~lolchamp Annie sup` +`~lolban` | Shows top 6 banned champions ordered by ban rate. Ban these champions and you will be Plat 5 in no time. | `~lolban` +`~hitbox`, `~hb` | Notifies this channel when a certain user starts streaming. | `~hitbox SomeStreamer` +`~twitch`, `~tw` | Notifies this channel when a certain user starts streaming. | `~twitch SomeStreamer` +`~beam`, `~bm` | Notifies this channel when a certain user starts streaming. | `~beam SomeStreamer` +`~checkhitbox`, `~chhb` | Checks if a certain user is streaming on the hitbox platform. | `~chhb SomeStreamer` +`~checktwitch`, `~chtw` | Checks if a certain user is streaming on the twitch platform. | `~chtw SomeStreamer` +`~checkbeam`, `~chbm` | Checks if a certain user is streaming on the beam platform. | `~chbm SomeStreamer` +`~removestream`, `~rms` | Removes notifications of a certain streamer on this channel. | `~rms SomeGuy` +`~liststreams`, `~ls` | Lists all streams you are following on this server. | `~ls` +`~convert` | Convert quantities from>to. | `~convert m>km 1000` +`~convertlist` | List of the convertable dimensions and currencies. +`~wowjoke` | Get one of Kwoth's penultimate WoW jokes. | `~wowjoke` +`~calculate`, `~calc` | Evaluate a mathematical expression. | `~calc 1+1` +`~osu` | Shows osu stats for a player. | `~osu Name` or `~osu Name taiko` +`~osu b` | Shows information about an osu beatmap. | `~osu b` https://osu.ppy.sh/s/127712 +`~osu top5` | Displays a user's top 5 plays. | `~osu top5 Name` +`~pokemon`, `~poke` | Searches for a pokemon. | `~poke Sylveon` +`~pokemonability`, `~pokeab` | Searches for a pokemon ability. | `~pokeab "water gun"` +`~memelist` | Pulls a list of memes you can use with `~memegen` from http://memegen.link/templates/ | `~memelist` +`~memegen` | Generates a meme from memelist with top and bottom text. | `~memegen biw "gets iced coffee" "in the winter"` +`~we` | Shows weather data for a specified city and a country. BOTH ARE REQUIRED. Use country abbrevations. | `~we Moscow RF` +`~yt` | Searches youtubes and shows the first result | `~yt query` +`~ani`, `~anime`, `~aq` | Queries anilist for an anime and shows the first result. | `~aq aquarion evol` +`~imdb` | Queries imdb for movies or series, show first result. | `~imdb Batman vs Superman` +`~mang`, `~manga`, `~mq` | Queries anilist for a manga and shows the first result. | `~mq Shingeki no kyojin` +`~randomcat`, `~meow` | Shows a random cat image. | `~meow` +`~randomdog`, `~woof` | Shows a random dog image. | `~woof` +`~i` | Pulls the first image found using a search parameter. Use ~ir for different results. | `~i cute kitten` +`~ir` | Pulls a random image using a search parameter. | `~ir cute kitten` +`~lmgtfy` | Google something for an idiot. | `~lmgtfy query` +`~google`, `~g` | Get a google search link for some terms. | `~google query` +`~hs` | Searches for a Hearthstone card and shows its image. Takes a while to complete. | `~hs Ysera` +`~ud` | Searches Urban Dictionary for a word. | `~ud Pineapple` +`~#` | Searches Tagdef.com for a hashtag. | `~# ff` +`~quote` | Shows a random quote. | `~quote` +`~catfact` | Shows a random catfact from | `~catfact` +`~yomama`, `~ym` | Shows a random joke from | `~ym` +`~randjoke`, `~rj` | Shows a random joke from | `~rj` +`~chucknorris`, `~cn` | Shows a random chucknorris joke from | `~cn` +`~magicitem`, `~mi` | Shows a random magicitem from | `~mi` +`~revav` | Returns a google reverse image search for someone's avatar. | `~revav "@SomeGuy"` +`~revimg` | Returns a google reverse image search for an image from a link. | `~revav Image link` +`~safebooru` | Shows a random image from safebooru with a given tag. Tag is optional but preffered. (multiple tags are appended with +) | `~safebooru yuri+kissing` +`~wiki` | Gives you back a wikipedia link | `~wiki query` +`~clr` | Shows you what color corresponds to that hex. | `~clr 00ff00` +`~videocall` | Creates a private video call link for you and other mentioned people. The link is sent to mentioned people via a private message. | `~videocall "@SomeGuy"` +`~av`, `~avatar` | Shows a mentioned person's avatar. | `~av "@SomeGuy"` + +### NSFW +Command and aliases | Description | Usage +----------------|--------------|------- +`~hentai` | Shows a random NSFW hentai image from gelbooru and danbooru with a given tag. Tag is optional but preffered. (multiple tags are appended with +) | `~hentai yuri+kissing` +`~danbooru` | Shows a random hentai image from danbooru with a given tag. Tag is optional but preffered. (multiple tags are appended with +) | `~danbooru yuri+kissing` +`~gelbooru` | Shows a random hentai image from gelbooru with a given tag. Tag is optional but preffered. (multiple tags are appended with +) | `~gelbooru yuri+kissing` +`~rule34` | Shows a random image from rule34.xx with a given tag. Tag is optional but preffered. (multiple tags are appended with +) | `~rule34 yuri+kissing` +`~e621` | Shows a random hentai image from e621.net with a given tag. Tag is optional but preffered. Use spaces for multiple tags. | `~e621 yuri kissing` +`~cp` | We all know where this will lead you to. | `~cp` +`~boobs` | Real adult content. | `~boobs` +`~butts`, `~ass`, `~butt` | Real adult content. | `~butts` or `~ass` + +### ClashOfClans +Command and aliases | Description | Usage +----------------|--------------|------- +`,createwar`, `,cw` | Creates a new war by specifying a size (>10 and multiple of 5) and enemy clan name. | `,cw 15 The Enemy Clan` +`,startwar`, `,sw` | Starts a war with a given number. | `,sw 15` +`,listwar`, `,lw` | Shows the active war claims by a number. Shows all wars in a short way if no number is specified. | `,lw [war_number] or ,lw` +`,claim`, `,call`, `,c` | Claims a certain base from a certain war. You can supply a name in the third optional argument to claim in someone else's place. | `,call [war_number] [base_number] [optional_other_name]` +`,claimfinish`, `,cf`, `,cf3`, `,claimfinish3` | Finish your claim with 3 stars if you destroyed a base. Optional second argument finishes for someone else. | `,cf [war_number] [optional_other_name]` +`,claimfinish2`, `,cf2` | Finish your claim with 2 stars if you destroyed a base. Optional second argument finishes for someone else. | `,cf [war_number] [optional_other_name]` +`,claimfinish1`, `,cf1` | Finish your claim with 1 stars if you destroyed a base. Optional second argument finishes for someone else. | `,cf [war_number] [optional_other_name]` +`,unclaim`, `,uncall`, `,uc` | Removes your claim from a certain war. Optional second argument denotes a person in whose place to unclaim | `,uc [war_number] [optional_other_name]` +`,endwar`, `,ew` | Ends the war with a given index. | `,ew [war_number]` + +### Pokegame +Command and aliases | Description | Usage +----------------|--------------|------- +`>attack` | Attacks a target with the given move. Use `>movelist` to see a list of moves your type can use. | `>attack "vine whip" @someguy` +`>movelist`, `>ml` | Lists the moves you are able to use | `>ml` +`>heal` | Heals someone. Revives those who fainted. Costs a NadekoFlower | `>heal @someone` +`>type` | Get the poketype of the target. | `>type @someone` +`>settype` | Set your poketype. Costs a NadekoFlower. | `>settype fire` + +### Translator +Command and aliases | Description | Usage +----------------|--------------|------- +`~translate`, `~trans` | Translates from>to text. From the given language to the destiation language. | `~trans en>fr Hello` +`~translangs` | List the valid languages for translation. | `~translangs` or `~translangs language` + +### Customreactions +Command and aliases | Description | Usage +----------------|--------------|------- +`\o\` | Custom reaction. | `\o\` +`/o/` | Custom reaction. | `/o/` +`moveto` | Custom reaction. | `moveto` +`comeatmebro` | Custom reaction. | `comeatmebro` +`e` | Custom reaction. | `e` +`@BotName insult`, `<@!116275390695079945> insult` | Custom reaction. | `%mention% insult` +`@BotName praise`, `<@!116275390695079945> praise` | Custom reaction. | `%mention% praise` +`@BotName pat`, `<@!116275390695079945> pat` | Custom reaction. | `%mention% pat` +`@BotName cry`, `<@!116275390695079945> cry` | Custom reaction. | `%mention% cry` +`@BotName are you real?`, `<@!116275390695079945> are you real?` | Custom reaction. | `%mention% are you real?` +`@BotName are you there?`, `<@!116275390695079945> are you there?` | Custom reaction. | `%mention% are you there?` +`@BotName draw`, `<@!116275390695079945> draw` | Custom reaction. | `%mention% draw` +`@BotName bb`, `<@!116275390695079945> bb` | Custom reaction. | `%mention% bb` +`@BotName call`, `<@!116275390695079945> call` | Custom reaction. | `%mention% call` +`@BotName disguise`, `<@!116275390695079945> disguise` | Custom reaction. | `%mention% disguise` +`@BotName inv`, `<@!116275390695079945> inv` | Custom reaction. | `%mention% inv` +`@BotName threaten`, `<@!116275390695079945> threaten` | Custom reaction. | `%mention% threaten` +`@BotName archer`, `<@!116275390695079945> archer` | Custom reaction. | `%mention% archer` + +### Trello +Command and aliases | Description | Usage +----------------|--------------|------- +`trello bind` | Bind a trello bot to a single channel. You will receive notifications from your board when something is added or edited. **Bot Owner Only!**| `trello bind [board_id]` +`trello unbind` | Unbinds a bot from the channel and board. **Bot Owner Only!**| `trello unbind` +`trello lists`, `trello list` | Lists all lists, yo ;) **Bot Owner Only!**| `trello list` +`trello cards` | Lists all cards from the supplied list. You can supply either a name or an index. **Bot Owner Only!**| `trello cards index` From f931bebfb9b5e7518b45b054b07a723b60ef6cfe Mon Sep 17 00:00:00 2001 From: miraai Date: Thu, 4 Aug 2016 02:02:31 +0200 Subject: [PATCH 80/84] rename --- docs/{commandlist.md => Commands List.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename docs/{commandlist.md => Commands List.md} (100%) diff --git a/docs/commandlist.md b/docs/Commands List.md similarity index 100% rename from docs/commandlist.md rename to docs/Commands List.md From 6b7d42e04b60da028cf0880ea27b2874de40a2d9 Mon Sep 17 00:00:00 2001 From: miraai Date: Thu, 4 Aug 2016 02:03:01 +0200 Subject: [PATCH 81/84] update mkdocs --- docs/mkdocs.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/mkdocs.yml b/docs/mkdocs.yml index c3d79c67..81422d4e 100644 --- a/docs/mkdocs.yml +++ b/docs/mkdocs.yml @@ -8,6 +8,7 @@ pages: - OSX Guide: guides/OSX Guide.md - Building from Source: guides/Building from Source.md - Docker Guide: guides/Docker Guide.md +- Commands List: Commands List.md - Permissions System: Permissions System.md - JSON Explanations: JSON Explanations.md - Custom Commands: Custom Reactions.md From 115aaf00fa02eaa8e9bd48878e1e4f67f1332270 Mon Sep 17 00:00:00 2001 From: miraai Date: Thu, 4 Aug 2016 02:03:33 +0200 Subject: [PATCH 82/84] Update index.md --- docs/index.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/index.md b/docs/index.md index 91ebfbe8..05bd6718 100644 --- a/docs/index.md +++ b/docs/index.md @@ -8,6 +8,7 @@ - [OSX Guide](guides/OSX Guide.md) - [Building from Source](guides/Building from Source.md) - [Docker Guide](guides/Docker Guide.md) +- [Commands List](Commands List.md) - [Permissions System](Permissions System.md) - [JSON Explanations](JSON Explanations.md) - [Custiom Reactions](Custom Reactions.md) From c79feca663827f1b7a732039aa6fcf0fdca3d9ee Mon Sep 17 00:00:00 2001 From: miraai Date: Thu, 4 Aug 2016 02:04:03 +0200 Subject: [PATCH 83/84] update mkdocs --- mkdocs.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/mkdocs.yml b/mkdocs.yml index c3d79c67..81422d4e 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -8,6 +8,7 @@ pages: - OSX Guide: guides/OSX Guide.md - Building from Source: guides/Building from Source.md - Docker Guide: guides/Docker Guide.md +- Commands List: Commands List.md - Permissions System: Permissions System.md - JSON Explanations: JSON Explanations.md - Custom Commands: Custom Reactions.md From 31a267de63c91cefade7e9df3eab5afa0cc82d9c Mon Sep 17 00:00:00 2001 From: miraai Date: Thu, 4 Aug 2016 02:08:10 +0200 Subject: [PATCH 84/84] Commands List fix --- docs/Commands List.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/docs/Commands List.md b/docs/Commands List.md index eefc3a8d..a70b7af5 100644 --- a/docs/Commands List.md +++ b/docs/Commands List.md @@ -1,6 +1,4 @@ -######For more information and how to setup your own NadekoBot, go to: -######You can donate on patreon: -######or paypal: `nadekodiscordbot@gmail.com` +You can donate on [Patreon](https://patreon.com/nadekobot) or paypal: `nadekodiscordbot@gmail.com` #NadekoBot List Of Commands ### Help