-
Notifications
You must be signed in to change notification settings - Fork 2
/
app.json
265 lines (265 loc) · 14.4 KB
/
app.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
{
"name": "AvaIre Watchdog",
"description": "AvaIre Watchdog serves to manage your AvaIre bot in new ways. It will help you manage AvaIre by starting, restarting and updating the bot, the application also comes with a terminal that allows you to see the output and interact with the bot.",
"keywords": [
"Heroku",
"AvaIre",
"AvaIreBot",
"Discord Bot",
"Entertainment",
"Music",
"Moderation",
"Senither",
"Java",
"Selfhosting",
"Music Bot",
"Discord Music Bot",
"Watchdog",
"Manage"
],
"website": "https://avairebot.com/",
"repository": "https://github.com/avaire/watchdog",
"logo": "https://imgur.com/H8RCD5F.png",
"success_url": "/",
"addons": [
{
"plan": "jawsdb:kitefin"
},
{
"plan": "scheduler:standard"
}
],
"env": {
"GRADLE_TASK": {
"description": "Tells Heroku how to compile AvaIre. Leave it as it, unless you know what your doing.",
"required": true,
"value": "build"
},
"AVA_ENVIRONMENT": {
"description": "Let the value be production to have the bot work as normal. Change it to development if you know what your doing.",
"required": true,
"value": "production"
},
"AVA_DISCORD_CLIENTID": {
"description": "Get your CLIENT ID from https://discordapp.com/developers/applications/.",
"required": true
},
"AVA_DISCORD_TOKEN": {
"description": "Get your BOT TOKEN from https://discordapp.com/developers/applications/.",
"required": true
},
"AVA_DISCORD_OAUTH": {
"description": "Replace <client_id> with the CLIENT ID.",
"required": false,
"value": "https://discordapp.com/oauth2/authorize?&client_id=<client_id>&scope=bot&permissions=66186303"
},
"AVA_DATABASE_TYPE": {
"description": "AvaIre normally uses MySQL with JawsDB MySQL on Heroku. If you want to use your own MySQL server with heroku, add your own variables for it. You can find them here: https://bit.ly/2R3r40E.",
"required": true,
"value": "mysql"
},
"AVA_DATABASE_FILENAME": {
"description": "If you choose to use sqlite. Your using this aswell. Let the value be database.sqlite or change it if you know what your doing.",
"required": true,
"value": "database.sqlite"
},
"AVA_DATABASE_VERIFYSERVERCERTIFICATE": {
"description": "Determine if server certificates should be verified upon connecting to the database. For Heroku this needs to be set to false.",
"required": true,
"value": "false"
},
"AVA_DEFAULT_PREFIX": {
"description": "Change the default prefix the bot uses to your liking.",
"required": true,
"value": "!"
},
"AVA_SYSTEM_PREFIX": {
"description": "Change the system prefix the bot uses to your liking.",
"required": true,
"value": ";"
},
"AVA_PLAYING": {
"description": "Once every minute, Ava will change her 'playing' status to something on the list below. You can set the type of the status by using one of the prefixes below.",
"required": true,
"value": "!help; watching:avairebot.com; listening:%users% users; playing:in %guilds% servers"
},
"AVA_LAVALINK_ENABLED": {
"description": "NOT SUPPORTED WITH ENV VARIABLES! This determines if Ava should use Lavalink for encoding and sending the audio instead of doing it internally, if Lavalink is enabled and no valid nodes has been provided, none of the music will work.",
"required": true,
"value": "false"
},
"AVA_LAVALINK_NODES": {
"description": "NOT SUPPORTED WITH ENV VARIABLES! This is your Lavalink encoding nodes, each node must have a valid name that the node is identified by, a valid web-socket host and port, and a valid password for the given Lavalink node.",
"required": false,
"value": "- name : 'local' host : 'ws://localhost:5555' pass : 'youshallnotpass'"
},
"AVA_MUSIC_ACTIVITY_ENABLED": {
"description": "This determines if the music activity tracker should be enabled or not. False means it will stay connected, unless the queue is empty or forced to leave by a user. You can change this to false or true.",
"required": true,
"value": "true"
},
"AVA_MUSIC_ACTIVITY_MISSING_LISTENERS": {
"description": "This is the time in minutes that the bot should wait before disconnecting if no one is listening to the bot.",
"required": false,
"value": "5"
},
"AVA_MUSIC_ACTIVITY_EMPTY_QUEUE_TIMEOUT": {
"description": "This is the time in minutes that the bot should wait before disconnecting if the queue is empty and nothing is added before the timer runs out.",
"required": false,
"value": "2"
},
"AVA_MUSIC_ACTIVITY_PAUSED_MUSIC_TIMEOUT": {
"description": "This is the time in minutes that the bot should wait before disconnecting if the music is paused.",
"required": false,
"value": "10"
},
"AVA_AUDIO_QUALITY_RESAMPLING": {
"description": "Higher resampling rates gives a higher chance that the audio reaches Discord servers so people can hear the audio by sending each frame multiple times. You can set this to: high, medium, or low.",
"required": true,
"value": "high"
},
"AVA_AUDIO_QUALITY_ENCODING": {
"description": "Audio encoding is tasked with encoding the audio track so it is playable by Discord, higher values will produce a higher quality encoded track, which in turn uses more CPU. You can set this number between: 0 and 10.",
"required": true,
"value": "10"
},
"AVA_BOTACCESS": {
"description": "Specifies which users can use the system commands of Avaire. You can add multiple by doing: <userid>; <seconduserid>.",
"required": false,
"value": "88739639380172800"
},
"AVA_SENTRYDSN": {
"description": "If you want to use Sentry for error loging. You can get the DSN url from: https://sentry.io/welcome/. You can leave this blank.",
"required": false,
"value": ""
},
"AVA_WEB_SERVLET_METRICS": {
"description": "Ava uses Prometheus metrics for tracking a long list of different things within the application during runtime, the metrics are then displayed using Grafana to users on a web-dashboard using graphs.",
"required": false,
"value": "true"
},
"AVA_WEB_SERVLET_API_ROUTES_LEADERBOARD": {
"description": "Exposes a per-server leaderboard route for getting the 100 users on the given server ID, as well as some level role and XP settings information. Route: GET /leaderboard/:id",
"required": false,
"value": "true"
},
"AVA_WEB_SERVLET_API_ROUTES_PLAYERS": {
"description": "Exposes a player cleanup route which for getting a list of expired user XP records, any IDs returned from the route are IDs for users who are no long on the server the record is attached to. Route: GET /players/cleanup",
"required": false,
"value": "true"
},
"AVA_WEB_SERVLET_API_ROUTES_GUILDS": {
"description": "Gets various guild information about a server by their IDs; Cleanup routes can be used to get or delete expired and old records for guilds the bot is no longer on. Routes: POST /guilds/cleanup, GET /guilds/cleanup, GET /guilds/:ids/exists, GET /guilds/:ids",
"required": false,
"value": "true"
},
"AVA_WEB_SERVLET_API_ROUTES_STATS": {
"description": "Exposes a stats route which can be used to get some stats on individual shards, the machine the bot is running on, as well as uptime and global collected bot info. Route: GET /stats",
"required": false,
"value": "true"
},
"AVA_WEB_SERVLET_AUTHTOKEN": {
"description": "This is the auth token that should be given to validate incoming vote requests. Any requests to the vote route that is either missing the auth header, or has a key that does not match the key will be ignored.",
"required": false,
"value": "avaire-auth-token"
},
"AVA_VOTE_LOCK_ENABLED": {
"description": "This option determines if the vote-locking feature should be enabled at all, if set to true, any command or feature using the 'vote' middleware will be restricted to users who have voted for the bot within the last 12 hours. You can it to true or false.",
"required": true,
"value": "false"
},
"AVA_VOTE_LOCK_SYNC_WITH_PUBLIC_BOT": {
"description": "If this option is set to true, the vote check used within the !vote command will sync vote requests with the public bot(AvaIre) instead of DiscordBots, allowing self-hosters to support the official bot while still using the vote system.",
"required": true,
"value": "true"
},
"AVA_VOTE_LOCK_VOTE_SYNC_TOKEN": {
"description": "This is the bot application API token for DBL(Discord Bot List), the API token is used to sync votes between the API and the bot during startup, so anyone who voted while the bot was offline will still get their rewards.",
"required": true,
"value": "ReplaceThisWithYourAPITokenForDBL"
},
"AVA_APIKEYS_GOOGLE": {
"description": "Google API key, this is used for music requests to YouTube and the Shorten API for shortening links, note the play command will still work with youtube links without an API key.",
"required": false,
"value": ""
},
"AVA_APIKEYS_DIAGFLOW": {
"description": "DialogFlow is the service used by Ava for her artificial intelligence. The AI will be disabled withoud the API key. You can registar for an API key on their website as well as creating your own custom AI agent. If you want, you can use the same AI agent as Ava uses at: https://github.com/avaire/agent.",
"required": false,
"value": ""
},
"AVA_APIKEYS_MEOWAPI": {
"description": "Meow API is a simple services that provides lots of cat pictures. The API can be used without a key, although it will only allow 10 requests per minute, if your needs are higher then that, you can request for an API key at: https://meow.senither.com/.",
"required": false,
"value": ""
},
"AVA_APIKEYS_OPENWEATHERMAP": {
"description": "Open Weather Map is a free service that provides lots of ways to get weather and wind data based on a location. Withoud the API key the command will disable itself. You can get an API key at: https://home.openweathermap.org/api_keys.",
"required": false,
"value": ""
},
"AVA_FEEDBACK_CHANNEL": {
"description": "The Feedback channel is the text channel used alongside the !feedback command, any feedback messages the bot gets will be sent in the channel matching the given ID, if the channel doesn't exist, or the bot can't read & write to it, then the feedback command will simply not work.",
"required": false,
"value": ""
},
"AVA_CHANGELOG_CHANNEL": {
"description": "The changelog channel is the text channel used by the changelog command, the command will read messages from the channel and then use those as changelog messages, if the bot is bot can't read messages from the channel, the changelog command will simply not work.",
"required": false,
"value": ""
},
"AVA_ACTIVITY_LOG_CHANNEL": {
"description": "The activity log channel is used by Ava to log server activity, like when the bot joins or leaves a server, if the channel doesn't exist, or the bot can't read & write to it, then no activity log messages will be sent.",
"required": false,
"value": ""
},
"AVA_BOT_ADMIN_EXCEPTION_ROLE": {
"description": "The bot admin exception role is used within Ava to allow users with the role matching the ID below to invoke certain system commands, without giving them full bot access.",
"required": false,
"value": ""
},
"GITHUB_REPO": {
"description": "Copy part of the link after `https://github.com/` (e.g `chaNcharge/avaire`) and paste it here, required for auto updates with Scheduler!",
"required": false,
"value": ""
},
"GITHUB_REPO_BRANCH": {
"description": "The branch of your fork to update, required for auto updates with Scheduler!",
"required": false,
"value": "master"
},
"GITHUB_SECRET_TOKEN": {
"description": "Copy GitHub personal access token here, required for auto updates with Scheduler! You can get a personal access token here: https://github.com/settings/tokens",
"required": false,
"value": ""
},
"UPSTREAM_REPO": {
"description": "The link to the upstream repo to update from, leave this as is for AvaIre Watchdog",
"required": false,
"value": "avaire/watchdog"
},
"UPSTREAM_BRANCH": {
"description": "The branch of the upstream repo, leave this as is for AvaIre",
"required": false,
"value": "master"
}
},
"formation": {
"worker": {
"quantity": 1,
"size": "free"
},
"web": {
"quantity": 0,
"size": "free"
}
},
"buildpacks": [
{
"url": "heroku/gradle"
},
{
"url": "https://github.com/weibeld/heroku-buildpack-run"
}
]
}