@kaikybrofc/omnizap-system 2.2.10 → 2.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +13 -13
- package/app/config/adminIdentity.js +1 -3
- package/app/connection/socketController.js +10 -20
- package/app/controllers/messageController.js +7 -28
- package/app/modules/aiModule/catCommand.js +29 -192
- package/app/modules/broadcastModule/noticeCommand.js +28 -97
- package/app/modules/gameModule/diceCommand.js +6 -32
- package/app/modules/playModule/playCommand.js +57 -258
- package/app/modules/quoteModule/quoteCommand.js +2 -4
- package/app/modules/rpgPokemonModule/rpgPokemonRepository.js +1 -13
- package/app/modules/statsModule/noMessageCommand.js +16 -84
- package/app/modules/statsModule/rankingCommand.js +5 -25
- package/app/modules/statsModule/rankingCommon.js +1 -9
- package/app/modules/stickerModule/convertToWebp.js +4 -27
- package/app/modules/stickerModule/stickerCommand.js +13 -24
- package/app/modules/stickerModule/stickerTextCommand.js +13 -25
- package/app/modules/stickerPackModule/autoPackCollectorService.js +16 -7
- package/app/modules/stickerPackModule/domainEventOutboxRepository.js +20 -36
- package/app/modules/stickerPackModule/domainEvents.js +2 -11
- package/app/modules/stickerPackModule/semanticReclassificationEngine.js +13 -50
- package/app/modules/stickerPackModule/semanticReclassificationEngine.test.js +2 -15
- package/app/modules/stickerPackModule/semanticThemeClusterService.js +14 -41
- package/app/modules/stickerPackModule/stickerAssetClassificationRepository.js +25 -95
- package/app/modules/stickerPackModule/stickerAssetRepository.js +12 -31
- package/app/modules/stickerPackModule/stickerAssetReprocessQueueRepository.js +13 -18
- package/app/modules/stickerPackModule/stickerAutoPackByTagsRuntime.js +284 -709
- package/app/modules/stickerPackModule/stickerClassificationBackgroundRuntime.js +27 -106
- package/app/modules/stickerPackModule/stickerClassificationService.js +46 -77
- package/app/modules/stickerPackModule/stickerDedicatedTaskWorkerRuntime.js +13 -53
- package/app/modules/stickerPackModule/stickerDomainEventBus.js +10 -16
- package/app/modules/stickerPackModule/stickerDomainEventConsumerRuntime.js +40 -39
- package/app/modules/stickerPackModule/stickerMarketplaceDriftService.js +1 -4
- package/app/modules/stickerPackModule/stickerObjectStorageService.js +26 -26
- package/app/modules/stickerPackModule/stickerPackCommandHandlers.js +32 -187
- package/app/modules/stickerPackModule/stickerPackInteractionEventRepository.js +6 -15
- package/app/modules/stickerPackModule/stickerPackItemRepository.js +6 -32
- package/app/modules/stickerPackModule/stickerPackMarketplaceService.js +12 -36
- package/app/modules/stickerPackModule/stickerPackMessageService.js +12 -40
- package/app/modules/stickerPackModule/stickerPackRepository.js +23 -66
- package/app/modules/stickerPackModule/stickerPackScoreSnapshotRepository.js +9 -21
- package/app/modules/stickerPackModule/stickerPackScoreSnapshotRuntime.js +10 -40
- package/app/modules/stickerPackModule/stickerPackService.js +50 -115
- package/app/modules/stickerPackModule/stickerPackServiceRuntime.js +2 -21
- package/app/modules/stickerPackModule/stickerPackUtils.js +13 -3
- package/app/modules/stickerPackModule/stickerStorageService.js +16 -65
- package/app/modules/stickerPackModule/stickerWorkerPipelineRuntime.js +4 -22
- package/app/modules/stickerPackModule/stickerWorkerTaskQueueRepository.js +14 -29
- package/app/modules/systemMetricsModule/pingCommand.js +9 -39
- package/app/modules/tiktokModule/tiktokCommand.js +17 -109
- package/app/modules/userModule/userCommand.js +2 -88
- package/app/observability/metrics.js +5 -16
- package/app/services/captchaService.js +1 -6
- package/app/services/dbWriteQueue.js +3 -18
- package/app/services/featureFlagService.js +2 -8
- package/app/services/newsBroadcastService.js +0 -1
- package/app/services/queueUtils.js +2 -4
- package/app/services/whatsappLoginLinkService.js +7 -9
- package/app/store/premiumUserStore.js +1 -2
- package/app/utils/antiLink/antiLinkModule.js +3 -233
- package/app/utils/logger/loggerModule.js +9 -34
- package/app/utils/systemMetrics/systemMetricsModule.js +1 -4
- package/database/index.js +1 -0
- package/database/init.js +1 -8
- package/database/migrations/20260228_0027_web_visit_event.sql +15 -0
- package/docker-compose.yml +27 -27
- package/docs/seo/omnizap-seo-playbook-br-2026-02-28.md +26 -0
- package/docs/seo/satellite-page-template.md +2 -0
- package/docs/seo/satellite-pages-phase1.json +40 -177
- package/eslint.config.js +2 -15
- package/index.js +8 -36
- package/ml/clip_classifier/README.md +4 -6
- package/observability/alert-rules.yml +12 -12
- package/observability/grafana/provisioning/dashboards/dashboards.yml +1 -1
- package/package.json +6 -3
- package/public/api-docs/index.html +220 -193
- package/public/bot-whatsapp-para-grupo/index.html +291 -261
- package/public/bot-whatsapp-sem-programar/index.html +291 -261
- package/public/comandos/index.html +421 -406
- package/public/como-automatizar-avisos-no-whatsapp/index.html +291 -261
- package/public/como-criar-comandos-whatsapp/index.html +291 -261
- package/public/como-evitar-spam-no-whatsapp/index.html +291 -261
- package/public/como-moderar-grupo-whatsapp/index.html +291 -261
- package/public/como-organizar-comunidade-whatsapp/index.html +291 -261
- package/public/css/github-project-panel.css +13 -8
- package/public/css/stickers-admin.css +25 -9
- package/public/css/styles.css +23 -16
- package/public/index.html +1106 -993
- package/public/js/apps/apiDocsApp.js +17 -167
- package/public/js/apps/createPackApp.js +69 -332
- package/public/js/apps/homeApp.js +274 -101
- package/public/js/apps/loginApp.js +3 -12
- package/public/js/apps/stickersAdminApp.js +190 -181
- package/public/js/apps/stickersApp.js +482 -1411
- package/public/js/apps/userApp.js +217 -1
- package/public/js/catalog.js +11 -74
- package/public/js/github-panel/components/ErrorState.js +1 -8
- package/public/js/github-panel/components/GithubProjectPanel.js +2 -9
- package/public/js/github-panel/components/SkeletonPanel.js +1 -11
- package/public/js/github-panel/components/StatCard.js +1 -7
- package/public/js/github-panel/vendor/react.js +1 -9
- package/public/js/runtime/react-runtime.js +1 -9
- package/public/licenca/index.html +200 -86
- package/public/login/index.html +315 -325
- package/public/melhor-bot-whatsapp-para-grupos/index.html +291 -261
- package/public/stickers/admin/index.html +14 -19
- package/public/stickers/create/index.html +39 -44
- package/public/stickers/index.html +96 -107
- package/public/termos-de-uso/index.html +369 -122
- package/public/user/index.html +527 -350
- package/scripts/cache-bust.mjs +5 -24
- package/scripts/generate-seo-satellite-pages.mjs +10 -13
- package/scripts/run-prettier-all.mjs +25 -0
- package/scripts/sticker-catalog-loadtest.mjs +13 -11
- package/scripts/sticker-worker-task.mjs +1 -4
- package/scripts/sync-readme-snapshot.mjs +3 -2
- package/server/auth/googleWebAuth/googleWebAuthService.js +614 -0
- package/server/controllers/stickerCatalogController.js +297 -632
- package/server/http/httpServer.js +2 -10
- package/server/routes/stickerCatalog/catalogHandlers/catalogAdminHttp.js +1 -8
- package/server/routes/stickerCatalog/catalogHandlers/catalogAuthHttp.js +1 -9
- package/server/routes/stickerCatalog/catalogHandlers/catalogPublicHttp.js +10 -11
- package/server/routes/stickerCatalog/catalogHandlers/catalogUploadHttp.js +1 -10
- package/server/routes/stickerCatalog/catalogRouter.js +11 -13
|
@@ -1,49 +1,44 @@
|
|
|
1
1
|
<!doctype html>
|
|
2
2
|
<html lang="pt-BR">
|
|
3
|
-
<head>
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="utf-8" />
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
6
|
+
<title>OmniZap | Criar novo Pack</title>
|
|
7
|
+
<meta name="description" content="Crie um novo pack com fluxo visual passo a passo. Adicione stickers, escolha capa e publique no catálogo OmniZap." />
|
|
8
|
+
<meta name="robots" content="noindex, nofollow" />
|
|
9
|
+
<link rel="icon" type="image/jpeg" href="https://iili.io/FC3FABe.jpg" />
|
|
10
|
+
<link rel="preconnect" href="https://fonts.googleapis.com" />
|
|
11
|
+
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
|
|
12
|
+
<link href="https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Sora:wght@500;600;700;800&display=swap" rel="stylesheet" />
|
|
13
|
+
<script src="https://cdn.tailwindcss.com"></script>
|
|
14
|
+
<script>
|
|
15
|
+
tailwind.config = {
|
|
16
|
+
theme: {
|
|
17
|
+
extend: {
|
|
18
|
+
fontFamily: {
|
|
19
|
+
sans: ['Manrope', 'ui-sans-serif', 'system-ui'],
|
|
20
|
+
display: ['Sora', 'ui-sans-serif', 'system-ui'],
|
|
21
|
+
},
|
|
22
|
+
colors: {
|
|
23
|
+
base: '#0f172a',
|
|
24
|
+
panel: '#1e293b',
|
|
25
|
+
panelSoft: '#111827',
|
|
26
|
+
line: 'rgba(255,255,255,0.05)',
|
|
27
|
+
accent: '#2563eb',
|
|
28
|
+
accent2: '#7c3aed',
|
|
29
|
+
cta: '#22c55e',
|
|
30
|
+
},
|
|
31
|
+
boxShadow: {
|
|
32
|
+
panel: '0 20px 40px rgba(0,0,0,.35)',
|
|
33
|
+
},
|
|
21
34
|
},
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
accent2: '#7c3aed',
|
|
29
|
-
cta: '#22c55e',
|
|
30
|
-
},
|
|
31
|
-
boxShadow: {
|
|
32
|
-
panel: '0 20px 40px rgba(0,0,0,.35)'
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
};
|
|
37
|
-
</script>
|
|
38
|
-
</head>
|
|
39
|
-
<body class="bg-base text-slate-100 min-h-screen">
|
|
40
|
-
<div
|
|
41
|
-
id="create-pack-react-root"
|
|
42
|
-
data-api-base-path="/api/sticker-packs"
|
|
43
|
-
data-web-path="/stickers"
|
|
44
|
-
data-login-path="__STICKER_LOGIN_WEB_PATH__"
|
|
45
|
-
></div>
|
|
35
|
+
},
|
|
36
|
+
};
|
|
37
|
+
</script>
|
|
38
|
+
</head>
|
|
39
|
+
<body class="bg-base text-slate-100 min-h-screen">
|
|
40
|
+
<div id="create-pack-react-root" data-api-base-path="/api/sticker-packs" data-web-path="/stickers" data-login-path="__STICKER_LOGIN_WEB_PATH__"></div>
|
|
46
41
|
|
|
47
|
-
|
|
48
|
-
</body>
|
|
42
|
+
<script type="module" src="/js/apps/createPackApp.js?v=20260228-create-pack-login-required1"></script>
|
|
43
|
+
</body>
|
|
49
44
|
</html>
|
|
@@ -1,116 +1,105 @@
|
|
|
1
1
|
<!doctype html>
|
|
2
2
|
<html lang="pt-BR">
|
|
3
|
-
<head>
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="utf-8" />
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
6
|
+
<title>Catálogo de Stickers OmniZap | Módulo Integrável via API</title>
|
|
7
|
+
<meta name="description" content="Catálogo de stickers do OmniZap com packs públicos integráveis por API em bots e automações WhatsApp." />
|
|
8
|
+
<meta name="keywords" content="stickers omnizap, catálogo stickers, packs whatsapp, api stickers, bot whatsapp stickers" />
|
|
9
|
+
<meta name="robots" content="index, follow" />
|
|
10
|
+
<link rel="canonical" href="https://omnizap.shop/stickers/" />
|
|
11
|
+
<link rel="icon" type="image/jpeg" href="https://iili.io/FC3FABe.jpg" />
|
|
12
|
+
<link rel="preconnect" href="https://fonts.googleapis.com" />
|
|
13
|
+
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
|
|
14
|
+
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap" rel="stylesheet" />
|
|
15
|
+
<script src="https://cdn.tailwindcss.com"></script>
|
|
16
|
+
<script>
|
|
17
|
+
tailwind.config = {
|
|
18
|
+
theme: {
|
|
19
|
+
extend: {
|
|
20
|
+
fontFamily: {
|
|
21
|
+
sans: ['Inter', 'ui-sans-serif', 'system-ui', 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji'],
|
|
22
|
+
},
|
|
23
|
+
colors: {
|
|
24
|
+
slateApp: '#0f172a',
|
|
25
|
+
slateCard: '#1e293b',
|
|
26
|
+
borderApp: 'rgba(255,255,255,0.05)',
|
|
27
|
+
accent: '#2563eb',
|
|
28
|
+
accentTech: '#7c3aed',
|
|
29
|
+
cta: '#22c55e',
|
|
30
|
+
},
|
|
31
|
+
boxShadow: {
|
|
32
|
+
soft: '0 8px 24px rgba(2, 6, 23, 0.22)',
|
|
33
|
+
},
|
|
22
34
|
},
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
35
|
+
},
|
|
36
|
+
};
|
|
37
|
+
</script>
|
|
38
|
+
<script type="application/ld+json">
|
|
39
|
+
{
|
|
40
|
+
"@context": "https://schema.org",
|
|
41
|
+
"@type": "FAQPage",
|
|
42
|
+
"mainEntity": [
|
|
43
|
+
{
|
|
44
|
+
"@type": "Question",
|
|
45
|
+
"name": "O catálogo de stickers faz parte do OmniZap?",
|
|
46
|
+
"acceptedAnswer": {
|
|
47
|
+
"@type": "Answer",
|
|
48
|
+
"text": "Sim. O catálogo de stickers é um módulo oficial do OmniZap para uso em automações e bots."
|
|
49
|
+
}
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
"@type": "Question",
|
|
53
|
+
"name": "Posso usar os packs em um bot de WhatsApp?",
|
|
54
|
+
"acceptedAnswer": {
|
|
55
|
+
"@type": "Answer",
|
|
56
|
+
"text": "Sim. Os packs públicos podem ser usados em fluxos de bot e integrações com a API OmniZap."
|
|
57
|
+
}
|
|
30
58
|
},
|
|
31
|
-
|
|
32
|
-
|
|
59
|
+
{
|
|
60
|
+
"@type": "Question",
|
|
61
|
+
"name": "Onde encontro documentação técnica para integração?",
|
|
62
|
+
"acceptedAnswer": {
|
|
63
|
+
"@type": "Answer",
|
|
64
|
+
"text": "A documentação técnica está em https://omnizap.shop/api-docs/."
|
|
65
|
+
}
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
"@type": "Question",
|
|
69
|
+
"name": "Onde vejo a visão geral da plataforma?",
|
|
70
|
+
"acceptedAnswer": {
|
|
71
|
+
"@type": "Answer",
|
|
72
|
+
"text": "A página principal da plataforma está em https://omnizap.shop/."
|
|
73
|
+
}
|
|
33
74
|
}
|
|
34
|
-
|
|
35
|
-
}
|
|
36
|
-
};
|
|
37
|
-
</script>
|
|
38
|
-
<script type="application/ld+json">
|
|
39
|
-
{
|
|
40
|
-
"@context": "https://schema.org",
|
|
41
|
-
"@type": "FAQPage",
|
|
42
|
-
"mainEntity": [
|
|
43
|
-
{
|
|
44
|
-
"@type": "Question",
|
|
45
|
-
"name": "O catálogo de stickers faz parte do OmniZap?",
|
|
46
|
-
"acceptedAnswer": {
|
|
47
|
-
"@type": "Answer",
|
|
48
|
-
"text": "Sim. O catálogo de stickers é um módulo oficial do OmniZap para uso em automações e bots."
|
|
49
|
-
}
|
|
50
|
-
},
|
|
51
|
-
{
|
|
52
|
-
"@type": "Question",
|
|
53
|
-
"name": "Posso usar os packs em um bot de WhatsApp?",
|
|
54
|
-
"acceptedAnswer": {
|
|
55
|
-
"@type": "Answer",
|
|
56
|
-
"text": "Sim. Os packs públicos podem ser usados em fluxos de bot e integrações com a API OmniZap."
|
|
57
|
-
}
|
|
58
|
-
},
|
|
59
|
-
{
|
|
60
|
-
"@type": "Question",
|
|
61
|
-
"name": "Onde encontro documentação técnica para integração?",
|
|
62
|
-
"acceptedAnswer": {
|
|
63
|
-
"@type": "Answer",
|
|
64
|
-
"text": "A documentação técnica está em https://omnizap.shop/api-docs/."
|
|
65
|
-
}
|
|
66
|
-
},
|
|
67
|
-
{
|
|
68
|
-
"@type": "Question",
|
|
69
|
-
"name": "Onde vejo a visão geral da plataforma?",
|
|
70
|
-
"acceptedAnswer": {
|
|
71
|
-
"@type": "Answer",
|
|
72
|
-
"text": "A página principal da plataforma está em https://omnizap.shop/."
|
|
73
|
-
}
|
|
75
|
+
]
|
|
74
76
|
}
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
<body class="bg-slateApp text-slate-100 font-sans min-h-screen">
|
|
80
|
-
<div id="stickers-react-root"
|
|
81
|
-
data-web-path="/stickers"
|
|
82
|
-
data-api-base-path="/api/sticker-packs"
|
|
83
|
-
data-orphan-api-path="/api/sticker-packs/orphan-stickers"
|
|
84
|
-
data-login-path="__STICKER_LOGIN_WEB_PATH__"
|
|
85
|
-
data-default-limit="24"
|
|
86
|
-
data-default-orphan-limit="24"
|
|
87
|
-
data-initial-pack-key=""
|
|
88
|
-
></div>
|
|
77
|
+
</script>
|
|
78
|
+
</head>
|
|
79
|
+
<body class="bg-slateApp text-slate-100 font-sans min-h-screen">
|
|
80
|
+
<div id="stickers-react-root" data-web-path="/stickers" data-api-base-path="/api/sticker-packs" data-orphan-api-path="/api/sticker-packs/orphan-stickers" data-login-path="__STICKER_LOGIN_WEB_PATH__" data-default-limit="24" data-default-orphan-limit="24" data-initial-pack-key=""></div>
|
|
89
81
|
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
</section>
|
|
111
|
-
</main>
|
|
112
|
-
</noscript>
|
|
82
|
+
<noscript>
|
|
83
|
+
<main class="mx-auto w-[min(960px,92vw)] py-8">
|
|
84
|
+
<section class="rounded-xl border border-white/5 bg-slateCard p-4">
|
|
85
|
+
<h1 class="text-2xl font-extrabold">Catálogo de Stickers OmniZap</h1>
|
|
86
|
+
<p class="mt-2 text-slate-300">Este catálogo é um módulo da plataforma OmniZap para bots e automação WhatsApp. Você pode usar packs públicos e integrar fluxos com a API.</p>
|
|
87
|
+
<div class="mt-4 rounded-lg border border-white/5 bg-slate-900/60 p-3">
|
|
88
|
+
<h2 class="text-lg font-bold">FAQ rápido</h2>
|
|
89
|
+
<ul class="mt-2 list-disc space-y-1 pl-5 text-sm text-slate-300">
|
|
90
|
+
<li>Os packs públicos podem ser integrados em bots de WhatsApp.</li>
|
|
91
|
+
<li>Documentação técnica disponível na Área de Desenvolvedor.</li>
|
|
92
|
+
<li>O catálogo é integrado ao ecossistema OmniZap.</li>
|
|
93
|
+
</ul>
|
|
94
|
+
</div>
|
|
95
|
+
<div class="mt-3 flex flex-wrap gap-2">
|
|
96
|
+
<a class="rounded-lg border border-blue-500/40 bg-blue-500/10 px-3 py-2 text-blue-200" href="/api-docs/">Área de Desenvolvedor</a>
|
|
97
|
+
<a class="rounded-lg border border-white/10 px-3 py-2 text-slate-200" href="/">Página principal do OmniZap</a>
|
|
98
|
+
</div>
|
|
99
|
+
</section>
|
|
100
|
+
</main>
|
|
101
|
+
</noscript>
|
|
113
102
|
|
|
114
|
-
|
|
115
|
-
</body>
|
|
103
|
+
<script type="module" src="/js/apps/stickersApp.js?v=20260228-login-redirect-my-packs1"></script>
|
|
104
|
+
</body>
|
|
116
105
|
</html>
|