#### For easy setup and no programming knowledge, you can download .exe from [releases](https://github.com/Kwoth/NadekoBot/releases) and follow the comprehensive [GUIDE](https://github.com/Kwoth/NadekoBot/blob/master/ComprehensiveGuide.md)
In your bin/debug folder (or next to your exe if you are using release version), you must have a file called 'credentials.json' in which you will store all the necessary data to make the bot know who the owner is, and your api keys.
- BotMention(bot\_id) and OwnerID are **NOT** names of the owner and the bot. If you do not know the id of your bot, put 2 random numbers in those fields, run the bot and do `.uid @MyBotName` - that will give you your bot\_id, do the same for yourself `.uid @MyName` and copy the numbers in their respective fields.
- For google api key, you need to enable URL shortner, Youtube video search **and custom search** in the [dev console](https://console.developers.google.com/).
- For the Soundcloud Api key you need a Soundcloud account. You need to create a new app on http://soundcloud.com/you/apps/new and after that go here http://soundcloud.com/you/apps click on the name of your created your app and copy the Client ID. Paste it into credentials.json.
- For Mashape Api Key you need to create an account on their api marketplace here https://market.mashape.com/. After that you need to go to market.mashape.com/YOURNAMEHERE/applications/default-application and press GET THE KEYS in the right top corner copy paste it into your credentials.json and you are ready to race!
- If you want to have music, you need to download FFMPEG from this link http://ffmpeg.zeranoe.com/builds/ (static build version) and add ffmpeg/bin folder to your PATH environment variable. You do that by opening explorer -> right click 'This PC' -> properties -> advanced system settings -> In the top part, there is a PATH field, add `;` to the end and then your ffmpeg install location /bin (for example ;C:\ffmpeg-5.6.7\bin) and save. Open command prompt and type ffmpeg to see if you added it correctly. If it says "command not found" then you made a mistake somewhere. There are a lot of guides on the internet on how to add stuff to your PATH, check them out if you are stuck.
- **IF YOU HAVE BEEN USING THIS BOT BEFORE AND YOU HAVE DATA FROM PARSE THAT YOU WANT TO KEEP** you should export your parse data and extract it inside /data/parsedata in your bot's folder. Next time you start the bot, type `.parsetosql` and the bot will fill your local sqlite db with data from those .json files.
`.menrole`, `.mentionrole` | Mentions every person from the provided role or roles (separated by a ',') on this server. Requires you to have mention everyone permission.
`.parsetosql` | Loads exported parsedata from /data/parsedata/ into sqlite database.
`.unstuck` | Clears the message queue. **OWNER ONLY**
`.donators` | List of lovely people who donated to keep this project alive.
`.adddon`, `.donadd` | Add a donator to the database.
### Permissions
Command and aliases | Description | Usage
----------------|--------------|-------
`;verbose` | Sets whether to show when a command/module is blocked. | ;verbose true
`;serverperms`, `;sp` | Shows banned permissions for this server.
`;roleperms`, `;rp` | Shows banned permissions for a certain role. No argument means for everyone. | ;rp AwesomeRole
`;channelperms`, `;cp` | Shows banned permissions for a certain channel. No argument means for this channel. | ;cp #dev
`;userperms`, `;up` | Shows banned permissions for a certain user. No argument means for yourself. | ;up Kwoth
`;sm`, `;servermodule` | Sets a module's permission at the server level. | ;sm <module_name> enable
`;sc`, `;servercommand` | Sets a command's permission at the server level. | ;sc <command_name> disable
`;rm`, `;rolemodule` | Sets a module's permission at the role level. | ;rm <module_name> enable <role_name>
`;rc`, `;rolecommand` | Sets a command's permission at the role level. | ;rc <command_name> disable <role_name>
`;cm`, `;channelmodule` | Sets a module's permission at the channel level. | ;cm <module_name> enable <channel_name>
`;cc`, `;channelcommand` | Sets a command's permission at the channel level. | ;cm enable <channel_name>
`;um`, `;usermodule` | Sets a module's permission at the user level. | ;um <module_name> enable <user_name>
`;uc`, `;usercommand` | Sets a command's permission at the user level. | ;uc <module_command> enable <user_name>
`;asm`, `;allservermodules` | Sets permissions for all modules at the server level. | ;asm <enable/disable>
`;asc`, `;allservercommands` | Sets permissions for all commands from a certain module at the server level. | ;asc <module_name><enable/disable>
`;acm`, `;allchannelmodules` | Sets permissions for all modules at the server level. | ;acm <enable/disable><channel_name>
`;acc`, `;allchannelcommands` | Sets permissions for all commands from a certain module at the server level. | ;acc <module_name><enable/disable><channel_name>
`;arm`, `;allrolemodules` | Sets permissions for all modules at the role level. | ;arm <enable/disable><role_name>
`;arc`, `;allrolecommands` | Sets permissions for all commands from a certain module at the role level. | ;arc <module_name><enable/disable><channel_name>