@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>Como automatizar avisos no WhatsApp | Guia rapido</title>
|
|
7
|
+
<meta name="description" content="Aprenda como automatizar avisos no WhatsApp para grupos e comunidades. Envie lembretes com consistencia e reduza falhas de comunicacao." />
|
|
8
|
+
<meta name="keywords" content="automatizar avisos whatsapp, lembrete automatico whatsapp, bot para avisos" />
|
|
9
|
+
<meta name="robots" content="index, follow" />
|
|
10
|
+
<link rel="canonical" href="https://omnizap.shop/como-automatizar-avisos-no-whatsapp/" />
|
|
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="Como automatizar avisos no WhatsApp | Guia rapido" />
|
|
17
|
+
<meta property="og:description" content="Aprenda como automatizar avisos no WhatsApp para grupos e comunidades. Envie lembretes com consistencia e reduza falhas de comunicacao." />
|
|
18
|
+
<meta property="og:url" content="https://omnizap.shop/como-automatizar-avisos-no-whatsapp/" />
|
|
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="Como automatizar avisos no WhatsApp | Guia rapido" />
|
|
23
|
+
<meta name="twitter:description" content="Aprenda como automatizar avisos no WhatsApp para grupos e comunidades. Envie lembretes com consistencia e reduza falhas de comunicacao." />
|
|
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": "Como automatizar avisos no WhatsApp | Guia rapido", "description": "Aprenda como automatizar avisos no WhatsApp para grupos e comunidades. Envie lembretes com consistencia e reduza falhas de comunicacao.", "inLanguage": "pt-BR", "url": "https://omnizap.shop/como-automatizar-avisos-no-whatsapp/", "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": "Automatizar aviso deixa o grupo robotizado?", "acceptedAnswer": { "@type": "Answer", "text": "Nao. A ideia e automatizar o repetitivo e liberar tempo para interacao humana de qualidade." } },
|
|
35
|
+
{ "@type": "Question", "name": "Posso combinar avisos com moderacao?", "acceptedAnswer": { "@type": "Answer", "text": "Sim. Essa combinacao e recomendada para grupos ativos." } },
|
|
36
|
+
{ "@type": "Question", "name": "Existe modo avancado para integracao tecnica?", "acceptedAnswer": { "@type": "Answer", "text": "Sim. A documentacao para cenarios avancados esta em /api-docs/." } }
|
|
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">Guia de automacao</span>
|
|
241
|
+
<h1>Como automatizar avisos no WhatsApp sem esquecer recados</h1>
|
|
242
|
+
<p>Avisos manuais dependem de memoria e disponibilidade. Com automacao, o grupo recebe recados importantes no horario certo, todos os dias.</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>Quando avisos automaticos fazem diferenca</h2>
|
|
252
|
+
<p>Reunioes, eventos, prazos e lembretes recorrentes sao casos classicos.</p>
|
|
253
|
+
<p>A automacao evita falha humana e melhora a confianca do grupo na comunicacao.</p>
|
|
254
|
+
</section>
|
|
255
|
+
|
|
256
|
+
<section class="card">
|
|
257
|
+
<h2>Modelo simples para comecar</h2>
|
|
258
|
+
<p>Defina os avisos que mais se repetem e padronize mensagem e frequencia.</p>
|
|
259
|
+
<p>Com bot pronto, esse fluxo roda sem precisar montar infraestrutura propria.</p>
|
|
260
|
+
<ul>
|
|
261
|
+
<li>Recados diarios</li>
|
|
262
|
+
<li>Lembretes antes de eventos</li>
|
|
263
|
+
<li>Avisos fixos para novos membros</li>
|
|
264
|
+
</ul>
|
|
265
|
+
</section>
|
|
266
|
+
|
|
267
|
+
<section class="card">
|
|
268
|
+
<h2>Ganhos para admins e membros</h2>
|
|
269
|
+
<p>Admin ganha tempo para tarefas estrategicas.</p>
|
|
270
|
+
<p>Membros recebem informacao no momento certo, com menos retrabalho.</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>Automatizar aviso deixa o grupo robotizado?</summary>
|
|
278
|
+
<p>Nao. A ideia e automatizar o repetitivo e liberar tempo para interacao humana de qualidade.</p>
|
|
279
|
+
</details>
|
|
280
|
+
<details class="faq-item">
|
|
281
|
+
<summary>Posso combinar avisos com moderacao?</summary>
|
|
282
|
+
<p>Sim. Essa combinacao e recomendada para grupos ativos.</p>
|
|
283
|
+
</details>
|
|
284
|
+
<details class="faq-item">
|
|
285
|
+
<summary>Existe modo avancado para integracao tecnica?</summary>
|
|
286
|
+
<p>Sim. A documentacao para cenarios avancados esta em /api-docs/.</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="/como-organizar-comunidade-whatsapp/">Organizar comunidade no WhatsApp</a>
|
|
300
|
+
<a href="/como-evitar-spam-no-whatsapp/">Evitar spam no WhatsApp</a>
|
|
301
|
+
<a href="/bot-whatsapp-sem-programar/">Bot sem programar</a>
|
|
302
|
+
</div>
|
|
303
|
+
</section>
|
|
304
|
+
</main>
|
|
305
|
+
</body>
|
|
306
|
+
</html>
|
|
@@ -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>Como criar comandos no WhatsApp com bot pronto</title>
|
|
7
|
+
<meta name="description" content="Entenda como criar e usar comandos no WhatsApp para acelerar atendimento e organizacao de grupos com bot pronto para uso." />
|
|
8
|
+
<meta name="keywords" content="comandos whatsapp, bot com comandos, automacao de respostas whatsapp" />
|
|
9
|
+
<meta name="robots" content="index, follow" />
|
|
10
|
+
<link rel="canonical" href="https://omnizap.shop/como-criar-comandos-whatsapp/" />
|
|
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="Como criar comandos no WhatsApp com bot pronto" />
|
|
17
|
+
<meta property="og:description" content="Entenda como criar e usar comandos no WhatsApp para acelerar atendimento e organizacao de grupos com bot pronto para uso." />
|
|
18
|
+
<meta property="og:url" content="https://omnizap.shop/como-criar-comandos-whatsapp/" />
|
|
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="Como criar comandos no WhatsApp com bot pronto" />
|
|
23
|
+
<meta name="twitter:description" content="Entenda como criar e usar comandos no WhatsApp para acelerar atendimento e organizacao de grupos com bot pronto para 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": "Como criar comandos no WhatsApp com bot pronto", "description": "Entenda como criar e usar comandos no WhatsApp para acelerar atendimento e organizacao de grupos com bot pronto para uso.", "inLanguage": "pt-BR", "url": "https://omnizap.shop/como-criar-comandos-whatsapp/", "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": "Preciso programar para ter comandos no grupo?", "acceptedAnswer": { "@type": "Answer", "text": "Nao para uso comum. O bot pronto entrega comandos basicos sem necessidade de codigo." } },
|
|
35
|
+
{ "@type": "Question", "name": "Comando serve apenas para grupos grandes?", "acceptedAnswer": { "@type": "Answer", "text": "Nao. Mesmo grupos pequenos ganham produtividade com respostas padronizadas." } },
|
|
36
|
+
{ "@type": "Question", "name": "Posso integrar comandos com API depois?", "acceptedAnswer": { "@type": "Answer", "text": "Sim. Se precisar evoluir para integracao, use a Area de Desenvolvedor em /api-docs/." } }
|
|
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">Guia de operacao</span>
|
|
241
|
+
<h1>Como criar comandos no WhatsApp sem complicar</h1>
|
|
242
|
+
<p>Comandos ajudam a transformar tarefas repetidas em respostas rapidas. Em vez de digitar tudo manualmente, voce ativa rotinas com poucas palavras.</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>Por que comandos economizam tempo</h2>
|
|
252
|
+
<p>Em grupos ativos, as mesmas perguntas aparecem muitas vezes.</p>
|
|
253
|
+
<p>Com comando pronto, o admin responde com consistencia e reduz desgaste da equipe.</p>
|
|
254
|
+
</section>
|
|
255
|
+
|
|
256
|
+
<section class="card">
|
|
257
|
+
<h2>Boas praticas de comandos</h2>
|
|
258
|
+
<p>Use nomes curtos e intuitivos.</p>
|
|
259
|
+
<p>Padronize respostas para regras, horarios, links oficiais e orientacoes internas.</p>
|
|
260
|
+
<ul>
|
|
261
|
+
<li>Comando de menu</li>
|
|
262
|
+
<li>Comando de regras</li>
|
|
263
|
+
<li>Comando de suporte</li>
|
|
264
|
+
</ul>
|
|
265
|
+
</section>
|
|
266
|
+
|
|
267
|
+
<section class="card">
|
|
268
|
+
<h2>Comandos + moderacao + avisos</h2>
|
|
269
|
+
<p>Quando essas tres camadas trabalham juntas, a operacao fica muito mais previsivel.</p>
|
|
270
|
+
<p>Esse e o caminho mais rapido para profissionalizar grupos e comunidades.</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>Preciso programar para ter comandos no grupo?</summary>
|
|
278
|
+
<p>Nao para uso comum. O bot pronto entrega comandos basicos sem necessidade de codigo.</p>
|
|
279
|
+
</details>
|
|
280
|
+
<details class="faq-item">
|
|
281
|
+
<summary>Comando serve apenas para grupos grandes?</summary>
|
|
282
|
+
<p>Nao. Mesmo grupos pequenos ganham produtividade com respostas padronizadas.</p>
|
|
283
|
+
</details>
|
|
284
|
+
<details class="faq-item">
|
|
285
|
+
<summary>Posso integrar comandos com API depois?</summary>
|
|
286
|
+
<p>Sim. Se precisar evoluir para integracao, use a Area de Desenvolvedor em /api-docs/.</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="/como-moderar-grupo-whatsapp/">Moderacao de grupo</a>
|
|
300
|
+
<a href="/como-automatizar-avisos-no-whatsapp/">Automatizar avisos</a>
|
|
301
|
+
<a href="/melhor-bot-whatsapp-para-grupos/">Como escolher o melhor bot</a>
|
|
302
|
+
</div>
|
|
303
|
+
</section>
|
|
304
|
+
</main>
|
|
305
|
+
</body>
|
|
306
|
+
</html>
|