From 3fa732be8d3ef2081f26951394f4156c6396d650 Mon Sep 17 00:00:00 2001 From: samvaio Date: Wed, 30 Nov 2016 18:59:05 +0530 Subject: [PATCH 01/42] Update Windows Guide.md - added info about the folder - changed the link to new installer --- docs/guides/Windows Guide.md | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/docs/guides/Windows Guide.md b/docs/guides/Windows Guide.md index 200ed699..b4642f3c 100644 --- a/docs/guides/Windows Guide.md +++ b/docs/guides/Windows Guide.md @@ -16,9 +16,9 @@ ________________________________________________________________________________ ####Guide - Make sure you have installed both [Git][Git] and the [.NET Core SDK][.NET Core SDK]. -- Create a **new folder** anywhere you like and name it `Nadeko`. -- Next, [Right-Click on this link](https://github.com/Kwoth/NadekoBotInstallerWin/raw/master/NadekoWinAIO.bat) and select **Save link as** and save the file `NadekoWinAIO.bat` inside the `Nadeko` folder that we created earlier. (**DO NOT** rename the file `NadekoWinAIO.bat`) -- Once that's done, double-click on `NadekoWinAIO.bat` to run it. +- Create a **new folder** in the root directory of any hard drive and name it `Nadeko`. (If you choose any other name, make sure it doesn't contain a space in their folder name) +- Next, [Right-Click on this link](https://github.com/Kwoth/NadekoBotInstallerWin/raw/master/NadekoInstaller.bat) and select **Save link as** and save the file `NadekoInstaller.bat` inside the `Nadeko` folder that we created earlier. (**DO NOT** rename the file `NadekoInstaller.bat`) +- Once that's done, double-click on `NadekoInstaller.bat` to run it. - From the options, - Choose `1` to get the **most recent build**. - Choose `2` to get the **stable build**. @@ -59,7 +59,7 @@ ________________________________________________________________________________ - The bot should have been added to your server. ####Starting the bot -- Go to the `Nadeko` folder that we have created earlier, and run the `NadekoWinAIO.bat` file. +- Go to the `Nadeko` folder that we have created earlier, and run the `NadekoInstaller.bat` file. - From the options, - Choose `3` to **run the bot normally**. (with normal-run the bot will shutdown and will stay offline if it disconnects by the use of `.die` command until you manually run it again. Useful if you want to test the bot.) @@ -69,14 +69,14 @@ ________________________________________________________________________________ ####Updating NadekoBot - Make sure the bot is closed and is not running (Run `.die` in a connected server to ensure it's not running). - Once that's checked, go to the `Nadeko` folder. -- Run the `NadekoWinAIO.bat` file. +- Run the `NadekoInstaller.bat` file. - From the options, - Choose `1` to get the **most recent build**. - Choose `2` to get the **stable build**. - Follow the messages and press any key to continue. - Wait for it to finish. - Press any key to close the window when it shows **Installation complete.** -- [Start the bot again.](http://nadekobot.readthedocs.io/en/1.0/guides/Windows%20Guide/#starting-the-bot) +- [Start the bot again.](http://nadekobot.readthedocs.io/en/latest/guides/Windows%20Guide/#starting-the-bot) - You've updated and are running again, easy as that! ________________________________________________________________________________ @@ -113,7 +113,6 @@ ________________________________________________________________________________ [.NET Core SDK]: https://www.microsoft.com/net/core#windowscmd [Git]: https://git-scm.com/download/win -[WinInstaller]: https://github.com/Kwoth/NadekoBotInstallerWin/archive/master.zip [FFMPEG]: https://github.com/Soundofdarkness/FFMPEG-Inst/releases [7zip]: http://www.7-zip.org/download.html [DiscordApp]: https://discordapp.com/developers/applications/me From 6ff72a4807afa5996445bce1e8966c155ad72799 Mon Sep 17 00:00:00 2001 From: samvaio Date: Wed, 30 Nov 2016 19:15:01 +0530 Subject: [PATCH 02/42] updated link to latest guide --- docs/guides/Linux Guide.md | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/docs/guides/Linux Guide.md b/docs/guides/Linux Guide.md index cbb7ecf8..b917c9ca 100644 --- a/docs/guides/Linux Guide.md +++ b/docs/guides/Linux Guide.md @@ -108,7 +108,7 @@ Next, choose `5` to exit. ####Creating and Inviting bot -- Read here how to [create a DiscordBot application](http://nadekobot.readthedocs.io/en/1.0/guides/Windows%20Guide/#creating-discordbot-application) +- Read here how to [create a DiscordBot application](http://nadekobot.readthedocs.io/en/latest/guides/Windows%20Guide/#creating-discordbot-application) - [Visual Invite Guide](http://discord.kongslien.net/guide.html) *NOTE: Client ID is your Bot ID* - Copy your `Client ID` from your [applications page](https://discordapp.com/developers/applications/me). - Replace the `12345678` in this link `https://discordapp.com/oauth2/authorize?client_id=12345678&scope=bot&permissions=66186303` with your `Client ID`. @@ -120,18 +120,18 @@ Next, choose `5` to exit. **Skip this step if you are a Regular User or New to Linux.** -[![img7][img7]](http://nadekobot.readthedocs.io/en/1.0/guides/Linux%20Guide/#getting-nadekobot) +[![img7][img7]](http://nadekobot.readthedocs.io/en/latest/guides/Linux%20Guide/#getting-nadekobot) -- Right after [Getting NadekoBot](http://nadekobot.readthedocs.io/en/1.0/guides/Linux%20Guide/#getting-nadekobot) +- Right after [Getting NadekoBot](http://nadekobot.readthedocs.io/en/latest/guides/Linux%20Guide/#getting-nadekobot) - `cd NadekoBot/src/NadekoBot/` (go to this folder) - `pico credentials.json` (open credentials.json to edit) -- Insert your bot's **Client ID, Bot ID** (should be same as your Client ID) **and Token** if you got it following [Creating and Inviting bot](http://nadekobot.readthedocs.io/en/1.0/guides/Linux%20Guide/#creating-and-inviting-bot). -- Insert your own ID in Owners ID follow: [Setting up credentials.json](http://nadekobot.readthedocs.io/en/1.0/guides/Windows%20Guide/#setting-up-credentialsjson-file) -- And Google API from [Setting up NadekoBot for Music](http://nadekobot.readthedocs.io/en/1.0/guides/Windows%20Guide/#setting-up-nadekobot-for-music) +- Insert your bot **Client ID, Bot ID** (should be same as your Client ID) **and Token** if you got it following [Creating and Inviting bot](http://nadekobot.readthedocs.io/en/latest/guides/Linux%20Guide/#creating-and-inviting-bot). +- Insert your own ID in Owners ID follow: [Setting up credentials.json](http://nadekobot.readthedocs.io/en/latest/guides/Windows%20Guide/#setting-up-credentialsjson-file) +- And Google API from [Setting up NadekoBot for Music](http://nadekobot.readthedocs.io/en/latest/guides/Windows%20Guide/#setting-up-nadekobot-for-music) - Once done, press `CTRL+X` - It will ask for "Save Modified Buffer?", press `Y` for yes - It will then ask "File Name to Write" (rename), just hit `Enter` and Done. -- You can now move to [Running NadekoBot](http://nadekobot.readthedocs.io/en/1.0/guides/Linux%20Guide/#running-nadekobot) +- You can now move to [Running NadekoBot](http://nadekobot.readthedocs.io/en/latest/guides/Linux%20Guide/#running-nadekobot) ####Setting up SFTP @@ -149,14 +149,14 @@ Next, choose `5` to exit. ####Setting up credentials.json - Copy the `credentials.json` to desktop -- EDIT it as it is guided here: [Setting up credentials.json](http://nadekobot.readthedocs.io/en/1.0/guides/Windows%20Guide/#setting-up-credentialsjson-file) +- EDIT it as it is guided here: [Setting up credentials.json](http://nadekobot.readthedocs.io/en/latest/guides/Windows%20Guide/#setting-up-credentialsjson-file) - Paste/put it back in the folder once done. `(Using CyberDuck/WinSCP)` - **If** you already have Nadeko 1.0 setup and have `credentials.json` and `NadekoBot.db`, you can just copy and paste the `credentials.json` to `NadekoBot/src/NadekoBot` and `NadekoBot.db` to `NadekoBot/src/NadekoBot/bin/Release/netcoreapp1.0/data` using CyberDuck. -- **If** you have Nadeko 0.9x follow the [Upgrading Guide](http://nadekobot.readthedocs.io/en/1.0/guides/Upgrading%20Guide/) +- **If** you have Nadeko 0.9x follow the [Upgrading Guide](http://nadekobot.readthedocs.io/en/latest/guides/Upgrading%20Guide/) ####Setting up Music -To set up Nadeko for music and Google API Keys, follow [Setting up NadekoBot for Music](http://nadekobot.readthedocs.io/en/1.0/guides/Windows%20Guide/#setting-up-nadekobot-for-music) +To set up Nadeko for music and Google API Keys, follow [Setting up NadekoBot for Music](http://nadekobot.readthedocs.io/en/latest/guides/Windows%20Guide/#setting-up-nadekobot-for-music) Once done, go back to **PuTTY** @@ -175,16 +175,16 @@ The above command will create a new session named **nadeko** *(you can replace From the options, Choose `3` To Run the bot normally. -**NOTE:** With option `3` (Running Normally), if you use `.die` [command](http://nadekobot.readthedocs.io/en/1.0/Commands%20List/#administration) in discord. The bot will shut down and will stay offline until you manually run it again. (best if you want to check the bot.) +**NOTE:** With option `3` (Running Normally), if you use `.die` [command](http://nadekobot.readthedocs.io/en/latest/Commands%20List/#administration) in discord. The bot will shut down and will stay offline until you manually run it again. (best if you want to check the bot.) Choose `4` To Run the bot with Auto Restart. -**NOTE:** With option `4` (Running with Auto Restart), bot will auto run if you use `.die` [command](http://nadekobot.readthedocs.io/en/1.0/Commands%20List/#administration) making the command `.die` to function as restart. +**NOTE:** With option `4` (Running with Auto Restart), bot will auto run if you use `.die` [command](http://nadekobot.readthedocs.io/en/latest/Commands%20List/#administration) making the command `.die` to function as restart. See how that happens: ![img9](https://cdn.discordapp.com/attachments/251504306010849280/251506312893038592/die_explaination.gif) -**Remember** that, while running with Auto Restart, you will need to [close the tmux session](http://nadekobot.readthedocs.io/en/1.0/guides/Linux%20Guide/#restarting-nadeko) to stop the bot completely. +**Remember** that, while running with Auto Restart, you will need to [close the tmux session](http://nadekobot.readthedocs.io/en/latest/guides/Linux%20Guide/#restarting-nadeko) to stop the bot completely. **Now check your Discord, the bot should be online** @@ -216,7 +216,7 @@ Open **PuTTY** and login as you have before, type `reboot` and hit Enter. - Kill your previous session, check with `tmux ls` - `tmux kill-session -t nadeko` (don't forget to replace "nadeko" to what ever you named your bot's session) -- [Run the bot again.](http://nadekobot.readthedocs.io/en/1.0/guides/Linux%20Guide/#running-nadekobot) +- [Run the bot again.](http://nadekobot.readthedocs.io/en/latest/guides/Linux%20Guide/#running-nadekobot) ####Updating Nadeko @@ -231,7 +231,7 @@ Open **PuTTY** and login as you have before, type `reboot` and hit Enter. ####Alternative way to Install -If the [Nadeko installer](http://nadekobot.readthedocs.io/en/1.0/guides/Linux%20Guide/#getting-nadekobot) shows any kind error, check if you have the `linuxAIO.sh` file and make sure its not renamed or if you want to manually install the bot. Use the following command(s): +If the [Nadeko installer](http://nadekobot.readthedocs.io/en/latest/guides/Linux%20Guide/#getting-nadekobot) shows any kind error, check if you have the `linuxAIO.sh` file and make sure its not renamed or if you want to manually install the bot. Use the following command(s): ![img6](https://cdn.discordapp.com/attachments/251504306010849280/251505587089571850/getting_nadeko.gif) From 46d103464dcf030cddc2cc3e6b24c2e34be6e36f Mon Sep 17 00:00:00 2001 From: samvaio Date: Wed, 30 Nov 2016 19:20:03 +0530 Subject: [PATCH 03/42] updated links to latest osx guide --- docs/guides/OSX Guide.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/guides/OSX Guide.md b/docs/guides/OSX Guide.md index dce405c1..77bea787 100644 --- a/docs/guides/OSX Guide.md +++ b/docs/guides/OSX Guide.md @@ -116,11 +116,11 @@ Next, choose `5` to exit. From the options, Choose `3` To Run the bot normally. -**NOTE:** With option `3` (Running Normally), if you use `.die` [command](http://nadekobot.readthedocs.io/en/1.0/Commands%20List/#administration) in discord. The bot will shut down and will stay offline untill you manually run it again. (best if you want to check the bot.) +**NOTE:** With option `3` (Running Normally), if you use `.die` [command](http://nadekobot.readthedocs.io/en/latest/Commands%20List/#administration) in discord. The bot will shut down and will stay offline untill you manually run it again. (best if you want to check the bot.) Choose `4` To Run the bot with Auto Restart. -**NOTE:** With option `4` (Running with Auto Restart), bot will auto run if you use `.die` [command](http://nadekobot.readthedocs.io/en/1.0/Commands%20List/#administration) making the command `.die` to be used as restart. -**NOTE:** [To stop the bot you will have to kill the session.](http://nadekobot.readthedocs.io/en/1.0/guides/OSX%20Guide/#some-more-info) +**NOTE:** With option `4` (Running with Auto Restart), bot will auto run if you use `.die` [command](http://nadekobot.readthedocs.io/en/latest/Commands%20List/#administration) making the command `.die` to be used as restart. +**NOTE:** [To stop the bot you will have to kill the session.](http://nadekobot.readthedocs.io/en/latest/guides/OSX%20Guide/#some-more-info) **Now check your Discord, the bot should be online** @@ -137,12 +137,12 @@ If you used Screen press CTRL+A+D (this will detach the nadeko screen) ####Setting NadekoBot Music -For Music Setup and API keys check [Setting up NadekoBot for Music](http://nadekobot.readthedocs.io/en/1.0/guides/Windows%20Guide/#setting-up-nadekobot-for-music) and [JSON Explanations](http://nadekobot.readthedocs.io/en/1.0/JSON%20Explanations/). +For Music Setup and API keys check [Setting up NadekoBot for Music](http://nadekobot.readthedocs.io/en/latest/guides/Windows%20Guide/#setting-up-nadekobot-for-music) and [JSON Explanations](http://nadekobot.readthedocs.io/en/latest/JSON%20Explanations/). ####Updating Nadeko - Connect to the terminal. -- `tmux kill-session -t nadeko` [(don't forget to replace **nadeko** in the command to what ever you named your bot's session)](http://nadekobot.readthedocs.io/en/1.0/guides/OSX%20Guide/#some-more-info) +- `tmux kill-session -t nadeko` [(don't forget to replace **nadeko** in the command to what ever you named your bot's session)](http://nadekobot.readthedocs.io/en/latest/guides/OSX%20Guide/#some-more-info) - Make sure the bot is **not** running. - `tmux new -s nadeko` (**nadeko** is the name of the session) - `cd ~ && bash linuxAIO.sh` From 3e7aae59c8bc02596152d5bf73e5dcde902157e3 Mon Sep 17 00:00:00 2001 From: samvaio Date: Wed, 30 Nov 2016 19:52:00 +0530 Subject: [PATCH 04/42] Update Windows Guide.md --- docs/guides/Windows Guide.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/guides/Windows Guide.md b/docs/guides/Windows Guide.md index b4642f3c..0125c61a 100644 --- a/docs/guides/Windows Guide.md +++ b/docs/guides/Windows Guide.md @@ -16,7 +16,7 @@ ________________________________________________________________________________ ####Guide - Make sure you have installed both [Git][Git] and the [.NET Core SDK][.NET Core SDK]. -- Create a **new folder** in the root directory of any hard drive and name it `Nadeko`. (If you choose any other name, make sure it doesn't contain a space in their folder name) +- Create a **new folder** anywhere you like and name it `Nadeko`. - Next, [Right-Click on this link](https://github.com/Kwoth/NadekoBotInstallerWin/raw/master/NadekoInstaller.bat) and select **Save link as** and save the file `NadekoInstaller.bat` inside the `Nadeko` folder that we created earlier. (**DO NOT** rename the file `NadekoInstaller.bat`) - Once that's done, double-click on `NadekoInstaller.bat` to run it. - From the options, From be86733568a92d96b9976111dafdc6dfacf321c2 Mon Sep 17 00:00:00 2001 From: samvaio Date: Wed, 30 Nov 2016 20:22:38 +0530 Subject: [PATCH 05/42] fixed img and branch --- docs/index.md | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/docs/index.md b/docs/index.md index 021e13c2..872e2e40 100644 --- a/docs/index.md +++ b/docs/index.md @@ -8,11 +8,9 @@ In case you need any help, hop on the [NadekoBot Server][NadekoBot Server], wher NadekoBot is an open source project, and it can be found on our [GitHub][GitHub] page. -Check the latest [Release][Release] - Here you can read current [Issues][Issues]. -If you want to contribute, be sure to PR on the **[1.0][1.0]** branch. +If you want to contribute, be sure to PR on the **[dev][dev]** branch. ##Content - [About](about.md) - Guides @@ -31,12 +29,11 @@ If you want to contribute, be sure to PR on the **[1.0][1.0]** branch. - [Contribution Guide](Contribution Guide.md) - [Donate](Donate.md) -[img]: https://discordcdn.com/attachments/202743183774318593/210580315381563392/discord.png +[img]: https://cdn.discordapp.com/attachments/202743183774318593/210580315381563392/discord.png [NadekoBot Server]: https://discord.gg/0ehQwTK2RBjAxzEY [GitHub]: https://github.com/Kwoth/NadekoBot [Issues]: https://github.com/Kwoth/NadekoBot/issues -[1.0]: https://github.com/Kwoth/NadekoBot/tree/1.0 -[Release]: https://github.com/Kwoth/NadekoBot/releases +[dev]: https://github.com/Kwoth/NadekoBot/tree/dev [Italian]: http://i.imgur.com/SsaTwOF.png?1 [Russian]: http://i.imgur.com/wf9bc5G.png?1 From 1ff07446c3b7f441a426a5cf73621e33571017e9 Mon Sep 17 00:00:00 2001 From: Kwoth Date: Wed, 30 Nov 2016 16:23:54 +0100 Subject: [PATCH 06/42] updated commandlist --- docs/Commands List.md | 76 +++++++++++++++++++++---------------------- 1 file changed, 38 insertions(+), 38 deletions(-) diff --git a/docs/Commands List.md b/docs/Commands List.md index e0097eee..716039eb 100644 --- a/docs/Commands List.md +++ b/docs/Commands List.md @@ -44,36 +44,36 @@ Command and aliases | Description | Usage `.settopic` `.st` | Sets a topic on the current channel. **Requires ManageChannels server permission.** | `.st My new topic` `.setchanlname` `.schn` | Changes the name of the current channel. **Requires ManageChannels server permission.** | `.schn NewName` `.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. **Bot owner only.** | `.die` -`.setname` `.newnm` | Gives the bot a new name. **Bot owner only.** | `.newnm BotName` -`.setavatar` `.setav` | Sets a new avatar image for the NadekoBot. Argument is a direct link to an image. **Bot owner only.** | `.setav http://i.imgur.com/xTG3a1I.jpg` -`.setgame` | Sets the bots game. **Bot owner only.** | `.setgame with snakes` -`.setstream` | Sets the bots stream. First argument is the twitch link, second argument is stream name. **Bot owner only.** | `.setstream TWITCHLINK Hello` -`.send` | Sends a message to someone on a different server through the bot. Separate server and channel/user ids with `|` and prepend channel id with `c:` and user id with `u:`. **Bot owner only.** | `.send serverid|c:channelid message` or `.send serverid|u:userid message` -`.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` +`.die` | Shuts the bot down. **Bot Owner only.** | `.die` +`.setname` `.newnm` | Gives the bot a new name. **Bot Owner only.** | `.newnm BotName` +`.setavatar` `.setav` | Sets a new avatar image for the NadekoBot. Argument is a direct link to an image. **Bot Owner only.** | `.setav http://i.imgur.com/xTG3a1I.jpg` +`.setgame` | Sets the bots game. **Bot Owner only.** | `.setgame with snakes` +`.setstream` | Sets the bots stream. First argument is the twitch link, second argument is stream name. **Bot Owner only.** | `.setstream TWITCHLINK Hello` +`.send` | Sends a message to someone on a different server through the bot. Separate server and channel/user ids with `|` and prepend channel id with `c:` and user id with `u:`. **Bot Owner only.** | `.send serverid|c:channelid message` or `.send serverid|u:userid message` +`.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` `.mentionrole` `.menro` | Mentions every person from the provided role or roles (separated by a ',') on this server. Requires you to have mention everyone permission. **Requires MentionEveryone server permission.** | `.menro RoleName` `.donators` | List of lovely people who donated to keep this project alive. | `.donators` -`.donadd` | Add a donator to the database. **Bot owner only.** | `.donadd Donate Amount` +`.donadd` | Add a donator to the database. **Bot Owner only.** | `.donadd Donate Amount` `.antiraid` | Sets an anti-raid protection on the server. First argument is number of people which will trigger the protection. Second one is a time interval in which that number of people needs to join in order to trigger the protection, and third argument is punishment for those people (Kick, Ban, Mute) **Requires Administrator server permission.** | `.antiraid 5 20 Kick` `.antispam` | Stops people from repeating same message X times in a row. You can specify to either mute, kick or ban the offenders. **Requires Administrator server permission.** | `.antispam 3 Mute` or `.antispam 4 Kick` or `.antispam 6 Ban` `.autoassignrole` `.aar` | Automaticaly assigns a specified role to every user who joins the server. **Requires ManageRoles server permission.** | `.aar` to disable, `.aar Role Name` to enable -`.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` +`.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. **Requires ManageServer server permission.** | `.jcsc TokenHere` `.lcsc` | Leaves Cross server channel instance from this channel. **Requires ManageServer server permission.** | `.lcsc` -`.fwmsgs` | Toggles forwarding of non-command messages sent to bot's DM to the bot owners **Bot owner only.** | `.fwmsgs` -`.fwtoall` | Toggles whether messages will be forwarded to all bot owners or only to the first one specified in the credentials.json **Bot owner only.** | `.fwtoall` -`.logserver` | Logs server activity in this channel. **Requires Administrator server permission.** **Bot owner only.** | `.logserver` -`.logignore` | Toggles whether the .logserver command ignores this channel. Useful if you have hidden admin channel and public log channel. **Requires Administrator server permission.** **Bot owner only.** | `.logignore` +`.fwmsgs` | Toggles forwarding of non-command messages sent to bot's DM to the bot owners **Bot Owner only.** | `.fwmsgs` +`.fwtoall` | Toggles whether messages will be forwarded to all bot owners or only to the first one specified in the credentials.json **Bot Owner only.** | `.fwtoall` +`.logserver` | Logs server activity in this channel. **Requires Administrator server permission.** **Bot Owner only.** | `.logserver` +`.logignore` | Toggles whether the .logserver command ignores this channel. Useful if you have hidden admin channel and public log channel. **Requires Administrator server permission.** **Bot Owner only.** | `.logignore` `.userpresence` | Starts logging to this channel when someone from the server goes online/offline/idle. **Requires Administrator server permission.** | `.userpresence` `.voicepresence` | Toggles logging to this channel whenever someone joins or leaves a voice channel you are currently in. **Requires Administrator server permission.** | `.voicepresence` `.repeatinvoke` `.repinv` | Immediately shows the repeat message and restarts the timer. **Requires ManageMessages server permission.** | `.repinv` -`.repeat` | Repeat a message every X minutes. If no parameters are specified, repeat is disabled. | `.repeat 5 Hello there` -`.migratedata` | Migrate data from old bot configuration **Bot owner only.** | `.migratedata` -`.rotateplaying` `.ropl` | Toggles rotation of playing status of the dynamic strings you previously specified. **Bot owner only.** | `.ropl` -`.addplaying` `.adpl` | Adds a specified string to the list of playing strings to rotate. Supported placeholders: %servers%, %users%, %playing%, %queued% **Bot owner only.** | `.adpl` -`.listplaying` `.lipl` | Lists all playing statuses with their corresponding number. **Bot owner only.** | `.lipl` -`.removeplaying` `.rmpl` `.repl` | Removes a playing string on a given number. **Bot owner only.** | `.rmpl` +`.repeat` | Repeat a message every X minutes. If no parameters are specified, repeat is disabled. **Requires ManageMessages server permission.** | `.repeat 5 Hello there` +`.migratedata` | Migrate data from old bot configuration **Bot Owner only.** | `.migratedata` +`.rotateplaying` `.ropl` | Toggles rotation of playing status of the dynamic strings you previously specified. **Bot Owner only.** | `.ropl` +`.addplaying` `.adpl` | Adds a specified string to the list of playing strings to rotate. Supported placeholders: %servers%, %users%, %playing%, %queued% **Bot Owner only.** | `.adpl` +`.listplaying` `.lipl` | Lists all playing statuses with their corresponding number. **Bot Owner only.** | `.lipl` +`.removeplaying` `.rmpl` `.repl` | Removes a playing string on a given number. **Bot Owner only.** | `.rmpl` `.slowmode` | Toggles slowmode. Disable by specifying no parameters. To enable, specify a number of messages each user can send, and an interval in seconds. For example 1 message every 5 seconds. **Requires ManageMessages server permission.** | `.slowmode 1 5` or `.slowmode` `.adsarm` | Toggles the automatic deletion of confirmations for .iam and .iamn commands. **Requires ManageMessages server permission.** | `.adsarm` `.asar` | Adds a role to the list of self-assignable roles. **Requires ManageRoles server permission.** | `.asar Gamer` @@ -82,15 +82,15 @@ Command and aliases | Description | Usage `.togglexclsar` `.tesar` | Toggles whether the self-assigned roles are exclusive. (So that any person can have only one of the self assignable roles) **Requires ManageRoles server permission.** | `.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` -`.leave` | Makes Nadeko leave the server. Either name or id required. **Bot owner only.** | `.leave 123123123331` -`.greetdel` `.grdel` | Toggles automatic deletion of greet messages. **Requires ManageServer server permission.** | `.greetdel` +`.leave` | Makes Nadeko leave the server. Either name or id required. **Bot Owner only.** | `.leave 123123123331` +`.greetdel` `.grdel` | Sets the time it takes (in seconds) for greet messages to be auto-deleted. Set 0 to disable automatic deletion. **Requires ManageServer server permission.** | `.greetdel 0` or `.greetdel 30` `.greet` | Toggles anouncements on the current channel when someone joins the server. **Requires ManageServer server permission.** | `.greet` `.greetmsg` | Sets a new join announcement message which will be shown in the server's channel. Type %user% if you want to mention the new member. Using it with no message will show the current greet message. **Requires ManageServer server permission.** | `.greetmsg Welcome, %user%.` `.greetdm` | Toggles whether the greet messages will be sent in a DM (This is separate from greet - you can have both, any or neither enabled). **Requires ManageServer server permission.** | `.greetdm` `.greetdmmsg` | Sets a new join announcement message which will be sent to the user who joined. Type %user% if you want to mention the new member. Using it with no message will show the current DM greet message. **Requires ManageServer server permission.** | `.greetdmmsg Welcome to the server, %user%`. `.bye` | Toggles anouncements on the current channel when someone leaves the server. **Requires ManageServer server permission.** | `.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. **Requires ManageServer server permission.** | `.byemsg %user% has left.` -`.byedel` | Toggles automatic deletion of bye messages. **Requires ManageServer server permission.** | `.byedel` +`.byedel` | Sets the time it takes (in seconds) for bye messages to be auto-deleted. Set 0 to disable automatic deletion. **Requires ManageServer server permission.** | `.byedel 0` or `.byedel 30` `.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. **Requires ManageRoles server permission.** **Requires ManageChannels server permission.** | `.voice+text` `.cleanvplust` `.cv+t` | Deletes all text channels ending in `-voice` for which voicechannels are not found. Use at your own risk. **Requires ManageChannels server permission.** **Requires ManageRoles server permission.** | `.cleanv+t` @@ -114,7 +114,7 @@ Command and aliases | Description | Usage ### CustomReactions Command and aliases | Description | Usage ----------------|--------------|------- -`.addcustreact` `.acr` | Add a custom reaction with a trigger and a response. Running this command in server requires Administration permission. Running this command in DM is Bot Owner only and adds a new global custom reaction. Guide here: | `.acr "hello" Hi there %user%` +`.addcustreact` `.acr` | Add a custom reaction with a trigger and a response. Running this command in server requires Administration permission. Running this command in DM is Bot Owner only and adds a new global custom reaction. Guide here: | `.acr "hello" Hi there %user%` `.listcustreact` `.lcr` | Lists global or server custom reactions (20 commands per page). Running the command in DM will list global custom reactions, while running it in server will list that server's custom reactions. Specifying `all` argument instead of the number will DM you a text file with a list of all custom reactions. | `.lcr 1` or `.lcr all` `.listcustreactg` `.lcrg` | Lists global or server custom reactions (20 commands per page) grouped by trigger, and show a number of responses for each. Running the command in DM will list global custom reactions, while running it in server will list that server's custom reactions. | `.lcrg 1` `.showcustreact` `.scr` | Shows a custom reaction's response on a given ID. | `.scr 1` @@ -128,8 +128,8 @@ Command and aliases | Description | Usage `$raffle` | Prints a name and ID of a random user from the online list from the (optional) role. | `$raffle` or `$raffle RoleName` `$cash` `$$$` | Check how much currency a person has. (Defaults to yourself) | `$$$` or `$$$ @SomeGuy` `$give` | Give someone a certain amount of currency. | `$give 1 "@SomeGuy"` -`$award` | Awards someone a certain amount of currency. You can also specify a role name to award currency to all users in a role. **Bot owner only.** | `$award 100 @person` or `$award 5 Role Of Gamblers` -`$take` | Takes a certain amount of currency from someone. **Bot owner only.** | `$take 1 "@someguy"` +`$award` | Awards someone a certain amount of currency. You can also specify a role name to award currency to all users in a role. **Bot Owner only.** | `$award 100 @person` or `$award 5 Role Of Gamblers` +`$take` | Takes a certain amount of currency from someone. **Bot Owner only.** | `$take 1 "@someguy"` `$betroll` `$br` | Bets a certain amount of currency and rolls a dice. Rolling over 66 yields x2 of your currency, over 90 - x3 and 100 x10. | `$br 5` `$leaderboard` `$lb` | Displays bot currency leaderboard. | `$lb` `$race` | Starts a new animal race. | `$race` @@ -161,9 +161,9 @@ Command and aliases | Description | Usage `>gencurrency` `>gc` | Toggles currency generation on this channel. Every posted message will have chance to spawn currency. Chance is specified by the Bot Owner. (default is 2%) **Requires ManageMessages server permission.** | `>gc` `>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. **Bot owner only.** | `>typeadd wordswords` +`>typeadd` | Adds a new article to the typing contest. **Bot Owner only.** | `>typeadd wordswords` `>typelist` | Lists added typing articles with their IDs. 15 per page. | `>typelist` or `>typelist 3` -`>typedel` | Deletes a typing article given the ID. **Bot owner only.** | `>typedel 3` +`>typedel` | Deletes a typing article given the ID. **Bot Owner only.** | `>typedel 3` `>trivia` `>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` or `>t 5 nohint` `>tl` | Shows a current trivia leaderboard. | `>tl` `>tq` | Quits current trivia after current question. | `>tq` @@ -176,7 +176,7 @@ Command and aliases | Description | Usage `-modules` `-mdls` | Lists all bot modules. | `-modules` `-commands` `-cmds` | List all of the bot's commands from a certain module. You can either specify full, or only first few letters of the module name. | `-commands Administration` or `-cmds Admin` `-help` `-h` | Either shows a help for a single command, or DMs you help link if no arguments are specified. | `-h !!q` or `-h` -`-hgit` | Generates the commandlist.md file. **Bot owner only.** | `-hgit` +`-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` | Instructions for helping the project financially. | `-donate` @@ -198,9 +198,9 @@ Command and aliases | Description | Usage `!!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 soundcloudseturl` -`!!localplaylst` `!!lopl` | Queues all songs from a directory. **Bot owner only.** | `!!lopl C:/music/classical` +`!!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` +`!!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` @@ -222,7 +222,6 @@ Command and aliases | Description | Usage ----------------|--------------|------- `~hentai` | Shows a hentai image from a random website (gelbooru or danbooru or konachan or atfbooru or yandere) with a given tag. Tag is optional but preferred. Only 1 tag allowed. | `~hentai yuri` `~hentaibomb` | Shows a total 5 images (from gelbooru, danbooru, konachan, yandere and atfbooru). Tag is optional but preferred. | `~hentaibomb yuri` -`~atfbooru` `~atf` | Shows a random hentai image from atfbooru with a given tag. Tag is optional but preferred. | `~atfbooru yuri+kissing` `~yandere` | Shows a random image from yandere with a given tag. Tag is optional but preferred. (multiple tags are appended with +) | `~yandere tag1+tag2` `~danbooru` | Shows a random hentai image from danbooru with a given tag. Tag is optional but preferred. (multiple tags are appended with +) | `~danbooru yuri+kissing` `~konachan` | Shows a random hentai image from konachan with a given tag. Tag is optional but preferred. | `~konachan yuri` @@ -255,9 +254,9 @@ Command and aliases | Description | Usage `;allrolemdls` `;arm` | Enable or disable all modules for a specific role. | `;arm [enable/disable] MyRole` `;allusrmdls` `;aum` | Enable or disable all modules for a specific user. | `;aum enable @someone` `;allsrvrmdls` `;asm` | Enable or disable all modules for your server. | `;asm [enable/disable]` -`;ubl` | Either [add]s or [rem]oves a user specified by a mention or ID from a blacklist. **Bot owner only.** | `;ubl add @SomeUser` or `;ubl rem 12312312313` -`;cbl` | Either [add]s or [rem]oves a channel specified by an ID from a blacklist. **Bot owner only.** | `;cbl rem 12312312312` -`;sbl` | Either [add]s or [rem]oves a server specified by a Name or ID from a blacklist. **Bot owner only.** | `;sbl add 12312321312` or `;sbl rem SomeTrashServer` +`;ubl` | Either [add]s or [rem]oves a user specified by a mention or ID from a blacklist. **Bot Owner only.** | `;ubl add @SomeUser` or `;ubl rem 12312312313` +`;cbl` | Either [add]s or [rem]oves a channel specified by an ID from a blacklist. **Bot Owner only.** | `;cbl rem 12312312312` +`;sbl` | Either [add]s or [rem]oves a server specified by a Name or ID from a blacklist. **Bot Owner only.** | `;sbl add 12312321312` or `;sbl rem SomeTrashServer` `;cmdcooldown` `;cmdcd` | Sets a cooldown per user for a command. Set to 0 to remove the cooldown. | `;cmdcd "some cmd" 5` `;allcmdcooldowns` `;acmdcds` | Shows a list of all commands and their respective cooldowns. | `;acmdcds` `;srvrfilterinv` `;sfi` | Toggles automatic deleting of invites posted in the server. Does not affect Bot Owner. | `;sfi` @@ -282,6 +281,7 @@ Command and aliases | Description | Usage `~lmgtfy` | Google something for an idiot. | `~lmgtfy query` `~shorten` | Attempts to shorten an URL, if it fails, returns the input URL. | `~shorten https://google.com` `~google` `~g` | Get a google search link for some terms. | `~google query` +`~magicthegathering` `~mtg` | Searches for a Magic The Gathering card. | `~magicthegathering about face` or `~mtg about face` `~hearthstone` `~hs` | Searches for a Hearthstone card and shows its image. Takes a while to complete. | `~hs Ysera` `~urbandict` `~ud` | Searches Urban Dictionary for a word. | `~ud Pineapple` `~#` | Searches Tagdef.com for a hashtag. | `~# ff` @@ -322,7 +322,7 @@ Command and aliases | Description | Usage `~removestream` `~rms` | Removes notifications of a certain streamer on this channel. **Requires ManageMessages server permission.** | `~rms SomeGuy` `~checkstream` `~cs` | Checks if a user is online on a certain streaming platform. | `~cs twitch MyFavStreamer` `~translate` `~trans` | Translates from>to text. From the given language to the destination language. | `~trans en>fr Hello` -`~autotrans` `~at` | Starts automatic translation of all messages by users who set their `~atl` in this channel. You can set "del" argument to automatically delete all translated user messages. **Requires Administrator server permission.** **Bot owner only.** | `~at` or `~at del` +`~autotrans` `~at` | Starts automatic translation of all messages by users who set their `~atl` in this channel. You can set "del" argument to automatically delete all translated user messages. **Requires Administrator server permission.** **Bot Owner only.** | `~at` or `~at del` `~autotranslang` `~atl` | `~atl en>fr` | Sets your source and target language to be used with `~at`. Specify no arguments to remove previously set value. `~translangs` | Lists the valid languages for translation. | `~translangs` `~xkcd` | Shows a XKCD comic. No arguments will retrieve random one. Number argument will retrieve a specific comic, and "latest" will get the latest one. | `~xkcd` or `~xkcd 1400` or `~xkcd latest` @@ -342,7 +342,7 @@ Command and aliases | Description | Usage `.channeltopic` `.ct` | Sends current channel's topic as a message. | `.ct` `.stats` | Shows some basic stats for Nadeko. | `.stats` `.showemojis` `.se` | Shows a name and a link to every SPECIAL emoji in the message. | `.se A message full of SPECIAL emojis` -`.listservers` | Lists servers the bot is on with some basic info. 15 per page. **Bot owner only.** | `.listservers 3` +`.listservers` | Lists servers the bot is on with some basic info. 15 per page. **Bot Owner only.** | `.listservers 3` `.calculate` `.calc` | Evaluate a mathematical expression. | `.calc 1+1` `.calcops` | Shows all available operations in .calc command | `.calcops` `.togethertube` `.totube` | Creates a new room on and shows the link in the chat. | `.totube` @@ -355,6 +355,6 @@ Command and aliases | Description | Usage `.deletequote` `.delq` | Deletes a random quote with the specified keyword. You have to either be server Administrator or the creator of the quote to delete it. | `.delq abc` `.delallq` `.daq` | Deletes all quotes on a specified keyword. **Requires Administrator server permission.** | `.delallq kek` `.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!` -`.remindtemplate` | 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.** | `.remindtemplate %user%, do %message%!` +`.remindtemplate` | 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.** | `.remindtemplate %user%, do %message%!` `.convertlist` | List of the convertible dimensions and currencies. | `.convertlist` `.convert` | Convert quantities. Use `.convertlist` to see supported dimensions and currencies. | `.convert m km 1000` From e6934a97f23f6b4af5d0e26ee6dc89407fc5231c Mon Sep 17 00:00:00 2001 From: samvaio Date: Wed, 30 Nov 2016 21:28:22 +0530 Subject: [PATCH 07/42] license updated MIT changed to Unlicense.org --- docs/about.md | 27 +++++++++++++++++++++------ 1 file changed, 21 insertions(+), 6 deletions(-) diff --git a/docs/about.md b/docs/about.md index 8435eda2..7918a080 100644 --- a/docs/about.md +++ b/docs/about.md @@ -1,13 +1,28 @@ ## Terms of Use -The MIT License (MIT) +The Unlicense License -Copyright (c) 2016 NadekoBot Team +This is free and unencumbered software released into the public domain. -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: +Anyone is free to copy, modify, publish, use, compile, sell, or +distribute this software, either in source code form or as a compiled +binary, for any purpose, commercial or non-commercial, and by any +means. -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. +In jurisdictions that recognize copyright laws, the author or authors +of this software dedicate any and all copyright interest in the +software to the public domain. We make this dedication for the benefit +of the public at large and to the detriment of our heirs and +successors. We intend this dedication to be an overt act of +relinquishment in perpetuity of all present and future rights to this +software under copyright law. +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 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. +For more information, please refer to From 86110f170140e9d15455c8fc9ade68b2ea3f3ce7 Mon Sep 17 00:00:00 2001 From: samvaio Date: Wed, 30 Nov 2016 21:28:52 +0530 Subject: [PATCH 08/42] Update about.md --- docs/about.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/about.md b/docs/about.md index 7918a080..8b784e4c 100644 --- a/docs/about.md +++ b/docs/about.md @@ -1,6 +1,6 @@ ## Terms of Use -The Unlicense License +**The Unlicense License** This is free and unencumbered software released into the public domain. From b1e3e2d9881dc4d617b4bf41d37469f3170243c1 Mon Sep 17 00:00:00 2001 From: samvaio Date: Wed, 30 Nov 2016 21:47:32 +0530 Subject: [PATCH 09/42] updated link for osx dotnet --- docs/guides/OSX Guide.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/guides/OSX Guide.md b/docs/guides/OSX Guide.md index 77bea787..23d99e04 100644 --- a/docs/guides/OSX Guide.md +++ b/docs/guides/OSX Guide.md @@ -30,7 +30,7 @@ brew install tmux - `ln -s /usr/local/opt/openssl/lib/libcrypto.1.0.0.dylib /usr/local/lib/` - `ln -s /usr/local/opt/openssl/lib/libssl.1.0.0.dylib /usr/local/lib/` -- Download the .NET Core SDK, found [here.](https://go.microsoft.com/fwlink/?LinkID=827526) +- Download the [.NET Core SDK](https://www.microsoft.com/net/core#macos), found [here.](https://go.microsoft.com/fwlink/?LinkID=835011) - Open the `.pkg` file you downloaded and install it. - `ln -s /usr/local/share/dotnet/dotnet /usr/local/bin` From 131384991f65ff1d2dca191de188b19055b72ca2 Mon Sep 17 00:00:00 2001 From: samvaio Date: Wed, 30 Nov 2016 21:52:32 +0530 Subject: [PATCH 10/42] Update Windows Guide.md --- 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 0125c61a..04554aa2 100644 --- a/docs/guides/Windows Guide.md +++ b/docs/guides/Windows Guide.md @@ -36,7 +36,7 @@ ________________________________________________________________________________ - Keep this window open for now. ####Setting up credentials.json file -- In our `NadekoBot` folder you should see a `src` folder, then *another* `NadekoBot` folder, in this final folder, you should see a `.json` file named `credentials.json`. (Note: If you do not see a **.json** after `credentials.json `, do not add the `**.json**`. You most likely have `"Hide file extensions"` enabled.) +- In our `NadekoBot` folder you should see a `src` folder, then *another* `NadekoBot` folder, in this final folder, you should see a `.json` file named `credentials.json`. (Note: If you do not see a `.json` after `credentials.json`, do not add the `.json`. You most likely have **"Hide file extensions"** enabled.) - If you mess up the setup of `credentials.json`, rename `credentials_example.json` to `credentials.json`. - Open the file with [Notepad++][Notepad++]. - In there you will see fields such as `Token`, `ClientId`, `BotId` and `OwnerIDs`. @@ -106,7 +106,7 @@ ________________________________________________________________________________ - 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](http://i.imgur.com/aR5l1Hn.gif) *(thanks to PooPeePants#7135)* +- Before proceeding, check out this gif to set up `ffmpeg` PATH correctly ![LINK TO gif](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. From c032a67de255534e23167ec0b4ee969ca6dca2c6 Mon Sep 17 00:00:00 2001 From: samvaio Date: Thu, 1 Dec 2016 00:34:25 +0530 Subject: [PATCH 11/42] Update Commands List.md --- docs/Commands List.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/docs/Commands List.md b/docs/Commands List.md index e0097eee..e72ef2ea 100644 --- a/docs/Commands List.md +++ b/docs/Commands List.md @@ -1,5 +1,4 @@ -For more information and how to setup your own NadekoBot, go to: -You can support the project on patreon: or paypal: `nadekodiscordbot@gmail.com` +You can support the project on [Patreon](https://patreon.com/nadekobot) or paypal: `nadekodiscordbot@gmail.com` ##Table Of Contents - [Help](#help) - [Administration](#administration) From 477a34a6eeca228f2a5ca908954861b8103dd541 Mon Sep 17 00:00:00 2001 From: Kwoth Date: Wed, 30 Nov 2016 20:15:22 +0100 Subject: [PATCH 12/42] .stats much prettier, .SendErrorAsync added for normalized error messages --- docs/Commands List.md | 4 +- .../Modules/Administration/Administration.cs | 5 +- src/NadekoBot/Modules/Help/Help.cs | 3 +- src/NadekoBot/Modules/Utility/Utility.cs | 69 ++++++++++++++++++- src/NadekoBot/Services/Impl/StatsService.cs | 37 ++++++---- src/NadekoBot/_Extensions/Extensions.cs | 3 + 6 files changed, 98 insertions(+), 23 deletions(-) diff --git a/docs/Commands List.md b/docs/Commands List.md index 716039eb..3b38e04f 100644 --- a/docs/Commands List.md +++ b/docs/Commands List.md @@ -1,5 +1,5 @@ -For more information and how to setup your own NadekoBot, go to: -You can support the project on patreon: or paypal: `nadekodiscordbot@gmail.com` +You can support the project on patreon: or paypal: + ##Table Of Contents - [Help](#help) - [Administration](#administration) diff --git a/src/NadekoBot/Modules/Administration/Administration.cs b/src/NadekoBot/Modules/Administration/Administration.cs index 42e025a0..b137c279 100644 --- a/src/NadekoBot/Modules/Administration/Administration.cs +++ b/src/NadekoBot/Modules/Administration/Administration.cs @@ -640,8 +640,9 @@ namespace NadekoBot.Modules.Administration var channel = (ITextChannel)umsg.Channel; var user = channel.Guild.GetCurrentUser(); - - var enumerable = (await umsg.Channel.GetMessagesAsync()).Where(x => x.Author.Id == user.Id); + + var enumerable = (await umsg.Channel.GetMessagesAsync()).AsEnumerable(); + enumerable = enumerable.Where(x => x.Author.Id == user.Id); await umsg.Channel.DeleteMessagesAsync(enumerable); } diff --git a/src/NadekoBot/Modules/Help/Help.cs b/src/NadekoBot/Modules/Help/Help.cs index 11dd9437..b0e1338b 100644 --- a/src/NadekoBot/Modules/Help/Help.cs +++ b/src/NadekoBot/Modules/Help/Help.cs @@ -121,8 +121,7 @@ namespace NadekoBot.Modules.Help public Task Hgit(IUserMessage umsg) { var helpstr = new StringBuilder(); - helpstr.AppendLine(@"For more information and how to setup your own NadekoBot, go to: -You can support the project on patreon: or paypal: `nadekodiscordbot@gmail.com`"); + helpstr.AppendLine("You can support the project on patreon: or paypal: \n"); helpstr.AppendLine("##Table Of Contents"); helpstr.AppendLine(string.Join("\n", NadekoBot.CommandService.Modules.Where(m => m.Name.ToLowerInvariant() != "help").OrderBy(m => m.Name).Prepend(NadekoBot.CommandService.Modules.FirstOrDefault(m=>m.Name.ToLowerInvariant()=="help")).Select(m => $"- [{m.Name}](#{m.Name.ToLowerInvariant()})"))); helpstr.AppendLine(); diff --git a/src/NadekoBot/Modules/Utility/Utility.cs b/src/NadekoBot/Modules/Utility/Utility.cs index 3e191577..4e0dddf0 100644 --- a/src/NadekoBot/Modules/Utility/Utility.cs +++ b/src/NadekoBot/Modules/Utility/Utility.cs @@ -10,6 +10,11 @@ using NadekoBot.Extensions; using System.Text.RegularExpressions; using System.Reflection; using Discord.WebSocket; +using NadekoBot.Services.Impl; +using Discord.API; +using Embed = Discord.API.Embed; +using EmbedAuthor = Discord.API.EmbedAuthor; +using EmbedField = Discord.API.EmbedField; namespace NadekoBot.Modules.Utility { @@ -37,7 +42,7 @@ namespace NadekoBot.Modules.Utility int i = 0; if (!arr.Any()) - await channel.SendMessageAsync(_l["🚧 `Nobody is playing that game.`"]).ConfigureAwait(false); + await channel.SendErrorAsync("Nobody is playing that game.").ConfigureAwait(false); else await channel.SendMessageAsync("```css\n" + string.Join("\n", arr.GroupBy(item => (i++) / 3).Select(ig => string.Concat(ig.Select(el => $"β€’ {el,-35}")))) + "\n```").ConfigureAwait(false); } @@ -158,7 +163,67 @@ namespace NadekoBot.Modules.Utility { var channel = umsg.Channel; - await channel.SendMessageAsync(await NadekoBot.Stats.Print()); + var stats = NadekoBot.Stats; + + await channel.EmbedAsync( + new Embed() + { + Author = new EmbedAuthor() + { + Name = $"NadekoBot v{StatsService.BotVersion}", + Url = "http://nadekobot.readthedocs.io/en/latest/", + IconUrl = "https://cdn.discordapp.com/avatars/116275390695079945/b21045e778ef21c96d175400e779f0fb.jpg" + }, + Fields = new[] { + new EmbedField() { + Name = "Author", + Value = stats.Author, + Inline = true + }, + new EmbedField() { + Name = "Library", + Value = stats.Library, + Inline = true + }, + new EmbedField() { + Name = "Bot ID", + Value = NadekoBot.Client.GetCurrentUser().Id.ToString(), + Inline = true + }, + new EmbedField() { + Name = "Commands Ran", + Value = stats.CommandsRan.ToString(), + Inline = true + }, + new EmbedField() { + Name = "Messages", + Value = $"{stats.MessageCounter} [{stats.MessagesPerSecond:F2}/sec]", + Inline = true + }, + new EmbedField() { + Name = "Memory", + Value = $"{stats.Heap} MB", + Inline = true + }, + new EmbedField() { + Name = "Owner ID(s)", + Value = stats.OwnerIds, + Inline = true + }, + new EmbedField() { + Name = "Uptime", + Value = stats.GetUptimeString("\n"), + Inline = true + }, + new EmbedField() { + Name = "Presence", + Value = $"{NadekoBot.Client.GetGuilds().Count} servers\n{stats.TextChannels} Text Channels\n{stats.VoiceChannels} Voice Channels", + Inline = true + }, + + }, + Color = NadekoBot.OkColor + }); } private Regex emojiFinder { get; } = new Regex(@"<:(?.+?):(?\d*)>", RegexOptions.Compiled); diff --git a/src/NadekoBot/Services/Impl/StatsService.cs b/src/NadekoBot/Services/Impl/StatsService.cs index 1c1cb367..e0916306 100644 --- a/src/NadekoBot/Services/Impl/StatsService.cs +++ b/src/NadekoBot/Services/Impl/StatsService.cs @@ -12,26 +12,33 @@ namespace NadekoBot.Services.Impl { public class StatsService : IStatsService { - private int messageCounter; - private ShardedDiscordClient client; + private ShardedDiscordClient client; private DateTime started; - private int commandsRan = 0; public const string BotVersion = "1.0-rc2"; + public string Author => "Kwoth#2560"; + public string Library => "Discord.Net"; + public int MessageCounter { get; private set; } = 0; + public int CommandsRan { get; private set; } = 0; public string Heap => Math.Round((double)GC.GetTotalMemory(false) / 1.MiB(), 2).ToString(); + public double MessagesPerSecond => MessageCounter / (double)GetUptime().TotalSeconds; + public int TextChannels => client.GetGuilds().SelectMany(g => g.GetChannels().Where(c => c is ITextChannel)).Count(); + public int VoiceChannels => client.GetGuilds().SelectMany(g => g.GetChannels().Where(c => c is IVoiceChannel)).Count(); + public string OwnerIds => string.Join(", ", NadekoBot.Credentials.OwnerIds); + + Timer carbonitexTimer { get; } - public StatsService(ShardedDiscordClient client, CommandHandler cmdHandler) { this.client = client; Reset(); - this.client.MessageReceived += _ => Task.FromResult(messageCounter++); - cmdHandler.CommandExecuted += (_, e) => commandsRan++; + this.client.MessageReceived += _ => Task.FromResult(MessageCounter++); + cmdHandler.CommandExecuted += (_, e) => CommandsRan++; this.client.Disconnected += _ => Reset(); @@ -61,20 +68,20 @@ namespace NadekoBot.Services.Impl public async Task Print() { var curUser = await client.GetCurrentUserAsync(); - return $@"```css -Author: [Kwoth#2560] | Library: [Discord.Net] + return $@" +Author: [{Author}] | Library: [{Library}] Bot Version: [{BotVersion}] Bot ID: {curUser.Id} -Owner ID(s): {string.Join(", ", NadekoBot.Credentials.OwnerIds)} +Owner ID(s): {OwnerIds} Uptime: {GetUptimeString()} -Servers: {client.GetGuilds().Count} | TextChannels: {client.GetGuilds().SelectMany(g => g.GetChannels().Where(c => c is ITextChannel)).Count()} | VoiceChannels: {client.GetGuilds().SelectMany(g => g.GetChannels().Where(c => c is IVoiceChannel)).Count()} -Commands Ran this session: {commandsRan} -Messages: {messageCounter} [{messageCounter / (double)GetUptime().TotalSeconds:F2}/sec] Heap: [{Heap} MB]```"; +Servers: {client.GetGuilds().Count} | TextChannels: {TextChannels} | VoiceChannels: {VoiceChannels} +Commands Ran this session: {CommandsRan} +Messages: {MessageCounter} [{MessagesPerSecond:F2}/sec] Heap: [{Heap} MB]"; } public Task Reset() { - messageCounter = 0; + MessageCounter = 0; started = DateTime.Now; return Task.CompletedTask; } @@ -82,10 +89,10 @@ Messages: {messageCounter} [{messageCounter / (double)GetUptime().TotalSeconds:F public TimeSpan GetUptime() => DateTime.Now - started; - public string GetUptimeString() + public string GetUptimeString(string separator = ", ") { var time = GetUptime(); - return time.Days + " days, " + time.Hours + " hours, and " + time.Minutes + " minutes."; + return $"{time.Days} days{separator}{time.Hours} hours{separator}{time.Minutes} minutes"; } } } diff --git a/src/NadekoBot/_Extensions/Extensions.cs b/src/NadekoBot/_Extensions/Extensions.cs index dc330324..0859d080 100644 --- a/src/NadekoBot/_Extensions/Extensions.cs +++ b/src/NadekoBot/_Extensions/Extensions.cs @@ -159,6 +159,9 @@ namespace NadekoBot.Extensions public static Task EmbedAsync(this IMessageChannel ch, Discord.API.Embed embed) => ch.SendMessageAsync("", embed: embed); + public static Task SendErrorAsync(this IMessageChannel ch, string error, string title = null, string url = null) + => ch.SendMessageAsync("", embed: new Embed() { Description = error, Title = title, Url = url, Color = NadekoBot.ErrorColor }); + public static Task SendTableAsync(this IMessageChannel ch, string seed, IEnumerable items, Func howToPrint, int columns = 3) { var i = 0; From 38c2dd366731510c6f93d6ced304977ab0d3e008 Mon Sep 17 00:00:00 2001 From: Kwoth Date: Wed, 30 Nov 2016 20:34:31 +0100 Subject: [PATCH 13/42] Cleverbot fixed --- src/NadekoBot/Services/CleverBotApi/ChatterBotFactory.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/NadekoBot/Services/CleverBotApi/ChatterBotFactory.cs b/src/NadekoBot/Services/CleverBotApi/ChatterBotFactory.cs index 642b2a23..36589fe6 100644 --- a/src/NadekoBot/Services/CleverBotApi/ChatterBotFactory.cs +++ b/src/NadekoBot/Services/CleverBotApi/ChatterBotFactory.cs @@ -32,7 +32,7 @@ namespace Services.CleverBotApi switch (type) { case ChatterBotType.CLEVERBOT: - return new Cleverbot("http://www.cleverbot.com/", "http://www.cleverbot.com/webservicemin?uc=165", 26); + return new Cleverbot("http://www.cleverbot.com/", "http://www.cleverbot.com/webservicemin?uc=321", 26); case ChatterBotType.JABBERWACKY: return new Cleverbot("http://jabberwacky.com", "http://jabberwacky.com/webservicemin", 20); case ChatterBotType.PANDORABOTS: From 737fb09124995ce493cf9ffc70193e82adc343f4 Mon Sep 17 00:00:00 2001 From: Kwoth Date: Thu, 1 Dec 2016 00:44:36 +0100 Subject: [PATCH 14/42] Fixed .greetdmmessage --- .../Modules/Administration/Commands/ServerGreetCommands.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/NadekoBot/Modules/Administration/Commands/ServerGreetCommands.cs b/src/NadekoBot/Modules/Administration/Commands/ServerGreetCommands.cs index 38e207c4..9cd57875 100644 --- a/src/NadekoBot/Modules/Administration/Commands/ServerGreetCommands.cs +++ b/src/NadekoBot/Modules/Administration/Commands/ServerGreetCommands.cs @@ -270,7 +270,7 @@ namespace NadekoBot.Modules.Administration { config = uow.GuildConfigs.For(channel.Guild.Id); } - await channel.SendMessageAsync("ℹ️ Current **DM greet** message: `" + config.ChannelGreetMessageText?.SanitizeMentions() + "`"); + await channel.SendMessageAsync("ℹ️ Current **DM greet** message: `" + config.DmGreetMessageText?.SanitizeMentions() + "`"); return; } @@ -292,7 +292,7 @@ namespace NadekoBot.Modules.Administration using (var uow = DbHandler.UnitOfWork()) { var conf = uow.GuildConfigs.For(guildId); - conf.ChannelGreetMessageText = message; + conf.DmGreetMessageText = message; greetMsgEnabled = conf.SendChannelGreetMessage; uow.GuildConfigs.Update(conf); From 140ec95e04b5ce41d53d777c336b7bbf5d7e7798 Mon Sep 17 00:00:00 2001 From: Kwoth Date: Thu, 1 Dec 2016 00:45:39 +0100 Subject: [PATCH 15/42] And proper return value --- .../Modules/Administration/Commands/ServerGreetCommands.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/NadekoBot/Modules/Administration/Commands/ServerGreetCommands.cs b/src/NadekoBot/Modules/Administration/Commands/ServerGreetCommands.cs index 9cd57875..3afcb46c 100644 --- a/src/NadekoBot/Modules/Administration/Commands/ServerGreetCommands.cs +++ b/src/NadekoBot/Modules/Administration/Commands/ServerGreetCommands.cs @@ -293,7 +293,7 @@ namespace NadekoBot.Modules.Administration { var conf = uow.GuildConfigs.For(guildId); conf.DmGreetMessageText = message; - greetMsgEnabled = conf.SendChannelGreetMessage; + greetMsgEnabled = conf.SendDmGreetMessage; uow.GuildConfigs.Update(conf); uow.Complete(); From cb815c2141fe89fbd8d11b15dd06399621cce18d Mon Sep 17 00:00:00 2001 From: samvaio Date: Thu, 1 Dec 2016 15:22:59 +0530 Subject: [PATCH 16/42] Delete Commands List.md --- docs/Commands List.md | 359 ------------------------------------------ 1 file changed, 359 deletions(-) delete mode 100644 docs/Commands List.md diff --git a/docs/Commands List.md b/docs/Commands List.md deleted file mode 100644 index e72ef2ea..00000000 --- a/docs/Commands List.md +++ /dev/null @@ -1,359 +0,0 @@ -You can support the project on [Patreon](https://patreon.com/nadekobot) or paypal: `nadekodiscordbot@gmail.com` -##Table Of Contents -- [Help](#help) -- [Administration](#administration) -- [ClashOfClans](#clashofclans) -- [CustomReactions](#customreactions) -- [Gambling](#gambling) -- [Games](#games) -- [Music](#music) -- [NSFW](#nsfw) -- [Permissions](#permissions) -- [Searches](#searches) -- [Utility](#utility) - - -### Administration -Command and aliases | Description | Usage -----------------|--------------|------- -`.resetperms` | Resets BOT's permissions module on this server to the default value. **Requires Administrator server permission.** | `.resetperms` -`.delmsgoncmd` | Toggles the automatic deletion of user's successful command message to prevent chat flood. **Requires Administrator server permission.** | `.delmsgoncmd` -`.setrole` `.sr` | Sets a role for a given user. **Requires ManageRoles server permission.** | `.sr @User Guest` -`.removerole` `.rr` | Removes a role from a given user. **Requires ManageRoles server permission.** | `.rr @User Admin` -`.renamerole` `.renr` | Renames a role. Roles you are renaming must be lower than bot's highest role. **Requires ManageRoles server permission.** | `.renr "First role" SecondRole` -`.removeallroles` `.rar` | Removes all roles from a mentioned user. **Requires ManageRoles server permission.** | `.rar @User` -`.createrole` `.cr` | Creates a role with a given name. **Requires ManageRoles server permission.** | `.cr Awesome Role` -`.rolecolor` `.rc` | Set a role's color to the hex or 0-255 rgb color value provided. **Requires ManageRoles server permission.** | `.rc Admin 255 200 100` or `.rc Admin ffba55` -`.ban` `.b` | Bans a user by ID or name with an optional message. **Requires BanMembers server permission.** | `.b "@some Guy" Your behaviour is toxic.` -`.softban` `.sb` | Bans and then unbans a user by ID or name with an optional message. **Requires KickMembers server permission.** **Requires ManageMessages server permission.** | `.sb "@some Guy" Your behaviour is toxic.` -`.kick` `.k` | Kicks a mentioned user. **Requires KickMembers server permission.** | `.k "@some Guy" Your behaviour is toxic.` -`.setmuterole` | Sets a name of the role which will be assigned to people who should be muted. Default is nadeko-mute. **Requires ManageRoles server permission.** | `.setmuterole Silenced` -`.mute` | Mutes a mentioned user both from speaking and chatting. **Requires ManageRoles server permission.** **Requires MuteMembers server permission.** | `.mute @Someone` -`.unmute` | Unmutes a mentioned user previously muted with `.mute` command. **Requires ManageRoles server permission.** **Requires MuteMembers server permission.** | `.unmute @Someone` -`.chatmute` | Prevents a mentioned user from chatting in text channels. **Requires ManageRoles server permission.** | `.chatmute @Someone` -`.chatunmute` | Removes a mute role previously set on a mentioned user with `.chatmute` which prevented him from chatting in text channels. **Requires ManageRoles server permission.** | `.chatunmute @Someone` -`.voicemute` | Prevents a mentioned user from speaking in voice channels. **Requires MuteMembers server permission.** | `.voicemute @Someone` -`.voiceunmute` | Gives a previously voice-muted user a permission to speak. **Requires MuteMembers server permission.** | `.voiceunmute @Someguy` -`.deafen` `.deaf` | Deafens mentioned user or users. **Requires DeafenMembers server permission.** | `.deaf "@Someguy"` or `.deaf "@Someguy" "@Someguy"` -`.undeafen` `.undef` | Undeafens mentioned user or users. **Requires DeafenMembers server permission.** | `.undef "@Someguy"` or `.undef "@Someguy" "@Someguy"` -`.delvoichanl` `.dvch` | Deletes a voice channel with a given name. **Requires ManageChannels server permission.** | `.dvch VoiceChannelName` -`.creatvoichanl` `.cvch` | Creates a new voice channel with a given name. **Requires ManageChannels server permission.** | `.cvch VoiceChannelName` -`.deltxtchanl` `.dtch` | Deletes a text channel with a given name. **Requires ManageChannels server permission.** | `.dtch TextChannelName` -`.creatxtchanl` `.ctch` | Creates a new text channel with a given name. **Requires ManageChannels server permission.** | `.ctch TextChannelName` -`.settopic` `.st` | Sets a topic on the current channel. **Requires ManageChannels server permission.** | `.st My new topic` -`.setchanlname` `.schn` | Changes the name of the current channel. **Requires ManageChannels server permission.** | `.schn NewName` -`.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. **Bot owner only.** | `.die` -`.setname` `.newnm` | Gives the bot a new name. **Bot owner only.** | `.newnm BotName` -`.setavatar` `.setav` | Sets a new avatar image for the NadekoBot. Argument is a direct link to an image. **Bot owner only.** | `.setav http://i.imgur.com/xTG3a1I.jpg` -`.setgame` | Sets the bots game. **Bot owner only.** | `.setgame with snakes` -`.setstream` | Sets the bots stream. First argument is the twitch link, second argument is stream name. **Bot owner only.** | `.setstream TWITCHLINK Hello` -`.send` | Sends a message to someone on a different server through the bot. Separate server and channel/user ids with `|` and prepend channel id with `c:` and user id with `u:`. **Bot owner only.** | `.send serverid|c:channelid message` or `.send serverid|u:userid message` -`.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` -`.mentionrole` `.menro` | Mentions every person from the provided role or roles (separated by a ',') on this server. Requires you to have mention everyone permission. **Requires MentionEveryone server permission.** | `.menro RoleName` -`.donators` | List of lovely people who donated to keep this project alive. | `.donators` -`.donadd` | Add a donator to the database. **Bot owner only.** | `.donadd Donate Amount` -`.antiraid` | Sets an anti-raid protection on the server. First argument is number of people which will trigger the protection. Second one is a time interval in which that number of people needs to join in order to trigger the protection, and third argument is punishment for those people (Kick, Ban, Mute) **Requires Administrator server permission.** | `.antiraid 5 20 Kick` -`.antispam` | Stops people from repeating same message X times in a row. You can specify to either mute, kick or ban the offenders. **Requires Administrator server permission.** | `.antispam 3 Mute` or `.antispam 4 Kick` or `.antispam 6 Ban` -`.autoassignrole` `.aar` | Automaticaly assigns a specified role to every user who joins the server. **Requires ManageRoles server permission.** | `.aar` to disable, `.aar Role Name` to enable -`.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. **Requires ManageServer server permission.** | `.jcsc TokenHere` -`.lcsc` | Leaves Cross server channel instance from this channel. **Requires ManageServer server permission.** | `.lcsc` -`.fwmsgs` | Toggles forwarding of non-command messages sent to bot's DM to the bot owners **Bot owner only.** | `.fwmsgs` -`.fwtoall` | Toggles whether messages will be forwarded to all bot owners or only to the first one specified in the credentials.json **Bot owner only.** | `.fwtoall` -`.logserver` | Logs server activity in this channel. **Requires Administrator server permission.** **Bot owner only.** | `.logserver` -`.logignore` | Toggles whether the .logserver command ignores this channel. Useful if you have hidden admin channel and public log channel. **Requires Administrator server permission.** **Bot owner only.** | `.logignore` -`.userpresence` | Starts logging to this channel when someone from the server goes online/offline/idle. **Requires Administrator server permission.** | `.userpresence` -`.voicepresence` | Toggles logging to this channel whenever someone joins or leaves a voice channel you are currently in. **Requires Administrator server permission.** | `.voicepresence` -`.repeatinvoke` `.repinv` | Immediately shows the repeat message and restarts the timer. **Requires ManageMessages server permission.** | `.repinv` -`.repeat` | Repeat a message every X minutes. If no parameters are specified, repeat is disabled. | `.repeat 5 Hello there` -`.migratedata` | Migrate data from old bot configuration **Bot owner only.** | `.migratedata` -`.rotateplaying` `.ropl` | Toggles rotation of playing status of the dynamic strings you previously specified. **Bot owner only.** | `.ropl` -`.addplaying` `.adpl` | Adds a specified string to the list of playing strings to rotate. Supported placeholders: %servers%, %users%, %playing%, %queued% **Bot owner only.** | `.adpl` -`.listplaying` `.lipl` | Lists all playing statuses with their corresponding number. **Bot owner only.** | `.lipl` -`.removeplaying` `.rmpl` `.repl` | Removes a playing string on a given number. **Bot owner only.** | `.rmpl` -`.slowmode` | Toggles slowmode. Disable by specifying no parameters. To enable, specify a number of messages each user can send, and an interval in seconds. For example 1 message every 5 seconds. **Requires ManageMessages server permission.** | `.slowmode 1 5` or `.slowmode` -`.adsarm` | Toggles the automatic deletion of confirmations for .iam and .iamn commands. **Requires ManageMessages server permission.** | `.adsarm` -`.asar` | Adds a role to the list of self-assignable roles. **Requires ManageRoles server permission.** | `.asar Gamer` -`.rsar` | Removes a specified role from the list of self-assignable roles. **Requires ManageRoles server permission.** | `.rsar` -`.lsar` | Lists all self-assignable roles. | `.lsar` -`.togglexclsar` `.tesar` | Toggles whether the self-assigned roles are exclusive. (So that any person can have only one of the self assignable roles) **Requires ManageRoles server permission.** | `.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` -`.leave` | Makes Nadeko leave the server. Either name or id required. **Bot owner only.** | `.leave 123123123331` -`.greetdel` `.grdel` | Toggles automatic deletion of greet messages. **Requires ManageServer server permission.** | `.greetdel` -`.greet` | Toggles anouncements on the current channel when someone joins the server. **Requires ManageServer server permission.** | `.greet` -`.greetmsg` | Sets a new join announcement message which will be shown in the server's channel. Type %user% if you want to mention the new member. Using it with no message will show the current greet message. **Requires ManageServer server permission.** | `.greetmsg Welcome, %user%.` -`.greetdm` | Toggles whether the greet messages will be sent in a DM (This is separate from greet - you can have both, any or neither enabled). **Requires ManageServer server permission.** | `.greetdm` -`.greetdmmsg` | Sets a new join announcement message which will be sent to the user who joined. Type %user% if you want to mention the new member. Using it with no message will show the current DM greet message. **Requires ManageServer server permission.** | `.greetdmmsg Welcome to the server, %user%`. -`.bye` | Toggles anouncements on the current channel when someone leaves the server. **Requires ManageServer server permission.** | `.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. **Requires ManageServer server permission.** | `.byemsg %user% has left.` -`.byedel` | Toggles automatic deletion of bye messages. **Requires ManageServer server permission.** | `.byedel` -`.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. **Requires ManageRoles server permission.** **Requires ManageChannels server permission.** | `.voice+text` -`.cleanvplust` `.cv+t` | Deletes all text channels ending in `-voice` for which voicechannels are not found. Use at your own risk. **Requires ManageChannels server permission.** **Requires ManageRoles server permission.** | `.cleanv+t` - -###### [Back to TOC](#table-of-contents) - -### 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]` -`,claimfinish1` `,cf1` | Finish your claim with 1 star if you destroyed a base. First argument is the war number, optional second argument is a base number if you want to finish for someone else. | `,cf1 1` or `,cf1 1 5` -`,claimfinish2` `,cf2` | Finish your claim with 2 stars if you destroyed a base. First argument is the war number, optional second argument is a base number if you want to finish for someone else. | `,cf2 1` or `,cf2 1 5` -`,claimfinish` `,cf` | Finish your claim with 3 stars if you destroyed a base. First argument is the war number, optional second argument is a base number if you want to finish for someone else. | `,cf 1` or `,cf 1 5` -`,endwar` `,ew` | Ends the war with a given index. | `,ew [war_number]` -`,unclaim` `,ucall` `,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]` - -###### [Back to TOC](#table-of-contents) - -### CustomReactions -Command and aliases | Description | Usage -----------------|--------------|------- -`.addcustreact` `.acr` | Add a custom reaction with a trigger and a response. Running this command in server requires Administration permission. Running this command in DM is Bot Owner only and adds a new global custom reaction. Guide here: | `.acr "hello" Hi there %user%` -`.listcustreact` `.lcr` | Lists global or server custom reactions (20 commands per page). Running the command in DM will list global custom reactions, while running it in server will list that server's custom reactions. Specifying `all` argument instead of the number will DM you a text file with a list of all custom reactions. | `.lcr 1` or `.lcr all` -`.listcustreactg` `.lcrg` | Lists global or server custom reactions (20 commands per page) grouped by trigger, and show a number of responses for each. Running the command in DM will list global custom reactions, while running it in server will list that server's custom reactions. | `.lcrg 1` -`.showcustreact` `.scr` | Shows a custom reaction's response on a given ID. | `.scr 1` -`.delcustreact` `.dcr` | Deletes a custom reaction on a specific index. If ran in DM, it is bot owner only and deletes a global custom reaction. If ran in a server, it requires Administration priviledges and removes server custom reaction. | `.dcr 5` - -###### [Back to TOC](#table-of-contents) - -### Gambling -Command and aliases | Description | Usage -----------------|--------------|------- -`$raffle` | Prints a name and ID of a random user from the online list from the (optional) role. | `$raffle` or `$raffle RoleName` -`$cash` `$$$` | Check how much currency a person has. (Defaults to yourself) | `$$$` or `$$$ @SomeGuy` -`$give` | Give someone a certain amount of currency. | `$give 1 "@SomeGuy"` -`$award` | Awards someone a certain amount of currency. You can also specify a role name to award currency to all users in a role. **Bot owner only.** | `$award 100 @person` or `$award 5 Role Of Gamblers` -`$take` | Takes a certain amount of currency from someone. **Bot owner only.** | `$take 1 "@someguy"` -`$betroll` `$br` | Bets a certain amount of currency and rolls a dice. Rolling over 66 yields x2 of your currency, over 90 - x3 and 100 x10. | `$br 5` -`$leaderboard` `$lb` | Displays bot currency leaderboard. | `$lb` -`$race` | Starts a new animal race. | `$race` -`$joinrace` `$jr` | Joins a new race. You can specify an amount of currency for betting (optional). You will get YourBet*(participants-1) back if you win. | `$jr` or `$jr 5` -`$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 X normal dice (up to 30) unordered. If you split 2 numbers with letter d (xdy) it will roll x dice from 1 to y. | `$rolluo` or `$rolluo 7` or `$rolluo 3d5` -`$nroll` | Rolls in a given range. | `$nroll 5` (rolls 0-5) or `$nroll 5-15` -`$draw` | Draws a card from the deck.If you supply number X, she draws up to 5 cards from the deck. | `$draw` or `$draw 5` -`$shuffle` `$sh` | Reshuffles all cards back into the deck. | `$sh` -`$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 awards you 1.8x the currency you've bet. | `$bf 5 heads` or `$bf 3 t` - -###### [Back to TOC](#table-of-contents) - -### Games -Command and aliases | Description | Usage -----------------|--------------|------- -`>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` -`>leet` | Converts a text to leetspeak with 6 (1-6) severity levels | `>leet 3 Hello` -`>poll` | Creates a poll which requires users to send the number of the voting option to the bot. **Requires ManageMessages server permission.** | `>poll Question?;Answer1;Answ 2;A_3` -`>publicpoll` `>ppoll` | Creates a public poll which requires users to type a number of the voting option in the channel command is ran in. **Requires ManageMessages server permission.** | `>ppoll Question?;Answer1;Answ 2;A_3` -`>pollend` | Stops active poll on this server and prints the results in this channel. **Requires ManageMessages server permission.** | `>pollend` -`>cleverbot` | Toggles cleverbot session. When enabled, the bot will reply to messages starting with bot mention in the server. Custom reactions starting with %mention% won't work if cleverbot is enabled. **Requires ManageMessages server permission.** | `>cleverbot` -`>pick` | Picks the currency planted in this channel. | `>pick` -`>plant` | Spend a unit of currency to plant it in this channel. (If bot is restarted or crashes, the currency will be lost) | `>plant` -`>gencurrency` `>gc` | Toggles currency generation on this channel. Every posted message will have chance to spawn currency. Chance is specified by the Bot Owner. (default is 2%) **Requires ManageMessages server permission.** | `>gc` -`>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. **Bot owner only.** | `>typeadd wordswords` -`>typelist` | Lists added typing articles with their IDs. 15 per page. | `>typelist` or `>typelist 3` -`>typedel` | Deletes a typing article given the ID. **Bot owner only.** | `>typedel 3` -`>trivia` `>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` or `>t 5 nohint` -`>tl` | Shows a current trivia leaderboard. | `>tl` -`>tq` | Quits current trivia after current question. | `>tq` - -###### [Back to TOC](#table-of-contents) - -### Help -Command and aliases | Description | Usage -----------------|--------------|------- -`-modules` `-mdls` | Lists all bot modules. | `-modules` -`-commands` `-cmds` | List all of the bot's commands from a certain module. You can either specify full, or only first few letters of the module name. | `-commands Administration` or `-cmds Admin` -`-help` `-h` | Either shows a help for a single command, or DMs you help link if no arguments are specified. | `-h !!q` or `-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` | Instructions for helping the project financially. | `-donate` - -###### [Back to TOC](#table-of-contents) - -### Music -Command and aliases | Description | Usage -----------------|--------------|------- -`!!next` `!!n` | Goes to the next song in the queue. You have to be in the same voice channel as the bot. You can skip multiple songs, but in that case songs will not be requeued if !!rcs or !!rpl is enabled. | `!!n` or `!!n 5` -`!!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` -`!!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 soundcloudseturl` -`!!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` -`!!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` - -###### [Back to TOC](#table-of-contents) - -### NSFW -Command and aliases | Description | Usage -----------------|--------------|------- -`~hentai` | Shows a hentai image from a random website (gelbooru or danbooru or konachan or atfbooru or yandere) with a given tag. Tag is optional but preferred. Only 1 tag allowed. | `~hentai yuri` -`~hentaibomb` | Shows a total 5 images (from gelbooru, danbooru, konachan, yandere and atfbooru). Tag is optional but preferred. | `~hentaibomb yuri` -`~atfbooru` `~atf` | Shows a random hentai image from atfbooru with a given tag. Tag is optional but preferred. | `~atfbooru yuri+kissing` -`~yandere` | Shows a random image from yandere with a given tag. Tag is optional but preferred. (multiple tags are appended with +) | `~yandere tag1+tag2` -`~danbooru` | Shows a random hentai image from danbooru with a given tag. Tag is optional but preferred. (multiple tags are appended with +) | `~danbooru yuri+kissing` -`~konachan` | Shows a random hentai image from konachan with a given tag. Tag is optional but preferred. | `~konachan yuri` -`~gelbooru` | Shows a random hentai image from gelbooru with a given tag. Tag is optional but preferred. (multiple tags are appended with +) | `~gelbooru yuri+kissing` -`~rule34` | Shows a random image from rule34.xx with a given tag. Tag is optional but preferred. (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 preferred. 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` - -###### [Back to TOC](#table-of-contents) - -### Permissions -Command and aliases | Description | Usage -----------------|--------------|------- -`;verbose` `;v` | Sets whether to show when a command/module is blocked. | `;verbose true` -`;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` -`;listperms` `;lp` | Lists whole permission chain with their indexes. You can specify an optional page number if there are a lot of permissions. | `;lp` or `;lp 3` -`;removeperm` `;rp` | Removes a permission from a given position in Permissions list. | `;rp 1` -`;moveperm` `;mp` | Moves permission from one position to another in Permissions list. | `;mp 2 4` -`;srvrcmd` `;sc` | Sets a command's permission at the server level. | `;sc "command name" disable` -`;srvrmdl` `;sm` | Sets a module's permission at the server level. | `;sm "module name" enable` -`;usrcmd` `;uc` | Sets a command's permission at the user level. | `;uc "command name" enable SomeUsername` -`;usrmdl` `;um` | Sets a module's permission at the user level. | `;um "module name" enable SomeUsername` -`;rolecmd` `;rc` | Sets a command's permission at the role level. | `;rc "command name" disable MyRole` -`;rolemdl` `;rm` | Sets a module's permission at the role level. | `;rm "module name" enable MyRole` -`;chnlcmd` `;cc` | Sets a command's permission at the channel level. | `;cc "command name" enable SomeChannel` -`;chnlmdl` `;cm` | Sets a module's permission at the channel level. | `;cm "module name" enable SomeChannel` -`;allchnlmdls` `;acm` | Enable or disable all modules in a specified channel. | `;acm enable #SomeChannel` -`;allrolemdls` `;arm` | Enable or disable all modules for a specific role. | `;arm [enable/disable] MyRole` -`;allusrmdls` `;aum` | Enable or disable all modules for a specific user. | `;aum enable @someone` -`;allsrvrmdls` `;asm` | Enable or disable all modules for your server. | `;asm [enable/disable]` -`;ubl` | Either [add]s or [rem]oves a user specified by a mention or ID from a blacklist. **Bot owner only.** | `;ubl add @SomeUser` or `;ubl rem 12312312313` -`;cbl` | Either [add]s or [rem]oves a channel specified by an ID from a blacklist. **Bot owner only.** | `;cbl rem 12312312312` -`;sbl` | Either [add]s or [rem]oves a server specified by a Name or ID from a blacklist. **Bot owner only.** | `;sbl add 12312321312` or `;sbl rem SomeTrashServer` -`;cmdcooldown` `;cmdcd` | Sets a cooldown per user for a command. Set to 0 to remove the cooldown. | `;cmdcd "some cmd" 5` -`;allcmdcooldowns` `;acmdcds` | Shows a list of all commands and their respective cooldowns. | `;acmdcds` -`;srvrfilterinv` `;sfi` | Toggles automatic deleting of invites posted in the server. Does not affect Bot Owner. | `;sfi` -`;chnlfilterinv` `;cfi` | Toggles automatic deleting of invites posted in the channel. Does not negate the ;srvrfilterinv enabled setting. Does not affect Bot Owner. | `;cfi` -`;srvrfilterwords` `;sfw` | Toggles automatic deleting of messages containing forbidden words on the server. Does not affect Bot Owner. | `;sfw` -`;chnlfilterwords` `;cfw` | Toggles automatic deleting of messages containing banned words on the channel. Does not negate the ;srvrfilterwords enabled setting. Does not affect bot owner. | `;cfw` -`;fw` | Adds or removes (if it exists) a word from the list of filtered words. Use`;sfw` or `;cfw` to toggle filtering. | `;fw poop` -`;lstfilterwords` `;lfw` | Shows a list of filtered words. | `;lfw` - -###### [Back to TOC](#table-of-contents) - -### Searches -Command and aliases | Description | Usage -----------------|--------------|------- -`~weather` `~we` | Shows weather data for a specified city and a country. BOTH ARE REQUIRED. Use country abbrevations. | `~we Moscow RF` -`~youtube` `~yt` | Searches youtubes and shows the first result | `~yt query` -`~imdb` `~omdb` | Queries omdb for movies or series, show first result. | `~imdb Batman vs Superman` -`~randomcat` `~meow` | Shows a random cat image. | `~meow` -`~randomdog` `~woof` | Shows a random dog image. | `~woof` -`~img` `~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` -`~shorten` | Attempts to shorten an URL, if it fails, returns the input URL. | `~shorten https://google.com` -`~google` `~g` | Get a google search link for some terms. | `~google query` -`~hearthstone` `~hs` | Searches for a Hearthstone card and shows its image. Takes a while to complete. | `~hs Ysera` -`~urbandict` `~ud` | Searches Urban Dictionary for a word. | `~ud Pineapple` -`~#` | Searches Tagdef.com for a hashtag. | `~# ff` -`~catfact` | Shows a random catfact from | `~catfact` -`~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. | `~revimg Image link` -`~safebooru` | Shows a random image from safebooru with a given tag. Tag is optional but preferred. (multiple tags are appended with +) | `~safebooru yuri+kissing` -`~wikipedia` `~wiki` | Gives you back a wikipedia link | `~wiki query` -`~color` `~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"` -`~avatar` `~av` | Shows a mentioned person's avatar. | `~av "@SomeGuy"` -`~bfonline` `~bfo` | Gives you online players for BF3 and BF4 | `~bfo bf3` or `~bfo bf4` -`~bfuser` `~bfu` | Gives you back a battlefield user's stats. | `~bfu platform game user` -`~wikia` | Gives you back a wikia link | `~wikia mtg Vigilance` or `~wikia mlp Dashy` -`~minecraftping` `~mcping` | Pings a minecraft server. | `~mcping 127.0.0.1:25565` -`~minecraftquery` `~mcq` | Finds information about a minecraft server. | `~mcq server:ip` -`~lolban` | Shows top banned champions ordered by ban rate. | `~lolban` -`~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"` -`~anime` `~ani` `~aq` | Queries anilist for an anime and shows the first result. | `~ani aquarion evol` -`~manga` `~mang` `~mq` | Queries anilist for a manga and shows the first result. | `~mq Shingeki no kyojin` -`~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` -`~wowjoke` | Get one of Kwoth's penultimate WoW jokes. | `~wowjoke` -`~magicitem` `~mi` | Shows a random magicitem from | `~mi` -`~osu` | Shows osu stats for a player. | `~osu Name` or `~osu Name taiko` -`~osub` | Shows information about an osu beatmap. | `~osub https://osu.ppy.sh/s/127712` -`~osu5` | Displays a user's top 5 plays. | `~osu5 Name` -`~placelist` | Shows the list of available tags for the `~place` command. | `~placelist` -`~place` | Shows a placeholder image of a given tag. Use `~placelist` to see all available tags. You can specify the width and height of the image as the last two optional arguments. | `~place Cage` or `~place steven 500 400` -`~pokemon` `~poke` | Searches for a pokemon. | `~poke Sylveon` -`~pokemonability` `~pokeab` | Searches for a pokemon ability. | `~pokeab overgrow` -`~hitbox` `~hb` | Notifies this channel when a certain user starts streaming. **Requires ManageMessages server permission.** | `~hitbox SomeStreamer` -`~twitch` `~tw` | Notifies this channel when a certain user starts streaming. **Requires ManageMessages server permission.** | `~twitch SomeStreamer` -`~beam` `~bm` | Notifies this channel when a certain user starts streaming. **Requires ManageMessages server permission.** | `~beam SomeStreamer` -`~liststreams` `~ls` | Lists all streams you are following on this server. | `~ls` -`~removestream` `~rms` | Removes notifications of a certain streamer on this channel. **Requires ManageMessages server permission.** | `~rms SomeGuy` -`~checkstream` `~cs` | Checks if a user is online on a certain streaming platform. | `~cs twitch MyFavStreamer` -`~translate` `~trans` | Translates from>to text. From the given language to the destination language. | `~trans en>fr Hello` -`~autotrans` `~at` | Starts automatic translation of all messages by users who set their `~atl` in this channel. You can set "del" argument to automatically delete all translated user messages. **Requires Administrator server permission.** **Bot owner only.** | `~at` or `~at del` -`~autotranslang` `~atl` | `~atl en>fr` | Sets your source and target language to be used with `~at`. Specify no arguments to remove previously set value. -`~translangs` | Lists the valid languages for translation. | `~translangs` -`~xkcd` | Shows a XKCD comic. No arguments will retrieve random one. Number argument will retrieve a specific comic, and "latest" will get the latest one. | `~xkcd` or `~xkcd 1400` or `~xkcd latest` - -###### [Back to TOC](#table-of-contents) - -### Utility -Command and aliases | Description | Usage -----------------|--------------|------- -`.whosplaying` `.whpl` | Shows a list of users who are playing the specified game. | `.whpl 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 user-specific permissions on this channel. | `.checkmyperms` -`.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 roles on this server or a roles of a specific user if specified. Paginated. 20 roles per page. | `.roles 2` or `.roles @Someone` -`.channeltopic` `.ct` | Sends current channel's topic as a message. | `.ct` -`.stats` | Shows some basic stats for Nadeko. | `.stats` -`.showemojis` `.se` | Shows a name and a link to every SPECIAL emoji in the message. | `.se A message full of SPECIAL emojis` -`.listservers` | Lists servers the bot is on with some basic info. 15 per page. **Bot owner only.** | `.listservers 3` -`.calculate` `.calc` | Evaluate a mathematical expression. | `.calc 1+1` -`.calcops` | Shows all available operations in .calc command | `.calcops` -`.togethertube` `.totube` | Creates a new room on and shows the link in the chat. | `.totube` -`.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` -`.listquotes` `.liqu` | `.liqu` or `.liqu 3` | Lists all quotes on the server ordered alphabetically. 15 Per page. -`...` | Shows a random quote with a specified name. | `... abc` -`..` | Adds a new quote with the specified name and message. | `.. sayhi Hi` -`.deletequote` `.delq` | Deletes a random quote with the specified keyword. You have to either be server Administrator or the creator of the quote to delete it. | `.delq abc` -`.delallq` `.daq` | Deletes all quotes on a specified keyword. **Requires Administrator server permission.** | `.delallq kek` -`.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!` -`.remindtemplate` | 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.** | `.remindtemplate %user%, do %message%!` -`.convertlist` | List of the convertible dimensions and currencies. | `.convertlist` -`.convert` | Convert quantities. Use `.convertlist` to see supported dimensions and currencies. | `.convert m km 1000` From 45ef5e9362f8082c356a4fd1481e817571cd60a8 Mon Sep 17 00:00:00 2001 From: samvaio Date: Thu, 1 Dec 2016 15:56:53 +0530 Subject: [PATCH 17/42] reverted --- docs/Commands List.md | 360 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 360 insertions(+) create mode 100644 docs/Commands List.md diff --git a/docs/Commands List.md b/docs/Commands List.md new file mode 100644 index 00000000..3b38e04f --- /dev/null +++ b/docs/Commands List.md @@ -0,0 +1,360 @@ +You can support the project on patreon: or paypal: + +##Table Of Contents +- [Help](#help) +- [Administration](#administration) +- [ClashOfClans](#clashofclans) +- [CustomReactions](#customreactions) +- [Gambling](#gambling) +- [Games](#games) +- [Music](#music) +- [NSFW](#nsfw) +- [Permissions](#permissions) +- [Searches](#searches) +- [Utility](#utility) + + +### Administration +Command and aliases | Description | Usage +----------------|--------------|------- +`.resetperms` | Resets BOT's permissions module on this server to the default value. **Requires Administrator server permission.** | `.resetperms` +`.delmsgoncmd` | Toggles the automatic deletion of user's successful command message to prevent chat flood. **Requires Administrator server permission.** | `.delmsgoncmd` +`.setrole` `.sr` | Sets a role for a given user. **Requires ManageRoles server permission.** | `.sr @User Guest` +`.removerole` `.rr` | Removes a role from a given user. **Requires ManageRoles server permission.** | `.rr @User Admin` +`.renamerole` `.renr` | Renames a role. Roles you are renaming must be lower than bot's highest role. **Requires ManageRoles server permission.** | `.renr "First role" SecondRole` +`.removeallroles` `.rar` | Removes all roles from a mentioned user. **Requires ManageRoles server permission.** | `.rar @User` +`.createrole` `.cr` | Creates a role with a given name. **Requires ManageRoles server permission.** | `.cr Awesome Role` +`.rolecolor` `.rc` | Set a role's color to the hex or 0-255 rgb color value provided. **Requires ManageRoles server permission.** | `.rc Admin 255 200 100` or `.rc Admin ffba55` +`.ban` `.b` | Bans a user by ID or name with an optional message. **Requires BanMembers server permission.** | `.b "@some Guy" Your behaviour is toxic.` +`.softban` `.sb` | Bans and then unbans a user by ID or name with an optional message. **Requires KickMembers server permission.** **Requires ManageMessages server permission.** | `.sb "@some Guy" Your behaviour is toxic.` +`.kick` `.k` | Kicks a mentioned user. **Requires KickMembers server permission.** | `.k "@some Guy" Your behaviour is toxic.` +`.setmuterole` | Sets a name of the role which will be assigned to people who should be muted. Default is nadeko-mute. **Requires ManageRoles server permission.** | `.setmuterole Silenced` +`.mute` | Mutes a mentioned user both from speaking and chatting. **Requires ManageRoles server permission.** **Requires MuteMembers server permission.** | `.mute @Someone` +`.unmute` | Unmutes a mentioned user previously muted with `.mute` command. **Requires ManageRoles server permission.** **Requires MuteMembers server permission.** | `.unmute @Someone` +`.chatmute` | Prevents a mentioned user from chatting in text channels. **Requires ManageRoles server permission.** | `.chatmute @Someone` +`.chatunmute` | Removes a mute role previously set on a mentioned user with `.chatmute` which prevented him from chatting in text channels. **Requires ManageRoles server permission.** | `.chatunmute @Someone` +`.voicemute` | Prevents a mentioned user from speaking in voice channels. **Requires MuteMembers server permission.** | `.voicemute @Someone` +`.voiceunmute` | Gives a previously voice-muted user a permission to speak. **Requires MuteMembers server permission.** | `.voiceunmute @Someguy` +`.deafen` `.deaf` | Deafens mentioned user or users. **Requires DeafenMembers server permission.** | `.deaf "@Someguy"` or `.deaf "@Someguy" "@Someguy"` +`.undeafen` `.undef` | Undeafens mentioned user or users. **Requires DeafenMembers server permission.** | `.undef "@Someguy"` or `.undef "@Someguy" "@Someguy"` +`.delvoichanl` `.dvch` | Deletes a voice channel with a given name. **Requires ManageChannels server permission.** | `.dvch VoiceChannelName` +`.creatvoichanl` `.cvch` | Creates a new voice channel with a given name. **Requires ManageChannels server permission.** | `.cvch VoiceChannelName` +`.deltxtchanl` `.dtch` | Deletes a text channel with a given name. **Requires ManageChannels server permission.** | `.dtch TextChannelName` +`.creatxtchanl` `.ctch` | Creates a new text channel with a given name. **Requires ManageChannels server permission.** | `.ctch TextChannelName` +`.settopic` `.st` | Sets a topic on the current channel. **Requires ManageChannels server permission.** | `.st My new topic` +`.setchanlname` `.schn` | Changes the name of the current channel. **Requires ManageChannels server permission.** | `.schn NewName` +`.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. **Bot Owner only.** | `.die` +`.setname` `.newnm` | Gives the bot a new name. **Bot Owner only.** | `.newnm BotName` +`.setavatar` `.setav` | Sets a new avatar image for the NadekoBot. Argument is a direct link to an image. **Bot Owner only.** | `.setav http://i.imgur.com/xTG3a1I.jpg` +`.setgame` | Sets the bots game. **Bot Owner only.** | `.setgame with snakes` +`.setstream` | Sets the bots stream. First argument is the twitch link, second argument is stream name. **Bot Owner only.** | `.setstream TWITCHLINK Hello` +`.send` | Sends a message to someone on a different server through the bot. Separate server and channel/user ids with `|` and prepend channel id with `c:` and user id with `u:`. **Bot Owner only.** | `.send serverid|c:channelid message` or `.send serverid|u:userid message` +`.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` +`.mentionrole` `.menro` | Mentions every person from the provided role or roles (separated by a ',') on this server. Requires you to have mention everyone permission. **Requires MentionEveryone server permission.** | `.menro RoleName` +`.donators` | List of lovely people who donated to keep this project alive. | `.donators` +`.donadd` | Add a donator to the database. **Bot Owner only.** | `.donadd Donate Amount` +`.antiraid` | Sets an anti-raid protection on the server. First argument is number of people which will trigger the protection. Second one is a time interval in which that number of people needs to join in order to trigger the protection, and third argument is punishment for those people (Kick, Ban, Mute) **Requires Administrator server permission.** | `.antiraid 5 20 Kick` +`.antispam` | Stops people from repeating same message X times in a row. You can specify to either mute, kick or ban the offenders. **Requires Administrator server permission.** | `.antispam 3 Mute` or `.antispam 4 Kick` or `.antispam 6 Ban` +`.autoassignrole` `.aar` | Automaticaly assigns a specified role to every user who joins the server. **Requires ManageRoles server permission.** | `.aar` to disable, `.aar Role Name` to enable +`.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. **Requires ManageServer server permission.** | `.jcsc TokenHere` +`.lcsc` | Leaves Cross server channel instance from this channel. **Requires ManageServer server permission.** | `.lcsc` +`.fwmsgs` | Toggles forwarding of non-command messages sent to bot's DM to the bot owners **Bot Owner only.** | `.fwmsgs` +`.fwtoall` | Toggles whether messages will be forwarded to all bot owners or only to the first one specified in the credentials.json **Bot Owner only.** | `.fwtoall` +`.logserver` | Logs server activity in this channel. **Requires Administrator server permission.** **Bot Owner only.** | `.logserver` +`.logignore` | Toggles whether the .logserver command ignores this channel. Useful if you have hidden admin channel and public log channel. **Requires Administrator server permission.** **Bot Owner only.** | `.logignore` +`.userpresence` | Starts logging to this channel when someone from the server goes online/offline/idle. **Requires Administrator server permission.** | `.userpresence` +`.voicepresence` | Toggles logging to this channel whenever someone joins or leaves a voice channel you are currently in. **Requires Administrator server permission.** | `.voicepresence` +`.repeatinvoke` `.repinv` | Immediately shows the repeat message and restarts the timer. **Requires ManageMessages server permission.** | `.repinv` +`.repeat` | Repeat a message every X minutes. If no parameters are specified, repeat is disabled. **Requires ManageMessages server permission.** | `.repeat 5 Hello there` +`.migratedata` | Migrate data from old bot configuration **Bot Owner only.** | `.migratedata` +`.rotateplaying` `.ropl` | Toggles rotation of playing status of the dynamic strings you previously specified. **Bot Owner only.** | `.ropl` +`.addplaying` `.adpl` | Adds a specified string to the list of playing strings to rotate. Supported placeholders: %servers%, %users%, %playing%, %queued% **Bot Owner only.** | `.adpl` +`.listplaying` `.lipl` | Lists all playing statuses with their corresponding number. **Bot Owner only.** | `.lipl` +`.removeplaying` `.rmpl` `.repl` | Removes a playing string on a given number. **Bot Owner only.** | `.rmpl` +`.slowmode` | Toggles slowmode. Disable by specifying no parameters. To enable, specify a number of messages each user can send, and an interval in seconds. For example 1 message every 5 seconds. **Requires ManageMessages server permission.** | `.slowmode 1 5` or `.slowmode` +`.adsarm` | Toggles the automatic deletion of confirmations for .iam and .iamn commands. **Requires ManageMessages server permission.** | `.adsarm` +`.asar` | Adds a role to the list of self-assignable roles. **Requires ManageRoles server permission.** | `.asar Gamer` +`.rsar` | Removes a specified role from the list of self-assignable roles. **Requires ManageRoles server permission.** | `.rsar` +`.lsar` | Lists all self-assignable roles. | `.lsar` +`.togglexclsar` `.tesar` | Toggles whether the self-assigned roles are exclusive. (So that any person can have only one of the self assignable roles) **Requires ManageRoles server permission.** | `.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` +`.leave` | Makes Nadeko leave the server. Either name or id required. **Bot Owner only.** | `.leave 123123123331` +`.greetdel` `.grdel` | Sets the time it takes (in seconds) for greet messages to be auto-deleted. Set 0 to disable automatic deletion. **Requires ManageServer server permission.** | `.greetdel 0` or `.greetdel 30` +`.greet` | Toggles anouncements on the current channel when someone joins the server. **Requires ManageServer server permission.** | `.greet` +`.greetmsg` | Sets a new join announcement message which will be shown in the server's channel. Type %user% if you want to mention the new member. Using it with no message will show the current greet message. **Requires ManageServer server permission.** | `.greetmsg Welcome, %user%.` +`.greetdm` | Toggles whether the greet messages will be sent in a DM (This is separate from greet - you can have both, any or neither enabled). **Requires ManageServer server permission.** | `.greetdm` +`.greetdmmsg` | Sets a new join announcement message which will be sent to the user who joined. Type %user% if you want to mention the new member. Using it with no message will show the current DM greet message. **Requires ManageServer server permission.** | `.greetdmmsg Welcome to the server, %user%`. +`.bye` | Toggles anouncements on the current channel when someone leaves the server. **Requires ManageServer server permission.** | `.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. **Requires ManageServer server permission.** | `.byemsg %user% has left.` +`.byedel` | Sets the time it takes (in seconds) for bye messages to be auto-deleted. Set 0 to disable automatic deletion. **Requires ManageServer server permission.** | `.byedel 0` or `.byedel 30` +`.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. **Requires ManageRoles server permission.** **Requires ManageChannels server permission.** | `.voice+text` +`.cleanvplust` `.cv+t` | Deletes all text channels ending in `-voice` for which voicechannels are not found. Use at your own risk. **Requires ManageChannels server permission.** **Requires ManageRoles server permission.** | `.cleanv+t` + +###### [Back to TOC](#table-of-contents) + +### 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]` +`,claimfinish1` `,cf1` | Finish your claim with 1 star if you destroyed a base. First argument is the war number, optional second argument is a base number if you want to finish for someone else. | `,cf1 1` or `,cf1 1 5` +`,claimfinish2` `,cf2` | Finish your claim with 2 stars if you destroyed a base. First argument is the war number, optional second argument is a base number if you want to finish for someone else. | `,cf2 1` or `,cf2 1 5` +`,claimfinish` `,cf` | Finish your claim with 3 stars if you destroyed a base. First argument is the war number, optional second argument is a base number if you want to finish for someone else. | `,cf 1` or `,cf 1 5` +`,endwar` `,ew` | Ends the war with a given index. | `,ew [war_number]` +`,unclaim` `,ucall` `,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]` + +###### [Back to TOC](#table-of-contents) + +### CustomReactions +Command and aliases | Description | Usage +----------------|--------------|------- +`.addcustreact` `.acr` | Add a custom reaction with a trigger and a response. Running this command in server requires Administration permission. Running this command in DM is Bot Owner only and adds a new global custom reaction. Guide here: | `.acr "hello" Hi there %user%` +`.listcustreact` `.lcr` | Lists global or server custom reactions (20 commands per page). Running the command in DM will list global custom reactions, while running it in server will list that server's custom reactions. Specifying `all` argument instead of the number will DM you a text file with a list of all custom reactions. | `.lcr 1` or `.lcr all` +`.listcustreactg` `.lcrg` | Lists global or server custom reactions (20 commands per page) grouped by trigger, and show a number of responses for each. Running the command in DM will list global custom reactions, while running it in server will list that server's custom reactions. | `.lcrg 1` +`.showcustreact` `.scr` | Shows a custom reaction's response on a given ID. | `.scr 1` +`.delcustreact` `.dcr` | Deletes a custom reaction on a specific index. If ran in DM, it is bot owner only and deletes a global custom reaction. If ran in a server, it requires Administration priviledges and removes server custom reaction. | `.dcr 5` + +###### [Back to TOC](#table-of-contents) + +### Gambling +Command and aliases | Description | Usage +----------------|--------------|------- +`$raffle` | Prints a name and ID of a random user from the online list from the (optional) role. | `$raffle` or `$raffle RoleName` +`$cash` `$$$` | Check how much currency a person has. (Defaults to yourself) | `$$$` or `$$$ @SomeGuy` +`$give` | Give someone a certain amount of currency. | `$give 1 "@SomeGuy"` +`$award` | Awards someone a certain amount of currency. You can also specify a role name to award currency to all users in a role. **Bot Owner only.** | `$award 100 @person` or `$award 5 Role Of Gamblers` +`$take` | Takes a certain amount of currency from someone. **Bot Owner only.** | `$take 1 "@someguy"` +`$betroll` `$br` | Bets a certain amount of currency and rolls a dice. Rolling over 66 yields x2 of your currency, over 90 - x3 and 100 x10. | `$br 5` +`$leaderboard` `$lb` | Displays bot currency leaderboard. | `$lb` +`$race` | Starts a new animal race. | `$race` +`$joinrace` `$jr` | Joins a new race. You can specify an amount of currency for betting (optional). You will get YourBet*(participants-1) back if you win. | `$jr` or `$jr 5` +`$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 X normal dice (up to 30) unordered. If you split 2 numbers with letter d (xdy) it will roll x dice from 1 to y. | `$rolluo` or `$rolluo 7` or `$rolluo 3d5` +`$nroll` | Rolls in a given range. | `$nroll 5` (rolls 0-5) or `$nroll 5-15` +`$draw` | Draws a card from the deck.If you supply number X, she draws up to 5 cards from the deck. | `$draw` or `$draw 5` +`$shuffle` `$sh` | Reshuffles all cards back into the deck. | `$sh` +`$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 awards you 1.8x the currency you've bet. | `$bf 5 heads` or `$bf 3 t` + +###### [Back to TOC](#table-of-contents) + +### Games +Command and aliases | Description | Usage +----------------|--------------|------- +`>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` +`>leet` | Converts a text to leetspeak with 6 (1-6) severity levels | `>leet 3 Hello` +`>poll` | Creates a poll which requires users to send the number of the voting option to the bot. **Requires ManageMessages server permission.** | `>poll Question?;Answer1;Answ 2;A_3` +`>publicpoll` `>ppoll` | Creates a public poll which requires users to type a number of the voting option in the channel command is ran in. **Requires ManageMessages server permission.** | `>ppoll Question?;Answer1;Answ 2;A_3` +`>pollend` | Stops active poll on this server and prints the results in this channel. **Requires ManageMessages server permission.** | `>pollend` +`>cleverbot` | Toggles cleverbot session. When enabled, the bot will reply to messages starting with bot mention in the server. Custom reactions starting with %mention% won't work if cleverbot is enabled. **Requires ManageMessages server permission.** | `>cleverbot` +`>pick` | Picks the currency planted in this channel. | `>pick` +`>plant` | Spend a unit of currency to plant it in this channel. (If bot is restarted or crashes, the currency will be lost) | `>plant` +`>gencurrency` `>gc` | Toggles currency generation on this channel. Every posted message will have chance to spawn currency. Chance is specified by the Bot Owner. (default is 2%) **Requires ManageMessages server permission.** | `>gc` +`>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. **Bot Owner only.** | `>typeadd wordswords` +`>typelist` | Lists added typing articles with their IDs. 15 per page. | `>typelist` or `>typelist 3` +`>typedel` | Deletes a typing article given the ID. **Bot Owner only.** | `>typedel 3` +`>trivia` `>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` or `>t 5 nohint` +`>tl` | Shows a current trivia leaderboard. | `>tl` +`>tq` | Quits current trivia after current question. | `>tq` + +###### [Back to TOC](#table-of-contents) + +### Help +Command and aliases | Description | Usage +----------------|--------------|------- +`-modules` `-mdls` | Lists all bot modules. | `-modules` +`-commands` `-cmds` | List all of the bot's commands from a certain module. You can either specify full, or only first few letters of the module name. | `-commands Administration` or `-cmds Admin` +`-help` `-h` | Either shows a help for a single command, or DMs you help link if no arguments are specified. | `-h !!q` or `-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` | Instructions for helping the project financially. | `-donate` + +###### [Back to TOC](#table-of-contents) + +### Music +Command and aliases | Description | Usage +----------------|--------------|------- +`!!next` `!!n` | Goes to the next song in the queue. You have to be in the same voice channel as the bot. You can skip multiple songs, but in that case songs will not be requeued if !!rcs or !!rpl is enabled. | `!!n` or `!!n 5` +`!!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` +`!!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 soundcloudseturl` +`!!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` +`!!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` + +###### [Back to TOC](#table-of-contents) + +### NSFW +Command and aliases | Description | Usage +----------------|--------------|------- +`~hentai` | Shows a hentai image from a random website (gelbooru or danbooru or konachan or atfbooru or yandere) with a given tag. Tag is optional but preferred. Only 1 tag allowed. | `~hentai yuri` +`~hentaibomb` | Shows a total 5 images (from gelbooru, danbooru, konachan, yandere and atfbooru). Tag is optional but preferred. | `~hentaibomb yuri` +`~yandere` | Shows a random image from yandere with a given tag. Tag is optional but preferred. (multiple tags are appended with +) | `~yandere tag1+tag2` +`~danbooru` | Shows a random hentai image from danbooru with a given tag. Tag is optional but preferred. (multiple tags are appended with +) | `~danbooru yuri+kissing` +`~konachan` | Shows a random hentai image from konachan with a given tag. Tag is optional but preferred. | `~konachan yuri` +`~gelbooru` | Shows a random hentai image from gelbooru with a given tag. Tag is optional but preferred. (multiple tags are appended with +) | `~gelbooru yuri+kissing` +`~rule34` | Shows a random image from rule34.xx with a given tag. Tag is optional but preferred. (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 preferred. 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` + +###### [Back to TOC](#table-of-contents) + +### Permissions +Command and aliases | Description | Usage +----------------|--------------|------- +`;verbose` `;v` | Sets whether to show when a command/module is blocked. | `;verbose true` +`;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` +`;listperms` `;lp` | Lists whole permission chain with their indexes. You can specify an optional page number if there are a lot of permissions. | `;lp` or `;lp 3` +`;removeperm` `;rp` | Removes a permission from a given position in Permissions list. | `;rp 1` +`;moveperm` `;mp` | Moves permission from one position to another in Permissions list. | `;mp 2 4` +`;srvrcmd` `;sc` | Sets a command's permission at the server level. | `;sc "command name" disable` +`;srvrmdl` `;sm` | Sets a module's permission at the server level. | `;sm "module name" enable` +`;usrcmd` `;uc` | Sets a command's permission at the user level. | `;uc "command name" enable SomeUsername` +`;usrmdl` `;um` | Sets a module's permission at the user level. | `;um "module name" enable SomeUsername` +`;rolecmd` `;rc` | Sets a command's permission at the role level. | `;rc "command name" disable MyRole` +`;rolemdl` `;rm` | Sets a module's permission at the role level. | `;rm "module name" enable MyRole` +`;chnlcmd` `;cc` | Sets a command's permission at the channel level. | `;cc "command name" enable SomeChannel` +`;chnlmdl` `;cm` | Sets a module's permission at the channel level. | `;cm "module name" enable SomeChannel` +`;allchnlmdls` `;acm` | Enable or disable all modules in a specified channel. | `;acm enable #SomeChannel` +`;allrolemdls` `;arm` | Enable or disable all modules for a specific role. | `;arm [enable/disable] MyRole` +`;allusrmdls` `;aum` | Enable or disable all modules for a specific user. | `;aum enable @someone` +`;allsrvrmdls` `;asm` | Enable or disable all modules for your server. | `;asm [enable/disable]` +`;ubl` | Either [add]s or [rem]oves a user specified by a mention or ID from a blacklist. **Bot Owner only.** | `;ubl add @SomeUser` or `;ubl rem 12312312313` +`;cbl` | Either [add]s or [rem]oves a channel specified by an ID from a blacklist. **Bot Owner only.** | `;cbl rem 12312312312` +`;sbl` | Either [add]s or [rem]oves a server specified by a Name or ID from a blacklist. **Bot Owner only.** | `;sbl add 12312321312` or `;sbl rem SomeTrashServer` +`;cmdcooldown` `;cmdcd` | Sets a cooldown per user for a command. Set to 0 to remove the cooldown. | `;cmdcd "some cmd" 5` +`;allcmdcooldowns` `;acmdcds` | Shows a list of all commands and their respective cooldowns. | `;acmdcds` +`;srvrfilterinv` `;sfi` | Toggles automatic deleting of invites posted in the server. Does not affect Bot Owner. | `;sfi` +`;chnlfilterinv` `;cfi` | Toggles automatic deleting of invites posted in the channel. Does not negate the ;srvrfilterinv enabled setting. Does not affect Bot Owner. | `;cfi` +`;srvrfilterwords` `;sfw` | Toggles automatic deleting of messages containing forbidden words on the server. Does not affect Bot Owner. | `;sfw` +`;chnlfilterwords` `;cfw` | Toggles automatic deleting of messages containing banned words on the channel. Does not negate the ;srvrfilterwords enabled setting. Does not affect bot owner. | `;cfw` +`;fw` | Adds or removes (if it exists) a word from the list of filtered words. Use`;sfw` or `;cfw` to toggle filtering. | `;fw poop` +`;lstfilterwords` `;lfw` | Shows a list of filtered words. | `;lfw` + +###### [Back to TOC](#table-of-contents) + +### Searches +Command and aliases | Description | Usage +----------------|--------------|------- +`~weather` `~we` | Shows weather data for a specified city and a country. BOTH ARE REQUIRED. Use country abbrevations. | `~we Moscow RF` +`~youtube` `~yt` | Searches youtubes and shows the first result | `~yt query` +`~imdb` `~omdb` | Queries omdb for movies or series, show first result. | `~imdb Batman vs Superman` +`~randomcat` `~meow` | Shows a random cat image. | `~meow` +`~randomdog` `~woof` | Shows a random dog image. | `~woof` +`~img` `~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` +`~shorten` | Attempts to shorten an URL, if it fails, returns the input URL. | `~shorten https://google.com` +`~google` `~g` | Get a google search link for some terms. | `~google query` +`~magicthegathering` `~mtg` | Searches for a Magic The Gathering card. | `~magicthegathering about face` or `~mtg about face` +`~hearthstone` `~hs` | Searches for a Hearthstone card and shows its image. Takes a while to complete. | `~hs Ysera` +`~urbandict` `~ud` | Searches Urban Dictionary for a word. | `~ud Pineapple` +`~#` | Searches Tagdef.com for a hashtag. | `~# ff` +`~catfact` | Shows a random catfact from | `~catfact` +`~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. | `~revimg Image link` +`~safebooru` | Shows a random image from safebooru with a given tag. Tag is optional but preferred. (multiple tags are appended with +) | `~safebooru yuri+kissing` +`~wikipedia` `~wiki` | Gives you back a wikipedia link | `~wiki query` +`~color` `~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"` +`~avatar` `~av` | Shows a mentioned person's avatar. | `~av "@SomeGuy"` +`~bfonline` `~bfo` | Gives you online players for BF3 and BF4 | `~bfo bf3` or `~bfo bf4` +`~bfuser` `~bfu` | Gives you back a battlefield user's stats. | `~bfu platform game user` +`~wikia` | Gives you back a wikia link | `~wikia mtg Vigilance` or `~wikia mlp Dashy` +`~minecraftping` `~mcping` | Pings a minecraft server. | `~mcping 127.0.0.1:25565` +`~minecraftquery` `~mcq` | Finds information about a minecraft server. | `~mcq server:ip` +`~lolban` | Shows top banned champions ordered by ban rate. | `~lolban` +`~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"` +`~anime` `~ani` `~aq` | Queries anilist for an anime and shows the first result. | `~ani aquarion evol` +`~manga` `~mang` `~mq` | Queries anilist for a manga and shows the first result. | `~mq Shingeki no kyojin` +`~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` +`~wowjoke` | Get one of Kwoth's penultimate WoW jokes. | `~wowjoke` +`~magicitem` `~mi` | Shows a random magicitem from | `~mi` +`~osu` | Shows osu stats for a player. | `~osu Name` or `~osu Name taiko` +`~osub` | Shows information about an osu beatmap. | `~osub https://osu.ppy.sh/s/127712` +`~osu5` | Displays a user's top 5 plays. | `~osu5 Name` +`~placelist` | Shows the list of available tags for the `~place` command. | `~placelist` +`~place` | Shows a placeholder image of a given tag. Use `~placelist` to see all available tags. You can specify the width and height of the image as the last two optional arguments. | `~place Cage` or `~place steven 500 400` +`~pokemon` `~poke` | Searches for a pokemon. | `~poke Sylveon` +`~pokemonability` `~pokeab` | Searches for a pokemon ability. | `~pokeab overgrow` +`~hitbox` `~hb` | Notifies this channel when a certain user starts streaming. **Requires ManageMessages server permission.** | `~hitbox SomeStreamer` +`~twitch` `~tw` | Notifies this channel when a certain user starts streaming. **Requires ManageMessages server permission.** | `~twitch SomeStreamer` +`~beam` `~bm` | Notifies this channel when a certain user starts streaming. **Requires ManageMessages server permission.** | `~beam SomeStreamer` +`~liststreams` `~ls` | Lists all streams you are following on this server. | `~ls` +`~removestream` `~rms` | Removes notifications of a certain streamer on this channel. **Requires ManageMessages server permission.** | `~rms SomeGuy` +`~checkstream` `~cs` | Checks if a user is online on a certain streaming platform. | `~cs twitch MyFavStreamer` +`~translate` `~trans` | Translates from>to text. From the given language to the destination language. | `~trans en>fr Hello` +`~autotrans` `~at` | Starts automatic translation of all messages by users who set their `~atl` in this channel. You can set "del" argument to automatically delete all translated user messages. **Requires Administrator server permission.** **Bot Owner only.** | `~at` or `~at del` +`~autotranslang` `~atl` | `~atl en>fr` | Sets your source and target language to be used with `~at`. Specify no arguments to remove previously set value. +`~translangs` | Lists the valid languages for translation. | `~translangs` +`~xkcd` | Shows a XKCD comic. No arguments will retrieve random one. Number argument will retrieve a specific comic, and "latest" will get the latest one. | `~xkcd` or `~xkcd 1400` or `~xkcd latest` + +###### [Back to TOC](#table-of-contents) + +### Utility +Command and aliases | Description | Usage +----------------|--------------|------- +`.whosplaying` `.whpl` | Shows a list of users who are playing the specified game. | `.whpl 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 user-specific permissions on this channel. | `.checkmyperms` +`.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 roles on this server or a roles of a specific user if specified. Paginated. 20 roles per page. | `.roles 2` or `.roles @Someone` +`.channeltopic` `.ct` | Sends current channel's topic as a message. | `.ct` +`.stats` | Shows some basic stats for Nadeko. | `.stats` +`.showemojis` `.se` | Shows a name and a link to every SPECIAL emoji in the message. | `.se A message full of SPECIAL emojis` +`.listservers` | Lists servers the bot is on with some basic info. 15 per page. **Bot Owner only.** | `.listservers 3` +`.calculate` `.calc` | Evaluate a mathematical expression. | `.calc 1+1` +`.calcops` | Shows all available operations in .calc command | `.calcops` +`.togethertube` `.totube` | Creates a new room on and shows the link in the chat. | `.totube` +`.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` +`.listquotes` `.liqu` | `.liqu` or `.liqu 3` | Lists all quotes on the server ordered alphabetically. 15 Per page. +`...` | Shows a random quote with a specified name. | `... abc` +`..` | Adds a new quote with the specified name and message. | `.. sayhi Hi` +`.deletequote` `.delq` | Deletes a random quote with the specified keyword. You have to either be server Administrator or the creator of the quote to delete it. | `.delq abc` +`.delallq` `.daq` | Deletes all quotes on a specified keyword. **Requires Administrator server permission.** | `.delallq kek` +`.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!` +`.remindtemplate` | 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.** | `.remindtemplate %user%, do %message%!` +`.convertlist` | List of the convertible dimensions and currencies. | `.convertlist` +`.convert` | Convert quantities. Use `.convertlist` to see supported dimensions and currencies. | `.convert m km 1000` From 2c8f85106f19281bdf0cb2feef98ae6eb03fcb55 Mon Sep 17 00:00:00 2001 From: samvaio Date: Thu, 1 Dec 2016 16:01:14 +0530 Subject: [PATCH 18/42] Update InfoCommands.cs --- src/NadekoBot/Modules/Utility/Commands/InfoCommands.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/NadekoBot/Modules/Utility/Commands/InfoCommands.cs b/src/NadekoBot/Modules/Utility/Commands/InfoCommands.cs index 7bd94198..dcdca68c 100644 --- a/src/NadekoBot/Modules/Utility/Commands/InfoCommands.cs +++ b/src/NadekoBot/Modules/Utility/Commands/InfoCommands.cs @@ -97,7 +97,8 @@ __`Users:`__ **{(await ch.GetUsersAsync()).Count()}**"; πŸ—“ __`Joined Discord:`__ **{user.CreatedAt.ToString("dd.MM.yyyy HH:mm")}** βš” __`Roles:`__ **({user.Roles.Count()}) - {string.Join(", ", user.Roles.Select(r => r.Name)).SanitizeMentions()}**"; if (!string.IsNullOrWhiteSpace(user.AvatarUrl)) - toReturn += $@"πŸ“· __`Avatar URL:`__ **{await NadekoBot.Google.ShortenUrl(user.AvatarUrl).ConfigureAwait(false)}**"; + toReturn += $@" + πŸ“· __`Avatar URL:`__ **{await NadekoBot.Google.ShortenUrl(user.AvatarUrl).ConfigureAwait(false)}**"; await msg.Reply(toReturn).ConfigureAwait(false); } } From 7315f5dc7959f6773d65ac8bc9ce7d5e14c7c801 Mon Sep 17 00:00:00 2001 From: samvaio Date: Thu, 1 Dec 2016 16:22:13 +0530 Subject: [PATCH 19/42] Update InfoCommands.cs --- src/NadekoBot/Modules/Utility/Commands/InfoCommands.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/NadekoBot/Modules/Utility/Commands/InfoCommands.cs b/src/NadekoBot/Modules/Utility/Commands/InfoCommands.cs index dcdca68c..44681852 100644 --- a/src/NadekoBot/Modules/Utility/Commands/InfoCommands.cs +++ b/src/NadekoBot/Modules/Utility/Commands/InfoCommands.cs @@ -98,7 +98,7 @@ __`Users:`__ **{(await ch.GetUsersAsync()).Count()}**"; βš” __`Roles:`__ **({user.Roles.Count()}) - {string.Join(", ", user.Roles.Select(r => r.Name)).SanitizeMentions()}**"; if (!string.IsNullOrWhiteSpace(user.AvatarUrl)) toReturn += $@" - πŸ“· __`Avatar URL:`__ **{await NadekoBot.Google.ShortenUrl(user.AvatarUrl).ConfigureAwait(false)}**"; +πŸ“· __`Avatar URL:`__ **{await NadekoBot.Google.ShortenUrl(user.AvatarUrl).ConfigureAwait(false)}**"; await msg.Reply(toReturn).ConfigureAwait(false); } } From c0eaf3960754b28c093af7b581b06722be3aba68 Mon Sep 17 00:00:00 2001 From: samvaio Date: Thu, 1 Dec 2016 16:49:58 +0530 Subject: [PATCH 20/42] Update Administration.cs --- src/NadekoBot/Modules/Administration/Administration.cs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/NadekoBot/Modules/Administration/Administration.cs b/src/NadekoBot/Modules/Administration/Administration.cs index b137c279..f0cf7cc3 100644 --- a/src/NadekoBot/Modules/Administration/Administration.cs +++ b/src/NadekoBot/Modules/Administration/Administration.cs @@ -638,9 +638,8 @@ namespace NadekoBot.Modules.Administration public async Task Prune(IUserMessage umsg) { var channel = (ITextChannel)umsg.Channel; - + int count = 100 var user = channel.Guild.GetCurrentUser(); - var enumerable = (await umsg.Channel.GetMessagesAsync()).AsEnumerable(); enumerable = enumerable.Where(x => x.Author.Id == user.Id); await umsg.Channel.DeleteMessagesAsync(enumerable); From 41a8936b72a21b33a9032441e542fe6a11714fcd Mon Sep 17 00:00:00 2001 From: samvaio Date: Thu, 1 Dec 2016 16:51:09 +0530 Subject: [PATCH 21/42] Update Administration.cs --- src/NadekoBot/Modules/Administration/Administration.cs | 1 - 1 file changed, 1 deletion(-) diff --git a/src/NadekoBot/Modules/Administration/Administration.cs b/src/NadekoBot/Modules/Administration/Administration.cs index f0cf7cc3..b267fe2d 100644 --- a/src/NadekoBot/Modules/Administration/Administration.cs +++ b/src/NadekoBot/Modules/Administration/Administration.cs @@ -638,7 +638,6 @@ namespace NadekoBot.Modules.Administration public async Task Prune(IUserMessage umsg) { var channel = (ITextChannel)umsg.Channel; - int count = 100 var user = channel.Guild.GetCurrentUser(); var enumerable = (await umsg.Channel.GetMessagesAsync()).AsEnumerable(); enumerable = enumerable.Where(x => x.Author.Id == user.Id); From 35f4725d0fc9b0af3ecad547aab526ecad6e7694 Mon Sep 17 00:00:00 2001 From: samvaio Date: Thu, 1 Dec 2016 16:58:06 +0530 Subject: [PATCH 22/42] Update Administration.cs --- src/NadekoBot/Modules/Administration/Administration.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/NadekoBot/Modules/Administration/Administration.cs b/src/NadekoBot/Modules/Administration/Administration.cs index b267fe2d..e613324f 100644 --- a/src/NadekoBot/Modules/Administration/Administration.cs +++ b/src/NadekoBot/Modules/Administration/Administration.cs @@ -635,7 +635,7 @@ namespace NadekoBot.Modules.Administration //delets her own messages, no perm required [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] - public async Task Prune(IUserMessage umsg) + public async Task Prune(IUserMessage umsg, int count = 100) { var channel = (ITextChannel)umsg.Channel; var user = channel.Guild.GetCurrentUser(); From c019ce31300c6029d899bdd565de484681180f26 Mon Sep 17 00:00:00 2001 From: samvaio Date: Thu, 1 Dec 2016 17:01:21 +0530 Subject: [PATCH 23/42] Update Administration.cs --- src/NadekoBot/Modules/Administration/Administration.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/NadekoBot/Modules/Administration/Administration.cs b/src/NadekoBot/Modules/Administration/Administration.cs index e613324f..b267fe2d 100644 --- a/src/NadekoBot/Modules/Administration/Administration.cs +++ b/src/NadekoBot/Modules/Administration/Administration.cs @@ -635,7 +635,7 @@ namespace NadekoBot.Modules.Administration //delets her own messages, no perm required [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] - public async Task Prune(IUserMessage umsg, int count = 100) + public async Task Prune(IUserMessage umsg) { var channel = (ITextChannel)umsg.Channel; var user = channel.Guild.GetCurrentUser(); From d4985f26ddc7de303089da797c334054dece14f7 Mon Sep 17 00:00:00 2001 From: Kwoth Date: Thu, 1 Dec 2016 12:33:52 +0100 Subject: [PATCH 24/42] removed atf completely, closes #832 --- src/NadekoBot/Modules/NSFW/NSFW.cs | 23 +---------------------- 1 file changed, 1 insertion(+), 22 deletions(-) diff --git a/src/NadekoBot/Modules/NSFW/NSFW.cs b/src/NadekoBot/Modules/NSFW/NSFW.cs index 7d8f3f56..4c16efbb 100644 --- a/src/NadekoBot/Modules/NSFW/NSFW.cs +++ b/src/NadekoBot/Modules/NSFW/NSFW.cs @@ -68,8 +68,7 @@ namespace NadekoBot.Modules.NSFW var links = await Task.WhenAll(GetGelbooruImageLink(tag), GetDanbooruImageLink(tag), GetKonachanImageLink(tag), - GetYandereImageLink(tag), - GetATFbooruImageLink(tag)).ConfigureAwait(false); + GetYandereImageLink(tag)).ConfigureAwait(false); if (links.All(l => l == null)) { @@ -327,25 +326,5 @@ namespace NadekoBot.Modules.NSFW return "Error, do you have too many tags?"; } } - - public static async Task GetATFbooruImageLink(string tag) - { - var rng = new NadekoRandom(); - - var link = $"https://atfbooru.ninja/posts?" + - $"limit=100"; - if (!string.IsNullOrWhiteSpace(tag)) - link += $"&tags={tag.Replace(" ", "+")}"; - using (var http = new HttpClient()) - { - var webpage = await http.GetStringAsync(link).ConfigureAwait(false); - var matches = Regex.Matches(webpage, "data-file-url=\"(?.*?)\""); - - if (matches.Count == 0) - return null; - return $"https://atfbooru.ninja" + - $"{matches[rng.Next(0, matches.Count)].Groups["id"].Value}"; - } - } } } From fbb50d4df29ccaf740824b9127617f4123dd15d5 Mon Sep 17 00:00:00 2001 From: samvaio Date: Thu, 1 Dec 2016 17:08:25 +0530 Subject: [PATCH 25/42] Update Administration.cs --- src/NadekoBot/Modules/Administration/Administration.cs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/NadekoBot/Modules/Administration/Administration.cs b/src/NadekoBot/Modules/Administration/Administration.cs index b267fe2d..a958a5b9 100644 --- a/src/NadekoBot/Modules/Administration/Administration.cs +++ b/src/NadekoBot/Modules/Administration/Administration.cs @@ -639,8 +639,7 @@ namespace NadekoBot.Modules.Administration { var channel = (ITextChannel)umsg.Channel; var user = channel.Guild.GetCurrentUser(); - var enumerable = (await umsg.Channel.GetMessagesAsync()).AsEnumerable(); - enumerable = enumerable.Where(x => x.Author.Id == user.Id); + var enumerable = (await umsg.Channel.GetMessagesAsync()).Where(x => x.Author.Id == user.Id); await umsg.Channel.DeleteMessagesAsync(enumerable); } From 2f1dedb33a99ea589672aed92fa8107ddd46f9ed Mon Sep 17 00:00:00 2001 From: samvaio Date: Thu, 1 Dec 2016 17:14:05 +0530 Subject: [PATCH 26/42] Update Administration.cs --- src/NadekoBot/Modules/Administration/Administration.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/NadekoBot/Modules/Administration/Administration.cs b/src/NadekoBot/Modules/Administration/Administration.cs index a958a5b9..efba6f96 100644 --- a/src/NadekoBot/Modules/Administration/Administration.cs +++ b/src/NadekoBot/Modules/Administration/Administration.cs @@ -639,7 +639,7 @@ namespace NadekoBot.Modules.Administration { var channel = (ITextChannel)umsg.Channel; var user = channel.Guild.GetCurrentUser(); - var enumerable = (await umsg.Channel.GetMessagesAsync()).Where(x => x.Author.Id == user.Id); + var enumerable = (await umsg.Channel.GetMessagesAsync(100)).Where(x => x.Author.Id == user.Id); await umsg.Channel.DeleteMessagesAsync(enumerable); } From bd70dc21fd500b8adbde9d27b0e3d69f6ca494ac Mon Sep 17 00:00:00 2001 From: samvaio Date: Thu, 1 Dec 2016 17:20:27 +0530 Subject: [PATCH 27/42] Update Administration.cs --- src/NadekoBot/Modules/Administration/Administration.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/NadekoBot/Modules/Administration/Administration.cs b/src/NadekoBot/Modules/Administration/Administration.cs index efba6f96..8df86138 100644 --- a/src/NadekoBot/Modules/Administration/Administration.cs +++ b/src/NadekoBot/Modules/Administration/Administration.cs @@ -635,11 +635,11 @@ namespace NadekoBot.Modules.Administration //delets her own messages, no perm required [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] - public async Task Prune(IUserMessage umsg) + public async Task Prune(IUserMessage umsg, int count) { var channel = (ITextChannel)umsg.Channel; var user = channel.Guild.GetCurrentUser(); - var enumerable = (await umsg.Channel.GetMessagesAsync(100)).Where(x => x.Author.Id == user.Id); + var enumerable = (await umsg.Channel.GetMessagesAsync(count : 100)).Where(x => x.Author.Id == user.Id); await umsg.Channel.DeleteMessagesAsync(enumerable); } From 7dcf4f5a607b03eff13e9a5da44cdbb98d112d09 Mon Sep 17 00:00:00 2001 From: samvaio Date: Thu, 1 Dec 2016 17:21:57 +0530 Subject: [PATCH 28/42] Update Administration.cs --- src/NadekoBot/Modules/Administration/Administration.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/NadekoBot/Modules/Administration/Administration.cs b/src/NadekoBot/Modules/Administration/Administration.cs index 8df86138..5f15fc5c 100644 --- a/src/NadekoBot/Modules/Administration/Administration.cs +++ b/src/NadekoBot/Modules/Administration/Administration.cs @@ -635,7 +635,7 @@ namespace NadekoBot.Modules.Administration //delets her own messages, no perm required [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] - public async Task Prune(IUserMessage umsg, int count) + public async Task Prune(IUserMessage umsg) { var channel = (ITextChannel)umsg.Channel; var user = channel.Guild.GetCurrentUser(); From c5915a45d659eb7e6e7f52d18537f3f6506307e9 Mon Sep 17 00:00:00 2001 From: samvaio Date: Thu, 1 Dec 2016 17:24:08 +0530 Subject: [PATCH 29/42] Update Administration.cs --- src/NadekoBot/Modules/Administration/Administration.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/NadekoBot/Modules/Administration/Administration.cs b/src/NadekoBot/Modules/Administration/Administration.cs index 5f15fc5c..a958a5b9 100644 --- a/src/NadekoBot/Modules/Administration/Administration.cs +++ b/src/NadekoBot/Modules/Administration/Administration.cs @@ -639,7 +639,7 @@ namespace NadekoBot.Modules.Administration { var channel = (ITextChannel)umsg.Channel; var user = channel.Guild.GetCurrentUser(); - var enumerable = (await umsg.Channel.GetMessagesAsync(count : 100)).Where(x => x.Author.Id == user.Id); + var enumerable = (await umsg.Channel.GetMessagesAsync()).Where(x => x.Author.Id == user.Id); await umsg.Channel.DeleteMessagesAsync(enumerable); } From 1fe6b2a41153ac5dd22f4e2e68824ac20ed7fc5d Mon Sep 17 00:00:00 2001 From: samvaio Date: Thu, 1 Dec 2016 17:39:08 +0530 Subject: [PATCH 30/42] Update Administration.cs --- src/NadekoBot/Modules/Administration/Administration.cs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/NadekoBot/Modules/Administration/Administration.cs b/src/NadekoBot/Modules/Administration/Administration.cs index a958a5b9..0ca8d78a 100644 --- a/src/NadekoBot/Modules/Administration/Administration.cs +++ b/src/NadekoBot/Modules/Administration/Administration.cs @@ -638,8 +638,11 @@ namespace NadekoBot.Modules.Administration public async Task Prune(IUserMessage umsg) { var channel = (ITextChannel)umsg.Channel; + var user = channel.Guild.GetCurrentUser(); - var enumerable = (await umsg.Channel.GetMessagesAsync()).Where(x => x.Author.Id == user.Id); + + var enumerable = (await umsg.Channel.GetMessagesAsync()).AsEnumerable(); + enumerable = enumerable.Where(x => x.Author.Id == user.Id); await umsg.Channel.DeleteMessagesAsync(enumerable); } From 5583780fcb31e79c90b4875d003a2316fb5bed56 Mon Sep 17 00:00:00 2001 From: Kwoth Date: Thu, 1 Dec 2016 19:59:17 +0100 Subject: [PATCH 31/42] Added actual responses to .lcr all, not count --- src/NadekoBot/Modules/CustomReactions/CustomReactions.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/NadekoBot/Modules/CustomReactions/CustomReactions.cs b/src/NadekoBot/Modules/CustomReactions/CustomReactions.cs index e273d3d5..baf0041a 100644 --- a/src/NadekoBot/Modules/CustomReactions/CustomReactions.cs +++ b/src/NadekoBot/Modules/CustomReactions/CustomReactions.cs @@ -159,7 +159,7 @@ namespace NadekoBot.Modules.CustomReactions { var txtStream = await customReactions.GroupBy(cr => cr.Trigger) .OrderBy(cr => cr.Key) - .Select(cr => new { Trigger = cr.Key, Responses = cr.Count() }) + .Select(cr => new { Trigger = cr.Key, Responses = cr.Select(y=>y.Response).ToList() }) .ToJson() .ToStream() .ConfigureAwait(false); @@ -173,7 +173,7 @@ namespace NadekoBot.Modules.CustomReactions [NadekoCommand, Usage, Description, Aliases] public async Task ListCustReactG(IUserMessage imsg, int page = 1) { - var channel = (ITextChannel)imsg.Channel; + var channel = imsg.Channel as ITextChannel; if (page < 1 || page > 10000) return; ConcurrentHashSet customReactions; From 2c2485c8bd05f347c13e59265c0dddd0cae4ed66 Mon Sep 17 00:00:00 2001 From: Kwoth Date: Thu, 1 Dec 2016 23:19:19 +0100 Subject: [PATCH 32/42] fixed ~safebooru image link --- src/NadekoBot/Modules/CustomReactions/CustomReactions.cs | 2 +- src/NadekoBot/Modules/Searches/Searches.cs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/NadekoBot/Modules/CustomReactions/CustomReactions.cs b/src/NadekoBot/Modules/CustomReactions/CustomReactions.cs index baf0041a..32614b05 100644 --- a/src/NadekoBot/Modules/CustomReactions/CustomReactions.cs +++ b/src/NadekoBot/Modules/CustomReactions/CustomReactions.cs @@ -159,7 +159,7 @@ namespace NadekoBot.Modules.CustomReactions { var txtStream = await customReactions.GroupBy(cr => cr.Trigger) .OrderBy(cr => cr.Key) - .Select(cr => new { Trigger = cr.Key, Responses = cr.Select(y=>y.Response).ToList() }) + .Select(cr => new { Trigger = cr.Key, Responses = cr.Select(y => y.Response).ToList() }) .ToJson() .ToStream() .ConfigureAwait(false); diff --git a/src/NadekoBot/Modules/Searches/Searches.cs b/src/NadekoBot/Modules/Searches/Searches.cs index dd5e7808..3154e9aa 100644 --- a/src/NadekoBot/Modules/Searches/Searches.cs +++ b/src/NadekoBot/Modules/Searches/Searches.cs @@ -535,7 +535,7 @@ namespace NadekoBot.Modules.Searches if (matches.Count == 0) return null; var match = matches[rng.Next(0, matches.Count)]; - return matches[rng.Next(0, matches.Count)].Groups["url"].Value; + return "http:" + matches[rng.Next(0, matches.Count)].Groups["url"].Value; } } From be7b1e5c473032bd6291038cf3ad9708e038c38a Mon Sep 17 00:00:00 2001 From: samvaio Date: Fri, 2 Dec 2016 05:45:58 +0530 Subject: [PATCH 33/42] Update OSX Guide.md --- docs/guides/OSX Guide.md | 52 ++++++++++++++-------------------------- 1 file changed, 18 insertions(+), 34 deletions(-) diff --git a/docs/guides/OSX Guide.md b/docs/guides/OSX Guide.md index 23d99e04..00042cfd 100644 --- a/docs/guides/OSX Guide.md +++ b/docs/guides/OSX Guide.md @@ -69,30 +69,26 @@ Choose either `1` or `2` then press `enter` key. Once Installation is completed you should see the options again. Next, choose `5` to exit. -####Creating DiscordBot application -- Go to [the Discord developer application page.][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. -- Click on `Create a Bot User` and confirm it. -- Keep this window open for now. +####Creating and Inviting bot + +- Read here how to [create a DiscordBot application](http://nadekobot.readthedocs.io/en/latest/guides/Windows%20Guide/#creating-discordbot-application) +- [Visual Invite Guide](http://discord.kongslien.net/guide.html) *NOTE: Client ID is your Bot ID* +- Copy your `Client ID` from your [applications page](https://discordapp.com/developers/applications/me). +- Replace the `12345678` in this link `https://discordapp.com/oauth2/authorize?client_id=12345678&scope=bot&permissions=66186303` with your `Client ID`. +- The link should now look like this: `https://discordapp.com/oauth2/authorize?client_id=**YOUR_CLENT_ID_HERE**&scope=bot&permissions=66186303`. +- Go to the newly created link and pick the server we created, and click `Authorize`. +- The bot should have been added to your server. ####Setting up Credentials.json file - Open up the `NadekoBot` folder, which should be in your home directory, then `NadekoBot` folder then `src` folder and then the additonal `NadekoBot` folder. -- In our `NadekoBot` folder you should have `.json` file named `credentials.json`. (Note: If you do not see a **.json** after `credentials.json `, do not add the `**.json**`. You most likely have `"Hide file extensions"` enabled.) -- If you mess up the setup of `credentials.json`, rename `credentials_example.json` to `credentials.json`. -- Open the file with your Text editor. -- In your [applications page][DiscordApp] (the window you were asked to keep open earlier), under the `Bot User` section, you will see `Token:click to reveal`, click to reveal the token. -- Copy your bot's token, and on the `"Token"` line of your `credentials.json`, paste your bot token inbetween the quotation marks before and after the token, like so `"Example.Token"` -- Copy the `Client ID` on the page and replace the `123123123` part of the `ClientId` line with it, and put quotation marks before and after, like earlier. -- Again, copy the same `Client ID` and replace the null part of the `BotId` line with it, and do **not** put quotation marks before and after the ID. -- Go to a server on discord and attempt to mention yourself, but put a backslash at the start as shown below -- So the message `\@fearnlj01#3535` will appears as `<@145521851676884992>` after you send the message (to make it slightly easier, add the backslash after you type the mention out) -- The message will appear as a mention if done correctly, copy the numbers from the message you sent (`145521851676884992`) and replace the `0` on the `OwnerIds` section with your user ID shown earlier. -- Save `credentials.json` (make sure you aren't saving it as `credentials.json.txt`) -- If done correctly, you are now the bot owner. You can add multiple owners by seperating each owner ID with a comma within the square brackets. - +- EDIT it as it is guided here: [Setting up credentials.json](http://nadekobot.readthedocs.io/en/latest/guides/Windows%20Guide/#setting-up-credentialsjson-file) +- **If** you already have Nadeko 1.0 setup and have `credentials.json` and `NadekoBot.db`, you can just copy and paste the `credentials.json` to `NadekoBot/src/NadekoBot` and `NadekoBot.db` to `NadekoBot/src/NadekoBot/bin/Release/netcoreapp1.0/data`. +- **If** you have Nadeko 0.9x follow the [Upgrading Guide](http://nadekobot.readthedocs.io/en/latest/guides/Upgrading%20Guide/) + +####Setting NadekoBot Music + +For Music Setup and API keys check [Setting up NadekoBot for Music](http://nadekobot.readthedocs.io/en/latest/guides/Windows%20Guide/#setting-up-nadekobot-for-music) and [JSON Explanations](http://nadekobot.readthedocs.io/en/latest/JSON%20Explanations/). + ####Running NadekoBot - Using tmux @@ -125,19 +121,7 @@ Choose `4` To Run the bot with Auto Restart. **Now check your Discord, the bot should be online** Now time to move bot to background and to do that, press CTRL+B+D (this will detach the nadeko session using TMUX) -If you used Screen press CTRL+A+D (this will detach the nadeko screen) - -####Inviting your bot to your server -- [Invite Guide](http://discord.kongslien.net/guide.html) -- Copy your `Client ID` from your [applications page](https://discordapp.com/developers/applications/me). -- Replace the `12345678` in this link `https://discordapp.com/oauth2/authorize?client_id=12345678&scope=bot&permissions=66186303` with your `Client ID`. -- The link should now look like this: `https://discordapp.com/oauth2/authorize?client_id=**YOUR_CLENT_ID_HERE**&scope=bot&permissions=66186303`. -- Go to the newly created link and pick the server we created, and click `Authorize`. -- The bot should have been added to your server. - -####Setting NadekoBot Music - -For Music Setup and API keys check [Setting up NadekoBot for Music](http://nadekobot.readthedocs.io/en/latest/guides/Windows%20Guide/#setting-up-nadekobot-for-music) and [JSON Explanations](http://nadekobot.readthedocs.io/en/latest/JSON%20Explanations/). +If you used Screen press CTRL+A+D (this will detach the nadeko screen) ####Updating Nadeko From 731dac6b0c4fa626e0765affbc9f6fd6a1d4cabd Mon Sep 17 00:00:00 2001 From: samvaio Date: Fri, 2 Dec 2016 06:24:23 +0530 Subject: [PATCH 34/42] Update JSON Explanations.md --- docs/JSON Explanations.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/docs/JSON Explanations.md b/docs/JSON Explanations.md index dd05e63a..2879f627 100644 --- a/docs/JSON Explanations.md +++ b/docs/JSON Explanations.md @@ -59,9 +59,11 @@ Additional options Config.json =========== -In the folder where `NadekoBot.exe` is located you should also see a `Data` folder. In this folder you will find `config.json` among other files. -`config.json` contains user specific commands, such as: if DM's sent to the bot are forwarded to you, Blacklisted Ids, Servers, and channels...etc. +`config.json` is now removed with the addition of `NadekoBot.db` so if you have Nadeko 0.9x follow the [upgrading guide](http://nadekobot.readthedocs.io/en/latest/guides/Upgrading%20Guide/) -**If you do not see** `config.json` **you need to rename** `config_example.json` **to** `config.json` +DB files +======== +Nadeko uses few db files in order to open `NadekoBot\src\NadekoBot\bin\Release\netcoreapp1.0\data\NadekoBot.db` (1.0) or `data/NadekoBot.sqlite` (0.9.x), you need [DB Browser for SQLite](http://sqlitebrowser.org/) to open the database with it, make changes to any settings you want and click on "write changes" at the top. +e.g. if you want to chnage [CleverBot APIs]: https://cleverbot.io/keys From 589238ed46ceb459d20572137b0482fc4a1ac24b Mon Sep 17 00:00:00 2001 From: samvaio Date: Fri, 2 Dec 2016 06:54:28 +0530 Subject: [PATCH 35/42] Update JSON Explanations.md --- docs/JSON Explanations.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/JSON Explanations.md b/docs/JSON Explanations.md index 2879f627..8bb52b37 100644 --- a/docs/JSON Explanations.md +++ b/docs/JSON Explanations.md @@ -63,7 +63,7 @@ Config.json DB files ======== -Nadeko uses few db files in order to open `NadekoBot\src\NadekoBot\bin\Release\netcoreapp1.0\data\NadekoBot.db` (1.0) or `data/NadekoBot.sqlite` (0.9.x), you need [DB Browser for SQLite](http://sqlitebrowser.org/) to open the database with it, make changes to any settings you want and click on "write changes" at the top. +Nadeko uses few db files in order to open the database `NadekoBot\src\NadekoBot\bin\Release\netcoreapp1.0\data\NadekoBot.db` (1.0) or `data/NadekoBot.sqlite` (0.9x), you will need [DB Browser for SQLite](http://sqlitebrowser.org/) to make changes to any settings you want and click on "write changes" at the top. e.g. if you want to chnage [CleverBot APIs]: https://cleverbot.io/keys From b5153ab4d8d3274974403e7d00124d98a37ac75d Mon Sep 17 00:00:00 2001 From: samvaio Date: Fri, 2 Dec 2016 07:52:32 +0530 Subject: [PATCH 36/42] Update JSON Explanations.md --- docs/JSON Explanations.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/JSON Explanations.md b/docs/JSON Explanations.md index 8bb52b37..1f1bdaae 100644 --- a/docs/JSON Explanations.md +++ b/docs/JSON Explanations.md @@ -64,6 +64,6 @@ Config.json DB files ======== Nadeko uses few db files in order to open the database `NadekoBot\src\NadekoBot\bin\Release\netcoreapp1.0\data\NadekoBot.db` (1.0) or `data/NadekoBot.sqlite` (0.9x), you will need [DB Browser for SQLite](http://sqlitebrowser.org/) to make changes to any settings you want and click on "write changes" at the top. -e.g. if you want to chnage +![nadekodb](https://cdn.discordapp.com/attachments/251504306010849280/254067055240806400/nadekodb.gif) [CleverBot APIs]: https://cleverbot.io/keys From d6876818fe8b824186e274a94ae3a8657212a903 Mon Sep 17 00:00:00 2001 From: samvaio Date: Fri, 2 Dec 2016 07:54:19 +0530 Subject: [PATCH 37/42] Update JSON Explanations.md --- docs/JSON Explanations.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/docs/JSON Explanations.md b/docs/JSON Explanations.md index 1f1bdaae..8dbd9817 100644 --- a/docs/JSON Explanations.md +++ b/docs/JSON Explanations.md @@ -63,7 +63,11 @@ Config.json DB files ======== -Nadeko uses few db files in order to open the database `NadekoBot\src\NadekoBot\bin\Release\netcoreapp1.0\data\NadekoBot.db` (1.0) or `data/NadekoBot.sqlite` (0.9x), you will need [DB Browser for SQLite](http://sqlitebrowser.org/) to make changes to any settings you want and click on "write changes" at the top. +Nadeko uses few db files in order to open the database +- `NadekoBot\src\NadekoBot\bin\Release\netcoreapp1.0\data\NadekoBot.db` (1.0) +- `data/NadekoBot.sqlite` (0.9x) +you will need [DB Browser for SQLite](http://sqlitebrowser.org/) to make changes to any settings you want and click on "write changes" at the top. + ![nadekodb](https://cdn.discordapp.com/attachments/251504306010849280/254067055240806400/nadekodb.gif) [CleverBot APIs]: https://cleverbot.io/keys From f76ad802a39a592e62ee67fa5ec45caaf64f3f1d Mon Sep 17 00:00:00 2001 From: samvaio Date: Fri, 2 Dec 2016 16:43:17 +0530 Subject: [PATCH 38/42] Update JSON Explanations.md --- docs/JSON Explanations.md | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/docs/JSON Explanations.md b/docs/JSON Explanations.md index 8dbd9817..a35f02f9 100644 --- a/docs/JSON Explanations.md +++ b/docs/JSON Explanations.md @@ -59,14 +59,23 @@ Additional options Config.json =========== -`config.json` is now removed with the addition of `NadekoBot.db` so if you have Nadeko 0.9x follow the [upgrading guide](http://nadekobot.readthedocs.io/en/latest/guides/Upgrading%20Guide/) +`config.json` is now removed with the addition of `NadekoBot.db` so if you have Nadeko 0.9x follow the [upgrading guide](http://nadekobot.readthedocs.io/en/latest/guides/Upgrading%20Guide/) to upgrade your bot. DB files ======== -Nadeko uses few db files in order to open the database -- `NadekoBot\src\NadekoBot\bin\Release\netcoreapp1.0\data\NadekoBot.db` (1.0) -- `data/NadekoBot.sqlite` (0.9x) -you will need [DB Browser for SQLite](http://sqlitebrowser.org/) to make changes to any settings you want and click on "write changes" at the top. +Nadeko uses few db files in order to open these database files `NadekoBot\src\NadekoBot\bin\Release\netcoreapp1.0\data\NadekoBot.db` (1.0) or `data\NadekoBot.sqlite` (0.9x) you will need [DB Browser for SQLite](http://sqlitebrowser.org/). + +To make changes + +- go to **Browse Data** tab +- click on **Table** drop-down list +- choose the table you want to edit +- click on the cell you want to edit +- edit it on the right-hand side +- click on **Apply** +- click on **Write Changes** + +and that will save all the changes. ![nadekodb](https://cdn.discordapp.com/attachments/251504306010849280/254067055240806400/nadekodb.gif) From c60cbc82669d8fbdc1881b362121c71dc764d9c3 Mon Sep 17 00:00:00 2001 From: samvaio Date: Fri, 2 Dec 2016 17:03:04 +0530 Subject: [PATCH 39/42] Update Upgrading Guide.md --- docs/guides/Upgrading Guide.md | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/docs/guides/Upgrading Guide.md b/docs/guides/Upgrading Guide.md index cf202e0a..c0583088 100644 --- a/docs/guides/Upgrading Guide.md +++ b/docs/guides/Upgrading Guide.md @@ -1,9 +1,11 @@ -###Upgrading Nadeko from an older release +##Upgrading Nadeko from an older release -- Follow the Windows Guide/Linux Guide/OS X Guide linked on the left. -- Navigate to your old `Nadeko` folder and copy `credentials.json` and the `/data/` folder. -- Paste this into the new Nadeko's `/NadekoBot/src/NadekoBot/` folder. +**If you have NadekoBot 0.9x** + +- Follow the [Windows Guide](http://nadekobot.readthedocs.io/en/latest/guides/Windows%20Guide/)/[Linux Guide](http://nadekobot.readthedocs.io/en/latest/guides/Linux%20Guide/)/[OS X Guide](http://nadekobot.readthedocs.io/en/latest/guides/OSX%20Guide/) and install **NadekoBot 1.0**. +- Navigate to your **old** `Nadeko` folder and copy `credentials.json` file and the `data` folder. +- Paste them into **NadekoBot 1.0** `/NadekoBot/src/NadekoBot/` folder. - If it asks you to overwrite files, it is fine to do so. -- Now launch new Nadeko as the guide describes. -- In any channel, run the `.migratedata` command - nadeko will now migrate your old data. -- Restart nadeko and everything should work as expected! +- Next launch your **new** Nadeko as the guide describes, if it is not already running. +- In any channel, run the `.migratedata` [command](http://nadekobot.readthedocs.io/en/latest/Commands%20List/) and Nadeko will start migrating your old data. +- Once that is done **restart** Nadeko and everything should work as expected! From 3aeba77885fb898465d070a51b8022e2a889017b Mon Sep 17 00:00:00 2001 From: samvaio Date: Fri, 2 Dec 2016 17:07:39 +0530 Subject: [PATCH 40/42] Update Contribution Guide.md --- docs/Contribution Guide.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/Contribution Guide.md b/docs/Contribution Guide.md index 2818756c..3dff9b35 100644 --- a/docs/Contribution Guide.md +++ b/docs/Contribution Guide.md @@ -1,7 +1,7 @@ ### How to contribute -1. Make Pull Requests to the **1.0 BRANCH** -2. Keep 1 Pull Request to a single feature -3. Explain what you did in the PR message +1. Make Pull Requests to the [**dev BRANCH**](https://github.com/Kwoth/NadekoBot/tree/dev). +2. Keep 1 Pull Request to a single feature. +3. Explain what you did in the PR message. -Thanks for all the help ^_^ +Thanks for all your help ^_^ From 8862042df552797ef3a1fdb9ffc649afaec973fc Mon Sep 17 00:00:00 2001 From: samvaio Date: Fri, 2 Dec 2016 17:35:31 +0530 Subject: [PATCH 41/42] Update Frequently Asked Questions.md --- docs/Frequently Asked Questions.md | 42 ++++++++++++------------------ 1 file changed, 17 insertions(+), 25 deletions(-) diff --git a/docs/Frequently Asked Questions.md b/docs/Frequently Asked Questions.md index e3c30ba3..e06d74da 100644 --- a/docs/Frequently Asked Questions.md +++ b/docs/Frequently Asked Questions.md @@ -3,11 +3,11 @@ ###Question 1: How do I get Nadeko to join my server? ---- -**Answer:** Simply send Nadeko a Direct Message with -h and follow the link. **Only People with the Manage Server permission can add the bot to the server** +**Answer:** Simply send Nadeko a Direct Message with `-h` and follow the link. **Only People with the Manage Server permission can add the bot to the server** ###Question 2: I want to change permissions, but it isn't working! ---- -**Answer:** You must have the ;permrole (by default this is the "Nadeko" role, for more details on permissions check [here](http://nadekobot.readthedocs.io/en/1.0/Permissions%20System/ "Permissions"). If you have a role called `Nadeko` but can't assign it, just create a new Role and assign that instead.) +**Answer:** You must have the `;permrole` (by default this is the `Nadeko` role, for more details on permissions check [here](http://nadekobot.readthedocs.io/en/latest/Permissions%20System/ "Permissions"). If you have a role called `Nadeko` but can't assign it it's probably the Bot Role so, just create a **New Role** called `Nadeko` and assign that to yourself instead.) ###Question 3: I want to disable NSFW on my server. ---- @@ -27,51 +27,43 @@ If your problem or suggestion is not there, feel free to request/notify us about -------- **Answer:** You can see the description and usage of certain commands by using `-h command` **i.e** `-h ;sm`. -The whole list of commands can be found [here](http://nadekobot.readthedocs.io/en/1.0/Commands%20List/ "Command List") +The whole list of commands can be found [here](http://nadekobot.readthedocs.io/en/latest/Commands%20List/ "Command List") ###Question 7: Music isn't working? ---- **Answer:** Music is disabled on public Nadeko due to large hosting costs, it will be re-enabled later in the future for donators. -**If you would like music in the meantime, you must host Nadeko yourself**. Be sure you have FFMPEG installed correctly, and have followed the [guide](http://nadekobot.readthedocs.io/en/1.0/guides/Windows%20Guide/) carefully. +**If you would like music in the meantime, you must host Nadeko yourself**. Be sure you have FFMPEG installed correctly, and have followed the [guide](http://nadekobot.readthedocs.io/en/latest/guides/Windows%20Guide/#setting-up-nadekobot-for-music) carefully. ###Question 8: My music is still not working/very laggy? ---- **Answer:** Try changing your discord [location][1], if this doesn't work be sure you have enabled the correct permissions for Nadeko and rebooted since installing FFMPEG. [1]: https://support.discordapp.com/hc/en-us/articles/216661717-How-do-I-change-my-Voice-Server-Region- -###Question 9: I want to change data in the database (like NadekoFlowers or the pokemontypes of users, but how? +###Question 9: I want to change data in the database (like NadekoFlowers or something else but how? ---- -**Answer:** Open `/data/NadekoBot.db` using sqlitebrowser (or some alternative), Browse Data, select relevant table, change data, Write changes +**Answer:** Follow the [DB Guide](http://nadekobot.readthedocs.io/en/latest/JSON%20Explanations/#db-files), Open `/data/NadekoBot.db` using **sqlitebrowser** (or some alternative), Browse Data, select relevant table, change data, Write changes and done. -###Question 10: The .greet and .bye commands doesn't work, but everything else is (From @Kong) +###Question 10: The .greet and .bye commands doesn't work, but everything else is! ----- **Answer:** Set a greeting message by using `.greetmsg YourMessageHere` and a bye-message by using `.byemsg YourMessageHere`. Don't forget that `.greet` and `.bye` only apply to users joining a server, not coming online/offline. -###Question 11: How do I import certs on linux? -------- -**Answer:** - -`certmgr -ssl https://discordapp.com` - -`certmgr -ssl https://gateway.discord.gg` - -###Question 12: I made an application, but I can't add that new bot to my server, how do I invite it to my server? +###Question 11: I made an application, but I can't add that new bot to my server, how do I invite it to my server? ---- -**Answer:** 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 +**Answer:** You need to use oauth link to add it to you server, just copy your **CLIENT ID** (that's in the same [Developer page](https://discordapp.com/developers/applications/me) 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](http://discord.kongslien.net/guide.html) if you do not understand. +Follow this Detailed [Guide](http://discord.kongslien.net/guide.html). -###Question 13: I'm building NadekoBot from source, but I get hundreds of (namespace) errors without changing anything!? +###Question 12: I'm building NadekoBot from source, but I get hundreds of (namespace) errors without changing anything!? ----- **Answer:** 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 -###Question 14: My bot has all permissions but it's still saying, "Failed to add roles. Bot has insufficient permissions.". How do I fix this? +###Question 13: My bot has all permissions but it's still saying, "Failed to add roles. Bot has insufficient permissions.". How do I fix this? ---------- -**Answer:** Discord has added a few new features and roles now follow hierarchy. This means you need to place your bot's role above every-other role your server has. [Here's](https://support.discordapp.com/hc/en-us/articles/214836687-Role-Management-101) a link to Discords role management 101. - -###Question 15: I've broken permissions and am stuck, can I reset permissions? ----------- -**Answer:** Yes, there is a way, in one easy command! Just run `.resetperms` +**Answer:** Discord has added few new features and the roles now follows the role hierarchy which means you need to place your bot's role above every-other role your server has to fix the role hierarchy issue. [Here's](https://support.discordapp.com/hc/en-us/articles/214836687-Role-Management-101) a link to Discords role management 101. **Please Note:** *The bot can only set/add all roles below its own highest role. It can not assign it's "highest role" to anyone else.* + +###Question 14: I've broken permissions and am stuck, can I reset permissions? +---------- +**Answer:** Yes, there is a way, in one easy command! Just run `.resetperms` and all the permissions you've set through **Permissions Module** will reset. From 4e136762c8af1bbff55487522325d54c602829d3 Mon Sep 17 00:00:00 2001 From: samvaio Date: Fri, 2 Dec 2016 19:28:24 +0530 Subject: [PATCH 42/42] Update Frequently Asked Questions.md --- docs/Frequently Asked Questions.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/Frequently Asked Questions.md b/docs/Frequently Asked Questions.md index e06d74da..32d7a6e9 100644 --- a/docs/Frequently Asked Questions.md +++ b/docs/Frequently Asked Questions.md @@ -40,7 +40,7 @@ The whole list of commands can be found [here](http://nadekobot.readthedocs.io/e **Answer:** Try changing your discord [location][1], if this doesn't work be sure you have enabled the correct permissions for Nadeko and rebooted since installing FFMPEG. [1]: https://support.discordapp.com/hc/en-us/articles/216661717-How-do-I-change-my-Voice-Server-Region- -###Question 9: I want to change data in the database (like NadekoFlowers or something else but how? +###Question 9: I want to change data in the database like NadekoFlowers or something else but how? ---- **Answer:** Follow the [DB Guide](http://nadekobot.readthedocs.io/en/latest/JSON%20Explanations/#db-files), Open `/data/NadekoBot.db` using **sqlitebrowser** (or some alternative), Browse Data, select relevant table, change data, Write changes and done. @@ -58,7 +58,7 @@ Follow this Detailed [Guide](http://discord.kongslien.net/guide.html). ----- **Answer:** 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 -###Question 13: My bot has all permissions but it's still saying, "Failed to add roles. Bot has insufficient permissions.". How do I fix this? +###Question 13: My bot has all permissions but it's still saying, "Failed to add roles. Bot has insufficient permissions". How do I fix this? ---------- **Answer:** Discord has added few new features and the roles now follows the role hierarchy which means you need to place your bot's role above every-other role your server has to fix the role hierarchy issue. [Here's](https://support.discordapp.com/hc/en-us/articles/214836687-Role-Management-101) a link to Discords role management 101.