@kaikybrofc/omnizap-system 2.2.9 → 2.3.0
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 +20 -18
- 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 +13 -34
- 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/init.js +1 -8
- package/docker-compose.yml +27 -27
- package/docs/seo/omnizap-seo-playbook-br-2026-02-28.md +220 -0
- package/docs/seo/satellite-page-template.md +91 -0
- package/docs/seo/satellite-pages-phase1.json +349 -0
- 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 +8 -3
- package/public/api-docs/index.html +224 -141
- package/public/bot-whatsapp-para-grupo/index.html +306 -0
- package/public/bot-whatsapp-sem-programar/index.html +306 -0
- package/public/comandos/index.html +428 -0
- package/public/como-automatizar-avisos-no-whatsapp/index.html +306 -0
- package/public/como-criar-comandos-whatsapp/index.html +306 -0
- package/public/como-evitar-spam-no-whatsapp/index.html +306 -0
- package/public/como-moderar-grupo-whatsapp/index.html +306 -0
- package/public/como-organizar-comunidade-whatsapp/index.html +306 -0
- package/public/css/github-project-panel.css +20 -15
- package/public/css/stickers-admin.css +55 -39
- package/public/css/styles.css +37 -29
- package/public/index.html +1060 -1417
- package/public/js/apps/apiDocsApp.js +36 -153
- package/public/js/apps/createPackApp.js +69 -332
- package/public/js/apps/homeApp.js +201 -434
- package/public/js/apps/loginApp.js +3 -12
- package/public/js/apps/stickersAdminApp.js +190 -181
- package/public/js/apps/stickersApp.js +507 -1366
- 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 +104 -86
- package/public/login/index.html +315 -321
- package/public/melhor-bot-whatsapp-para-grupos/index.html +306 -0
- package/public/sitemap.xml +45 -0
- package/public/stickers/admin/index.html +14 -19
- package/public/stickers/create/index.html +39 -43
- package/public/stickers/index.html +97 -41
- package/public/termos-de-uso/index.html +142 -115
- package/public/user/index.html +347 -346
- package/scripts/cache-bust.mjs +5 -24
- package/scripts/generate-seo-satellite-pages.mjs +431 -0
- 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/controllers/stickerCatalogController.js +407 -704
- 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
- package/kaikybrofc-omnizap-system-2.2.9.tgz +0 -0
|
@@ -0,0 +1,306 @@
|
|
|
1
|
+
<!doctype html>
|
|
2
|
+
<html lang="pt-BR">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="utf-8" />
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
6
|
+
<title>Melhor bot para WhatsApp em grupos | Como escolher</title>
|
|
7
|
+
<meta name="description" content="Compare criterios para escolher o melhor bot para grupos de WhatsApp. Veja o que avaliar em moderacao, automacao e facilidade de uso." />
|
|
8
|
+
<meta name="keywords" content="melhor bot whatsapp, bot para grupos, comparativo bot whatsapp" />
|
|
9
|
+
<meta name="robots" content="index, follow" />
|
|
10
|
+
<link rel="canonical" href="https://omnizap.shop/melhor-bot-whatsapp-para-grupos/" />
|
|
11
|
+
<link rel="icon" type="image/png" href="/assets/images/brand-icon-192.png" />
|
|
12
|
+
|
|
13
|
+
<meta property="og:type" content="article" />
|
|
14
|
+
<meta property="og:locale" content="pt_BR" />
|
|
15
|
+
<meta property="og:site_name" content="OmniZap System" />
|
|
16
|
+
<meta property="og:title" content="Melhor bot para WhatsApp em grupos | Como escolher" />
|
|
17
|
+
<meta property="og:description" content="Compare criterios para escolher o melhor bot para grupos de WhatsApp. Veja o que avaliar em moderacao, automacao e facilidade de uso." />
|
|
18
|
+
<meta property="og:url" content="https://omnizap.shop/melhor-bot-whatsapp-para-grupos/" />
|
|
19
|
+
<meta property="og:image" content="https://omnizap.shop/assets/images/hero-banner-1280.jpg" />
|
|
20
|
+
|
|
21
|
+
<meta name="twitter:card" content="summary_large_image" />
|
|
22
|
+
<meta name="twitter:title" content="Melhor bot para WhatsApp em grupos | Como escolher" />
|
|
23
|
+
<meta name="twitter:description" content="Compare criterios para escolher o melhor bot para grupos de WhatsApp. Veja o que avaliar em moderacao, automacao e facilidade de uso." />
|
|
24
|
+
<meta name="twitter:image" content="https://omnizap.shop/assets/images/hero-banner-1280.jpg" />
|
|
25
|
+
|
|
26
|
+
<script type="application/ld+json">
|
|
27
|
+
{ "@context": "https://schema.org", "@type": "WebPage", "name": "Melhor bot para WhatsApp em grupos | Como escolher", "description": "Compare criterios para escolher o melhor bot para grupos de WhatsApp. Veja o que avaliar em moderacao, automacao e facilidade de uso.", "inLanguage": "pt-BR", "url": "https://omnizap.shop/melhor-bot-whatsapp-para-grupos/", "isPartOf": { "@type": "WebSite", "name": "OmniZap System", "url": "https://omnizap.shop" } }
|
|
28
|
+
</script>
|
|
29
|
+
<script type="application/ld+json">
|
|
30
|
+
{
|
|
31
|
+
"@context": "https://schema.org",
|
|
32
|
+
"@type": "FAQPage",
|
|
33
|
+
"mainEntity": [
|
|
34
|
+
{ "@type": "Question", "name": "Existe melhor bot universal para todo cenario?", "acceptedAnswer": { "@type": "Answer", "text": "Nao. O melhor bot depende do problema principal do seu grupo e da facilidade de adocao." } },
|
|
35
|
+
{ "@type": "Question", "name": "Vale priorizar bot sem configuracao tecnica?", "acceptedAnswer": { "@type": "Answer", "text": "Sim, especialmente para times que precisam de velocidade e previsibilidade." } },
|
|
36
|
+
{ "@type": "Question", "name": "Onde encontro modulo de stickers para engajamento?", "acceptedAnswer": { "@type": "Answer", "text": "No catalogo em /stickers/." } }
|
|
37
|
+
]
|
|
38
|
+
}
|
|
39
|
+
</script>
|
|
40
|
+
|
|
41
|
+
<style>
|
|
42
|
+
:root {
|
|
43
|
+
--bg: #0f172a;
|
|
44
|
+
--bg-2: #111827;
|
|
45
|
+
--line: rgba(255, 255, 255, 0.05);
|
|
46
|
+
--text: #f8fafc;
|
|
47
|
+
--muted: #94a3b8;
|
|
48
|
+
--card: #1e293bd9;
|
|
49
|
+
--accent: #2563eb;
|
|
50
|
+
--accent-2: #7c3aed;
|
|
51
|
+
--cta: #22c55e;
|
|
52
|
+
--cta-hover: #16a34a;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
* {
|
|
56
|
+
box-sizing: border-box;
|
|
57
|
+
}
|
|
58
|
+
body {
|
|
59
|
+
margin: 0;
|
|
60
|
+
font-family:
|
|
61
|
+
'Manrope',
|
|
62
|
+
system-ui,
|
|
63
|
+
-apple-system,
|
|
64
|
+
sans-serif;
|
|
65
|
+
color: var(--text);
|
|
66
|
+
background: radial-gradient(58rem 22rem at -10% -8%, #2563eb24, transparent 60%), radial-gradient(62rem 26rem at 112% -12%, #7c3aed22, transparent 58%), linear-gradient(165deg, var(--bg), var(--bg-2));
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
.wrap {
|
|
70
|
+
width: min(980px, 92vw);
|
|
71
|
+
margin: 0 auto;
|
|
72
|
+
padding: 22px 0 42px;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
.top {
|
|
76
|
+
display: flex;
|
|
77
|
+
flex-wrap: wrap;
|
|
78
|
+
gap: 8px;
|
|
79
|
+
margin-bottom: 14px;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
.top a {
|
|
83
|
+
color: var(--text);
|
|
84
|
+
text-decoration: none;
|
|
85
|
+
border: 1px solid var(--line);
|
|
86
|
+
border-radius: 10px;
|
|
87
|
+
padding: 8px 11px;
|
|
88
|
+
background: #111827;
|
|
89
|
+
font-size: 14px;
|
|
90
|
+
font-weight: 700;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
.hero,
|
|
94
|
+
.card {
|
|
95
|
+
border: 1px solid rgba(255, 255, 255, 0.05);
|
|
96
|
+
border-radius: 16px;
|
|
97
|
+
background: var(--card);
|
|
98
|
+
padding: 16px;
|
|
99
|
+
margin-bottom: 12px;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
.pill {
|
|
103
|
+
display: inline-flex;
|
|
104
|
+
border: 1px solid #45689f;
|
|
105
|
+
border-radius: 999px;
|
|
106
|
+
padding: 5px 10px;
|
|
107
|
+
font-size: 12px;
|
|
108
|
+
font-weight: 800;
|
|
109
|
+
text-transform: uppercase;
|
|
110
|
+
letter-spacing: 0.3px;
|
|
111
|
+
color: #cde4ff;
|
|
112
|
+
background: #16274a96;
|
|
113
|
+
margin-bottom: 10px;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
h1,
|
|
117
|
+
h2 {
|
|
118
|
+
margin: 0 0 8px;
|
|
119
|
+
font-family: 'Sora', 'Manrope', sans-serif;
|
|
120
|
+
letter-spacing: -0.02em;
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
h1 {
|
|
124
|
+
font-size: clamp(29px, 4vw, 42px);
|
|
125
|
+
line-height: 1.08;
|
|
126
|
+
background: linear-gradient(92deg, #f3f8ff 0%, #60a5fa 45%, #a78bfa 100%);
|
|
127
|
+
-webkit-background-clip: text;
|
|
128
|
+
background-clip: text;
|
|
129
|
+
color: transparent;
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
h2 {
|
|
133
|
+
font-size: clamp(22px, 2.8vw, 30px);
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
p,
|
|
137
|
+
li {
|
|
138
|
+
margin: 0 0 10px;
|
|
139
|
+
color: var(--muted);
|
|
140
|
+
line-height: 1.65;
|
|
141
|
+
font-size: 16px;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
ul {
|
|
145
|
+
margin: 0;
|
|
146
|
+
padding-left: 18px;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
.cta {
|
|
150
|
+
display: flex;
|
|
151
|
+
flex-wrap: wrap;
|
|
152
|
+
gap: 8px;
|
|
153
|
+
margin-top: 12px;
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
.btn {
|
|
157
|
+
text-decoration: none;
|
|
158
|
+
border: 1px solid rgba(255, 255, 255, 0.05);
|
|
159
|
+
border-radius: 11px;
|
|
160
|
+
padding: 10px 13px;
|
|
161
|
+
color: var(--text);
|
|
162
|
+
background: #111827;
|
|
163
|
+
font-weight: 800;
|
|
164
|
+
font-size: 14px;
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
.btn.primary {
|
|
168
|
+
border-color: transparent;
|
|
169
|
+
color: #0f172a;
|
|
170
|
+
background: var(--cta);
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
.btn.primary:hover {
|
|
174
|
+
background: var(--cta-hover);
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
.faq-list {
|
|
178
|
+
display: grid;
|
|
179
|
+
gap: 9px;
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
.faq-item {
|
|
183
|
+
border: 1px solid rgba(255, 255, 255, 0.05);
|
|
184
|
+
border-radius: 12px;
|
|
185
|
+
background: #1e293bb8;
|
|
186
|
+
padding: 0 12px;
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
.faq-item summary {
|
|
190
|
+
cursor: pointer;
|
|
191
|
+
list-style: none;
|
|
192
|
+
font-weight: 800;
|
|
193
|
+
color: #ebf4ff;
|
|
194
|
+
padding: 12px 0;
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
.faq-item summary::-webkit-details-marker {
|
|
198
|
+
display: none;
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
.faq-item p {
|
|
202
|
+
margin: 0;
|
|
203
|
+
padding: 0 0 12px;
|
|
204
|
+
font-size: 15px;
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
.links-grid {
|
|
208
|
+
display: grid;
|
|
209
|
+
grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
|
|
210
|
+
gap: 8px;
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
.links-grid a {
|
|
214
|
+
text-decoration: none;
|
|
215
|
+
color: #dbecff;
|
|
216
|
+
border: 1px solid #365686;
|
|
217
|
+
border-radius: 10px;
|
|
218
|
+
padding: 9px 10px;
|
|
219
|
+
background: #10203d;
|
|
220
|
+
font-weight: 700;
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
.meta {
|
|
224
|
+
margin-top: 8px;
|
|
225
|
+
font-size: 13px;
|
|
226
|
+
color: #95b2d8;
|
|
227
|
+
}
|
|
228
|
+
</style>
|
|
229
|
+
</head>
|
|
230
|
+
<body>
|
|
231
|
+
<main class="wrap">
|
|
232
|
+
<nav class="top" aria-label="Navegação interna">
|
|
233
|
+
<a href="/">Início</a>
|
|
234
|
+
<a href="/stickers/">Stickers</a>
|
|
235
|
+
<a href="/api-docs/">API Docs</a>
|
|
236
|
+
<a href="/login/">Adicionar Bot</a>
|
|
237
|
+
</nav>
|
|
238
|
+
|
|
239
|
+
<header class="hero">
|
|
240
|
+
<span class="pill">Comparativo pratico</span>
|
|
241
|
+
<h1>Melhor bot para grupos de WhatsApp: o que realmente importa</h1>
|
|
242
|
+
<p>Escolher bot so por nome de marca costuma gerar retrabalho. O criterio certo e avaliar resultado operacional: menos caos, menos spam e mais organizacao.</p>
|
|
243
|
+
<div class="cta">
|
|
244
|
+
<a class="btn primary" href="/login/">Adicionar ao meu grupo</a>
|
|
245
|
+
<a class="btn" href="/">Conhecer OmniZap</a>
|
|
246
|
+
</div>
|
|
247
|
+
<p class="meta">Página atualizada em 2026-02-28</p>
|
|
248
|
+
</header>
|
|
249
|
+
|
|
250
|
+
<section class="card">
|
|
251
|
+
<h2>Criterios que importam na pratica</h2>
|
|
252
|
+
<p>Facilidade de entrada, moderacao automatica e rotina de avisos sao os pilares mais importantes.</p>
|
|
253
|
+
<p>Se o bot exigir setup tecnico complexo, a adocao no dia a dia tende a cair.</p>
|
|
254
|
+
<ul>
|
|
255
|
+
<li>Tempo para entrar em operacao</li>
|
|
256
|
+
<li>Qualidade da moderacao</li>
|
|
257
|
+
<li>Capacidade de escalar com o grupo</li>
|
|
258
|
+
</ul>
|
|
259
|
+
</section>
|
|
260
|
+
|
|
261
|
+
<section class="card">
|
|
262
|
+
<h2>Sinal de escolha certa</h2>
|
|
263
|
+
<p>A equipe gasta menos tempo apagando incendio e mais tempo gerando valor para membros.</p>
|
|
264
|
+
<p>Quando o grupo fica previsivel, a percepcao de profissionalismo sobe.</p>
|
|
265
|
+
</section>
|
|
266
|
+
|
|
267
|
+
<section class="card">
|
|
268
|
+
<h2>Como testar rapido</h2>
|
|
269
|
+
<p>Defina um grupo piloto e acompanhe 7 dias de operacao.</p>
|
|
270
|
+
<p>Meça reducao de spam, clareza de comunicacao e tempo economizado por admin.</p>
|
|
271
|
+
</section>
|
|
272
|
+
|
|
273
|
+
<section class="card">
|
|
274
|
+
<h2>Perguntas frequentes</h2>
|
|
275
|
+
<div class="faq-list">
|
|
276
|
+
<details class="faq-item">
|
|
277
|
+
<summary>Existe melhor bot universal para todo cenario?</summary>
|
|
278
|
+
<p>Nao. O melhor bot depende do problema principal do seu grupo e da facilidade de adocao.</p>
|
|
279
|
+
</details>
|
|
280
|
+
<details class="faq-item">
|
|
281
|
+
<summary>Vale priorizar bot sem configuracao tecnica?</summary>
|
|
282
|
+
<p>Sim, especialmente para times que precisam de velocidade e previsibilidade.</p>
|
|
283
|
+
</details>
|
|
284
|
+
<details class="faq-item">
|
|
285
|
+
<summary>Onde encontro modulo de stickers para engajamento?</summary>
|
|
286
|
+
<p>No catalogo em /stickers/.</p>
|
|
287
|
+
</details>
|
|
288
|
+
</div>
|
|
289
|
+
</section>
|
|
290
|
+
|
|
291
|
+
<section class="card">
|
|
292
|
+
<h2>Links úteis</h2>
|
|
293
|
+
<div class="links-grid">
|
|
294
|
+
<a href="/">OmniZap Home</a>
|
|
295
|
+
<a href="/stickers/">Catálogo de Stickers</a>
|
|
296
|
+
<a href="/comandos/">Biblioteca de Comandos</a>
|
|
297
|
+
<a href="/api-docs/">Área de Desenvolvedor</a>
|
|
298
|
+
<a href="/login/">Adicionar bot agora</a>
|
|
299
|
+
<a href="/bot-whatsapp-para-grupo/">Bot para grupo</a>
|
|
300
|
+
<a href="/bot-whatsapp-sem-programar/">Bot sem programar</a>
|
|
301
|
+
<a href="/como-moderar-grupo-whatsapp/">Guia de moderacao</a>
|
|
302
|
+
</div>
|
|
303
|
+
</section>
|
|
304
|
+
</main>
|
|
305
|
+
</body>
|
|
306
|
+
</html>
|
package/public/sitemap.xml
CHANGED
|
@@ -15,6 +15,11 @@
|
|
|
15
15
|
<changefreq>weekly</changefreq>
|
|
16
16
|
<priority>0.8</priority>
|
|
17
17
|
</url>
|
|
18
|
+
<url>
|
|
19
|
+
<loc>https://omnizap.shop/comandos/</loc>
|
|
20
|
+
<changefreq>weekly</changefreq>
|
|
21
|
+
<priority>0.78</priority>
|
|
22
|
+
</url>
|
|
18
23
|
<url>
|
|
19
24
|
<loc>https://omnizap.shop/termos-de-uso/</loc>
|
|
20
25
|
<changefreq>monthly</changefreq>
|
|
@@ -25,4 +30,44 @@
|
|
|
25
30
|
<changefreq>monthly</changefreq>
|
|
26
31
|
<priority>0.5</priority>
|
|
27
32
|
</url>
|
|
33
|
+
<url>
|
|
34
|
+
<loc>https://omnizap.shop/bot-whatsapp-para-grupo/</loc>
|
|
35
|
+
<changefreq>weekly</changefreq>
|
|
36
|
+
<priority>0.75</priority>
|
|
37
|
+
</url>
|
|
38
|
+
<url>
|
|
39
|
+
<loc>https://omnizap.shop/como-moderar-grupo-whatsapp/</loc>
|
|
40
|
+
<changefreq>weekly</changefreq>
|
|
41
|
+
<priority>0.72</priority>
|
|
42
|
+
</url>
|
|
43
|
+
<url>
|
|
44
|
+
<loc>https://omnizap.shop/como-evitar-spam-no-whatsapp/</loc>
|
|
45
|
+
<changefreq>weekly</changefreq>
|
|
46
|
+
<priority>0.72</priority>
|
|
47
|
+
</url>
|
|
48
|
+
<url>
|
|
49
|
+
<loc>https://omnizap.shop/como-organizar-comunidade-whatsapp/</loc>
|
|
50
|
+
<changefreq>weekly</changefreq>
|
|
51
|
+
<priority>0.72</priority>
|
|
52
|
+
</url>
|
|
53
|
+
<url>
|
|
54
|
+
<loc>https://omnizap.shop/como-automatizar-avisos-no-whatsapp/</loc>
|
|
55
|
+
<changefreq>weekly</changefreq>
|
|
56
|
+
<priority>0.72</priority>
|
|
57
|
+
</url>
|
|
58
|
+
<url>
|
|
59
|
+
<loc>https://omnizap.shop/como-criar-comandos-whatsapp/</loc>
|
|
60
|
+
<changefreq>weekly</changefreq>
|
|
61
|
+
<priority>0.71</priority>
|
|
62
|
+
</url>
|
|
63
|
+
<url>
|
|
64
|
+
<loc>https://omnizap.shop/melhor-bot-whatsapp-para-grupos/</loc>
|
|
65
|
+
<changefreq>weekly</changefreq>
|
|
66
|
+
<priority>0.74</priority>
|
|
67
|
+
</url>
|
|
68
|
+
<url>
|
|
69
|
+
<loc>https://omnizap.shop/bot-whatsapp-sem-programar/</loc>
|
|
70
|
+
<changefreq>weekly</changefreq>
|
|
71
|
+
<priority>0.73</priority>
|
|
72
|
+
</url>
|
|
28
73
|
</urlset>
|
|
@@ -1,23 +1,18 @@
|
|
|
1
1
|
<!doctype html>
|
|
2
2
|
<html lang="pt-BR">
|
|
3
|
-
<head>
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
</head>
|
|
13
|
-
<body>
|
|
14
|
-
|
|
15
|
-
id="stickers-admin-root"
|
|
16
|
-
data-api-base-path="/api/sticker-packs"
|
|
17
|
-
data-web-path="/stickers"
|
|
18
|
-
data-admin-web-path="/stickers/admin"
|
|
19
|
-
></div>
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="utf-8" />
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
6
|
+
<title>OmniZap | Painel Admin</title>
|
|
7
|
+
<meta name="robots" content="noindex, nofollow" />
|
|
8
|
+
<link rel="preconnect" href="https://fonts.googleapis.com" />
|
|
9
|
+
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
|
|
10
|
+
<link href="https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap" rel="stylesheet" />
|
|
11
|
+
<link rel="stylesheet" href="/css/stickers-admin.css?v=20260226-admin-saas-redesign-v1" />
|
|
12
|
+
</head>
|
|
13
|
+
<body>
|
|
14
|
+
<div id="stickers-admin-root" data-api-base-path="/api/sticker-packs" data-web-path="/stickers" data-admin-web-path="/stickers/admin"></div>
|
|
20
15
|
|
|
21
|
-
|
|
22
|
-
</body>
|
|
16
|
+
<script type="module" src="/js/apps/stickersAdminApp.js?v=20260226-admin-moderators-v1"></script>
|
|
17
|
+
</body>
|
|
23
18
|
</html>
|
|
@@ -1,48 +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: '#34d399',
|
|
29
|
-
},
|
|
30
|
-
boxShadow: {
|
|
31
|
-
panel: '0 20px 40px rgba(0,0,0,.35)'
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
};
|
|
36
|
-
</script>
|
|
37
|
-
</head>
|
|
38
|
-
<body class="bg-base text-slate-100 min-h-screen">
|
|
39
|
-
<div
|
|
40
|
-
id="create-pack-react-root"
|
|
41
|
-
data-api-base-path="/api/sticker-packs"
|
|
42
|
-
data-web-path="/stickers"
|
|
43
|
-
data-login-path="__STICKER_LOGIN_WEB_PATH__"
|
|
44
|
-
></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>
|
|
45
41
|
|
|
46
|
-
|
|
47
|
-
</body>
|
|
42
|
+
<script type="module" src="/js/apps/createPackApp.js?v=20260228-create-pack-login-required1"></script>
|
|
43
|
+
</body>
|
|
48
44
|
</html>
|
|
@@ -1,49 +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
|
-
|
|
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
|
+
},
|
|
21
34
|
},
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
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
|
+
}
|
|
27
50
|
},
|
|
28
|
-
|
|
29
|
-
|
|
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
|
+
}
|
|
30
74
|
}
|
|
31
|
-
|
|
75
|
+
]
|
|
32
76
|
}
|
|
33
|
-
|
|
34
|
-
</
|
|
35
|
-
|
|
36
|
-
<
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
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>
|
|
81
|
+
|
|
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>
|
|
46
102
|
|
|
47
|
-
|
|
48
|
-
</body>
|
|
103
|
+
<script type="module" src="/js/apps/stickersApp.js?v=20260228-login-redirect-my-packs1"></script>
|
|
104
|
+
</body>
|
|
49
105
|
</html>
|