-
Notifications
You must be signed in to change notification settings - Fork 4
/
project.js
445 lines (440 loc) · 23.7 KB
/
project.js
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
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
// ------------------------------------------------------------------
// JOVO PROJECT CONFIGURATION
// ------------------------------------------------------------------
require('dotenv').config();
let manifest = {
privacyAndCompliance: {
'default': {
privacyPolicyUrl: '',
termsOfUseUrl: '',
},
'en-US': {
privacyPolicyUrl: 'https://dicechampionship.s3-eu-west-1.amazonaws.com/privacyPolicy/index.html',
termsOfUseUrl: '',
},
},
publishingInformation: {
locales: {
'en-XX': {
stage: {
staging: {
name: 'Dice Tournament',
summary: '👉 Can you throw the dice better than everyone else? 🎲 Find you just how lucky you are! 🍀',
description: 'Staging Skill for Dice Championship (EN)',
examplePhrases: [
'Alexa open Dice Tournament',
],
smallIconUri: 'https://exampleresources.s3-eu-west-1.amazonaws.com/skillIcon_diceChampionship_stage_small.png',
largeIconUri: 'https://exampleresources.s3-eu-west-1.amazonaws.com/skillIcon_diceChampionship_stage_large.png',
keywords: [
'test',
],
},
live: {
name: 'Dice Championship',
summary: '👉 Can throw the dice better than everyone else? 🎲 Find you just how lucky you are! 🍀',
description: 'Dice Championship lets you play dice against the whole world! How high can you make it up the highscore?\n\nThe rules are simple:\n- For each throw, your score is the sum of randomly thrown 10 six-sided dice\n- Only your best score ever determines your place in the highscore\n- If you and another player have the same score, the one of you who achived it first gets the higher rank\n\n...now how high can YOU score? \n\nRight now this Skill is as simple as any Skill can be, but there are big plans for Dice Championship! Stay tuned for screen support, high-quality audio and more!\n\nHave fun, and good luck!',
examplePhrases: [
'Alexa open Dice Championship',
],
smallIconUri: 'https://exampleresources.s3-eu-west-1.amazonaws.com/skillIcon_diceChallenge_small.png',
largeIconUri: 'https://exampleresources.s3-eu-west-1.amazonaws.com/skillIcon_diceChallenge_large.png',
keywords: [
'game',
'fun',
'match',
'win',
'epic',
'challenge',
'happy',
'exciting',
'highscore',
'leaderboard',
'die',
'dice',
'champion',
'winner',
'challenge',
'challenger',
'diversion',
'entertaining',
'statistics',
'chance',
'gambling',
'winning',
'perform',
'result',
'competition',
],
},
},
},
'de': {
stage: {
staging: {
name: 'Würfel-Turnier',
summary: '👉 Würfelst Du besser als alle anderen? 🎲 Spiel mit und teste Dein Würfelglück! 🍀',
description: 'Staging Skill for Dice Championship (DE)',
examplePhrases: [
'Alexa, starte Würfel-Turnier',
],
smallIconUri: 'https://exampleresources.s3-eu-west-1.amazonaws.com/skillIcon_diceChampionship_stage_small.png',
largeIconUri: 'https://exampleresources.s3-eu-west-1.amazonaws.com/skillIcon_diceChampionship_stage_large.png',
keywords: [
'test',
],
},
live: {
name: 'Würfel Meisterschaft',
summary: '👉 Würfelst Du besser als alle anderen? 🎲 Spiel mit und teste Dein Würfelglück! 🍀',
description: 'Du gegen den Rest der Welt - Mit nicht als zehn Würfel! Wie weit nach oben schaffst Du es in der Bestenliste?\n\nDie Regeln sind einfach:\n- Pro Runde ergibt sich Deine Punktzahl aus der Summe des Würfelergebnisses mit 10 sechsseitigen Würfeln\n- Nur Dein Würfelrekord bestimmt, welche Position in der Bestenliste Du einnimmst\n- Falls zwei Spieler Gleichstand haben, erhält der erste von beiden den höheren Rang\n\nDann mal los: Zeig der Welt Dein goldenes Würfelhändchen! \n\nAktuell ist dieser Skill noch recht schlicht gehalten, aber es gibt große Pläne für die Würfelmeisterschaft! Auf der Wunschliste stehen Bildschirmunterstützung, bessere Soundeffekte und mehr!\n\nViel Spaß, und viel Glück beim Würfeln!',
examplePhrases: [
'Alexa, starte Würfel-Meisterschaft',
],
smallIconUri: 'https://exampleresources.s3-eu-west-1.amazonaws.com/skillIcon_diceChallenge_small.png',
largeIconUri: 'https://exampleresources.s3-eu-west-1.amazonaws.com/skillIcon_diceChallenge_large.png',
keywords: [
'spiel',
'spaß',
'turnier',
'gewinnen',
'meister',
'herausforderung',
'action',
'aufregend',
'highscore',
'bestenliste',
'würfel',
'glücksspiel',
'gewinner',
'sieger',
'meisterschaft',
'würfeln',
'ablenkung',
'unterhaltung',
'statistik',
'glück',
'kasino',
'jackpot',
'punktzahl',
'ergebnis',
'wettbewerb',
],
},
},
},
'it': {
stage: {
staging: {
name: 'Torneo di Dadi',
summary: '👉 Puoi lanciare i dadi meglio degli altri? 🎲 Scopri quanto sei fortunato! 🍀',
description: 'Skill di Staging per il Campionato dei Dadi (EN)',
examplePhrases: [
'Alexa apri torneo di dadi',
],
smallIconUri: 'https://exampleresources.s3-eu-west-1.amazonaws.com/skillIcon_diceChampionship_stage_small.png',
largeIconUri: 'https://exampleresources.s3-eu-west-1.amazonaws.com/skillIcon_diceChampionship_stage_large.png',
keywords: [
'test',
],
},
live: {
name: 'Campionato dei Dadi',
summary: '👉 Puoi lanciare dei dadi meglio degli altri? 🎲 Scopri quanto la fortuna è dalla tua parte! 🍀',
description: 'Il Campionato dei Dadi ti permette di sfidarti con giocatori in tutto il mondo! Quanto riuscirai a salire nella classifica?\n\nLe regole sono semplici:\n- Ad ogni lancio di dado, il punteggio è la somma di dieci dadi a 6 facciate, generati in modo completamente casuale.\n- Solo il miglior punteggio ottenuto verrà contato nella classifica mondiale.\n- Se due o più giocatori raggiungono lo stesso punteggio, chi prima ha raggiunto il punteggio avrà il posto più alto in classifica.\n\n...quanti punti riuscirai a fare tu? \n\nPer ora la skill è molto semplice, ma ci sono grandi programmi per il Campionato dei Dadi: supporto per schermi, audio di alta qualità e tanto altro ancora!\n\nDivertiti, e in bocca al lupo!',
examplePhrases: [
'Alexa apri Campionato dei Dadi',
],
smallIconUri: 'https://exampleresources.s3-eu-west-1.amazonaws.com/skillIcon_diceChallenge_small.png',
largeIconUri: 'https://exampleresources.s3-eu-west-1.amazonaws.com/skillIcon_diceChallenge_large.png',
keywords: [
'gioco',
'divertente',
'partita',
'vincita',
'epico',
'sfida',
'happy',
'divertente',
'punteggio',
'classifica',
'dado',
'dadi',
'campione',
'vincitore',
'sfogo',
'intrattenimento',
'statistica',
'probabilità',
'gioco d\'azzardo',
'competizione',
],
},
},
},
'es': {
stage: {
staging: {
name: 'Torneo de Dados',
summary: '👉 ¿Puede tirar los dados mejor que todos los demás? 🎲 ¡Encuentra lo afortunado que eres! 🍀',
description: 'Staging Skill for Dice Championship (ES)',
examplePhrases: [
'Alexa, abre Torneo de Dados',
],
smallIconUri: 'https://exampleresources.s3-eu-west-1.amazonaws.com/skillIcon_diceChampionship_stage_small.png',
largeIconUri: 'https://exampleresources.s3-eu-west-1.amazonaws.com/skillIcon_diceChampionship_stage_large.png',
keywords: [
'test',
],
},
live: {
name: 'Campeonato de Dados',
summary: '👉 ¿Puede tirar los dados mejor que todos los demás? 🎲 ¡Encuentra lo afortunado que eres! 🍀',
description: 'Campeonato de Dados te permite jugar a los dados y medirte con el mundo entero. ¿Qué tan alto puedes llegar en la tabla de puntuación?\n\nLas reglas son simples:\n- En cada tirada el puntaje es la suma de 10 dados de 6 caras tirados al azar\n- Solo tu mejor tiro determinará tu lugar en la tabla de puntuación\n- Si compartes puntuación con otro jugador el que haya logrado la marca primero aparecerá por encima en el marcador\n\n...entonces, qué tan alto puedes TU llegar? \n\nAhora mismo esta skill es tan simple como cualquier otra pero tenemos grandes planes para Campeonato de Dados. ¡Preparate para ver soporte de dispositivos con pantalla, audio de alta calidad y más!\n\n¡Diviértete y buena suerte!',
examplePhrases: [
'Alexa, abre Campeonato de Dados',
],
smallIconUri: 'https://exampleresources.s3-eu-west-1.amazonaws.com/skillIcon_diceChallenge_small.png',
largeIconUri: 'https://exampleresources.s3-eu-west-1.amazonaws.com/skillIcon_diceChallenge_large.png',
keywords: [
'dados',
],
},
},
},
'fr': {
stage: {
staging: {
name: 'Tournoi de Dé',
summary: '👉 Arriverez-vous à lancer les dés mieux que quiconque? 🎲 Venez découvrir à quel point vous êtes chanceux! 🍀',
description: 'Skill de Staging pour le Championnat de Dé (FR)',
examplePhrases: [
'Alexa ouvre Tournoi de Dé',
],
smallIconUri: 'https://exampleresources.s3-eu-west-1.amazonaws.com/skillIcon_diceChampionship_stage_small.png',
largeIconUri: 'https://exampleresources.s3-eu-west-1.amazonaws.com/skillIcon_diceChampionship_stage_large.png',
keywords: [
'test',
],
},
live: {
name: 'Championnat de Dé',
summary: '👉 Arriverez-vous à lancer les dés mieux que quiconque? 🎲 Venez découvrir à quel point vous êtes chanceux! 🍀',
description: 'Jouez aux dés contre le monde entier! Quel sera votre score maximum?\n\nLes règles sont simples:\n- Pour chaque lancer, votre score correspond à la somme de 10 dés à six faces lancés au hasard\n- Seul votre meilleur score détermine votre place dans le classement\n- Si vous avez le même score qu’un autre joueur, le premier des deux à avoir atteint ce score aura un rang plus élévé dans le classement\n\n...Et maintenant, quel classement allez-vous atteindre?\n\nCette Skill est simple pour le moment mais nous avons de grands projets pour le Championnat de Dé comme l’optimisation pour les appareils avec écrans, un son haute définition et plus encore... Restez à l’écoute!\n\nAmusez-vous bien et bonne chance!',
examplePhrases: [
'Alexa ouvre Championnat de Dé',
],
smallIconUri: 'https://exampleresources.s3-eu-west-1.amazonaws.com/skillIcon_diceChallenge_small.png',
largeIconUri: 'https://exampleresources.s3-eu-west-1.amazonaws.com/skillIcon_diceChallenge_large.png',
keywords: [
'jeu',
'amusant',
'match',
'challenge',
'statistiques',
'probabilité',
'dé',
'champion',
'championnat',
'score',
'gagnant',
'chance',
'hasard',
'vainqueur',
'compétition',
],
},
},
},
},
},
};
manifest.publishingInformation.locales['en-US'] = JSON.parse(
JSON.stringify(
manifest.publishingInformation.locales['en-XX']
)
);
manifest.publishingInformation.locales['en-US'].stage.live.description = 'Dice Championship lets you play dice against the whole world! How high can you make it up the highscore?\n\nThe rules are simple:\n- For each throw, your score is the sum of randomly thrown 10 six-sided dice\n- Only your best score ever determines your place in the highscore\n- If you and another player have the same score, the one of you who achived it first gets the higher rank\n\n...now how high can YOU score? \n\nUPDATE: Dice Championship now features Dice Booster!\nIf you want to speed up your rise to the top, you\'re gonna love Dice Booster: It gives you five extra dice to roll with, while only the 10 best dice count for your score. And the best thing about Dice Booster? You can get several of them, if only the sky is the limit to your ambitions! 🚀\n\nHave fun, and good luck!';
const invocationName = {
locales: {
'en': {
invocation: 'dice championship',
},
'de': {
invocation: 'würfel meisterschaft',
},
'es': {
invocation: 'campeonato de dados',
},
'it': {
invocation: 'campionato dei dadi',
},
'fr': {
invocation: 'championnat de dé',
},
},
};
module.exports = {
alexaSkill: {
nlu: {
name: 'alexa',
lang: {
de: [
'de-DE',
],
es: [
'es-ES',
'es-MX',
'es-US',
],
it: [
'it-IT',
],
fr: [
'fr-FR',
'fr-CA',
],
},
},
manifest: {
privacyAndCompliance: {
locales: {
'en-US': manifest.privacyAndCompliance['en-US'],
'en-CA': manifest.privacyAndCompliance['default'],
'de-DE': manifest.privacyAndCompliance['default'],
'es-ES': manifest.privacyAndCompliance['default'],
'es-MX': manifest.privacyAndCompliance['default'],
'es-US': manifest.privacyAndCompliance['default'],
'it-IT': manifest.privacyAndCompliance['default'],
'fr-FR': manifest.privacyAndCompliance['default'],
'fr-CA': manifest.privacyAndCompliance['default'],
},
allowsPurchases: true,
usesPersonalInfo: false,
isChildDirected: false,
isExportCompliant: true,
containsAds: false,
},
apis: {
custom: {
interfaces: [
{
type: 'ALEXA_PRESENTATION_APL',
supportedViewports: [
{
mode: 'HUB',
shape: 'ROUND',
minWidth: 480,
maxWidth: 480,
minHeight: 480,
maxHeight: 480,
},
{
mode: 'HUB',
shape: 'RECTANGLE',
minWidth: 960,
maxWidth: 960,
minHeight: 480,
maxHeight: 480,
},
{
mode: 'HUB',
shape: 'RECTANGLE',
minWidth: 1024,
maxWidth: 1024,
minHeight: 600,
maxHeight: 600,
},
{
mode: 'HUB',
shape: 'RECTANGLE',
minWidth: 1280,
maxWidth: 1280,
minHeight: 800,
maxHeight: 800,
},
{
mode: 'TV',
shape: 'RECTANGLE',
minWidth: 960,
maxWidth: 960,
minHeight: 540,
maxHeight: 540,
},
],
},
],
},
},
publishingInformation: {
locales: {
'en-US': manifest.publishingInformation.locales['en-US'].stage.staging,
'en-CA': manifest.publishingInformation.locales['en-XX'].stage.staging,
'en-GB': manifest.publishingInformation.locales['en-XX'].stage.staging,
'de-DE': manifest.publishingInformation.locales['de'].stage.staging,
'es-ES': manifest.publishingInformation.locales['es'].stage.staging,
'es-MX': manifest.publishingInformation.locales['es'].stage.staging,
'es-US': manifest.publishingInformation.locales['es'].stage.staging,
'it-IT': manifest.publishingInformation.locales['it'].stage.staging,
'fr-FR': manifest.publishingInformation.locales['fr'].stage.staging,
'fr-CA': manifest.publishingInformation.locales['fr'].stage.staging,
},
isAvailableWorldwide: true,
testingInstructions: 'Sample testing instructions',
category: 'GAMES',
distributionCountries: [],
},
},
skillId: process.env.SKILL_ID_STAGING,
askProfile: process.env.ASK_PROFILE,
},
googleAction: {
nlu: 'dialogflow',
},
defaultStage: 'local',
stages: {
local: {
endpoint: '${JOVO_WEBHOOK_URL}',
deploy: {
target: [
'info',
'model',
],
},
},
staging: {
endpoint: process.env.LAMBDA_ARN_STAGING,
},
live: {
endpoint: process.env.LAMBDA_ARN_LIVE,
alexaSkill: {
skillId: process.env.SKILL_ID_LIVE,
languageModel: {
'en-US': invocationName.locales.en,
'en-CA': invocationName.locales.en,
'en-GB': invocationName.locales.en,
'de': invocationName.locales.de,
'es': invocationName.locales.es,
'it': invocationName.locales.it,
'fr': invocationName.locales.fr,
},
manifest: {
publishingInformation: {
locales: {
'en-US': manifest.publishingInformation.locales['en-US'].stage.live,
'en-CA': manifest.publishingInformation.locales['en-XX'].stage.live,
'en-GB': manifest.publishingInformation.locales['en-XX'].stage.live,
'de-DE': manifest.publishingInformation.locales['de'].stage.live,
'es-ES': manifest.publishingInformation.locales['es'].stage.live,
'es-MX': manifest.publishingInformation.locales['es'].stage.live,
'es-US': manifest.publishingInformation.locales['es'].stage.live,
'it-IT': manifest.publishingInformation.locales['it'].stage.live,
'fr-FR': manifest.publishingInformation.locales['fr'].stage.live,
'fr-CA': manifest.publishingInformation.locales['fr'].stage.live,
},
},
},
},
},
},
};