mirror of
				https://gitlab.com/Kwoth/nadekobot.git
				synced 2025-11-03 16:24:27 -05:00 
			
		
		
		
	
		
			
				
	
	
	
		
			7.1 KiB
		
	
	
	
	
	
	
	
			
		
		
	
	
			7.1 KiB
		
	
	
	
	
	
	
	
Setting up your API keys
This part is completely optional, however it's necessary for music and a few other features to work properly.
- GoogleAPIKey
- Required for Youtube Song Search, Playlist queuing, and a few more things.
 - Follow these steps on how to setup Google API keys:
- Go to Google Console and log in.
 - Create a new project (name does not matter).
 - Once the project is created, go into 
Library - Under the 
YouTube APIssection, enableYouTube Data API - On the left tab, access 
Credentials,- Click 
Create Credentialsbutton, - Click on 
API Key - A new window will appear with your 
Google API key
NOTE: You don't really need to click onRESTRICT KEY, just click onCLOSEwhen you are done. - Copy the key.
 
 - Click 
 - Open up 
creds.ymland look forGoogleAPIKey, paste your API key after the:. - It should look like this:
 
GoogleApiKey: "AIzaSyDSci1sdlWQOWNVj1vlXxxxxxbk0oWMEzM", 
 - MashapeKey
- Required for Hearthstone cards.
 - Api key obtained on https://rapidapi.com (register -> go to MyApps -> Add New App -> Enter Name -> Application key)
 - Copy the key and paste it into 
creds.yml 
 - OsuApiKey
- Required for Osu commands
 - You can get this key here.
 
 - CleverbotApiKey
- Required if you want to use Cleverbot. It's currently a paid service.
 - You can get this key here.
 
 - PatreonAccessToken
- For Patreon creators only.
 
 - PatreonCampaignId
- For Patreon creators only. Id of your campaign.
 
 - TwitchClientId
- Mandatory for following twitch streams with 
.twitch(or.staddwith twitch link) - Go to apps page on twitch and register your application.
 - You need 2FA enabled on twitch in order to create an application
 - You can set 
http://localhostas the OAuth Redirect URL (and press Add button) - Select 
Chat Botfrom the Category dropdown - Once created, clicking on your application will show a new Client ID field
 - Copy it to your creds.yml as shown below
 - (if you're adding it as the last key inside your creds.yml, remove the trailling comma from the example below)
 
TwitchClientId: "516tr61tr1qweqwe86trg3g", - Mandatory for following twitch streams with 
 - LocationIqApiKey
- Optional. Used only for the 
.timecommand. https://locationiq.com api key (register and you will receive the token in the email). 
 - Optional. Used only for the 
 - TimezoneDbApiKey
- Optional. Used only for the 
.timecommand. https://timezonedb.com api key (register and you will receive the token in the email YOU HAVE TO ACTIVEATE IT AFTER YOU GET IT). 
 - Optional. Used only for the 
 - CoinmarketcapApiKey
- Optional. Used only for the 
.cryptocommand. You can use crypto command without it, but you might get ratelimited from time to time, as all self-hosters share the default api key. https://pro.coinmarketcap.com/ 
 - Optional. Used only for the 
 
Additional Settings
- TotalShards
- Required if the bot will be connected to more than 2500 servers.
 - Most likely unnecessary to change until your bot is added to more than 2500 servers.
 
 - RedisOptions
- Required if the Redis instance is not on localhost or on non-default port.
 - You can find all available options here.
 
 - RestartCommand
- Required if you want to be able to use the 
.restartcommand - If you're using the CLI installer or Linux/OSX, it's easier and more reliable setup Nadeko with auto-restart and just use 
.die 
 - Required if you want to be able to use the 
 
For Windows (Updater), add this to your creds.yml
RestartCommand:
    Cmd: "NadekoBot.exe"
For Windows (Source), Linux or OSX, add this to your creds.yml
"RestartCommand": {
    "Cmd": "dotnet",
    "Args": "run -c Release"
},
End Result
This is an example of how the creds.yml looks like with multiple owners, the restart command (optional) and all the API keys (also optional):
{
  "Token": "MTc5MzcyXXX2MDI1ODY3MjY0.ChKs4g.I8J_R9XX0t-QY-0PzXXXiN0-7vo",
  "OwnerIds": [
        105635123466156544,
        145521851676884992,
        341420590009417729
  ],
  "GoogleApiKey": "AIzaSyDSci1sdlWQOWNVj1vlXxxxxxbk0oWMEzM",
  "MashapeKey": "4UrKpcWXc2mshS8RKi00000y8Kf5p1Q8kI6jsn32bmd8oVWiY7",
  "OsuApiKey": "4c8c8fdff8e1234581725db27fd140a7d93320d6",
  "CleverbotApiKey": "",
  "Db": null,
  "TotalShards": 1,
  "PatreonAccessToken": "",
  "PatreonCampaignId": "334038",
  "RestartCommand": {
    "Cmd": "NadekoBot.exe"
	},
  "ShardRunCommand": "",
  "ShardRunArguments": "",
  "ShardRunPort": null,
  "TwitchClientId": null,
  "RedisOptions": null
}
Database
Nadeko saves all settings and data in the database file NadekoBot.db, located in:
- Windows (Updater): 
system/data(can be easily accessed through theDatabutton on the updater) - Windows (Source), Linux and OSX: 
NadekoBot/src/NadekoBot/bin/Release/netcoreapp2.1/data/NadekoBot.db 
In order to open it you will need SQLite Browser.
NOTE: You don't have to worry if you don't have the NadekoBot.db file, it gets automatically created once you successfully run the bot for the first time.
To make changes:
- Shut your bot down.
 - Copy the 
NadekoBot.dbfile to someplace safe. (Back up) - Open it with SQLite Browser.
 - Go to the Browse Data tab.
 - Click on the 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.
 
Sharding your bot
- ShardRunCommand
- Command with which to run shards 1+
 - Required if you're sharding your bot on windows using .exe, or in a custom way.
 - This internally defaults to 
dotnet - For example, if you want to shard your NadekoBot which you installed using windows installer, you would want to set it to something like this: 
C:\Program Files\NadekoBot\system\NadekoBot.exe 
 - ShardRunArguments
- Arguments to the shard run command
 - Required if you're sharding your bot on windows using .exe, or in a custom way.
 - This internally defaults to 
run -c Release --no-build -- {0} {1} {2}which will be enough to run linux and other 'from source' setups - {0} will be replaced by the 
shard IDof the shard being ran, {1} by the shard 0's process id, and {2} by the port shard communication is happening on - If shard0 (main window) is closed, all other shards will close too
 - For example, if you want to shard your NadekoBot which you installed using windows installer, you would want to set it to 
{0} {1} {2} 
 - ShardRunPort
- Bot uses a random UDP port in [5000, 6000] range for communication between shards
 
 
