mirror of
https://gitlab.com/Kwoth/nadekobot.git
synced 2025-09-10 09:18:27 -04: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 APIs
section, enableYouTube Data API
- On the left tab, access
Credentials
,- Click
Create Credentials
button, - 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 onCLOSE
when you are done. - Copy the key.
- Click
- Open up
creds.yml
and 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.stadd
with 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://localhost
as the OAuth Redirect URL (and press Add button) - Select
Chat Bot
from 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
.time
command. 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
.time
command. 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
.crypto
command. 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
.restart
command - 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 theData
button 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.db
file 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 ID
of 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