@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,230 +1,260 @@
|
|
|
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
|
-
|
|
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
|
-
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="utf-8" />
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
6
|
+
<title>Como organizar comunidade no WhatsApp com automacao</title>
|
|
7
|
+
<meta name="description" content="Veja como organizar comunidade no WhatsApp com bot pronto: regras claras, avisos automaticos e menos ruído nas conversas." />
|
|
8
|
+
<meta name="keywords" content="organizar comunidade whatsapp, bot para comunidade, automacao whatsapp grupo" />
|
|
9
|
+
<meta name="robots" content="index, follow" />
|
|
10
|
+
<link rel="canonical" href="https://omnizap.shop/como-organizar-comunidade-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 organizar comunidade no WhatsApp com automacao" />
|
|
17
|
+
<meta property="og:description" content="Veja como organizar comunidade no WhatsApp com bot pronto: regras claras, avisos automaticos e menos ruído nas conversas." />
|
|
18
|
+
<meta property="og:url" content="https://omnizap.shop/como-organizar-comunidade-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 organizar comunidade no WhatsApp com automacao" />
|
|
23
|
+
<meta name="twitter:description" content="Veja como organizar comunidade no WhatsApp com bot pronto: regras claras, avisos automaticos e menos ruído nas conversas." />
|
|
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 organizar comunidade no WhatsApp com automacao", "description": "Veja como organizar comunidade no WhatsApp com bot pronto: regras claras, avisos automaticos e menos ruído nas conversas.", "inLanguage": "pt-BR", "url": "https://omnizap.shop/como-organizar-comunidade-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": "Esse modelo serve para comunidades pequenas?", "acceptedAnswer": { "@type": "Answer", "text": "Sim. Quanto antes automatizar, mais facil manter padrao quando a comunidade crescer." } },
|
|
35
|
+
{ "@type": "Question", "name": "Posso usar o bot em comunidade e grupos ao mesmo tempo?", "acceptedAnswer": { "@type": "Answer", "text": "Sim. O bot pode apoiar diferentes contextos de operacao no WhatsApp." } },
|
|
36
|
+
{ "@type": "Question", "name": "Onde encontro os recursos extras do ecossistema?", "acceptedAnswer": { "@type": "Answer", "text": "Voce pode explorar stickers e recursos complementares 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">Guia de organizacao</span>
|
|
241
|
+
<h1>Como organizar comunidade no WhatsApp de forma pratica</h1>
|
|
242
|
+
<p>Comunidade forte precisa de rotina. Quando a operacao depende so de humanos, a comunicacao fica inconsistente. A automacao ajuda a manter padrao e previsibilidade.</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>Estrutura minima para comunidade</h2>
|
|
222
252
|
<p>Toda comunidade precisa de boas-vindas, regras visiveis e canal de avisos.</p>
|
|
223
253
|
<p>Com bot pronto, essa estrutura roda de forma continua, mesmo com alto volume de mensagens.</p>
|
|
224
|
-
|
|
254
|
+
</section>
|
|
225
255
|
|
|
226
|
-
<section class="card">
|
|
227
|
-
|
|
256
|
+
<section class="card">
|
|
257
|
+
<h2>Automacao que melhora experiencia</h2>
|
|
228
258
|
<p>Ajuste respostas para perguntas recorrentes e reduza friccao de suporte.</p>
|
|
229
259
|
<p>Use lembretes automaticos para horarios, eventos e combinados da comunidade.</p>
|
|
230
260
|
<ul>
|
|
@@ -232,45 +262,45 @@
|
|
|
232
262
|
<li>Mais clareza</li>
|
|
233
263
|
<li>Tempo da equipe preservado</li>
|
|
234
264
|
</ul>
|
|
235
|
-
|
|
265
|
+
</section>
|
|
236
266
|
|
|
237
|
-
<section class="card">
|
|
238
|
-
|
|
267
|
+
<section class="card">
|
|
268
|
+
<h2>Escala sem perder qualidade</h2>
|
|
239
269
|
<p>Quando os processos basicos estao automatizados, a comunidade cresce com menos caos.</p>
|
|
240
270
|
<p>Isso permite que admins foquem em conteudo, relacionamento e crescimento.</p>
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
<section class="card">
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
<section class="card">
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
</body>
|
|
276
|
-
</html>
|
|
271
|
+
</section>
|
|
272
|
+
|
|
273
|
+
<section class="card">
|
|
274
|
+
<h2>Perguntas frequentes</h2>
|
|
275
|
+
<div class="faq-list">
|
|
276
|
+
<details class="faq-item">
|
|
277
|
+
<summary>Esse modelo serve para comunidades pequenas?</summary>
|
|
278
|
+
<p>Sim. Quanto antes automatizar, mais facil manter padrao quando a comunidade crescer.</p>
|
|
279
|
+
</details>
|
|
280
|
+
<details class="faq-item">
|
|
281
|
+
<summary>Posso usar o bot em comunidade e grupos ao mesmo tempo?</summary>
|
|
282
|
+
<p>Sim. O bot pode apoiar diferentes contextos de operacao no WhatsApp.</p>
|
|
283
|
+
</details>
|
|
284
|
+
<details class="faq-item">
|
|
285
|
+
<summary>Onde encontro os recursos extras do ecossistema?</summary>
|
|
286
|
+
<p>Voce pode explorar stickers e recursos complementares 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="/como-automatizar-avisos-no-whatsapp/">Automatizar avisos no WhatsApp</a>
|
|
300
|
+
<a href="/como-moderar-grupo-whatsapp/">Moderacao de grupos</a>
|
|
301
|
+
<a href="/bot-whatsapp-para-grupo/">Bot para grupo</a>
|
|
302
|
+
</div>
|
|
303
|
+
</section>
|
|
304
|
+
</main>
|
|
305
|
+
</body>
|
|
306
|
+
</html>
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
|
|
26
26
|
.ghp-title {
|
|
27
27
|
margin: 0 0 2px;
|
|
28
|
-
font-family:
|
|
28
|
+
font-family: 'Sora', sans-serif;
|
|
29
29
|
font-size: 24px;
|
|
30
30
|
}
|
|
31
31
|
|
|
@@ -109,11 +109,12 @@
|
|
|
109
109
|
align-content: start;
|
|
110
110
|
border: 1px solid var(--gh-border);
|
|
111
111
|
border-radius: 14px;
|
|
112
|
-
background:
|
|
113
|
-
radial-gradient(120% 120% at 0% 0%, #7c3aed16, transparent 60%),
|
|
114
|
-
linear-gradient(160deg, var(--gh-card), #101a31);
|
|
112
|
+
background: radial-gradient(120% 120% at 0% 0%, #7c3aed16, transparent 60%), linear-gradient(160deg, var(--gh-card), #101a31);
|
|
115
113
|
padding: 14px;
|
|
116
|
-
transition:
|
|
114
|
+
transition:
|
|
115
|
+
border-color 0.2s ease,
|
|
116
|
+
transform 0.2s ease,
|
|
117
|
+
box-shadow 0.2s ease;
|
|
117
118
|
}
|
|
118
119
|
|
|
119
120
|
.ghp-stat-card:hover {
|
|
@@ -137,7 +138,7 @@
|
|
|
137
138
|
color: var(--gh-muted);
|
|
138
139
|
font-size: 12px;
|
|
139
140
|
text-transform: uppercase;
|
|
140
|
-
letter-spacing: .35px;
|
|
141
|
+
letter-spacing: 0.35px;
|
|
141
142
|
}
|
|
142
143
|
|
|
143
144
|
.ghp-stat-value {
|
|
@@ -273,8 +274,12 @@
|
|
|
273
274
|
}
|
|
274
275
|
|
|
275
276
|
@keyframes ghp-shimmer {
|
|
276
|
-
0% {
|
|
277
|
-
|
|
277
|
+
0% {
|
|
278
|
+
background-position: 100% 0;
|
|
279
|
+
}
|
|
280
|
+
100% {
|
|
281
|
+
background-position: -100% 0;
|
|
282
|
+
}
|
|
278
283
|
}
|
|
279
284
|
|
|
280
285
|
.ghp-repo-link:focus-visible,
|