@omnizap-system/omnizap 2.5.12

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.
Files changed (425) hide show
  1. package/.clusterfuzzlite/Dockerfile +10 -0
  2. package/.env.example +907 -0
  3. package/.github/codeql/codeql-config.yml +10 -0
  4. package/.github/dependabot.yml +35 -0
  5. package/.github/workflows/ci.yml +73 -0
  6. package/.github/workflows/codeql.yml +106 -0
  7. package/.github/workflows/db-migration-check.yml +98 -0
  8. package/.github/workflows/dependency-review.yml +22 -0
  9. package/.github/workflows/deploy.yml +95 -0
  10. package/.github/workflows/release.yml +106 -0
  11. package/.github/workflows/security-attest-provenance.yml +51 -0
  12. package/.github/workflows/security-gitleaks.yml +34 -0
  13. package/.github/workflows/security-runner-hardening.yml +31 -0
  14. package/.github/workflows/security-scorecard.yml +44 -0
  15. package/.github/workflows/security-zap-baseline.yml +44 -0
  16. package/.github/workflows/security-zap-full-scan.yml +43 -0
  17. package/.github/workflows/security-zizmor.yml +36 -0
  18. package/.github/workflows/wiki-sync.yml +44 -0
  19. package/.gitleaks.toml +15 -0
  20. package/.prettierrc +34 -0
  21. package/CODE_OF_CONDUCT.md +114 -0
  22. package/LICENSE +56 -0
  23. package/README.md +110 -0
  24. package/SECURITY.md +110 -0
  25. package/app/config/index.js +4 -0
  26. package/app/configParts/adminIdentity.js +92 -0
  27. package/app/configParts/baileysConfig.js +1818 -0
  28. package/app/configParts/groupUtils.js +692 -0
  29. package/app/configParts/loggerConfig.js +394 -0
  30. package/app/configParts/messagePersistenceService.js +305 -0
  31. package/app/connection/baileysCompatibility.test.js +40 -0
  32. package/app/connection/baileysDbAuthState.js +344 -0
  33. package/app/connection/socketController.js +2243 -0
  34. package/app/controllers/messageController.js +7 -0
  35. package/app/controllers/messagePipeline/commandMiddleware.js +146 -0
  36. package/app/controllers/messagePipeline/conversationMiddleware.js +183 -0
  37. package/app/controllers/messagePipeline/messagePipelineMiddlewares.test.js +522 -0
  38. package/app/controllers/messagePipeline/postProcessingMiddleware.js +41 -0
  39. package/app/controllers/messagePipeline/preProcessingMiddlewares.js +166 -0
  40. package/app/controllers/messageProcessingPipeline.js +699 -0
  41. package/app/modules/adminModule/AGENT.md +4056 -0
  42. package/app/modules/adminModule/adminAiHelpService.js +56 -0
  43. package/app/modules/adminModule/adminConfigRuntime.js +177 -0
  44. package/app/modules/adminModule/commandConfig.json +7122 -0
  45. package/app/modules/adminModule/groupCommandHandlers.js +1823 -0
  46. package/app/modules/adminModule/groupCommandHandlers.test.js +350 -0
  47. package/app/modules/adminModule/groupEventHandlers.js +399 -0
  48. package/app/modules/aiModule/AGENT.md +547 -0
  49. package/app/modules/aiModule/aiAiHelpService.js +14 -0
  50. package/app/modules/aiModule/aiConfigRuntime.js +135 -0
  51. package/app/modules/aiModule/catCommand.js +967 -0
  52. package/app/modules/aiModule/commandConfig.json +981 -0
  53. package/app/modules/analyticsModule/messageAnalysisEventRepository.js +83 -0
  54. package/app/modules/gameModule/AGENT.md +196 -0
  55. package/app/modules/gameModule/commandConfig.json +366 -0
  56. package/app/modules/gameModule/diceCommand.js +42 -0
  57. package/app/modules/gameModule/gameAiHelpService.js +14 -0
  58. package/app/modules/gameModule/gameConfigRuntime.js +68 -0
  59. package/app/modules/menuModule/AGENT.md +205 -0
  60. package/app/modules/menuModule/commandConfig.json +366 -0
  61. package/app/modules/menuModule/common.js +316 -0
  62. package/app/modules/menuModule/menuAiHelpService.js +14 -0
  63. package/app/modules/menuModule/menuConfigRuntime.js +68 -0
  64. package/app/modules/menuModule/menus.js +66 -0
  65. package/app/modules/playModule/AGENT.md +321 -0
  66. package/app/modules/playModule/commandConfig.json +584 -0
  67. package/app/modules/playModule/playAiHelpService.js +14 -0
  68. package/app/modules/playModule/playCommand.js +1417 -0
  69. package/app/modules/playModule/playConfigRuntime.js +68 -0
  70. package/app/modules/quoteModule/AGENT.md +199 -0
  71. package/app/modules/quoteModule/commandConfig.json +366 -0
  72. package/app/modules/quoteModule/quoteAiHelpService.js +14 -0
  73. package/app/modules/quoteModule/quoteCommand.js +842 -0
  74. package/app/modules/quoteModule/quoteConfigRuntime.js +68 -0
  75. package/app/modules/rpgPokemonModule/AGENT.md +229 -0
  76. package/app/modules/rpgPokemonModule/commandConfig.json +386 -0
  77. package/app/modules/rpgPokemonModule/rpgBattleCanvasRenderer.js +795 -0
  78. package/app/modules/rpgPokemonModule/rpgBattleService.js +2110 -0
  79. package/app/modules/rpgPokemonModule/rpgBattleService.test.js +770 -0
  80. package/app/modules/rpgPokemonModule/rpgEvolutionUtils.js +22 -0
  81. package/app/modules/rpgPokemonModule/rpgPokemonAiHelpService.js +14 -0
  82. package/app/modules/rpgPokemonModule/rpgPokemonCommand.js +174 -0
  83. package/app/modules/rpgPokemonModule/rpgPokemonConfigRuntime.js +68 -0
  84. package/app/modules/rpgPokemonModule/rpgPokemonDomain.js +192 -0
  85. package/app/modules/rpgPokemonModule/rpgPokemonDomain.test.js +93 -0
  86. package/app/modules/rpgPokemonModule/rpgPokemonEvolution.test.js +46 -0
  87. package/app/modules/rpgPokemonModule/rpgPokemonMessages.js +746 -0
  88. package/app/modules/rpgPokemonModule/rpgPokemonRepository.js +1847 -0
  89. package/app/modules/rpgPokemonModule/rpgPokemonService.js +6839 -0
  90. package/app/modules/rpgPokemonModule/rpgProfileCanvasRenderer.js +354 -0
  91. package/app/modules/statsModule/AGENT.md +320 -0
  92. package/app/modules/statsModule/commandConfig.json +540 -0
  93. package/app/modules/statsModule/globalRankingCommand.js +64 -0
  94. package/app/modules/statsModule/rankingCommand.js +41 -0
  95. package/app/modules/statsModule/rankingCommon.js +1305 -0
  96. package/app/modules/statsModule/statsAiHelpService.js +14 -0
  97. package/app/modules/statsModule/statsConfigRuntime.js +68 -0
  98. package/app/modules/stickerModule/AGENT.md +692 -0
  99. package/app/modules/stickerModule/addStickerMetadata.js +239 -0
  100. package/app/modules/stickerModule/commandConfig.json +1216 -0
  101. package/app/modules/stickerModule/convertToWebp.js +367 -0
  102. package/app/modules/stickerModule/stickerAiHelpService.js +14 -0
  103. package/app/modules/stickerModule/stickerCommand.js +446 -0
  104. package/app/modules/stickerModule/stickerConfigRuntime.js +68 -0
  105. package/app/modules/stickerModule/stickerConvertCommand.js +159 -0
  106. package/app/modules/stickerModule/stickerTextCommand.js +653 -0
  107. package/app/modules/stickerPackModule/AGENT.md +215 -0
  108. package/app/modules/stickerPackModule/autoPackCollectorRuntime.js +20 -0
  109. package/app/modules/stickerPackModule/autoPackCollectorService.js +357 -0
  110. package/app/modules/stickerPackModule/commandConfig.json +387 -0
  111. package/app/modules/stickerPackModule/domainEventOutboxRepository.js +227 -0
  112. package/app/modules/stickerPackModule/domainEvents.js +52 -0
  113. package/app/modules/stickerPackModule/semanticReclassificationEngine.js +429 -0
  114. package/app/modules/stickerPackModule/semanticReclassificationEngine.test.js +75 -0
  115. package/app/modules/stickerPackModule/semanticThemeClusterService.js +544 -0
  116. package/app/modules/stickerPackModule/stickerAssetClassificationRepository.js +400 -0
  117. package/app/modules/stickerPackModule/stickerAssetRepository.js +400 -0
  118. package/app/modules/stickerPackModule/stickerAssetReprocessQueueRepository.js +175 -0
  119. package/app/modules/stickerPackModule/stickerAutoPackByTagsRuntime.js +3702 -0
  120. package/app/modules/stickerPackModule/stickerClassificationBackgroundRuntime.js +559 -0
  121. package/app/modules/stickerPackModule/stickerClassificationService.js +557 -0
  122. package/app/modules/stickerPackModule/stickerDedicatedTaskWorkerRuntime.js +249 -0
  123. package/app/modules/stickerPackModule/stickerDomainEventBus.js +65 -0
  124. package/app/modules/stickerPackModule/stickerDomainEventConsumerRuntime.js +208 -0
  125. package/app/modules/stickerPackModule/stickerMarketplaceDriftService.js +99 -0
  126. package/app/modules/stickerPackModule/stickerObjectStorageService.js +285 -0
  127. package/app/modules/stickerPackModule/stickerPackAiHelpService.js +14 -0
  128. package/app/modules/stickerPackModule/stickerPackCommandHandlers.js +1148 -0
  129. package/app/modules/stickerPackModule/stickerPackConfigRuntime.js +68 -0
  130. package/app/modules/stickerPackModule/stickerPackEngagementRepository.js +152 -0
  131. package/app/modules/stickerPackModule/stickerPackErrors.js +30 -0
  132. package/app/modules/stickerPackModule/stickerPackInteractionEventRepository.js +101 -0
  133. package/app/modules/stickerPackModule/stickerPackItemRepository.js +432 -0
  134. package/app/modules/stickerPackModule/stickerPackMarketplaceService.js +313 -0
  135. package/app/modules/stickerPackModule/stickerPackMessageService.js +268 -0
  136. package/app/modules/stickerPackModule/stickerPackRepository.js +450 -0
  137. package/app/modules/stickerPackModule/stickerPackScoreSnapshotRepository.js +179 -0
  138. package/app/modules/stickerPackModule/stickerPackScoreSnapshotRuntime.js +271 -0
  139. package/app/modules/stickerPackModule/stickerPackService.js +733 -0
  140. package/app/modules/stickerPackModule/stickerPackServiceRuntime.js +32 -0
  141. package/app/modules/stickerPackModule/stickerPackUtils.js +107 -0
  142. package/app/modules/stickerPackModule/stickerStorageService.js +559 -0
  143. package/app/modules/stickerPackModule/stickerWorkerPipelineRuntime.js +242 -0
  144. package/app/modules/stickerPackModule/stickerWorkerTaskQueueRepository.js +242 -0
  145. package/app/modules/systemMetricsModule/AGENT.md +193 -0
  146. package/app/modules/systemMetricsModule/commandConfig.json +344 -0
  147. package/app/modules/systemMetricsModule/pingCommand.js +399 -0
  148. package/app/modules/systemMetricsModule/systemMetricsAiHelpService.js +14 -0
  149. package/app/modules/systemMetricsModule/systemMetricsConfigRuntime.js +68 -0
  150. package/app/modules/tiktokModule/AGENT.md +196 -0
  151. package/app/modules/tiktokModule/commandConfig.json +366 -0
  152. package/app/modules/tiktokModule/tiktokAiHelpService.js +14 -0
  153. package/app/modules/tiktokModule/tiktokCommand.js +716 -0
  154. package/app/modules/tiktokModule/tiktokConfigRuntime.js +68 -0
  155. package/app/modules/userModule/AGENT.md +200 -0
  156. package/app/modules/userModule/commandConfig.json +386 -0
  157. package/app/modules/userModule/userAiHelpService.js +14 -0
  158. package/app/modules/userModule/userCommand.js +1155 -0
  159. package/app/modules/userModule/userConfigRuntime.js +68 -0
  160. package/app/modules/waifuPicsModule/AGENT.md +431 -0
  161. package/app/modules/waifuPicsModule/commandConfig.json +780 -0
  162. package/app/modules/waifuPicsModule/waifuPicsAiHelpService.js +14 -0
  163. package/app/modules/waifuPicsModule/waifuPicsCommand.js +586 -0
  164. package/app/modules/waifuPicsModule/waifuPicsConfigRuntime.js +68 -0
  165. package/app/observability/metrics.js +766 -0
  166. package/app/services/ai/aiHelpResponseCacheRepository.js +280 -0
  167. package/app/services/ai/aiLearningRepository.js +400 -0
  168. package/app/services/ai/commandConfigEnrichmentRepository.js +769 -0
  169. package/app/services/ai/commandConfigEnrichmentService.js +452 -0
  170. package/app/services/ai/commandConfigValidationService.js +443 -0
  171. package/app/services/ai/commandToolBuilderService.js +192 -0
  172. package/app/services/ai/conversationRouterService.js +516 -0
  173. package/app/services/ai/geminiService.js +115 -0
  174. package/app/services/ai/geminiService.test.js +87 -0
  175. package/app/services/ai/globalModuleAiHelpService.js +1412 -0
  176. package/app/services/ai/globalToolCallingService.js +203 -0
  177. package/app/services/ai/messageCommandExecutionService.js +391 -0
  178. package/app/services/ai/moduleAiHelpCoreService.js +1099 -0
  179. package/app/services/ai/moduleAiHelpWrapperFactory.js +65 -0
  180. package/app/services/ai/moduleCommandConfigRuntimeService.js +113 -0
  181. package/app/services/ai/moduleToolExecutorService.js +464 -0
  182. package/app/services/ai/moduleToolRegistryService.js +178 -0
  183. package/app/services/ai/toolCandidateSelectorService.js +781 -0
  184. package/app/services/auth/googleWebLinkService.js +80 -0
  185. package/app/services/auth/whatsappLoginLinkService.js +230 -0
  186. package/app/services/external/pokeApiService.js +398 -0
  187. package/app/services/group/groupMetadataService.js +311 -0
  188. package/app/services/infra/dbWriteQueue.js +874 -0
  189. package/app/services/infra/featureFlagService.js +131 -0
  190. package/app/services/infra/queueUtils.js +55 -0
  191. package/app/services/messaging/captchaService.js +491 -0
  192. package/app/services/messaging/messagePersistenceService.js +1 -0
  193. package/app/services/messaging/newsBroadcastService.js +347 -0
  194. package/app/services/sticker/stickerFocusService.js +347 -0
  195. package/app/services/sticker/stickerFocusService.test.js +43 -0
  196. package/app/store/aiPromptStore.js +38 -0
  197. package/app/store/conversationSessionStore.js +131 -0
  198. package/app/store/groupConfigStore.js +58 -0
  199. package/app/store/premiumUserStore.js +54 -0
  200. package/app/utils/antiLink/antiLinkModule.js +700 -0
  201. package/app/utils/http/getImageBufferModule.js +18 -0
  202. package/app/utils/json/jsonSanitizer.js +113 -0
  203. package/app/utils/json/jsonSanitizer.test.js +40 -0
  204. package/app/utils/systemMetrics/systemMetricsModule.js +88 -0
  205. package/app/workers/aiLearningWorker.js +605 -0
  206. package/app/workers/commandConfigEnrichmentWorker.js +242 -0
  207. package/database/index.js +2075 -0
  208. package/database/init.js +151 -0
  209. package/database/migrations/.gitkeep +0 -0
  210. package/database/migrations/20260307_d0_hardening_down.sql +64 -0
  211. package/database/migrations/20260307_d0_hardening_up.sql +79 -0
  212. package/database/migrations/20260307_d1_terms_acceptance_down.sql +11 -0
  213. package/database/migrations/20260307_d1_terms_acceptance_up.sql +37 -0
  214. package/database/migrations/20260307_d2_auth_hardening_down.sql +75 -0
  215. package/database/migrations/20260307_d2_auth_hardening_up.sql +100 -0
  216. package/database/migrations/20260314_d7_canonical_sender_down.sql +53 -0
  217. package/database/migrations/20260314_d7_canonical_sender_up.sql +114 -0
  218. package/database/migrations/20260406_d30_security_analytics_down.sql +95 -0
  219. package/database/migrations/20260406_d30_security_analytics_up.sql +292 -0
  220. package/database/migrations/20260407_d31_web_google_session_token_hardening_down.sql +2 -0
  221. package/database/migrations/20260407_d31_web_google_session_token_hardening_up.sql +17 -0
  222. package/database/migrations/20260408_d32_ai_help_response_cache_down.sql +1 -0
  223. package/database/migrations/20260408_d32_ai_help_response_cache_up.sql +22 -0
  224. package/database/migrations/20260409_d33_ai_learning_tables_down.sql +4 -0
  225. package/database/migrations/20260409_d33_ai_learning_tables_up.sql +52 -0
  226. package/database/migrations/20260410_d34_command_config_enrichment_down.sql +3 -0
  227. package/database/migrations/20260410_d34_command_config_enrichment_up.sql +48 -0
  228. package/database/schema.sql +1186 -0
  229. package/docker-compose.yml +104 -0
  230. package/docs/audits/stickerCatalogController-out-of-scope.md +103 -0
  231. package/docs/audits/stickerCatalogController-symbols.md +58 -0
  232. package/docs/compliance/acceptable-use-policy-2026-03-07.md +35 -0
  233. package/docs/compliance/dpa-b2b-standard-2026-03-07.md +80 -0
  234. package/docs/compliance/monthly-compliance-checklist-2026-03-07.md +88 -0
  235. package/docs/compliance/notice-and-takedown-policy-2026-03-07.md +34 -0
  236. package/docs/compliance/privacy-policy-2026-03-07.md +75 -0
  237. package/docs/compliance/subprocessors-inventory-2026-03-07.md +16 -0
  238. package/docs/database/production-db-evolution-runbook-2026q1.md +365 -0
  239. package/docs/security/dsar-lgpd-runbook-2026-03-07.md +86 -0
  240. package/docs/security/incident-response-lgpd-anpd-runbook-2026-03-07.md +77 -0
  241. package/docs/security/network-hardening-runbook-2026-03-07.md +137 -0
  242. package/docs/seo/omnizap-seo-playbook-br-2026-02-28.md +238 -0
  243. package/docs/seo/satellite-page-template.md +116 -0
  244. package/docs/seo/satellite-pages-phase1.json +364 -0
  245. package/docs/wiki/Home.md +120 -0
  246. package/docs/wiki/pair-extraordinaire-2026-03-08.md +3 -0
  247. package/docs/wiki/recent-changes-2026-03-08.md +47 -0
  248. package/ecosystem.prod.config.cjs +135 -0
  249. package/eslint.config.js +89 -0
  250. package/index.js +488 -0
  251. package/ml/clip_classifier/Dockerfile +18 -0
  252. package/ml/clip_classifier/README.md +118 -0
  253. package/ml/clip_classifier/adaptive_scoring.py +40 -0
  254. package/ml/clip_classifier/classifier.py +654 -0
  255. package/ml/clip_classifier/embedding_store.py +481 -0
  256. package/ml/clip_classifier/env_loader.py +15 -0
  257. package/ml/clip_classifier/llm_label_expander.py +144 -0
  258. package/ml/clip_classifier/main.py +213 -0
  259. package/ml/clip_classifier/requirements.txt +10 -0
  260. package/ml/clip_classifier/similarity_engine.py +74 -0
  261. package/new-logo.png +0 -0
  262. package/observability/alert-rules.yml +60 -0
  263. package/observability/grafana/dashboards/omnizap-mysql.json +136 -0
  264. package/observability/grafana/dashboards/omnizap-overview.json +170 -0
  265. package/observability/grafana/provisioning/dashboards/dashboards.yml +11 -0
  266. package/observability/grafana/provisioning/datasources/datasources.yml +15 -0
  267. package/observability/loki-config.yml +38 -0
  268. package/observability/mysql-setup.sql +46 -0
  269. package/observability/prometheus.yml +35 -0
  270. package/observability/promtail-config.yml +84 -0
  271. package/observability/sticker-catalog-slo.md +83 -0
  272. package/observability/sticker-scale-hardening-rollout.md +128 -0
  273. package/package.json +144 -0
  274. package/public/apple-touch-icon.png +0 -0
  275. package/public/assets/css/commands-react.input.css +71 -0
  276. package/public/assets/css/create-pack-react.input.css +31 -0
  277. package/public/assets/css/home-react.input.css +106 -0
  278. package/public/assets/css/login-react.input.css +58 -0
  279. package/public/assets/css/stickers-react.input.css +18 -0
  280. package/public/assets/css/terms-react.input.css +115 -0
  281. package/public/assets/css/user-react.input.css +57 -0
  282. package/public/assets/images/brand-icon-192.png +0 -0
  283. package/public/assets/images/brand-logo-128.webp +0 -0
  284. package/public/assets/images/hero-banner-1280.jpg +0 -0
  285. package/public/comandos/commands-catalog.json +4517 -0
  286. package/public/css/api-docs.css +161 -0
  287. package/public/css/stickers-admin.css +1288 -0
  288. package/public/css/styles.css +679 -0
  289. package/public/css/systemadm/admin.css +474 -0
  290. package/public/css/systemadm/base.css +73 -0
  291. package/public/css/systemadm/components.css +662 -0
  292. package/public/css/systemadm/layout.css +229 -0
  293. package/public/css/systemadm/tokens.css +56 -0
  294. package/public/favicon-16x16.png +0 -0
  295. package/public/favicon-32x32.png +0 -0
  296. package/public/favicon.ico +0 -0
  297. package/public/js/apps/apiDocsApp.js +235 -0
  298. package/public/js/apps/commandsReactApp.js +528 -0
  299. package/public/js/apps/createPackApp.js +1646 -0
  300. package/public/js/apps/homeReactApp.js +942 -0
  301. package/public/js/apps/loginReactApp.js +496 -0
  302. package/public/js/apps/stickersAdminApp.js +1753 -0
  303. package/public/js/apps/stickersApp.js +3797 -0
  304. package/public/js/apps/termsReactApp.js +528 -0
  305. package/public/js/apps/userApp.js +2540 -0
  306. package/public/js/apps/userProfile/actions.js +66 -0
  307. package/public/js/apps/userReactApp.js +547 -0
  308. package/public/js/catalog.js +950 -0
  309. package/public/pages/api-docs.html +40 -0
  310. package/public/pages/aup.html +158 -0
  311. package/public/pages/comandos.html +41 -0
  312. package/public/pages/dpa.html +227 -0
  313. package/public/pages/home.html +45 -0
  314. package/public/pages/licenca.html +182 -0
  315. package/public/pages/login.html +40 -0
  316. package/public/pages/notice-and-takedown.html +234 -0
  317. package/public/pages/politica-de-privacidade.html +251 -0
  318. package/public/pages/seo-bot-whatsapp-para-grupo.html +350 -0
  319. package/public/pages/seo-bot-whatsapp-sem-programar.html +350 -0
  320. package/public/pages/seo-como-automatizar-avisos-no-whatsapp.html +350 -0
  321. package/public/pages/seo-como-criar-comandos-whatsapp.html +350 -0
  322. package/public/pages/seo-como-evitar-spam-no-whatsapp.html +350 -0
  323. package/public/pages/seo-como-moderar-grupo-whatsapp.html +350 -0
  324. package/public/pages/seo-como-organizar-comunidade-whatsapp.html +350 -0
  325. package/public/pages/seo-melhor-bot-whatsapp-para-grupos.html +350 -0
  326. package/public/pages/stickers-admin.html +31 -0
  327. package/public/pages/stickers-create.html +41 -0
  328. package/public/pages/stickers.html +45 -0
  329. package/public/pages/suboperadores.html +237 -0
  330. package/public/pages/termos-de-uso-texto-integral.html +241 -0
  331. package/public/pages/termos-de-uso.html +41 -0
  332. package/public/pages/user-password-reset.html +32 -0
  333. package/public/pages/user-systemadm.html +508 -0
  334. package/public/pages/user.html +39 -0
  335. package/public/robots.txt +9 -0
  336. package/public/site.webmanifest +24 -0
  337. package/public/sitemap.xml +98 -0
  338. package/schemas/command-config.schema.json +582 -0
  339. package/scripts/baileys-compat-smoke.mjs +12 -0
  340. package/scripts/cache-bust.mjs +142 -0
  341. package/scripts/deploy.sh +916 -0
  342. package/scripts/email-broadcast-terms-update.mjs +170 -0
  343. package/scripts/enrich-command-discovery-fields.mjs +286 -0
  344. package/scripts/generate-command-config-schema.mjs +273 -0
  345. package/scripts/generate-commands-catalog.mjs +308 -0
  346. package/scripts/generate-module-agents.mjs +631 -0
  347. package/scripts/generate-seo-satellite-pages.mjs +400 -0
  348. package/scripts/github-deploy-notify.mjs +174 -0
  349. package/scripts/github-release-notify.mjs +219 -0
  350. package/scripts/release.sh +599 -0
  351. package/scripts/run-codeql-local.sh +116 -0
  352. package/scripts/run-prettier-all.mjs +25 -0
  353. package/scripts/security-smoketest.mjs +581 -0
  354. package/scripts/sticker-catalog-loadtest.mjs +210 -0
  355. package/scripts/sticker-worker-task.mjs +119 -0
  356. package/scripts/sync-readme-snapshot.mjs +133 -0
  357. package/scripts/validate-command-config-schema.mjs +130 -0
  358. package/scripts/validate-command-configs.mjs +15 -0
  359. package/scripts/wiki-sync.sh +191 -0
  360. package/server/auth/googleWebAuth/googleWebAuthRuntime.js +62 -0
  361. package/server/auth/googleWebAuth/googleWebAuthService.js +807 -0
  362. package/server/auth/jwt/webJwtService.js +147 -0
  363. package/server/auth/stickerCatalogAuthContext.js +165 -0
  364. package/server/auth/termsAcceptance/termsAcceptanceHandler.js +189 -0
  365. package/server/auth/userPassword/index.js +14 -0
  366. package/server/auth/userPassword/userPasswordAuthService.js +422 -0
  367. package/server/auth/userPassword/userPasswordCrypto.js +199 -0
  368. package/server/auth/userPassword/userPasswordCrypto.test.js +76 -0
  369. package/server/auth/userPassword/userPasswordRecoveryService.js +728 -0
  370. package/server/auth/validation/authSchemas.js +236 -0
  371. package/server/auth/webAccount/webAccountHandlers.js +1434 -0
  372. package/server/controllers/admin/adminBanService.js +138 -0
  373. package/server/controllers/admin/adminPanelHandlers.js +2083 -0
  374. package/server/controllers/admin/stickerCatalogAdminContext.js +17 -0
  375. package/server/controllers/admin/systemAdminController.js +201 -0
  376. package/server/controllers/email/emailAutomationController.js +239 -0
  377. package/server/controllers/metricsController.js +21 -0
  378. package/server/controllers/seo/stickerCatalogSeoContext.js +514 -0
  379. package/server/controllers/sticker/nonCatalogHandlers.js +303 -0
  380. package/server/controllers/sticker/stickerCatalogController.js +4700 -0
  381. package/server/controllers/system/contactController.js +115 -0
  382. package/server/controllers/system/githubController.js +137 -0
  383. package/server/controllers/system/stickerCatalogSystemContext.js +758 -0
  384. package/server/controllers/system/storageController.js +154 -0
  385. package/server/controllers/system/systemController.js +135 -0
  386. package/server/controllers/system/systemMetricsController.js +156 -0
  387. package/server/controllers/system/visitController.js +90 -0
  388. package/server/controllers/userController.js +145 -0
  389. package/server/email/emailAutomationRuntime.js +225 -0
  390. package/server/email/emailAutomationService.js +125 -0
  391. package/server/email/emailOutboxRepository.js +282 -0
  392. package/server/email/emailTemplateService.js +480 -0
  393. package/server/email/emailTransportService.js +156 -0
  394. package/server/http/clientIp.js +95 -0
  395. package/server/http/httpRequestUtils.js +262 -0
  396. package/server/http/httpRequestUtils.test.js +80 -0
  397. package/server/http/httpServer.js +180 -0
  398. package/server/http/requestContext.js +20 -0
  399. package/server/http/siteRoutingUtils.js +87 -0
  400. package/server/index.js +1 -0
  401. package/server/middleware/cachePolicy.js +26 -0
  402. package/server/middleware/cachePolicyHelpers.js +1 -0
  403. package/server/middleware/endpointRateLimit.js +181 -0
  404. package/server/middleware/rateLimit.js +70 -0
  405. package/server/middleware/requireAdminAuth.js +48 -0
  406. package/server/middleware/securityHeaders.js +97 -0
  407. package/server/routes/admin/systemAdminRouter.js +64 -0
  408. package/server/routes/email/emailAutomationRouter.js +46 -0
  409. package/server/routes/health/healthRouter.js +41 -0
  410. package/server/routes/indexRouter.js +234 -0
  411. package/server/routes/metrics/metricsRouter.js +58 -0
  412. package/server/routes/static/staticPageRouter.js +134 -0
  413. package/server/routes/sticker/catalogHandlers/catalogAdminHttp.js +105 -0
  414. package/server/routes/sticker/catalogHandlers/catalogAuthHttp.js +77 -0
  415. package/server/routes/sticker/catalogHandlers/catalogPublicHttp.js +120 -0
  416. package/server/routes/sticker/catalogHandlers/catalogUploadHttp.js +83 -0
  417. package/server/routes/sticker/catalogRouter.js +77 -0
  418. package/server/routes/sticker/stickerApiRouter.js +84 -0
  419. package/server/routes/sticker/stickerDataRouter.js +145 -0
  420. package/server/routes/sticker/stickerSiteRouter.js +43 -0
  421. package/server/routes/user/userApiPaths.js +66 -0
  422. package/server/routes/user/userRouter.js +65 -0
  423. package/server/utils/safePath.js +26 -0
  424. package/utils/logger/loggerModule.js +35 -0
  425. package/vite.config.mjs +38 -0
@@ -0,0 +1,4056 @@
1
+ # AdminModule Agent Guide
2
+
3
+ Este arquivo e destinado a agentes de IA para gerar respostas no contexto dos comandos deste modulo.
4
+
5
+ ## Fonte de Verdade
6
+
7
+ - arquivo_base: `app/modules/adminModule/commandConfig.json`
8
+ - schema_version: `2.0.0`
9
+ - module_enabled: `true`
10
+ - generated_at: `2026-03-11T02:35:17.177Z`
11
+
12
+ ## Escopo do Modulo
13
+
14
+ - module: `adminModule`
15
+ - source_files:
16
+ - groupCommandHandlers.js
17
+ - groupEventHandlers.js
18
+ - adminConfigRuntime.js
19
+ - total_commands: `32`
20
+ - total_enabled_commands: `32`
21
+
22
+ ## Defaults Schema v2
23
+
24
+ - inheritance_mode: deep_merge_with_command_overrides
25
+ - compatibility_mode: legacy_and_v2_fields
26
+ - legacy_field_aliases:
27
+ - descricao: description
28
+ - metodos_de_uso: usage
29
+ - permissao_necessaria: permission
30
+ - local_de_uso: contexts
31
+ - informacoes_coletadas: collected_data
32
+ - pre_condicoes: requirements
33
+ - dependencias_externas: dependencies
34
+ - efeitos_colaterais: side_effects
35
+ - observabilidade: observability
36
+ - privacidade: privacy
37
+ - limite_uso_por_plano: plan_limits
38
+ - argumentos: arguments
39
+ - acesso: access
40
+ - defaults.command:
41
+ - enabled: true
42
+ - category: admin
43
+ - version: 1.0.0
44
+ - stability: stable
45
+ - deprecated: false
46
+ - replaced_by: null
47
+ - risk_level: medium
48
+ - defaults.requirements (legacy view):
49
+ - requer_grupo: sim
50
+ - requer_admin: sim
51
+ - requer_admin_principal: nao
52
+ - requer_google_login: sim
53
+ - requer_nsfw: nao
54
+ - requer_midia: nao
55
+ - requer_mensagem_respondida: nao
56
+
57
+ ## Configuracao AI Help
58
+
59
+ - enabled: true
60
+ - mode: hybrid_rag
61
+ - rag_sources:
62
+ - commandConfig.json
63
+ - AGENT.md
64
+ - faq.cache_file: data/cache/admin-ai-faq-cache.json
65
+ - faq.interval_ms: 21600000
66
+ - faq.auto_generate_on_start: true
67
+ - llm.enabled: true
68
+ - llm.model: gpt-5-nano
69
+ - llm.max_agent_context_chars: 12000
70
+ - llm.max_response_chars: 3400
71
+ - llm.timeout_ms: 25000
72
+
73
+ ## Protocolo de Resposta para IA
74
+
75
+ - Passo 1: identificar comando pelo token apos o prefixo.
76
+ - Passo 2: resolver alias para nome canonico usando campo `aliases`.
77
+ - Passo 3: validar `enabled`, `pre_condicoes`, permissao e local de uso.
78
+ - Passo 4: se houver erro de uso, responder com `mensagens_uso` (quando existir) ou `metodos_de_uso`.
79
+ - Passo 5: seguir `respostas_padrao` como fallback de texto.
80
+ - Passo 6: considerar `informacoes_coletadas`, `privacidade` e `observabilidade` ao elaborar resposta.
81
+
82
+ ## Regras de Seguranca para IA
83
+
84
+ - A IA orienta, mas nao executa acao administrativa automaticamente.
85
+ - Nao inventar comandos, subcomandos ou permissao fora do JSON.
86
+ - Sempre informar onde pode usar (grupo/privado) e quem pode usar.
87
+ - Em duvida de permissao, responder com orientacao conservadora.
88
+
89
+ ## Catalogo de Comandos
90
+
91
+ ### menuadmin
92
+
93
+ - id: admin.menuadmin
94
+ - aliases: adm, menuadm
95
+ - enabled: true
96
+ - categoria: admin
97
+ - descricao: Exibe menu administrativo do bot para o grupo.
98
+ - permissao_necessaria: admin do grupo
99
+ - version: 1.0.0
100
+ - stability: stable
101
+ - deprecated: nao
102
+ - risk_level: medium
103
+ - local_de_uso:
104
+ - grupo
105
+ - metodos_de_uso:
106
+ - <prefix>menuadmin
107
+ - <prefix>menuadmin ajuda <comando>
108
+ - <prefix>menuadmin faq
109
+ - <prefix>menuadmin perguntar <pergunta>
110
+ - mensagens_uso (variantes):
111
+ - default:
112
+ - <prefix>menuadmin
113
+ - <prefix>menuadmin ajuda <comando>
114
+ - <prefix>menuadmin faq
115
+ - <prefix>menuadmin perguntar <pergunta>
116
+ - help:
117
+ - <prefix>menuadmin ajuda <comando>
118
+ - ask:
119
+ - <prefix>menuadmin perguntar <pergunta>
120
+ - subcomandos:
121
+ - ajuda
122
+ - faq
123
+ - perguntar
124
+ - argumentos:
125
+ - (nenhum)
126
+ - pre_condicoes:
127
+ - requer_grupo: sim
128
+ - requer_admin: sim
129
+ - requer_admin_principal: nao
130
+ - requer_google_login: sim
131
+ - requer_nsfw: nao
132
+ - requer_midia: nao
133
+ - requer_mensagem_respondida: nao
134
+ - rate_limit:
135
+ - max: null
136
+ - janela_ms: null
137
+ - escopo: sem_rate_limit_explicito
138
+ - acesso:
139
+ - somente_premium: nao
140
+ - planos_permitidos: comum, premium
141
+ - limite_uso_por_plano:
142
+ - comum: max=25, janela_ms=60000, escopo=usuario
143
+ - premium: max=120, janela_ms=60000, escopo=usuario
144
+ - informacoes_coletadas:
145
+ - identificador do chat (remoteJid)
146
+ - identificador do remetente (senderJid)
147
+ - texto do comando e argumentos
148
+ - contexto da mensagem (citacao e mencoes, quando existir)
149
+ - contexto de grupo e validacao de permissao de admin
150
+ - dependencias_externas:
151
+ - API do WhatsApp (ações de grupo)
152
+ - stores/configuração interna
153
+ - efeitos_colaterais:
154
+ - altera configurações de grupo e permissões
155
+ - envia mensagens administrativas
156
+ - respostas_padrao:
157
+ - success: Comando executado com sucesso.
158
+ - usage_error: Formato de uso inválido. Consulte metodos_de_uso.
159
+ - permission_error: Permissão insuficiente para executar este comando.
160
+ - sucesso: Comando executado com sucesso.
161
+ - erro_uso: Formato de uso inválido. Consulte metodos_de_uso.
162
+ - erro_permissao: Permissão insuficiente para executar este comando.
163
+ - mensagens_sistema:
164
+ - (nao informado)
165
+ - limites_operacionais:
166
+ - (nao informado)
167
+ - opcoes:
168
+ - toggle_on_off_status.type: toggle
169
+ - toggle_on_off_status.allowed_actions: on, off, status
170
+ - toggle_on_off_status.action_argument: acao
171
+ - add_remove_list.type: list_management
172
+ - add_remove_list.allowed_actions: add, remove, list
173
+ - add_remove_list.action_argument: acao
174
+ - approve_reject.type: moderation_decision
175
+ - approve_reject.allowed_actions: approve, reject
176
+ - approve_reject.action_argument: acao
177
+ - approve_reject.requires_targets: true
178
+ - set_status_reset.type: configuration_window
179
+ - set_status_reset.allowed_actions: set, status, reset
180
+ - set_status_reset.action_argument: valor
181
+ - observabilidade:
182
+ - event_name: command.executed
183
+ - analytics_event: whatsapp_command_menuadm
184
+ - tags_log: whatsapp, command, adminModule, menuadm
185
+ - nivel_log: info
186
+ - privacidade:
187
+ - dados_sensiveis:
188
+ - chat_identifier
189
+ - sender_identifier
190
+ - command_content
191
+ - retencao: standard_app_logs
192
+ - base_legal: service_execution_and_legitimate_interest
193
+ - docs:
194
+ - summary: Exibe menu administrativo do bot para o grupo.
195
+ - usage_examples: <prefix>menuadmin, <prefix>menuadmin ajuda <comando>, <prefix>menuadmin faq, <prefix>menuadmin perguntar <pergunta>
196
+ - usage_variants.default: <prefix>menuadmin, <prefix>menuadmin ajuda <comando>, <prefix>menuadmin faq, <prefix>menuadmin perguntar <pergunta>
197
+ - usage_variants.help: <prefix>menuadmin ajuda <comando>
198
+ - usage_variants.ask: <prefix>menuadmin perguntar <pergunta>
199
+ - behavior:
200
+ - type: subcommand
201
+ - allowed_actions: ajuda, faq, perguntar
202
+ - action_argument: acao
203
+ - limits:
204
+ - usage_description: sem limite especifico
205
+ - rate_limit.max: null
206
+ - rate_limit.janela_ms: null
207
+ - rate_limit.escopo: sem_rate_limit_explicito
208
+ - access.somente_premium: false
209
+ - access.planos_permitidos: comum, premium
210
+ - plan_limits.comum.max: 25
211
+ - plan_limits.comum.janela_ms: 60000
212
+ - plan_limits.comum.escopo: usuario
213
+ - plan_limits.premium.max: 120
214
+ - plan_limits.premium.janela_ms: 60000
215
+ - plan_limits.premium.escopo: usuario
216
+ - discovery:
217
+ - keywords: menuadmin, admin, grupo
218
+ - faq_queries: como usar menuadmin, o que faz menuadmin, comando menuadmin
219
+ - user_phrasings: quero usar menuadmin, me ajuda com menuadmin, exibe menu administrativo do
220
+ - suggestion_priority: 100
221
+ - handler:
222
+ - file: groupCommandHandlers.js
223
+ - method: handleAdminCommand
224
+ - command_case: menuadm
225
+
226
+ ### premium
227
+
228
+ - id: admin.premium
229
+ - aliases: vip
230
+ - enabled: true
231
+ - categoria: admin
232
+ - descricao: Gerencia usuarios premium do sistema.
233
+ - permissao_necessaria: admin principal do bot
234
+ - version: 1.0.0
235
+ - stability: stable
236
+ - deprecated: nao
237
+ - risk_level: high
238
+ - local_de_uso:
239
+ - privado
240
+ - grupo
241
+ - metodos_de_uso:
242
+ - <prefix>premium list
243
+ - <prefix>premium add @usuario
244
+ - <prefix>premium remove @usuario
245
+ - mensagens_uso (variantes):
246
+ - invalid_action:
247
+ - <prefix>premium <add|remove|list> @usuario1 @usuario2 ...
248
+ - missing_targets:
249
+ - <prefix>premium <add|remove> @usuario1 @usuario2 ...
250
+ - Também é possível responder à mensagem do usuário desejado.
251
+ - subcomandos:
252
+ - add
253
+ - remove
254
+ - list
255
+ - argumentos:
256
+ - acao | tipo: string | obrigatorio | validacao: add|remove|list | default: null | posicao: 0
257
+ - usuarios | tipo: array | opcional | validacao: menções/JIDs para add/remove | default: null | posicao: 1
258
+ - pre_condicoes:
259
+ - requer_grupo: nao
260
+ - requer_admin: nao
261
+ - requer_admin_principal: sim
262
+ - requer_google_login: sim
263
+ - requer_nsfw: nao
264
+ - requer_midia: nao
265
+ - requer_mensagem_respondida: nao
266
+ - rate_limit:
267
+ - max: null
268
+ - janela_ms: null
269
+ - escopo: sem_rate_limit_explicito
270
+ - acesso:
271
+ - somente_premium: nao
272
+ - planos_permitidos: comum, premium
273
+ - limite_uso_por_plano:
274
+ - comum: max=25, janela_ms=60000, escopo=usuario
275
+ - premium: max=120, janela_ms=60000, escopo=usuario
276
+ - informacoes_coletadas:
277
+ - identificador do chat (remoteJid)
278
+ - identificador do remetente (senderJid)
279
+ - texto do comando e argumentos
280
+ - contexto da mensagem (citacao e mencoes, quando existir)
281
+ - participantes mencionados/reply para add/remove
282
+ - lista atual de usuarios premium no store
283
+ - validacao de identidade de administrador principal
284
+ - dependencias_externas:
285
+ - API do WhatsApp (ações de grupo)
286
+ - stores/configuração interna
287
+ - efeitos_colaterais:
288
+ - altera configurações de grupo e permissões
289
+ - envia mensagens administrativas
290
+ - respostas_padrao:
291
+ - success: Comando executado com sucesso.
292
+ - usage_error: Formato de uso inválido. Consulte metodos_de_uso.
293
+ - permission_error: Permissão insuficiente para executar este comando.
294
+ - sucesso: Comando executado com sucesso.
295
+ - erro_uso: Formato de uso inválido. Consulte metodos_de_uso.
296
+ - erro_permissao: Permissão insuficiente para executar este comando.
297
+ - mensagens_sistema:
298
+ - (nao informado)
299
+ - limites_operacionais:
300
+ - (nao informado)
301
+ - opcoes:
302
+ - toggle_on_off_status.type: toggle
303
+ - toggle_on_off_status.allowed_actions: on, off, status
304
+ - toggle_on_off_status.action_argument: acao
305
+ - add_remove_list.type: list_management
306
+ - add_remove_list.allowed_actions: add, remove, list
307
+ - add_remove_list.action_argument: acao
308
+ - approve_reject.type: moderation_decision
309
+ - approve_reject.allowed_actions: approve, reject
310
+ - approve_reject.action_argument: acao
311
+ - approve_reject.requires_targets: true
312
+ - set_status_reset.type: configuration_window
313
+ - set_status_reset.allowed_actions: set, status, reset
314
+ - set_status_reset.action_argument: valor
315
+ - observabilidade:
316
+ - event_name: command.executed
317
+ - analytics_event: whatsapp_command_premium
318
+ - tags_log: whatsapp, command, adminModule, premium
319
+ - nivel_log: info
320
+ - privacidade:
321
+ - dados_sensiveis:
322
+ - sender_identifier
323
+ - retencao: standard_app_logs
324
+ - base_legal: service_execution_and_legitimate_interest
325
+ - docs:
326
+ - summary: Gerencia usuarios premium do sistema.
327
+ - usage_examples: <prefix>premium list, <prefix>premium add @usuario, <prefix>premium remove @usuario
328
+ - usage_variants.invalid_action: <prefix>premium <add|remove|list> @usuario1 @usuario2 ...
329
+ - usage_variants.missing_targets: <prefix>premium <add|remove> @usuario1 @usuario2 ..., Também é possível responder à mensagem do usuário desejado.
330
+ - behavior:
331
+ - type: list_management
332
+ - allowed_actions: add, remove, list
333
+ - action_argument: acao
334
+ - limits:
335
+ - usage_description: sem limite especifico
336
+ - rate_limit.max: null
337
+ - rate_limit.janela_ms: null
338
+ - rate_limit.escopo: sem_rate_limit_explicito
339
+ - access.somente_premium: false
340
+ - access.planos_permitidos: comum, premium
341
+ - plan_limits.comum.max: 25
342
+ - plan_limits.comum.janela_ms: 60000
343
+ - plan_limits.comum.escopo: usuario
344
+ - plan_limits.premium.max: 120
345
+ - plan_limits.premium.janela_ms: 60000
346
+ - plan_limits.premium.escopo: usuario
347
+ - discovery:
348
+ - keywords: premium, admin, privado, grupo
349
+ - faq_queries: como usar premium, o que faz premium, comando premium
350
+ - user_phrasings: quero usar premium, me ajuda com premium, gerencia usuarios premium do
351
+ - suggestion_priority: 100
352
+ - handler:
353
+ - file: groupCommandHandlers.js
354
+ - method: handleAdminCommand
355
+ - command_case: premium
356
+
357
+ ### nsfw
358
+
359
+ - id: admin.nsfw
360
+ - aliases: (nenhum)
361
+ - enabled: true
362
+ - categoria: admin
363
+ - descricao: Ativa/desativa status de NSFW no grupo.
364
+ - permissao_necessaria: admin do grupo
365
+ - version: 1.0.0
366
+ - stability: stable
367
+ - deprecated: nao
368
+ - risk_level: medium
369
+ - local_de_uso:
370
+ - grupo
371
+ - metodos_de_uso:
372
+ - <prefix>nsfw on
373
+ - <prefix>nsfw off
374
+ - <prefix>nsfw status
375
+ - mensagens_uso (variantes):
376
+ - (nenhum)
377
+ - subcomandos:
378
+ - on
379
+ - off
380
+ - status
381
+ - argumentos:
382
+ - acao | tipo: string | obrigatorio | validacao: on|off|status | default: null | posicao: 0
383
+ - pre_condicoes:
384
+ - requer_grupo: sim
385
+ - requer_admin: sim
386
+ - requer_admin_principal: nao
387
+ - requer_google_login: sim
388
+ - requer_nsfw: nao
389
+ - requer_midia: nao
390
+ - requer_mensagem_respondida: nao
391
+ - rate_limit:
392
+ - max: null
393
+ - janela_ms: null
394
+ - escopo: sem_rate_limit_explicito
395
+ - acesso:
396
+ - somente_premium: sim
397
+ - planos_permitidos: premium
398
+ - limite_uso_por_plano:
399
+ - comum: max=25, janela_ms=60000, escopo=usuario
400
+ - premium: max=120, janela_ms=60000, escopo=usuario
401
+ - informacoes_coletadas:
402
+ - identificador do chat (remoteJid)
403
+ - identificador do remetente (senderJid)
404
+ - texto do comando e argumentos
405
+ - contexto da mensagem (citacao e mencoes, quando existir)
406
+ - estado NSFW atual do grupo
407
+ - acao solicitada (on/off/status)
408
+ - dependencias_externas:
409
+ - API do WhatsApp (ações de grupo)
410
+ - stores/configuração interna
411
+ - efeitos_colaterais:
412
+ - altera configurações de grupo e permissões
413
+ - envia mensagens administrativas
414
+ - respostas_padrao:
415
+ - success: Comando executado com sucesso.
416
+ - usage_error: Formato de uso inválido. Consulte metodos_de_uso.
417
+ - permission_error: Permissão insuficiente para executar este comando.
418
+ - sucesso: Comando executado com sucesso.
419
+ - erro_uso: Formato de uso inválido. Consulte metodos_de_uso.
420
+ - erro_permissao: Permissão insuficiente para executar este comando.
421
+ - mensagens_sistema:
422
+ - (nao informado)
423
+ - limites_operacionais:
424
+ - (nao informado)
425
+ - opcoes:
426
+ - toggle_on_off_status.type: toggle
427
+ - toggle_on_off_status.allowed_actions: on, off, status
428
+ - toggle_on_off_status.action_argument: acao
429
+ - add_remove_list.type: list_management
430
+ - add_remove_list.allowed_actions: add, remove, list
431
+ - add_remove_list.action_argument: acao
432
+ - approve_reject.type: moderation_decision
433
+ - approve_reject.allowed_actions: approve, reject
434
+ - approve_reject.action_argument: acao
435
+ - approve_reject.requires_targets: true
436
+ - set_status_reset.type: configuration_window
437
+ - set_status_reset.allowed_actions: set, status, reset
438
+ - set_status_reset.action_argument: valor
439
+ - observabilidade:
440
+ - event_name: command.executed
441
+ - analytics_event: whatsapp_command_nsfw
442
+ - tags_log: whatsapp, command, adminModule, nsfw
443
+ - nivel_log: info
444
+ - privacidade:
445
+ - dados_sensiveis:
446
+ - chat_identifier
447
+ - sender_identifier
448
+ - command_content
449
+ - retencao: standard_app_logs
450
+ - base_legal: service_execution_and_legitimate_interest
451
+ - docs:
452
+ - summary: Ativa/desativa status de NSFW no grupo.
453
+ - usage_examples: <prefix>nsfw on, <prefix>nsfw off, <prefix>nsfw status
454
+ - behavior:
455
+ - type: toggle
456
+ - allowed_actions: on, off, status
457
+ - action_argument: acao
458
+ - limits:
459
+ - usage_description: sem limite especifico
460
+ - rate_limit.max: null
461
+ - rate_limit.janela_ms: null
462
+ - rate_limit.escopo: sem_rate_limit_explicito
463
+ - access.somente_premium: true
464
+ - access.planos_permitidos: premium
465
+ - plan_limits.comum.max: 25
466
+ - plan_limits.comum.janela_ms: 60000
467
+ - plan_limits.comum.escopo: usuario
468
+ - plan_limits.premium.max: 120
469
+ - plan_limits.premium.janela_ms: 60000
470
+ - plan_limits.premium.escopo: usuario
471
+ - discovery:
472
+ - keywords: nsfw, admin, grupo
473
+ - faq_queries: como usar nsfw, o que faz nsfw, comando nsfw
474
+ - user_phrasings: quero usar nsfw, me ajuda com nsfw, ativa/desativa status de nsfw
475
+ - suggestion_priority: 100
476
+ - handler:
477
+ - file: groupCommandHandlers.js
478
+ - method: handleAdminCommand
479
+ - command_case: nsfw
480
+
481
+ ### autofigurinha
482
+
483
+ - id: admin.autofigurinha
484
+ - aliases: autosticker
485
+ - enabled: true
486
+ - categoria: admin
487
+ - descricao: Ativa/desativa a geracao automatica de figurinhas no grupo.
488
+ - permissao_necessaria: admin do grupo
489
+ - version: 1.0.0
490
+ - stability: stable
491
+ - deprecated: nao
492
+ - risk_level: medium
493
+ - local_de_uso:
494
+ - grupo
495
+ - metodos_de_uso:
496
+ - <prefix>autofigurinha on
497
+ - <prefix>autofigurinha off
498
+ - <prefix>autofigurinha status
499
+ - mensagens_uso (variantes):
500
+ - (nenhum)
501
+ - subcomandos:
502
+ - on
503
+ - off
504
+ - status
505
+ - argumentos:
506
+ - acao | tipo: string | obrigatorio | validacao: on|off|status | default: null | posicao: 0
507
+ - pre_condicoes:
508
+ - requer_grupo: sim
509
+ - requer_admin: sim
510
+ - requer_admin_principal: nao
511
+ - requer_google_login: sim
512
+ - requer_nsfw: nao
513
+ - requer_midia: nao
514
+ - requer_mensagem_respondida: nao
515
+ - rate_limit:
516
+ - max: null
517
+ - janela_ms: null
518
+ - escopo: sem_rate_limit_explicito
519
+ - acesso:
520
+ - somente_premium: nao
521
+ - planos_permitidos: comum, premium
522
+ - limite_uso_por_plano:
523
+ - comum: max=25, janela_ms=60000, escopo=usuario
524
+ - premium: max=120, janela_ms=60000, escopo=usuario
525
+ - informacoes_coletadas:
526
+ - identificador do chat (remoteJid)
527
+ - identificador do remetente (senderJid)
528
+ - texto do comando e argumentos
529
+ - contexto da mensagem (citacao e mencoes, quando existir)
530
+ - estado de auto figurinha no grupo
531
+ - acao solicitada (on/off/status)
532
+ - dependencias_externas:
533
+ - API do WhatsApp (ações de grupo)
534
+ - stores/configuração interna
535
+ - efeitos_colaterais:
536
+ - altera configurações de grupo e permissões
537
+ - envia mensagens administrativas
538
+ - respostas_padrao:
539
+ - success: Comando executado com sucesso.
540
+ - usage_error: Formato de uso inválido. Consulte metodos_de_uso.
541
+ - permission_error: Permissão insuficiente para executar este comando.
542
+ - sucesso: Comando executado com sucesso.
543
+ - erro_uso: Formato de uso inválido. Consulte metodos_de_uso.
544
+ - erro_permissao: Permissão insuficiente para executar este comando.
545
+ - mensagens_sistema:
546
+ - (nao informado)
547
+ - limites_operacionais:
548
+ - (nao informado)
549
+ - opcoes:
550
+ - toggle_on_off_status.type: toggle
551
+ - toggle_on_off_status.allowed_actions: on, off, status
552
+ - toggle_on_off_status.action_argument: acao
553
+ - add_remove_list.type: list_management
554
+ - add_remove_list.allowed_actions: add, remove, list
555
+ - add_remove_list.action_argument: acao
556
+ - approve_reject.type: moderation_decision
557
+ - approve_reject.allowed_actions: approve, reject
558
+ - approve_reject.action_argument: acao
559
+ - approve_reject.requires_targets: true
560
+ - set_status_reset.type: configuration_window
561
+ - set_status_reset.allowed_actions: set, status, reset
562
+ - set_status_reset.action_argument: valor
563
+ - observabilidade:
564
+ - event_name: command.executed
565
+ - analytics_event: whatsapp_command_autosticker
566
+ - tags_log: whatsapp, command, adminModule, autosticker
567
+ - nivel_log: info
568
+ - privacidade:
569
+ - dados_sensiveis:
570
+ - chat_identifier
571
+ - sender_identifier
572
+ - command_content
573
+ - retencao: standard_app_logs
574
+ - base_legal: service_execution_and_legitimate_interest
575
+ - docs:
576
+ - summary: Ativa/desativa a geracao automatica de figurinhas no grupo.
577
+ - usage_examples: <prefix>autofigurinha on, <prefix>autofigurinha off, <prefix>autofigurinha status
578
+ - behavior:
579
+ - type: toggle
580
+ - allowed_actions: on, off, status
581
+ - action_argument: acao
582
+ - limits:
583
+ - usage_description: sem limite especifico
584
+ - rate_limit.max: null
585
+ - rate_limit.janela_ms: null
586
+ - rate_limit.escopo: sem_rate_limit_explicito
587
+ - access.somente_premium: false
588
+ - access.planos_permitidos: comum, premium
589
+ - plan_limits.comum.max: 25
590
+ - plan_limits.comum.janela_ms: 60000
591
+ - plan_limits.comum.escopo: usuario
592
+ - plan_limits.premium.max: 120
593
+ - plan_limits.premium.janela_ms: 60000
594
+ - plan_limits.premium.escopo: usuario
595
+ - discovery:
596
+ - keywords: autofigurinha, admin, grupo
597
+ - faq_queries: como usar autofigurinha, o que faz autofigurinha, comando autofigurinha
598
+ - user_phrasings: quero usar autofigurinha, me ajuda com autofigurinha, ativa/desativa a geracao automatica
599
+ - suggestion_priority: 100
600
+ - handler:
601
+ - file: groupCommandHandlers.js
602
+ - method: handleAdminCommand
603
+ - command_case: autosticker
604
+
605
+ ### modofigurinha
606
+
607
+ - id: admin.modofigurinha
608
+ - aliases: smode, stickermode
609
+ - enabled: true
610
+ - categoria: admin
611
+ - descricao: Controla modo foco em figurinhas no grupo.
612
+ - permissao_necessaria: admin do grupo
613
+ - version: 1.0.0
614
+ - stability: stable
615
+ - deprecated: nao
616
+ - risk_level: medium
617
+ - local_de_uso:
618
+ - grupo
619
+ - metodos_de_uso:
620
+ - <prefix>modofigurinha on
621
+ - <prefix>modofigurinha off
622
+ - <prefix>modofigurinha status
623
+ - mensagens_uso (variantes):
624
+ - (nenhum)
625
+ - subcomandos:
626
+ - on
627
+ - off
628
+ - status
629
+ - argumentos:
630
+ - acao | tipo: string | obrigatorio | validacao: on|off|status | default: null | posicao: 0
631
+ - pre_condicoes:
632
+ - requer_grupo: sim
633
+ - requer_admin: sim
634
+ - requer_admin_principal: nao
635
+ - requer_google_login: sim
636
+ - requer_nsfw: nao
637
+ - requer_midia: nao
638
+ - requer_mensagem_respondida: nao
639
+ - rate_limit:
640
+ - max: null
641
+ - janela_ms: null
642
+ - escopo: sem_rate_limit_explicito
643
+ - acesso:
644
+ - somente_premium: nao
645
+ - planos_permitidos: comum, premium
646
+ - limite_uso_por_plano:
647
+ - comum: max=25, janela_ms=60000, escopo=usuario
648
+ - premium: max=120, janela_ms=60000, escopo=usuario
649
+ - informacoes_coletadas:
650
+ - identificador do chat (remoteJid)
651
+ - identificador do remetente (senderJid)
652
+ - texto do comando e argumentos
653
+ - contexto da mensagem (citacao e mencoes, quando existir)
654
+ - estado atual do modo sticker no grupo
655
+ - acao solicitada (on/off/status)
656
+ - dependencias_externas:
657
+ - API do WhatsApp (ações de grupo)
658
+ - stores/configuração interna
659
+ - efeitos_colaterais:
660
+ - altera configurações de grupo e permissões
661
+ - envia mensagens administrativas
662
+ - respostas_padrao:
663
+ - success: Comando executado com sucesso.
664
+ - usage_error: Formato de uso inválido. Consulte metodos_de_uso.
665
+ - permission_error: Permissão insuficiente para executar este comando.
666
+ - sucesso: Comando executado com sucesso.
667
+ - erro_uso: Formato de uso inválido. Consulte metodos_de_uso.
668
+ - erro_permissao: Permissão insuficiente para executar este comando.
669
+ - mensagens_sistema:
670
+ - (nao informado)
671
+ - limites_operacionais:
672
+ - (nao informado)
673
+ - opcoes:
674
+ - toggle_on_off_status.type: toggle
675
+ - toggle_on_off_status.allowed_actions: on, off, status
676
+ - toggle_on_off_status.action_argument: acao
677
+ - add_remove_list.type: list_management
678
+ - add_remove_list.allowed_actions: add, remove, list
679
+ - add_remove_list.action_argument: acao
680
+ - approve_reject.type: moderation_decision
681
+ - approve_reject.allowed_actions: approve, reject
682
+ - approve_reject.action_argument: acao
683
+ - approve_reject.requires_targets: true
684
+ - set_status_reset.type: configuration_window
685
+ - set_status_reset.allowed_actions: set, status, reset
686
+ - set_status_reset.action_argument: valor
687
+ - observabilidade:
688
+ - event_name: command.executed
689
+ - analytics_event: whatsapp_command_stickermode
690
+ - tags_log: whatsapp, command, adminModule, stickermode
691
+ - nivel_log: info
692
+ - privacidade:
693
+ - dados_sensiveis:
694
+ - chat_identifier
695
+ - sender_identifier
696
+ - command_content
697
+ - retencao: standard_app_logs
698
+ - base_legal: service_execution_and_legitimate_interest
699
+ - docs:
700
+ - summary: Controla modo foco em figurinhas no grupo.
701
+ - usage_examples: <prefix>modofigurinha on, <prefix>modofigurinha off, <prefix>modofigurinha status
702
+ - behavior:
703
+ - type: toggle
704
+ - allowed_actions: on, off, status
705
+ - action_argument: acao
706
+ - limits:
707
+ - usage_description: sem limite especifico
708
+ - rate_limit.max: null
709
+ - rate_limit.janela_ms: null
710
+ - rate_limit.escopo: sem_rate_limit_explicito
711
+ - access.somente_premium: false
712
+ - access.planos_permitidos: comum, premium
713
+ - plan_limits.comum.max: 25
714
+ - plan_limits.comum.janela_ms: 60000
715
+ - plan_limits.comum.escopo: usuario
716
+ - plan_limits.premium.max: 120
717
+ - plan_limits.premium.janela_ms: 60000
718
+ - plan_limits.premium.escopo: usuario
719
+ - discovery:
720
+ - keywords: modofigurinha, smode, admin, grupo
721
+ - faq_queries: como usar modofigurinha, o que faz modofigurinha, comando modofigurinha
722
+ - user_phrasings: quero usar modofigurinha, me ajuda com modofigurinha, controla modo foco em
723
+ - suggestion_priority: 100
724
+ - handler:
725
+ - file: groupCommandHandlers.js
726
+ - method: handleAdminCommand
727
+ - command_case: stickermode
728
+
729
+ ### janelachat
730
+
731
+ - id: admin.janelachat
732
+ - aliases: chat, chatwindow
733
+ - enabled: true
734
+ - categoria: admin
735
+ - descricao: Abre/fecha janela temporaria de chat livre no modo sticker.
736
+ - permissao_necessaria: admin do grupo
737
+ - version: 1.0.0
738
+ - stability: stable
739
+ - deprecated: nao
740
+ - risk_level: medium
741
+ - local_de_uso:
742
+ - grupo
743
+ - metodos_de_uso:
744
+ - <prefix>janelachat on
745
+ - <prefix>janelachat off
746
+ - <prefix>janelachat status
747
+ - <prefix>janelachat on 15
748
+ - mensagens_uso (variantes):
749
+ - (nenhum)
750
+ - subcomandos:
751
+ - on
752
+ - off
753
+ - status
754
+ - argumentos:
755
+ - acao | tipo: string | obrigatorio | validacao: on|off|status | default: null | posicao: 0
756
+ - minutos | tipo: integer | opcional | validacao: inteiro positivo dentro dos limites do módulo | default: null | posicao: 1
757
+ - pre_condicoes:
758
+ - requer_grupo: sim
759
+ - requer_admin: sim
760
+ - requer_admin_principal: nao
761
+ - requer_google_login: sim
762
+ - requer_nsfw: nao
763
+ - requer_midia: nao
764
+ - requer_mensagem_respondida: nao
765
+ - rate_limit:
766
+ - max: null
767
+ - janela_ms: null
768
+ - escopo: sem_rate_limit_explicito
769
+ - acesso:
770
+ - somente_premium: nao
771
+ - planos_permitidos: comum, premium
772
+ - limite_uso_por_plano:
773
+ - comum: max=25, janela_ms=60000, escopo=usuario
774
+ - premium: max=120, janela_ms=60000, escopo=usuario
775
+ - informacoes_coletadas:
776
+ - identificador do chat (remoteJid)
777
+ - identificador do remetente (senderJid)
778
+ - texto do comando e argumentos
779
+ - contexto da mensagem (citacao e mencoes, quando existir)
780
+ - acao da janela de chat (on/off/status)
781
+ - duracao em minutos quando informada
782
+ - dependencias_externas:
783
+ - API do WhatsApp (ações de grupo)
784
+ - stores/configuração interna
785
+ - efeitos_colaterais:
786
+ - altera configurações de grupo e permissões
787
+ - envia mensagens administrativas
788
+ - respostas_padrao:
789
+ - success: Comando executado com sucesso.
790
+ - usage_error: Formato de uso inválido. Consulte metodos_de_uso.
791
+ - permission_error: Permissão insuficiente para executar este comando.
792
+ - sucesso: Comando executado com sucesso.
793
+ - erro_uso: Formato de uso inválido. Consulte metodos_de_uso.
794
+ - erro_permissao: Permissão insuficiente para executar este comando.
795
+ - mensagens_sistema:
796
+ - (nao informado)
797
+ - limites_operacionais:
798
+ - (nao informado)
799
+ - opcoes:
800
+ - toggle_on_off_status.type: toggle
801
+ - toggle_on_off_status.allowed_actions: on, off, status
802
+ - toggle_on_off_status.action_argument: acao
803
+ - add_remove_list.type: list_management
804
+ - add_remove_list.allowed_actions: add, remove, list
805
+ - add_remove_list.action_argument: acao
806
+ - approve_reject.type: moderation_decision
807
+ - approve_reject.allowed_actions: approve, reject
808
+ - approve_reject.action_argument: acao
809
+ - approve_reject.requires_targets: true
810
+ - set_status_reset.type: configuration_window
811
+ - set_status_reset.allowed_actions: set, status, reset
812
+ - set_status_reset.action_argument: valor
813
+ - observabilidade:
814
+ - event_name: command.executed
815
+ - analytics_event: whatsapp_command_chatwindow
816
+ - tags_log: whatsapp, command, adminModule, chatwindow
817
+ - nivel_log: info
818
+ - privacidade:
819
+ - dados_sensiveis:
820
+ - chat_identifier
821
+ - sender_identifier
822
+ - command_content
823
+ - retencao: standard_app_logs
824
+ - base_legal: service_execution_and_legitimate_interest
825
+ - docs:
826
+ - summary: Abre/fecha janela temporaria de chat livre no modo sticker.
827
+ - usage_examples: <prefix>janelachat on, <prefix>janelachat off, <prefix>janelachat status, <prefix>janelachat on 15
828
+ - behavior:
829
+ - type: toggle
830
+ - allowed_actions: on, off, status
831
+ - action_argument: acao
832
+ - limits:
833
+ - usage_description: tempo limitado por configuracao do modulo
834
+ - rate_limit.max: null
835
+ - rate_limit.janela_ms: null
836
+ - rate_limit.escopo: sem_rate_limit_explicito
837
+ - access.somente_premium: false
838
+ - access.planos_permitidos: comum, premium
839
+ - plan_limits.comum.max: 25
840
+ - plan_limits.comum.janela_ms: 60000
841
+ - plan_limits.comum.escopo: usuario
842
+ - plan_limits.premium.max: 120
843
+ - plan_limits.premium.janela_ms: 60000
844
+ - plan_limits.premium.escopo: usuario
845
+ - discovery:
846
+ - keywords: janelachat, chat, admin, grupo
847
+ - faq_queries: como usar janelachat, o que faz janelachat, comando janelachat
848
+ - user_phrasings: quero usar janelachat, me ajuda com janelachat, abre/fecha janela temporaria de
849
+ - suggestion_priority: 100
850
+ - handler:
851
+ - file: groupCommandHandlers.js
852
+ - method: handleAdminCommand
853
+ - command_case: chatwindow
854
+
855
+ ### limitefigurinha
856
+
857
+ - id: admin.limitefigurinha
858
+ - aliases: smsglimit, stickertextlimit, stextlimit, stickermsglimit
859
+ - enabled: true
860
+ - categoria: admin
861
+ - descricao: Define limite de mensagens por usuario no modo sticker.
862
+ - permissao_necessaria: admin do grupo
863
+ - version: 1.0.0
864
+ - stability: stable
865
+ - deprecated: nao
866
+ - risk_level: medium
867
+ - local_de_uso:
868
+ - grupo
869
+ - metodos_de_uso:
870
+ - <prefix>limitefigurinha 5
871
+ - <prefix>limitefigurinha status
872
+ - <prefix>limitefigurinha reset
873
+ - mensagens_uso (variantes):
874
+ - (nenhum)
875
+ - subcomandos:
876
+ - <minutos>
877
+ - status
878
+ - reset
879
+ - argumentos:
880
+ - valor | tipo: string | obrigatorio | validacao: minutos|status|reset | default: null | posicao: 0
881
+ - pre_condicoes:
882
+ - requer_grupo: sim
883
+ - requer_admin: sim
884
+ - requer_admin_principal: nao
885
+ - requer_google_login: sim
886
+ - requer_nsfw: nao
887
+ - requer_midia: nao
888
+ - requer_mensagem_respondida: nao
889
+ - rate_limit:
890
+ - max: null
891
+ - janela_ms: null
892
+ - escopo: sem_rate_limit_explicito
893
+ - acesso:
894
+ - somente_premium: nao
895
+ - planos_permitidos: comum, premium
896
+ - limite_uso_por_plano:
897
+ - comum: max=25, janela_ms=60000, escopo=usuario
898
+ - premium: max=120, janela_ms=60000, escopo=usuario
899
+ - informacoes_coletadas:
900
+ - identificador do chat (remoteJid)
901
+ - identificador do remetente (senderJid)
902
+ - texto do comando e argumentos
903
+ - contexto da mensagem (citacao e mencoes, quando existir)
904
+ - minutos/acao informados para limite de mensagens
905
+ - configuracao atual de cooldown do grupo
906
+ - dependencias_externas:
907
+ - API do WhatsApp (ações de grupo)
908
+ - stores/configuração interna
909
+ - efeitos_colaterais:
910
+ - altera configurações de grupo e permissões
911
+ - envia mensagens administrativas
912
+ - respostas_padrao:
913
+ - success: Comando executado com sucesso.
914
+ - usage_error: Formato de uso inválido. Consulte metodos_de_uso.
915
+ - permission_error: Permissão insuficiente para executar este comando.
916
+ - sucesso: Comando executado com sucesso.
917
+ - erro_uso: Formato de uso inválido. Consulte metodos_de_uso.
918
+ - erro_permissao: Permissão insuficiente para executar este comando.
919
+ - mensagens_sistema:
920
+ - (nao informado)
921
+ - limites_operacionais:
922
+ - (nao informado)
923
+ - opcoes:
924
+ - toggle_on_off_status.type: toggle
925
+ - toggle_on_off_status.allowed_actions: on, off, status
926
+ - toggle_on_off_status.action_argument: acao
927
+ - add_remove_list.type: list_management
928
+ - add_remove_list.allowed_actions: add, remove, list
929
+ - add_remove_list.action_argument: acao
930
+ - approve_reject.type: moderation_decision
931
+ - approve_reject.allowed_actions: approve, reject
932
+ - approve_reject.action_argument: acao
933
+ - approve_reject.requires_targets: true
934
+ - set_status_reset.type: configuration_window
935
+ - set_status_reset.allowed_actions: set, status, reset
936
+ - set_status_reset.action_argument: valor
937
+ - observabilidade:
938
+ - event_name: command.executed
939
+ - analytics_event: whatsapp_command_stickermsglimit
940
+ - tags_log: whatsapp, command, adminModule, stickermsglimit
941
+ - nivel_log: info
942
+ - privacidade:
943
+ - dados_sensiveis:
944
+ - chat_identifier
945
+ - sender_identifier
946
+ - command_content
947
+ - retencao: standard_app_logs
948
+ - base_legal: service_execution_and_legitimate_interest
949
+ - docs:
950
+ - summary: Define limite de mensagens por usuario no modo sticker.
951
+ - usage_examples: <prefix>limitefigurinha 5, <prefix>limitefigurinha status, <prefix>limitefigurinha reset
952
+ - behavior:
953
+ - type: subcommand
954
+ - allowed_actions: set, status, reset
955
+ - action_argument: valor
956
+ - limits:
957
+ - usage_description: intervalo validado pelo modulo
958
+ - rate_limit.max: null
959
+ - rate_limit.janela_ms: null
960
+ - rate_limit.escopo: sem_rate_limit_explicito
961
+ - access.somente_premium: false
962
+ - access.planos_permitidos: comum, premium
963
+ - plan_limits.comum.max: 25
964
+ - plan_limits.comum.janela_ms: 60000
965
+ - plan_limits.comum.escopo: usuario
966
+ - plan_limits.premium.max: 120
967
+ - plan_limits.premium.janela_ms: 60000
968
+ - plan_limits.premium.escopo: usuario
969
+ - discovery:
970
+ - keywords: limitefigurinha, smsglimit, stickertextlimit, stextlimit, admin, grupo
971
+ - faq_queries: como usar limitefigurinha, o que faz limitefigurinha, comando limitefigurinha
972
+ - user_phrasings: quero usar limitefigurinha, me ajuda com limitefigurinha, define limite de mensagens
973
+ - suggestion_priority: 100
974
+ - handler:
975
+ - file: groupCommandHandlers.js
976
+ - method: handleAdminCommand
977
+ - command_case: stickermsglimit
978
+
979
+ ### novogrupo
980
+
981
+ - id: admin.novogrupo
982
+ - aliases: newgroup
983
+ - enabled: true
984
+ - categoria: admin
985
+ - descricao: Cria um novo grupo com participantes informados.
986
+ - permissao_necessaria: usuario comum
987
+ - version: 1.0.0
988
+ - stability: stable
989
+ - deprecated: nao
990
+ - risk_level: low
991
+ - local_de_uso:
992
+ - privado
993
+ - grupo
994
+ - metodos_de_uso:
995
+ - <prefix>novogrupo <titulo> <participante1> <participante2>
996
+ - mensagens_uso (variantes):
997
+ - (nenhum)
998
+ - subcomandos:
999
+ - (nenhum)
1000
+ - argumentos:
1001
+ - titulo | tipo: string | obrigatorio | validacao: texto não vazio | default: null | posicao: 0
1002
+ - participantes | tipo: array | obrigatorio | validacao: mínimo 1 participante | default: null | posicao: 1
1003
+ - pre_condicoes:
1004
+ - requer_grupo: nao
1005
+ - requer_admin: nao
1006
+ - requer_admin_principal: nao
1007
+ - requer_google_login: sim
1008
+ - requer_nsfw: nao
1009
+ - requer_midia: nao
1010
+ - requer_mensagem_respondida: nao
1011
+ - rate_limit:
1012
+ - max: null
1013
+ - janela_ms: null
1014
+ - escopo: sem_rate_limit_explicito
1015
+ - acesso:
1016
+ - somente_premium: nao
1017
+ - planos_permitidos: comum, premium
1018
+ - limite_uso_por_plano:
1019
+ - comum: max=25, janela_ms=60000, escopo=usuario
1020
+ - premium: max=120, janela_ms=60000, escopo=usuario
1021
+ - informacoes_coletadas:
1022
+ - identificador do chat (remoteJid)
1023
+ - identificador do remetente (senderJid)
1024
+ - texto do comando e argumentos
1025
+ - contexto da mensagem (citacao e mencoes, quando existir)
1026
+ - titulo do novo grupo
1027
+ - lista de participantes informados no comando
1028
+ - dependencias_externas:
1029
+ - API do WhatsApp (ações de grupo)
1030
+ - stores/configuração interna
1031
+ - efeitos_colaterais:
1032
+ - altera configurações de grupo e permissões
1033
+ - envia mensagens administrativas
1034
+ - respostas_padrao:
1035
+ - success: Comando executado com sucesso.
1036
+ - usage_error: Formato de uso inválido. Consulte metodos_de_uso.
1037
+ - permission_error: Permissão insuficiente para executar este comando.
1038
+ - sucesso: Comando executado com sucesso.
1039
+ - erro_uso: Formato de uso inválido. Consulte metodos_de_uso.
1040
+ - erro_permissao: Permissão insuficiente para executar este comando.
1041
+ - mensagens_sistema:
1042
+ - (nao informado)
1043
+ - limites_operacionais:
1044
+ - (nao informado)
1045
+ - opcoes:
1046
+ - toggle_on_off_status.type: toggle
1047
+ - toggle_on_off_status.allowed_actions: on, off, status
1048
+ - toggle_on_off_status.action_argument: acao
1049
+ - add_remove_list.type: list_management
1050
+ - add_remove_list.allowed_actions: add, remove, list
1051
+ - add_remove_list.action_argument: acao
1052
+ - approve_reject.type: moderation_decision
1053
+ - approve_reject.allowed_actions: approve, reject
1054
+ - approve_reject.action_argument: acao
1055
+ - approve_reject.requires_targets: true
1056
+ - set_status_reset.type: configuration_window
1057
+ - set_status_reset.allowed_actions: set, status, reset
1058
+ - set_status_reset.action_argument: valor
1059
+ - observabilidade:
1060
+ - event_name: command.executed
1061
+ - analytics_event: whatsapp_command_newgroup
1062
+ - tags_log: whatsapp, command, adminModule, newgroup
1063
+ - nivel_log: info
1064
+ - privacidade:
1065
+ - dados_sensiveis:
1066
+ - chat_identifier
1067
+ - sender_identifier
1068
+ - command_content
1069
+ - retencao: standard_app_logs
1070
+ - base_legal: service_execution_and_legitimate_interest
1071
+ - docs:
1072
+ - summary: Cria um novo grupo com participantes informados.
1073
+ - usage_examples: <prefix>novogrupo <titulo> <participante1> <participante2>
1074
+ - behavior:
1075
+ - type: argument_driven
1076
+ - argument_count: 2
1077
+ - limits:
1078
+ - usage_description: minimo de titulo e participantes
1079
+ - rate_limit.max: null
1080
+ - rate_limit.janela_ms: null
1081
+ - rate_limit.escopo: sem_rate_limit_explicito
1082
+ - access.somente_premium: false
1083
+ - access.planos_permitidos: comum, premium
1084
+ - plan_limits.comum.max: 25
1085
+ - plan_limits.comum.janela_ms: 60000
1086
+ - plan_limits.comum.escopo: usuario
1087
+ - plan_limits.premium.max: 120
1088
+ - plan_limits.premium.janela_ms: 60000
1089
+ - plan_limits.premium.escopo: usuario
1090
+ - discovery:
1091
+ - keywords: novogrupo, admin, privado, grupo
1092
+ - faq_queries: como usar novogrupo, o que faz novogrupo, comando novogrupo
1093
+ - user_phrasings: quero usar novogrupo, me ajuda com novogrupo, cria um novo grupo
1094
+ - suggestion_priority: 100
1095
+ - handler:
1096
+ - file: groupCommandHandlers.js
1097
+ - method: handleAdminCommand
1098
+ - command_case: newgroup
1099
+
1100
+ ### adicionar
1101
+
1102
+ - id: admin.adicionar
1103
+ - aliases: add
1104
+ - enabled: true
1105
+ - categoria: admin
1106
+ - descricao: Adiciona participantes ao grupo atual.
1107
+ - permissao_necessaria: admin do grupo
1108
+ - version: 1.0.0
1109
+ - stability: stable
1110
+ - deprecated: nao
1111
+ - risk_level: high
1112
+ - local_de_uso:
1113
+ - grupo
1114
+ - metodos_de_uso:
1115
+ - <prefix>adicionar @participante
1116
+ - mensagens_uso (variantes):
1117
+ - missing_targets:
1118
+ - <prefix>adicionar @participante1 @participante2 ...
1119
+ - Também é possível informar os JIDs dos participantes.
1120
+ - subcomandos:
1121
+ - (nenhum)
1122
+ - argumentos:
1123
+ - participantes | tipo: array | obrigatorio | validacao: menções/JIDs válidos | default: null | posicao: 0
1124
+ - pre_condicoes:
1125
+ - requer_grupo: sim
1126
+ - requer_admin: sim
1127
+ - requer_admin_principal: nao
1128
+ - requer_google_login: sim
1129
+ - requer_nsfw: nao
1130
+ - requer_midia: nao
1131
+ - requer_mensagem_respondida: nao
1132
+ - rate_limit:
1133
+ - max: null
1134
+ - janela_ms: null
1135
+ - escopo: sem_rate_limit_explicito
1136
+ - acesso:
1137
+ - somente_premium: nao
1138
+ - planos_permitidos: comum, premium
1139
+ - limite_uso_por_plano:
1140
+ - comum: max=25, janela_ms=60000, escopo=usuario
1141
+ - premium: max=120, janela_ms=60000, escopo=usuario
1142
+ - informacoes_coletadas:
1143
+ - identificador do chat (remoteJid)
1144
+ - identificador do remetente (senderJid)
1145
+ - texto do comando e argumentos
1146
+ - contexto da mensagem (citacao e mencoes, quando existir)
1147
+ - lista de participantes mencionados/extraidos para adicionar
1148
+ - dependencias_externas:
1149
+ - API do WhatsApp (ações de grupo)
1150
+ - stores/configuração interna
1151
+ - efeitos_colaterais:
1152
+ - altera configurações de grupo e permissões
1153
+ - envia mensagens administrativas
1154
+ - respostas_padrao:
1155
+ - success: Comando executado com sucesso.
1156
+ - usage_error: Formato de uso inválido. Consulte metodos_de_uso.
1157
+ - permission_error: Permissão insuficiente para executar este comando.
1158
+ - sucesso: Comando executado com sucesso.
1159
+ - erro_uso: Formato de uso inválido. Consulte metodos_de_uso.
1160
+ - erro_permissao: Permissão insuficiente para executar este comando.
1161
+ - mensagens_sistema:
1162
+ - (nao informado)
1163
+ - limites_operacionais:
1164
+ - (nao informado)
1165
+ - opcoes:
1166
+ - toggle_on_off_status.type: toggle
1167
+ - toggle_on_off_status.allowed_actions: on, off, status
1168
+ - toggle_on_off_status.action_argument: acao
1169
+ - add_remove_list.type: list_management
1170
+ - add_remove_list.allowed_actions: add, remove, list
1171
+ - add_remove_list.action_argument: acao
1172
+ - approve_reject.type: moderation_decision
1173
+ - approve_reject.allowed_actions: approve, reject
1174
+ - approve_reject.action_argument: acao
1175
+ - approve_reject.requires_targets: true
1176
+ - set_status_reset.type: configuration_window
1177
+ - set_status_reset.allowed_actions: set, status, reset
1178
+ - set_status_reset.action_argument: valor
1179
+ - observabilidade:
1180
+ - event_name: command.executed
1181
+ - analytics_event: whatsapp_command_add
1182
+ - tags_log: whatsapp, command, adminModule, add
1183
+ - nivel_log: info
1184
+ - privacidade:
1185
+ - dados_sensiveis:
1186
+ - chat_identifier
1187
+ - sender_identifier
1188
+ - command_content
1189
+ - retencao: standard_app_logs
1190
+ - base_legal: service_execution_and_legitimate_interest
1191
+ - docs:
1192
+ - summary: Adiciona participantes ao grupo atual.
1193
+ - usage_examples: <prefix>adicionar @participante
1194
+ - usage_variants.missing_targets: <prefix>adicionar @participante1 @participante2 ..., Também é possível informar os JIDs dos participantes.
1195
+ - behavior:
1196
+ - type: action_target
1197
+ - target_type: participant
1198
+ - action: adicionar
1199
+ - requires_targets: true
1200
+ - limits:
1201
+ - usage_description: depende de permissoes do WhatsApp
1202
+ - rate_limit.max: null
1203
+ - rate_limit.janela_ms: null
1204
+ - rate_limit.escopo: sem_rate_limit_explicito
1205
+ - access.somente_premium: false
1206
+ - access.planos_permitidos: comum, premium
1207
+ - plan_limits.comum.max: 25
1208
+ - plan_limits.comum.janela_ms: 60000
1209
+ - plan_limits.comum.escopo: usuario
1210
+ - plan_limits.premium.max: 120
1211
+ - plan_limits.premium.janela_ms: 60000
1212
+ - plan_limits.premium.escopo: usuario
1213
+ - discovery:
1214
+ - keywords: adicionar, admin, grupo
1215
+ - faq_queries: como usar adicionar, o que faz adicionar, comando adicionar
1216
+ - user_phrasings: quero usar adicionar, me ajuda com adicionar, adiciona participantes ao grupo
1217
+ - suggestion_priority: 100
1218
+ - handler:
1219
+ - file: groupCommandHandlers.js
1220
+ - method: handleAdminCommand
1221
+ - command_case: add
1222
+
1223
+ ### banir
1224
+
1225
+ - id: admin.banir
1226
+ - aliases: remover, ban
1227
+ - enabled: true
1228
+ - categoria: admin
1229
+ - descricao: Remove participantes do grupo atual.
1230
+ - permissao_necessaria: admin do grupo
1231
+ - version: 1.0.0
1232
+ - stability: stable
1233
+ - deprecated: nao
1234
+ - risk_level: high
1235
+ - local_de_uso:
1236
+ - grupo
1237
+ - metodos_de_uso:
1238
+ - <prefix>banir @participante
1239
+ - mensagens_uso (variantes):
1240
+ - missing_targets:
1241
+ - <prefix>banir @participante1 @participante2 ...
1242
+ - Também é possível responder à mensagem do participante desejado.
1243
+ - subcomandos:
1244
+ - (nenhum)
1245
+ - argumentos:
1246
+ - participantes | tipo: array | obrigatorio | validacao: menções/JIDs válidos | default: null | posicao: 0
1247
+ - pre_condicoes:
1248
+ - requer_grupo: sim
1249
+ - requer_admin: sim
1250
+ - requer_admin_principal: nao
1251
+ - requer_google_login: sim
1252
+ - requer_nsfw: nao
1253
+ - requer_midia: nao
1254
+ - requer_mensagem_respondida: nao
1255
+ - rate_limit:
1256
+ - max: null
1257
+ - janela_ms: null
1258
+ - escopo: sem_rate_limit_explicito
1259
+ - acesso:
1260
+ - somente_premium: nao
1261
+ - planos_permitidos: comum, premium
1262
+ - limite_uso_por_plano:
1263
+ - comum: max=25, janela_ms=60000, escopo=usuario
1264
+ - premium: max=120, janela_ms=60000, escopo=usuario
1265
+ - informacoes_coletadas:
1266
+ - identificador do chat (remoteJid)
1267
+ - identificador do remetente (senderJid)
1268
+ - texto do comando e argumentos
1269
+ - contexto da mensagem (citacao e mencoes, quando existir)
1270
+ - lista de participantes mencionados/extraidos para remover
1271
+ - dependencias_externas:
1272
+ - API do WhatsApp (ações de grupo)
1273
+ - stores/configuração interna
1274
+ - efeitos_colaterais:
1275
+ - altera configurações de grupo e permissões
1276
+ - envia mensagens administrativas
1277
+ - respostas_padrao:
1278
+ - success: Comando executado com sucesso.
1279
+ - usage_error: Formato de uso inválido. Consulte metodos_de_uso.
1280
+ - permission_error: Permissão insuficiente para executar este comando.
1281
+ - sucesso: Comando executado com sucesso.
1282
+ - erro_uso: Formato de uso inválido. Consulte metodos_de_uso.
1283
+ - erro_permissao: Permissão insuficiente para executar este comando.
1284
+ - mensagens_sistema:
1285
+ - (nao informado)
1286
+ - limites_operacionais:
1287
+ - (nao informado)
1288
+ - opcoes:
1289
+ - toggle_on_off_status.type: toggle
1290
+ - toggle_on_off_status.allowed_actions: on, off, status
1291
+ - toggle_on_off_status.action_argument: acao
1292
+ - add_remove_list.type: list_management
1293
+ - add_remove_list.allowed_actions: add, remove, list
1294
+ - add_remove_list.action_argument: acao
1295
+ - approve_reject.type: moderation_decision
1296
+ - approve_reject.allowed_actions: approve, reject
1297
+ - approve_reject.action_argument: acao
1298
+ - approve_reject.requires_targets: true
1299
+ - set_status_reset.type: configuration_window
1300
+ - set_status_reset.allowed_actions: set, status, reset
1301
+ - set_status_reset.action_argument: valor
1302
+ - observabilidade:
1303
+ - event_name: command.executed
1304
+ - analytics_event: whatsapp_command_ban
1305
+ - tags_log: whatsapp, command, adminModule, ban
1306
+ - nivel_log: info
1307
+ - privacidade:
1308
+ - dados_sensiveis:
1309
+ - chat_identifier
1310
+ - sender_identifier
1311
+ - command_content
1312
+ - retencao: standard_app_logs
1313
+ - base_legal: service_execution_and_legitimate_interest
1314
+ - docs:
1315
+ - summary: Remove participantes do grupo atual.
1316
+ - usage_examples: <prefix>banir @participante
1317
+ - usage_variants.missing_targets: <prefix>banir @participante1 @participante2 ..., Também é possível responder à mensagem do participante desejado.
1318
+ - behavior:
1319
+ - type: action_target
1320
+ - target_type: participant
1321
+ - action: banir
1322
+ - requires_targets: true
1323
+ - limits:
1324
+ - usage_description: depende de permissoes do WhatsApp
1325
+ - rate_limit.max: null
1326
+ - rate_limit.janela_ms: null
1327
+ - rate_limit.escopo: sem_rate_limit_explicito
1328
+ - access.somente_premium: false
1329
+ - access.planos_permitidos: comum, premium
1330
+ - plan_limits.comum.max: 25
1331
+ - plan_limits.comum.janela_ms: 60000
1332
+ - plan_limits.comum.escopo: usuario
1333
+ - plan_limits.premium.max: 120
1334
+ - plan_limits.premium.janela_ms: 60000
1335
+ - plan_limits.premium.escopo: usuario
1336
+ - discovery:
1337
+ - keywords: banir, admin, grupo
1338
+ - faq_queries: como usar banir, o que faz banir, comando banir
1339
+ - user_phrasings: quero usar banir, me ajuda com banir, remove participantes do grupo
1340
+ - suggestion_priority: 100
1341
+ - handler:
1342
+ - file: groupCommandHandlers.js
1343
+ - method: handleAdminCommand
1344
+ - command_case: ban
1345
+
1346
+ ### promover
1347
+
1348
+ - id: admin.promover
1349
+ - aliases: up
1350
+ - enabled: true
1351
+ - categoria: admin
1352
+ - descricao: Promove participantes a administradores do grupo.
1353
+ - permissao_necessaria: admin do grupo
1354
+ - version: 1.0.0
1355
+ - stability: stable
1356
+ - deprecated: nao
1357
+ - risk_level: high
1358
+ - local_de_uso:
1359
+ - grupo
1360
+ - metodos_de_uso:
1361
+ - <prefix>promover @participante
1362
+ - mensagens_uso (variantes):
1363
+ - missing_targets:
1364
+ - <prefix>promover @participante1 @participante2 ...
1365
+ - Também é possível informar os JIDs dos participantes.
1366
+ - subcomandos:
1367
+ - (nenhum)
1368
+ - argumentos:
1369
+ - participantes | tipo: array | obrigatorio | validacao: menções/JIDs válidos | default: null | posicao: 0
1370
+ - pre_condicoes:
1371
+ - requer_grupo: sim
1372
+ - requer_admin: sim
1373
+ - requer_admin_principal: nao
1374
+ - requer_google_login: sim
1375
+ - requer_nsfw: nao
1376
+ - requer_midia: nao
1377
+ - requer_mensagem_respondida: nao
1378
+ - rate_limit:
1379
+ - max: null
1380
+ - janela_ms: null
1381
+ - escopo: sem_rate_limit_explicito
1382
+ - acesso:
1383
+ - somente_premium: nao
1384
+ - planos_permitidos: comum, premium
1385
+ - limite_uso_por_plano:
1386
+ - comum: max=25, janela_ms=60000, escopo=usuario
1387
+ - premium: max=120, janela_ms=60000, escopo=usuario
1388
+ - informacoes_coletadas:
1389
+ - identificador do chat (remoteJid)
1390
+ - identificador do remetente (senderJid)
1391
+ - texto do comando e argumentos
1392
+ - contexto da mensagem (citacao e mencoes, quando existir)
1393
+ - lista de participantes mencionados/extraidos para promover
1394
+ - dependencias_externas:
1395
+ - API do WhatsApp (ações de grupo)
1396
+ - stores/configuração interna
1397
+ - efeitos_colaterais:
1398
+ - altera configurações de grupo e permissões
1399
+ - envia mensagens administrativas
1400
+ - respostas_padrao:
1401
+ - success: Comando executado com sucesso.
1402
+ - usage_error: Formato de uso inválido. Consulte metodos_de_uso.
1403
+ - permission_error: Permissão insuficiente para executar este comando.
1404
+ - sucesso: Comando executado com sucesso.
1405
+ - erro_uso: Formato de uso inválido. Consulte metodos_de_uso.
1406
+ - erro_permissao: Permissão insuficiente para executar este comando.
1407
+ - mensagens_sistema:
1408
+ - (nao informado)
1409
+ - limites_operacionais:
1410
+ - (nao informado)
1411
+ - opcoes:
1412
+ - toggle_on_off_status.type: toggle
1413
+ - toggle_on_off_status.allowed_actions: on, off, status
1414
+ - toggle_on_off_status.action_argument: acao
1415
+ - add_remove_list.type: list_management
1416
+ - add_remove_list.allowed_actions: add, remove, list
1417
+ - add_remove_list.action_argument: acao
1418
+ - approve_reject.type: moderation_decision
1419
+ - approve_reject.allowed_actions: approve, reject
1420
+ - approve_reject.action_argument: acao
1421
+ - approve_reject.requires_targets: true
1422
+ - set_status_reset.type: configuration_window
1423
+ - set_status_reset.allowed_actions: set, status, reset
1424
+ - set_status_reset.action_argument: valor
1425
+ - observabilidade:
1426
+ - event_name: command.executed
1427
+ - analytics_event: whatsapp_command_up
1428
+ - tags_log: whatsapp, command, adminModule, up
1429
+ - nivel_log: info
1430
+ - privacidade:
1431
+ - dados_sensiveis:
1432
+ - chat_identifier
1433
+ - sender_identifier
1434
+ - command_content
1435
+ - retencao: standard_app_logs
1436
+ - base_legal: service_execution_and_legitimate_interest
1437
+ - docs:
1438
+ - summary: Promove participantes a administradores do grupo.
1439
+ - usage_examples: <prefix>promover @participante
1440
+ - usage_variants.missing_targets: <prefix>promover @participante1 @participante2 ..., Também é possível informar os JIDs dos participantes.
1441
+ - behavior:
1442
+ - type: action_target
1443
+ - target_type: participant
1444
+ - action: promover
1445
+ - requires_targets: true
1446
+ - limits:
1447
+ - usage_description: depende de permissoes do WhatsApp
1448
+ - rate_limit.max: null
1449
+ - rate_limit.janela_ms: null
1450
+ - rate_limit.escopo: sem_rate_limit_explicito
1451
+ - access.somente_premium: false
1452
+ - access.planos_permitidos: comum, premium
1453
+ - plan_limits.comum.max: 25
1454
+ - plan_limits.comum.janela_ms: 60000
1455
+ - plan_limits.comum.escopo: usuario
1456
+ - plan_limits.premium.max: 120
1457
+ - plan_limits.premium.janela_ms: 60000
1458
+ - plan_limits.premium.escopo: usuario
1459
+ - discovery:
1460
+ - keywords: promover, admin, grupo
1461
+ - faq_queries: como usar promover, o que faz promover, comando promover
1462
+ - user_phrasings: quero usar promover, me ajuda com promover, promove participantes a administradores
1463
+ - suggestion_priority: 100
1464
+ - handler:
1465
+ - file: groupCommandHandlers.js
1466
+ - method: handleAdminCommand
1467
+ - command_case: up
1468
+
1469
+ ### rebaixar
1470
+
1471
+ - id: admin.rebaixar
1472
+ - aliases: down
1473
+ - enabled: true
1474
+ - categoria: admin
1475
+ - descricao: Rebaixa administradores para membros comuns.
1476
+ - permissao_necessaria: admin do grupo
1477
+ - version: 1.0.0
1478
+ - stability: stable
1479
+ - deprecated: nao
1480
+ - risk_level: high
1481
+ - local_de_uso:
1482
+ - grupo
1483
+ - metodos_de_uso:
1484
+ - <prefix>rebaixar @participante
1485
+ - mensagens_uso (variantes):
1486
+ - missing_targets:
1487
+ - <prefix>rebaixar @participante1 @participante2 ...
1488
+ - Também é possível informar os JIDs dos participantes.
1489
+ - subcomandos:
1490
+ - (nenhum)
1491
+ - argumentos:
1492
+ - participantes | tipo: array | obrigatorio | validacao: menções/JIDs válidos | default: null | posicao: 0
1493
+ - pre_condicoes:
1494
+ - requer_grupo: sim
1495
+ - requer_admin: sim
1496
+ - requer_admin_principal: nao
1497
+ - requer_google_login: sim
1498
+ - requer_nsfw: nao
1499
+ - requer_midia: nao
1500
+ - requer_mensagem_respondida: nao
1501
+ - rate_limit:
1502
+ - max: null
1503
+ - janela_ms: null
1504
+ - escopo: sem_rate_limit_explicito
1505
+ - acesso:
1506
+ - somente_premium: nao
1507
+ - planos_permitidos: comum, premium
1508
+ - limite_uso_por_plano:
1509
+ - comum: max=25, janela_ms=60000, escopo=usuario
1510
+ - premium: max=120, janela_ms=60000, escopo=usuario
1511
+ - informacoes_coletadas:
1512
+ - identificador do chat (remoteJid)
1513
+ - identificador do remetente (senderJid)
1514
+ - texto do comando e argumentos
1515
+ - contexto da mensagem (citacao e mencoes, quando existir)
1516
+ - lista de participantes mencionados/extraidos para rebaixar
1517
+ - dependencias_externas:
1518
+ - API do WhatsApp (ações de grupo)
1519
+ - stores/configuração interna
1520
+ - efeitos_colaterais:
1521
+ - altera configurações de grupo e permissões
1522
+ - envia mensagens administrativas
1523
+ - respostas_padrao:
1524
+ - success: Comando executado com sucesso.
1525
+ - usage_error: Formato de uso inválido. Consulte metodos_de_uso.
1526
+ - permission_error: Permissão insuficiente para executar este comando.
1527
+ - sucesso: Comando executado com sucesso.
1528
+ - erro_uso: Formato de uso inválido. Consulte metodos_de_uso.
1529
+ - erro_permissao: Permissão insuficiente para executar este comando.
1530
+ - mensagens_sistema:
1531
+ - (nao informado)
1532
+ - limites_operacionais:
1533
+ - (nao informado)
1534
+ - opcoes:
1535
+ - toggle_on_off_status.type: toggle
1536
+ - toggle_on_off_status.allowed_actions: on, off, status
1537
+ - toggle_on_off_status.action_argument: acao
1538
+ - add_remove_list.type: list_management
1539
+ - add_remove_list.allowed_actions: add, remove, list
1540
+ - add_remove_list.action_argument: acao
1541
+ - approve_reject.type: moderation_decision
1542
+ - approve_reject.allowed_actions: approve, reject
1543
+ - approve_reject.action_argument: acao
1544
+ - approve_reject.requires_targets: true
1545
+ - set_status_reset.type: configuration_window
1546
+ - set_status_reset.allowed_actions: set, status, reset
1547
+ - set_status_reset.action_argument: valor
1548
+ - observabilidade:
1549
+ - event_name: command.executed
1550
+ - analytics_event: whatsapp_command_down
1551
+ - tags_log: whatsapp, command, adminModule, down
1552
+ - nivel_log: info
1553
+ - privacidade:
1554
+ - dados_sensiveis:
1555
+ - chat_identifier
1556
+ - sender_identifier
1557
+ - command_content
1558
+ - retencao: standard_app_logs
1559
+ - base_legal: service_execution_and_legitimate_interest
1560
+ - docs:
1561
+ - summary: Rebaixa administradores para membros comuns.
1562
+ - usage_examples: <prefix>rebaixar @participante
1563
+ - usage_variants.missing_targets: <prefix>rebaixar @participante1 @participante2 ..., Também é possível informar os JIDs dos participantes.
1564
+ - behavior:
1565
+ - type: action_target
1566
+ - target_type: participant
1567
+ - action: rebaixar
1568
+ - requires_targets: true
1569
+ - limits:
1570
+ - usage_description: depende de permissoes do WhatsApp
1571
+ - rate_limit.max: null
1572
+ - rate_limit.janela_ms: null
1573
+ - rate_limit.escopo: sem_rate_limit_explicito
1574
+ - access.somente_premium: false
1575
+ - access.planos_permitidos: comum, premium
1576
+ - plan_limits.comum.max: 25
1577
+ - plan_limits.comum.janela_ms: 60000
1578
+ - plan_limits.comum.escopo: usuario
1579
+ - plan_limits.premium.max: 120
1580
+ - plan_limits.premium.janela_ms: 60000
1581
+ - plan_limits.premium.escopo: usuario
1582
+ - discovery:
1583
+ - keywords: rebaixar, admin, grupo
1584
+ - faq_queries: como usar rebaixar, o que faz rebaixar, comando rebaixar
1585
+ - user_phrasings: quero usar rebaixar, me ajuda com rebaixar, rebaixa administradores para membros
1586
+ - suggestion_priority: 100
1587
+ - handler:
1588
+ - file: groupCommandHandlers.js
1589
+ - method: handleAdminCommand
1590
+ - command_case: down
1591
+
1592
+ ### assunto
1593
+
1594
+ - id: admin.assunto
1595
+ - aliases: setsubject
1596
+ - enabled: true
1597
+ - categoria: admin
1598
+ - descricao: Altera assunto do grupo.
1599
+ - permissao_necessaria: admin do grupo
1600
+ - version: 1.0.0
1601
+ - stability: stable
1602
+ - deprecated: nao
1603
+ - risk_level: low
1604
+ - local_de_uso:
1605
+ - grupo
1606
+ - metodos_de_uso:
1607
+ - <prefix>assunto novo assunto
1608
+ - mensagens_uso (variantes):
1609
+ - default:
1610
+ - <prefix>assunto <novo_assunto>
1611
+ - subcomandos:
1612
+ - (nenhum)
1613
+ - argumentos:
1614
+ - assunto | tipo: string | obrigatorio | validacao: texto não vazio | default: null | posicao: 0
1615
+ - pre_condicoes:
1616
+ - requer_grupo: sim
1617
+ - requer_admin: sim
1618
+ - requer_admin_principal: nao
1619
+ - requer_google_login: sim
1620
+ - requer_nsfw: nao
1621
+ - requer_midia: nao
1622
+ - requer_mensagem_respondida: nao
1623
+ - rate_limit:
1624
+ - max: null
1625
+ - janela_ms: null
1626
+ - escopo: sem_rate_limit_explicito
1627
+ - acesso:
1628
+ - somente_premium: nao
1629
+ - planos_permitidos: comum, premium
1630
+ - limite_uso_por_plano:
1631
+ - comum: max=25, janela_ms=60000, escopo=usuario
1632
+ - premium: max=120, janela_ms=60000, escopo=usuario
1633
+ - informacoes_coletadas:
1634
+ - identificador do chat (remoteJid)
1635
+ - identificador do remetente (senderJid)
1636
+ - texto do comando e argumentos
1637
+ - contexto da mensagem (citacao e mencoes, quando existir)
1638
+ - novo assunto do grupo informado no comando
1639
+ - dependencias_externas:
1640
+ - API do WhatsApp (ações de grupo)
1641
+ - stores/configuração interna
1642
+ - efeitos_colaterais:
1643
+ - altera configurações de grupo e permissões
1644
+ - envia mensagens administrativas
1645
+ - respostas_padrao:
1646
+ - success: Comando executado com sucesso.
1647
+ - usage_error: Formato de uso inválido. Consulte metodos_de_uso.
1648
+ - permission_error: Permissão insuficiente para executar este comando.
1649
+ - sucesso: Comando executado com sucesso.
1650
+ - erro_uso: Formato de uso inválido. Consulte metodos_de_uso.
1651
+ - erro_permissao: Permissão insuficiente para executar este comando.
1652
+ - mensagens_sistema:
1653
+ - (nao informado)
1654
+ - limites_operacionais:
1655
+ - (nao informado)
1656
+ - opcoes:
1657
+ - toggle_on_off_status.type: toggle
1658
+ - toggle_on_off_status.allowed_actions: on, off, status
1659
+ - toggle_on_off_status.action_argument: acao
1660
+ - add_remove_list.type: list_management
1661
+ - add_remove_list.allowed_actions: add, remove, list
1662
+ - add_remove_list.action_argument: acao
1663
+ - approve_reject.type: moderation_decision
1664
+ - approve_reject.allowed_actions: approve, reject
1665
+ - approve_reject.action_argument: acao
1666
+ - approve_reject.requires_targets: true
1667
+ - set_status_reset.type: configuration_window
1668
+ - set_status_reset.allowed_actions: set, status, reset
1669
+ - set_status_reset.action_argument: valor
1670
+ - observabilidade:
1671
+ - event_name: command.executed
1672
+ - analytics_event: whatsapp_command_setsubject
1673
+ - tags_log: whatsapp, command, adminModule, setsubject
1674
+ - nivel_log: info
1675
+ - privacidade:
1676
+ - dados_sensiveis:
1677
+ - chat_identifier
1678
+ - sender_identifier
1679
+ - command_content
1680
+ - retencao: standard_app_logs
1681
+ - base_legal: service_execution_and_legitimate_interest
1682
+ - docs:
1683
+ - summary: Altera assunto do grupo.
1684
+ - usage_examples: <prefix>assunto novo assunto
1685
+ - usage_variants.default: <prefix>assunto <novo_assunto>
1686
+ - behavior:
1687
+ - type: argument_driven
1688
+ - argument_count: 1
1689
+ - limits:
1690
+ - usage_description: texto sujeito a limite do WhatsApp
1691
+ - rate_limit.max: null
1692
+ - rate_limit.janela_ms: null
1693
+ - rate_limit.escopo: sem_rate_limit_explicito
1694
+ - access.somente_premium: false
1695
+ - access.planos_permitidos: comum, premium
1696
+ - plan_limits.comum.max: 25
1697
+ - plan_limits.comum.janela_ms: 60000
1698
+ - plan_limits.comum.escopo: usuario
1699
+ - plan_limits.premium.max: 120
1700
+ - plan_limits.premium.janela_ms: 60000
1701
+ - plan_limits.premium.escopo: usuario
1702
+ - discovery:
1703
+ - keywords: assunto, admin, grupo
1704
+ - faq_queries: como usar assunto, o que faz assunto, comando assunto
1705
+ - user_phrasings: quero usar assunto, me ajuda com assunto, altera assunto do grupo.
1706
+ - suggestion_priority: 100
1707
+ - handler:
1708
+ - file: groupCommandHandlers.js
1709
+ - method: handleAdminCommand
1710
+ - command_case: setsubject
1711
+
1712
+ ### descricao
1713
+
1714
+ - id: admin.descricao
1715
+ - aliases: setdesc
1716
+ - enabled: true
1717
+ - categoria: admin
1718
+ - descricao: Altera descricao do grupo.
1719
+ - permissao_necessaria: admin do grupo
1720
+ - version: 1.0.0
1721
+ - stability: stable
1722
+ - deprecated: nao
1723
+ - risk_level: low
1724
+ - local_de_uso:
1725
+ - grupo
1726
+ - metodos_de_uso:
1727
+ - <prefix>descricao nova descricao
1728
+ - mensagens_uso (variantes):
1729
+ - default:
1730
+ - <prefix>descricao <nova_descricao>
1731
+ - subcomandos:
1732
+ - (nenhum)
1733
+ - argumentos:
1734
+ - descricao | tipo: string | obrigatorio | validacao: texto não vazio | default: null | posicao: 0
1735
+ - pre_condicoes:
1736
+ - requer_grupo: sim
1737
+ - requer_admin: sim
1738
+ - requer_admin_principal: nao
1739
+ - requer_google_login: sim
1740
+ - requer_nsfw: nao
1741
+ - requer_midia: nao
1742
+ - requer_mensagem_respondida: nao
1743
+ - rate_limit:
1744
+ - max: null
1745
+ - janela_ms: null
1746
+ - escopo: sem_rate_limit_explicito
1747
+ - acesso:
1748
+ - somente_premium: nao
1749
+ - planos_permitidos: comum, premium
1750
+ - limite_uso_por_plano:
1751
+ - comum: max=25, janela_ms=60000, escopo=usuario
1752
+ - premium: max=120, janela_ms=60000, escopo=usuario
1753
+ - informacoes_coletadas:
1754
+ - identificador do chat (remoteJid)
1755
+ - identificador do remetente (senderJid)
1756
+ - texto do comando e argumentos
1757
+ - contexto da mensagem (citacao e mencoes, quando existir)
1758
+ - nova descricao do grupo informada no comando
1759
+ - dependencias_externas:
1760
+ - API do WhatsApp (ações de grupo)
1761
+ - stores/configuração interna
1762
+ - efeitos_colaterais:
1763
+ - altera configurações de grupo e permissões
1764
+ - envia mensagens administrativas
1765
+ - respostas_padrao:
1766
+ - success: Comando executado com sucesso.
1767
+ - usage_error: Formato de uso inválido. Consulte metodos_de_uso.
1768
+ - permission_error: Permissão insuficiente para executar este comando.
1769
+ - sucesso: Comando executado com sucesso.
1770
+ - erro_uso: Formato de uso inválido. Consulte metodos_de_uso.
1771
+ - erro_permissao: Permissão insuficiente para executar este comando.
1772
+ - mensagens_sistema:
1773
+ - (nao informado)
1774
+ - limites_operacionais:
1775
+ - (nao informado)
1776
+ - opcoes:
1777
+ - toggle_on_off_status.type: toggle
1778
+ - toggle_on_off_status.allowed_actions: on, off, status
1779
+ - toggle_on_off_status.action_argument: acao
1780
+ - add_remove_list.type: list_management
1781
+ - add_remove_list.allowed_actions: add, remove, list
1782
+ - add_remove_list.action_argument: acao
1783
+ - approve_reject.type: moderation_decision
1784
+ - approve_reject.allowed_actions: approve, reject
1785
+ - approve_reject.action_argument: acao
1786
+ - approve_reject.requires_targets: true
1787
+ - set_status_reset.type: configuration_window
1788
+ - set_status_reset.allowed_actions: set, status, reset
1789
+ - set_status_reset.action_argument: valor
1790
+ - observabilidade:
1791
+ - event_name: command.executed
1792
+ - analytics_event: whatsapp_command_setdesc
1793
+ - tags_log: whatsapp, command, adminModule, setdesc
1794
+ - nivel_log: info
1795
+ - privacidade:
1796
+ - dados_sensiveis:
1797
+ - chat_identifier
1798
+ - sender_identifier
1799
+ - command_content
1800
+ - retencao: standard_app_logs
1801
+ - base_legal: service_execution_and_legitimate_interest
1802
+ - docs:
1803
+ - summary: Altera descricao do grupo.
1804
+ - usage_examples: <prefix>descricao nova descricao
1805
+ - usage_variants.default: <prefix>descricao <nova_descricao>
1806
+ - behavior:
1807
+ - type: argument_driven
1808
+ - argument_count: 1
1809
+ - limits:
1810
+ - usage_description: texto sujeito a limite do WhatsApp
1811
+ - rate_limit.max: null
1812
+ - rate_limit.janela_ms: null
1813
+ - rate_limit.escopo: sem_rate_limit_explicito
1814
+ - access.somente_premium: false
1815
+ - access.planos_permitidos: comum, premium
1816
+ - plan_limits.comum.max: 25
1817
+ - plan_limits.comum.janela_ms: 60000
1818
+ - plan_limits.comum.escopo: usuario
1819
+ - plan_limits.premium.max: 120
1820
+ - plan_limits.premium.janela_ms: 60000
1821
+ - plan_limits.premium.escopo: usuario
1822
+ - discovery:
1823
+ - keywords: descricao, admin, grupo
1824
+ - faq_queries: como usar descricao, o que faz descricao, comando descricao
1825
+ - user_phrasings: quero usar descricao, me ajuda com descricao, altera descricao do grupo.
1826
+ - suggestion_priority: 100
1827
+ - handler:
1828
+ - file: groupCommandHandlers.js
1829
+ - method: handleAdminCommand
1830
+ - command_case: setdesc
1831
+
1832
+ ### configgrupo
1833
+
1834
+ - id: admin.configgrupo
1835
+ - aliases: setgroup
1836
+ - enabled: true
1837
+ - categoria: admin
1838
+ - descricao: Define estado do grupo (anuncio/aberto/locked/unlocked).
1839
+ - permissao_necessaria: admin do grupo
1840
+ - version: 1.0.0
1841
+ - stability: stable
1842
+ - deprecated: nao
1843
+ - risk_level: high
1844
+ - local_de_uso:
1845
+ - grupo
1846
+ - metodos_de_uso:
1847
+ - <prefix>configgrupo announcement
1848
+ - <prefix>configgrupo not_announcement
1849
+ - <prefix>configgrupo locked
1850
+ - <prefix>configgrupo unlocked
1851
+ - mensagens_uso (variantes):
1852
+ - default:
1853
+ - <prefix>configgrupo <announcement|not_announcement|locked|unlocked>
1854
+ - subcomandos:
1855
+ - announcement
1856
+ - not_announcement
1857
+ - locked
1858
+ - unlocked
1859
+ - argumentos:
1860
+ - modo | tipo: string | obrigatorio | validacao: announcement|not_announcement|locked|unlocked | default: null | posicao: 0
1861
+ - pre_condicoes:
1862
+ - requer_grupo: sim
1863
+ - requer_admin: sim
1864
+ - requer_admin_principal: nao
1865
+ - requer_google_login: sim
1866
+ - requer_nsfw: nao
1867
+ - requer_midia: nao
1868
+ - requer_mensagem_respondida: nao
1869
+ - rate_limit:
1870
+ - max: null
1871
+ - janela_ms: null
1872
+ - escopo: sem_rate_limit_explicito
1873
+ - acesso:
1874
+ - somente_premium: nao
1875
+ - planos_permitidos: comum, premium
1876
+ - limite_uso_por_plano:
1877
+ - comum: max=25, janela_ms=60000, escopo=usuario
1878
+ - premium: max=120, janela_ms=60000, escopo=usuario
1879
+ - informacoes_coletadas:
1880
+ - identificador do chat (remoteJid)
1881
+ - identificador do remetente (senderJid)
1882
+ - texto do comando e argumentos
1883
+ - contexto da mensagem (citacao e mencoes, quando existir)
1884
+ - modo de configuracao do grupo (announcement/locked etc.)
1885
+ - dependencias_externas:
1886
+ - API do WhatsApp (ações de grupo)
1887
+ - stores/configuração interna
1888
+ - efeitos_colaterais:
1889
+ - altera configurações de grupo e permissões
1890
+ - envia mensagens administrativas
1891
+ - respostas_padrao:
1892
+ - success: Comando executado com sucesso.
1893
+ - usage_error: Formato de uso inválido. Consulte metodos_de_uso.
1894
+ - permission_error: Permissão insuficiente para executar este comando.
1895
+ - sucesso: Comando executado com sucesso.
1896
+ - erro_uso: Formato de uso inválido. Consulte metodos_de_uso.
1897
+ - erro_permissao: Permissão insuficiente para executar este comando.
1898
+ - mensagens_sistema:
1899
+ - (nao informado)
1900
+ - limites_operacionais:
1901
+ - (nao informado)
1902
+ - opcoes:
1903
+ - toggle_on_off_status.type: toggle
1904
+ - toggle_on_off_status.allowed_actions: on, off, status
1905
+ - toggle_on_off_status.action_argument: acao
1906
+ - add_remove_list.type: list_management
1907
+ - add_remove_list.allowed_actions: add, remove, list
1908
+ - add_remove_list.action_argument: acao
1909
+ - approve_reject.type: moderation_decision
1910
+ - approve_reject.allowed_actions: approve, reject
1911
+ - approve_reject.action_argument: acao
1912
+ - approve_reject.requires_targets: true
1913
+ - set_status_reset.type: configuration_window
1914
+ - set_status_reset.allowed_actions: set, status, reset
1915
+ - set_status_reset.action_argument: valor
1916
+ - observabilidade:
1917
+ - event_name: command.executed
1918
+ - analytics_event: whatsapp_command_setgroup
1919
+ - tags_log: whatsapp, command, adminModule, setgroup
1920
+ - nivel_log: info
1921
+ - privacidade:
1922
+ - dados_sensiveis:
1923
+ - chat_identifier
1924
+ - sender_identifier
1925
+ - command_content
1926
+ - retencao: standard_app_logs
1927
+ - base_legal: service_execution_and_legitimate_interest
1928
+ - docs:
1929
+ - summary: Define estado do grupo (anuncio/aberto/locked/unlocked).
1930
+ - usage_examples: <prefix>configgrupo announcement, <prefix>configgrupo not_announcement, <prefix>configgrupo locked, <prefix>configgrupo unlocked
1931
+ - usage_variants.default: <prefix>configgrupo <announcement|not_announcement|locked|unlocked>
1932
+ - behavior:
1933
+ - type: subcommand
1934
+ - allowed_actions: announcement, not_announcement, locked, unlocked
1935
+ - action_argument: acao
1936
+ - limits:
1937
+ - usage_description: apenas modos suportados
1938
+ - rate_limit.max: null
1939
+ - rate_limit.janela_ms: null
1940
+ - rate_limit.escopo: sem_rate_limit_explicito
1941
+ - access.somente_premium: false
1942
+ - access.planos_permitidos: comum, premium
1943
+ - plan_limits.comum.max: 25
1944
+ - plan_limits.comum.janela_ms: 60000
1945
+ - plan_limits.comum.escopo: usuario
1946
+ - plan_limits.premium.max: 120
1947
+ - plan_limits.premium.janela_ms: 60000
1948
+ - plan_limits.premium.escopo: usuario
1949
+ - discovery:
1950
+ - keywords: configgrupo, admin, grupo
1951
+ - faq_queries: como usar configgrupo, o que faz configgrupo, comando configgrupo
1952
+ - user_phrasings: quero usar configgrupo, me ajuda com configgrupo, define estado do grupo
1953
+ - suggestion_priority: 100
1954
+ - handler:
1955
+ - file: groupCommandHandlers.js
1956
+ - method: handleAdminCommand
1957
+ - command_case: setgroup
1958
+
1959
+ ### sair
1960
+
1961
+ - id: admin.sair
1962
+ - aliases: leave
1963
+ - enabled: true
1964
+ - categoria: admin
1965
+ - descricao: Faz o bot sair do grupo.
1966
+ - permissao_necessaria: admin do grupo
1967
+ - version: 1.0.0
1968
+ - stability: stable
1969
+ - deprecated: nao
1970
+ - risk_level: high
1971
+ - local_de_uso:
1972
+ - grupo
1973
+ - metodos_de_uso:
1974
+ - <prefix>sair
1975
+ - mensagens_uso (variantes):
1976
+ - (nenhum)
1977
+ - subcomandos:
1978
+ - (nenhum)
1979
+ - argumentos:
1980
+ - (nenhum)
1981
+ - pre_condicoes:
1982
+ - requer_grupo: sim
1983
+ - requer_admin: sim
1984
+ - requer_admin_principal: nao
1985
+ - requer_google_login: sim
1986
+ - requer_nsfw: nao
1987
+ - requer_midia: nao
1988
+ - requer_mensagem_respondida: nao
1989
+ - rate_limit:
1990
+ - max: null
1991
+ - janela_ms: null
1992
+ - escopo: sem_rate_limit_explicito
1993
+ - acesso:
1994
+ - somente_premium: nao
1995
+ - planos_permitidos: comum, premium
1996
+ - limite_uso_por_plano:
1997
+ - comum: max=25, janela_ms=60000, escopo=usuario
1998
+ - premium: max=120, janela_ms=60000, escopo=usuario
1999
+ - informacoes_coletadas:
2000
+ - identificador do chat (remoteJid)
2001
+ - identificador do remetente (senderJid)
2002
+ - texto do comando e argumentos
2003
+ - contexto da mensagem (citacao e mencoes, quando existir)
2004
+ - id do grupo atual para saida do bot
2005
+ - dependencias_externas:
2006
+ - API do WhatsApp (ações de grupo)
2007
+ - stores/configuração interna
2008
+ - efeitos_colaterais:
2009
+ - altera configurações de grupo e permissões
2010
+ - envia mensagens administrativas
2011
+ - respostas_padrao:
2012
+ - success: Comando executado com sucesso.
2013
+ - usage_error: Formato de uso inválido. Consulte metodos_de_uso.
2014
+ - permission_error: Permissão insuficiente para executar este comando.
2015
+ - sucesso: Comando executado com sucesso.
2016
+ - erro_uso: Formato de uso inválido. Consulte metodos_de_uso.
2017
+ - erro_permissao: Permissão insuficiente para executar este comando.
2018
+ - mensagens_sistema:
2019
+ - (nao informado)
2020
+ - limites_operacionais:
2021
+ - (nao informado)
2022
+ - opcoes:
2023
+ - toggle_on_off_status.type: toggle
2024
+ - toggle_on_off_status.allowed_actions: on, off, status
2025
+ - toggle_on_off_status.action_argument: acao
2026
+ - add_remove_list.type: list_management
2027
+ - add_remove_list.allowed_actions: add, remove, list
2028
+ - add_remove_list.action_argument: acao
2029
+ - approve_reject.type: moderation_decision
2030
+ - approve_reject.allowed_actions: approve, reject
2031
+ - approve_reject.action_argument: acao
2032
+ - approve_reject.requires_targets: true
2033
+ - set_status_reset.type: configuration_window
2034
+ - set_status_reset.allowed_actions: set, status, reset
2035
+ - set_status_reset.action_argument: valor
2036
+ - observabilidade:
2037
+ - event_name: command.executed
2038
+ - analytics_event: whatsapp_command_leave
2039
+ - tags_log: whatsapp, command, adminModule, leave
2040
+ - nivel_log: info
2041
+ - privacidade:
2042
+ - dados_sensiveis:
2043
+ - chat_identifier
2044
+ - sender_identifier
2045
+ - command_content
2046
+ - retencao: standard_app_logs
2047
+ - base_legal: service_execution_and_legitimate_interest
2048
+ - docs:
2049
+ - summary: Faz o bot sair do grupo.
2050
+ - usage_examples: <prefix>sair
2051
+ - behavior:
2052
+ - type: single_action
2053
+ - argument_count: 0
2054
+ - limits:
2055
+ - usage_description: sem limite especifico
2056
+ - rate_limit.max: null
2057
+ - rate_limit.janela_ms: null
2058
+ - rate_limit.escopo: sem_rate_limit_explicito
2059
+ - access.somente_premium: false
2060
+ - access.planos_permitidos: comum, premium
2061
+ - plan_limits.comum.max: 25
2062
+ - plan_limits.comum.janela_ms: 60000
2063
+ - plan_limits.comum.escopo: usuario
2064
+ - plan_limits.premium.max: 120
2065
+ - plan_limits.premium.janela_ms: 60000
2066
+ - plan_limits.premium.escopo: usuario
2067
+ - discovery:
2068
+ - keywords: sair, admin, grupo
2069
+ - faq_queries: como usar sair, o que faz sair, comando sair
2070
+ - user_phrasings: quero usar sair, me ajuda com sair, faz o bot sair
2071
+ - suggestion_priority: 100
2072
+ - handler:
2073
+ - file: groupCommandHandlers.js
2074
+ - method: handleAdminCommand
2075
+ - command_case: leave
2076
+
2077
+ ### convite
2078
+
2079
+ - id: admin.convite
2080
+ - aliases: invite
2081
+ - enabled: true
2082
+ - categoria: admin
2083
+ - descricao: Mostra codigo de convite atual do grupo.
2084
+ - permissao_necessaria: admin do grupo
2085
+ - version: 1.0.0
2086
+ - stability: stable
2087
+ - deprecated: nao
2088
+ - risk_level: low
2089
+ - local_de_uso:
2090
+ - grupo
2091
+ - metodos_de_uso:
2092
+ - <prefix>convite
2093
+ - mensagens_uso (variantes):
2094
+ - (nenhum)
2095
+ - subcomandos:
2096
+ - (nenhum)
2097
+ - argumentos:
2098
+ - (nenhum)
2099
+ - pre_condicoes:
2100
+ - requer_grupo: sim
2101
+ - requer_admin: sim
2102
+ - requer_admin_principal: nao
2103
+ - requer_google_login: sim
2104
+ - requer_nsfw: nao
2105
+ - requer_midia: nao
2106
+ - requer_mensagem_respondida: nao
2107
+ - rate_limit:
2108
+ - max: null
2109
+ - janela_ms: null
2110
+ - escopo: sem_rate_limit_explicito
2111
+ - acesso:
2112
+ - somente_premium: nao
2113
+ - planos_permitidos: comum, premium
2114
+ - limite_uso_por_plano:
2115
+ - comum: max=25, janela_ms=60000, escopo=usuario
2116
+ - premium: max=120, janela_ms=60000, escopo=usuario
2117
+ - informacoes_coletadas:
2118
+ - identificador do chat (remoteJid)
2119
+ - identificador do remetente (senderJid)
2120
+ - texto do comando e argumentos
2121
+ - contexto da mensagem (citacao e mencoes, quando existir)
2122
+ - id do grupo para obter codigo de convite
2123
+ - dependencias_externas:
2124
+ - API do WhatsApp (ações de grupo)
2125
+ - stores/configuração interna
2126
+ - efeitos_colaterais:
2127
+ - altera configurações de grupo e permissões
2128
+ - envia mensagens administrativas
2129
+ - respostas_padrao:
2130
+ - success: Comando executado com sucesso.
2131
+ - usage_error: Formato de uso inválido. Consulte metodos_de_uso.
2132
+ - permission_error: Permissão insuficiente para executar este comando.
2133
+ - sucesso: Comando executado com sucesso.
2134
+ - erro_uso: Formato de uso inválido. Consulte metodos_de_uso.
2135
+ - erro_permissao: Permissão insuficiente para executar este comando.
2136
+ - mensagens_sistema:
2137
+ - (nao informado)
2138
+ - limites_operacionais:
2139
+ - (nao informado)
2140
+ - opcoes:
2141
+ - toggle_on_off_status.type: toggle
2142
+ - toggle_on_off_status.allowed_actions: on, off, status
2143
+ - toggle_on_off_status.action_argument: acao
2144
+ - add_remove_list.type: list_management
2145
+ - add_remove_list.allowed_actions: add, remove, list
2146
+ - add_remove_list.action_argument: acao
2147
+ - approve_reject.type: moderation_decision
2148
+ - approve_reject.allowed_actions: approve, reject
2149
+ - approve_reject.action_argument: acao
2150
+ - approve_reject.requires_targets: true
2151
+ - set_status_reset.type: configuration_window
2152
+ - set_status_reset.allowed_actions: set, status, reset
2153
+ - set_status_reset.action_argument: valor
2154
+ - observabilidade:
2155
+ - event_name: command.executed
2156
+ - analytics_event: whatsapp_command_invite
2157
+ - tags_log: whatsapp, command, adminModule, invite
2158
+ - nivel_log: info
2159
+ - privacidade:
2160
+ - dados_sensiveis:
2161
+ - chat_identifier
2162
+ - sender_identifier
2163
+ - command_content
2164
+ - retencao: standard_app_logs
2165
+ - base_legal: service_execution_and_legitimate_interest
2166
+ - docs:
2167
+ - summary: Mostra codigo de convite atual do grupo.
2168
+ - usage_examples: <prefix>convite
2169
+ - behavior:
2170
+ - type: single_action
2171
+ - argument_count: 0
2172
+ - limits:
2173
+ - usage_description: sem limite especifico
2174
+ - rate_limit.max: null
2175
+ - rate_limit.janela_ms: null
2176
+ - rate_limit.escopo: sem_rate_limit_explicito
2177
+ - access.somente_premium: false
2178
+ - access.planos_permitidos: comum, premium
2179
+ - plan_limits.comum.max: 25
2180
+ - plan_limits.comum.janela_ms: 60000
2181
+ - plan_limits.comum.escopo: usuario
2182
+ - plan_limits.premium.max: 120
2183
+ - plan_limits.premium.janela_ms: 60000
2184
+ - plan_limits.premium.escopo: usuario
2185
+ - discovery:
2186
+ - keywords: convite, admin, grupo
2187
+ - faq_queries: como usar convite, o que faz convite, comando convite
2188
+ - user_phrasings: quero usar convite, me ajuda com convite, mostra codigo de convite
2189
+ - suggestion_priority: 100
2190
+ - handler:
2191
+ - file: groupCommandHandlers.js
2192
+ - method: handleAdminCommand
2193
+ - command_case: invite
2194
+
2195
+ ### revogarconvite
2196
+
2197
+ - id: admin.revogarconvite
2198
+ - aliases: revoke
2199
+ - enabled: true
2200
+ - categoria: admin
2201
+ - descricao: Revoga o codigo de convite e gera novo codigo.
2202
+ - permissao_necessaria: admin do grupo
2203
+ - version: 1.0.0
2204
+ - stability: stable
2205
+ - deprecated: nao
2206
+ - risk_level: high
2207
+ - local_de_uso:
2208
+ - grupo
2209
+ - metodos_de_uso:
2210
+ - <prefix>revogarconvite
2211
+ - mensagens_uso (variantes):
2212
+ - (nenhum)
2213
+ - subcomandos:
2214
+ - (nenhum)
2215
+ - argumentos:
2216
+ - (nenhum)
2217
+ - pre_condicoes:
2218
+ - requer_grupo: sim
2219
+ - requer_admin: sim
2220
+ - requer_admin_principal: nao
2221
+ - requer_google_login: sim
2222
+ - requer_nsfw: nao
2223
+ - requer_midia: nao
2224
+ - requer_mensagem_respondida: nao
2225
+ - rate_limit:
2226
+ - max: null
2227
+ - janela_ms: null
2228
+ - escopo: sem_rate_limit_explicito
2229
+ - acesso:
2230
+ - somente_premium: nao
2231
+ - planos_permitidos: comum, premium
2232
+ - limite_uso_por_plano:
2233
+ - comum: max=25, janela_ms=60000, escopo=usuario
2234
+ - premium: max=120, janela_ms=60000, escopo=usuario
2235
+ - informacoes_coletadas:
2236
+ - identificador do chat (remoteJid)
2237
+ - identificador do remetente (senderJid)
2238
+ - texto do comando e argumentos
2239
+ - contexto da mensagem (citacao e mencoes, quando existir)
2240
+ - id do grupo para revogar codigo de convite
2241
+ - dependencias_externas:
2242
+ - API do WhatsApp (ações de grupo)
2243
+ - stores/configuração interna
2244
+ - efeitos_colaterais:
2245
+ - altera configurações de grupo e permissões
2246
+ - envia mensagens administrativas
2247
+ - respostas_padrao:
2248
+ - success: Comando executado com sucesso.
2249
+ - usage_error: Formato de uso inválido. Consulte metodos_de_uso.
2250
+ - permission_error: Permissão insuficiente para executar este comando.
2251
+ - sucesso: Comando executado com sucesso.
2252
+ - erro_uso: Formato de uso inválido. Consulte metodos_de_uso.
2253
+ - erro_permissao: Permissão insuficiente para executar este comando.
2254
+ - mensagens_sistema:
2255
+ - (nao informado)
2256
+ - limites_operacionais:
2257
+ - (nao informado)
2258
+ - opcoes:
2259
+ - toggle_on_off_status.type: toggle
2260
+ - toggle_on_off_status.allowed_actions: on, off, status
2261
+ - toggle_on_off_status.action_argument: acao
2262
+ - add_remove_list.type: list_management
2263
+ - add_remove_list.allowed_actions: add, remove, list
2264
+ - add_remove_list.action_argument: acao
2265
+ - approve_reject.type: moderation_decision
2266
+ - approve_reject.allowed_actions: approve, reject
2267
+ - approve_reject.action_argument: acao
2268
+ - approve_reject.requires_targets: true
2269
+ - set_status_reset.type: configuration_window
2270
+ - set_status_reset.allowed_actions: set, status, reset
2271
+ - set_status_reset.action_argument: valor
2272
+ - observabilidade:
2273
+ - event_name: command.executed
2274
+ - analytics_event: whatsapp_command_revoke
2275
+ - tags_log: whatsapp, command, adminModule, revoke
2276
+ - nivel_log: info
2277
+ - privacidade:
2278
+ - dados_sensiveis:
2279
+ - chat_identifier
2280
+ - sender_identifier
2281
+ - command_content
2282
+ - retencao: standard_app_logs
2283
+ - base_legal: service_execution_and_legitimate_interest
2284
+ - docs:
2285
+ - summary: Revoga o codigo de convite e gera novo codigo.
2286
+ - usage_examples: <prefix>revogarconvite
2287
+ - behavior:
2288
+ - type: single_action
2289
+ - argument_count: 0
2290
+ - limits:
2291
+ - usage_description: sem limite especifico
2292
+ - rate_limit.max: null
2293
+ - rate_limit.janela_ms: null
2294
+ - rate_limit.escopo: sem_rate_limit_explicito
2295
+ - access.somente_premium: false
2296
+ - access.planos_permitidos: comum, premium
2297
+ - plan_limits.comum.max: 25
2298
+ - plan_limits.comum.janela_ms: 60000
2299
+ - plan_limits.comum.escopo: usuario
2300
+ - plan_limits.premium.max: 120
2301
+ - plan_limits.premium.janela_ms: 60000
2302
+ - plan_limits.premium.escopo: usuario
2303
+ - discovery:
2304
+ - keywords: revogarconvite, admin, grupo
2305
+ - faq_queries: como usar revogarconvite, o que faz revogarconvite, comando revogarconvite
2306
+ - user_phrasings: quero usar revogarconvite, me ajuda com revogarconvite, revoga o codigo de
2307
+ - suggestion_priority: 100
2308
+ - handler:
2309
+ - file: groupCommandHandlers.js
2310
+ - method: handleAdminCommand
2311
+ - command_case: revoke
2312
+
2313
+ ### entrar
2314
+
2315
+ - id: admin.entrar
2316
+ - aliases: join
2317
+ - enabled: true
2318
+ - categoria: admin
2319
+ - descricao: Faz o bot entrar em grupo por codigo de convite.
2320
+ - permissao_necessaria: usuario comum
2321
+ - version: 1.0.0
2322
+ - stability: stable
2323
+ - deprecated: nao
2324
+ - risk_level: low
2325
+ - local_de_uso:
2326
+ - privado
2327
+ - grupo
2328
+ - metodos_de_uso:
2329
+ - <prefix>entrar <codigo_de_convite>
2330
+ - mensagens_uso (variantes):
2331
+ - (nenhum)
2332
+ - subcomandos:
2333
+ - (nenhum)
2334
+ - argumentos:
2335
+ - codigo_convite | tipo: string | obrigatorio | validacao: token de convite válido | default: null | posicao: 0
2336
+ - pre_condicoes:
2337
+ - requer_grupo: nao
2338
+ - requer_admin: nao
2339
+ - requer_admin_principal: nao
2340
+ - requer_google_login: sim
2341
+ - requer_nsfw: nao
2342
+ - requer_midia: nao
2343
+ - requer_mensagem_respondida: nao
2344
+ - rate_limit:
2345
+ - max: null
2346
+ - janela_ms: null
2347
+ - escopo: sem_rate_limit_explicito
2348
+ - acesso:
2349
+ - somente_premium: nao
2350
+ - planos_permitidos: comum, premium
2351
+ - limite_uso_por_plano:
2352
+ - comum: max=25, janela_ms=60000, escopo=usuario
2353
+ - premium: max=120, janela_ms=60000, escopo=usuario
2354
+ - informacoes_coletadas:
2355
+ - identificador do chat (remoteJid)
2356
+ - identificador do remetente (senderJid)
2357
+ - texto do comando e argumentos
2358
+ - contexto da mensagem (citacao e mencoes, quando existir)
2359
+ - codigo de convite informado no argumento
2360
+ - dependencias_externas:
2361
+ - API do WhatsApp (ações de grupo)
2362
+ - stores/configuração interna
2363
+ - efeitos_colaterais:
2364
+ - altera configurações de grupo e permissões
2365
+ - envia mensagens administrativas
2366
+ - respostas_padrao:
2367
+ - success: Comando executado com sucesso.
2368
+ - usage_error: Formato de uso inválido. Consulte metodos_de_uso.
2369
+ - permission_error: Permissão insuficiente para executar este comando.
2370
+ - sucesso: Comando executado com sucesso.
2371
+ - erro_uso: Formato de uso inválido. Consulte metodos_de_uso.
2372
+ - erro_permissao: Permissão insuficiente para executar este comando.
2373
+ - mensagens_sistema:
2374
+ - (nao informado)
2375
+ - limites_operacionais:
2376
+ - (nao informado)
2377
+ - opcoes:
2378
+ - toggle_on_off_status.type: toggle
2379
+ - toggle_on_off_status.allowed_actions: on, off, status
2380
+ - toggle_on_off_status.action_argument: acao
2381
+ - add_remove_list.type: list_management
2382
+ - add_remove_list.allowed_actions: add, remove, list
2383
+ - add_remove_list.action_argument: acao
2384
+ - approve_reject.type: moderation_decision
2385
+ - approve_reject.allowed_actions: approve, reject
2386
+ - approve_reject.action_argument: acao
2387
+ - approve_reject.requires_targets: true
2388
+ - set_status_reset.type: configuration_window
2389
+ - set_status_reset.allowed_actions: set, status, reset
2390
+ - set_status_reset.action_argument: valor
2391
+ - observabilidade:
2392
+ - event_name: command.executed
2393
+ - analytics_event: whatsapp_command_join
2394
+ - tags_log: whatsapp, command, adminModule, join
2395
+ - nivel_log: info
2396
+ - privacidade:
2397
+ - dados_sensiveis:
2398
+ - chat_identifier
2399
+ - sender_identifier
2400
+ - command_content
2401
+ - retencao: standard_app_logs
2402
+ - base_legal: service_execution_and_legitimate_interest
2403
+ - docs:
2404
+ - summary: Faz o bot entrar em grupo por codigo de convite.
2405
+ - usage_examples: <prefix>entrar <codigo_de_convite>
2406
+ - behavior:
2407
+ - type: argument_driven
2408
+ - argument_count: 1
2409
+ - limits:
2410
+ - usage_description: codigo valido obrigatorio
2411
+ - rate_limit.max: null
2412
+ - rate_limit.janela_ms: null
2413
+ - rate_limit.escopo: sem_rate_limit_explicito
2414
+ - access.somente_premium: false
2415
+ - access.planos_permitidos: comum, premium
2416
+ - plan_limits.comum.max: 25
2417
+ - plan_limits.comum.janela_ms: 60000
2418
+ - plan_limits.comum.escopo: usuario
2419
+ - plan_limits.premium.max: 120
2420
+ - plan_limits.premium.janela_ms: 60000
2421
+ - plan_limits.premium.escopo: usuario
2422
+ - discovery:
2423
+ - keywords: entrar, admin, privado, grupo
2424
+ - faq_queries: como usar entrar, o que faz entrar, comando entrar
2425
+ - user_phrasings: quero usar entrar, me ajuda com entrar, faz o bot entrar
2426
+ - suggestion_priority: 100
2427
+ - handler:
2428
+ - file: groupCommandHandlers.js
2429
+ - method: handleAdminCommand
2430
+ - command_case: join
2431
+
2432
+ ### infoconvite
2433
+
2434
+ - id: admin.infoconvite
2435
+ - aliases: infofrominvite
2436
+ - enabled: true
2437
+ - categoria: admin
2438
+ - descricao: Consulta dados de um grupo usando codigo de convite.
2439
+ - permissao_necessaria: usuario comum
2440
+ - version: 1.0.0
2441
+ - stability: stable
2442
+ - deprecated: nao
2443
+ - risk_level: low
2444
+ - local_de_uso:
2445
+ - privado
2446
+ - grupo
2447
+ - metodos_de_uso:
2448
+ - <prefix>infoconvite <codigo_de_convite>
2449
+ - mensagens_uso (variantes):
2450
+ - (nenhum)
2451
+ - subcomandos:
2452
+ - (nenhum)
2453
+ - argumentos:
2454
+ - codigo_convite | tipo: string | obrigatorio | validacao: token de convite válido | default: null | posicao: 0
2455
+ - pre_condicoes:
2456
+ - requer_grupo: nao
2457
+ - requer_admin: nao
2458
+ - requer_admin_principal: nao
2459
+ - requer_google_login: sim
2460
+ - requer_nsfw: nao
2461
+ - requer_midia: nao
2462
+ - requer_mensagem_respondida: nao
2463
+ - rate_limit:
2464
+ - max: null
2465
+ - janela_ms: null
2466
+ - escopo: sem_rate_limit_explicito
2467
+ - acesso:
2468
+ - somente_premium: nao
2469
+ - planos_permitidos: comum, premium
2470
+ - limite_uso_por_plano:
2471
+ - comum: max=25, janela_ms=60000, escopo=usuario
2472
+ - premium: max=120, janela_ms=60000, escopo=usuario
2473
+ - informacoes_coletadas:
2474
+ - identificador do chat (remoteJid)
2475
+ - identificador do remetente (senderJid)
2476
+ - texto do comando e argumentos
2477
+ - contexto da mensagem (citacao e mencoes, quando existir)
2478
+ - codigo de convite para consulta de metadados
2479
+ - dependencias_externas:
2480
+ - API do WhatsApp (ações de grupo)
2481
+ - stores/configuração interna
2482
+ - efeitos_colaterais:
2483
+ - altera configurações de grupo e permissões
2484
+ - envia mensagens administrativas
2485
+ - respostas_padrao:
2486
+ - success: Comando executado com sucesso.
2487
+ - usage_error: Formato de uso inválido. Consulte metodos_de_uso.
2488
+ - permission_error: Permissão insuficiente para executar este comando.
2489
+ - sucesso: Comando executado com sucesso.
2490
+ - erro_uso: Formato de uso inválido. Consulte metodos_de_uso.
2491
+ - erro_permissao: Permissão insuficiente para executar este comando.
2492
+ - mensagens_sistema:
2493
+ - (nao informado)
2494
+ - limites_operacionais:
2495
+ - (nao informado)
2496
+ - opcoes:
2497
+ - toggle_on_off_status.type: toggle
2498
+ - toggle_on_off_status.allowed_actions: on, off, status
2499
+ - toggle_on_off_status.action_argument: acao
2500
+ - add_remove_list.type: list_management
2501
+ - add_remove_list.allowed_actions: add, remove, list
2502
+ - add_remove_list.action_argument: acao
2503
+ - approve_reject.type: moderation_decision
2504
+ - approve_reject.allowed_actions: approve, reject
2505
+ - approve_reject.action_argument: acao
2506
+ - approve_reject.requires_targets: true
2507
+ - set_status_reset.type: configuration_window
2508
+ - set_status_reset.allowed_actions: set, status, reset
2509
+ - set_status_reset.action_argument: valor
2510
+ - observabilidade:
2511
+ - event_name: command.executed
2512
+ - analytics_event: whatsapp_command_infofrominvite
2513
+ - tags_log: whatsapp, command, adminModule, infofrominvite
2514
+ - nivel_log: info
2515
+ - privacidade:
2516
+ - dados_sensiveis:
2517
+ - chat_identifier
2518
+ - sender_identifier
2519
+ - command_content
2520
+ - retencao: standard_app_logs
2521
+ - base_legal: service_execution_and_legitimate_interest
2522
+ - docs:
2523
+ - summary: Consulta dados de um grupo usando codigo de convite.
2524
+ - usage_examples: <prefix>infoconvite <codigo_de_convite>
2525
+ - behavior:
2526
+ - type: argument_driven
2527
+ - argument_count: 1
2528
+ - limits:
2529
+ - usage_description: codigo valido obrigatorio
2530
+ - rate_limit.max: null
2531
+ - rate_limit.janela_ms: null
2532
+ - rate_limit.escopo: sem_rate_limit_explicito
2533
+ - access.somente_premium: false
2534
+ - access.planos_permitidos: comum, premium
2535
+ - plan_limits.comum.max: 25
2536
+ - plan_limits.comum.janela_ms: 60000
2537
+ - plan_limits.comum.escopo: usuario
2538
+ - plan_limits.premium.max: 120
2539
+ - plan_limits.premium.janela_ms: 60000
2540
+ - plan_limits.premium.escopo: usuario
2541
+ - discovery:
2542
+ - keywords: infoconvite, admin, privado, grupo
2543
+ - faq_queries: como usar infoconvite, o que faz infoconvite, comando infoconvite
2544
+ - user_phrasings: quero usar infoconvite, me ajuda com infoconvite, consulta dados de um
2545
+ - suggestion_priority: 100
2546
+ - handler:
2547
+ - file: groupCommandHandlers.js
2548
+ - method: handleAdminCommand
2549
+ - command_case: infofrominvite
2550
+
2551
+ ### metadados
2552
+
2553
+ - id: admin.metadados
2554
+ - aliases: metadata
2555
+ - enabled: true
2556
+ - categoria: admin
2557
+ - descricao: Retorna metadados de um grupo informado ou do grupo atual.
2558
+ - permissao_necessaria: admin do grupo alvo
2559
+ - version: 1.0.0
2560
+ - stability: stable
2561
+ - deprecated: nao
2562
+ - risk_level: low
2563
+ - local_de_uso:
2564
+ - privado
2565
+ - grupo
2566
+ - metodos_de_uso:
2567
+ - <prefix>metadados
2568
+ - <prefix>metadados <group_jid>
2569
+ - mensagens_uso (variantes):
2570
+ - (nenhum)
2571
+ - subcomandos:
2572
+ - (nenhum)
2573
+ - argumentos:
2574
+ - group_id | tipo: string | opcional | validacao: JID de grupo válido | default: null | posicao: 0
2575
+ - pre_condicoes:
2576
+ - requer_grupo: nao
2577
+ - requer_admin: sim
2578
+ - requer_admin_principal: nao
2579
+ - requer_google_login: sim
2580
+ - requer_nsfw: nao
2581
+ - requer_midia: nao
2582
+ - requer_mensagem_respondida: nao
2583
+ - rate_limit:
2584
+ - max: null
2585
+ - janela_ms: null
2586
+ - escopo: sem_rate_limit_explicito
2587
+ - acesso:
2588
+ - somente_premium: nao
2589
+ - planos_permitidos: comum, premium
2590
+ - limite_uso_por_plano:
2591
+ - comum: max=25, janela_ms=60000, escopo=usuario
2592
+ - premium: max=120, janela_ms=60000, escopo=usuario
2593
+ - informacoes_coletadas:
2594
+ - identificador do chat (remoteJid)
2595
+ - identificador do remetente (senderJid)
2596
+ - texto do comando e argumentos
2597
+ - contexto da mensagem (citacao e mencoes, quando existir)
2598
+ - id do grupo alvo (argumento ou grupo atual)
2599
+ - metadados do grupo retornados pela API do WhatsApp
2600
+ - dependencias_externas:
2601
+ - API do WhatsApp (ações de grupo)
2602
+ - stores/configuração interna
2603
+ - efeitos_colaterais:
2604
+ - altera configurações de grupo e permissões
2605
+ - envia mensagens administrativas
2606
+ - respostas_padrao:
2607
+ - success: Comando executado com sucesso.
2608
+ - usage_error: Formato de uso inválido. Consulte metodos_de_uso.
2609
+ - permission_error: Permissão insuficiente para executar este comando.
2610
+ - sucesso: Comando executado com sucesso.
2611
+ - erro_uso: Formato de uso inválido. Consulte metodos_de_uso.
2612
+ - erro_permissao: Permissão insuficiente para executar este comando.
2613
+ - mensagens_sistema:
2614
+ - (nao informado)
2615
+ - limites_operacionais:
2616
+ - (nao informado)
2617
+ - opcoes:
2618
+ - toggle_on_off_status.type: toggle
2619
+ - toggle_on_off_status.allowed_actions: on, off, status
2620
+ - toggle_on_off_status.action_argument: acao
2621
+ - add_remove_list.type: list_management
2622
+ - add_remove_list.allowed_actions: add, remove, list
2623
+ - add_remove_list.action_argument: acao
2624
+ - approve_reject.type: moderation_decision
2625
+ - approve_reject.allowed_actions: approve, reject
2626
+ - approve_reject.action_argument: acao
2627
+ - approve_reject.requires_targets: true
2628
+ - set_status_reset.type: configuration_window
2629
+ - set_status_reset.allowed_actions: set, status, reset
2630
+ - set_status_reset.action_argument: valor
2631
+ - observabilidade:
2632
+ - event_name: command.executed
2633
+ - analytics_event: whatsapp_command_metadata
2634
+ - tags_log: whatsapp, command, adminModule, metadata
2635
+ - nivel_log: info
2636
+ - privacidade:
2637
+ - dados_sensiveis:
2638
+ - chat_identifier
2639
+ - sender_identifier
2640
+ - command_content
2641
+ - retencao: standard_app_logs
2642
+ - base_legal: service_execution_and_legitimate_interest
2643
+ - docs:
2644
+ - summary: Retorna metadados de um grupo informado ou do grupo atual.
2645
+ - usage_examples: <prefix>metadados, <prefix>metadados <group_jid>
2646
+ - behavior:
2647
+ - type: argument_driven
2648
+ - argument_count: 1
2649
+ - limits:
2650
+ - usage_description: acesso restrito por permissao
2651
+ - rate_limit.max: null
2652
+ - rate_limit.janela_ms: null
2653
+ - rate_limit.escopo: sem_rate_limit_explicito
2654
+ - access.somente_premium: false
2655
+ - access.planos_permitidos: comum, premium
2656
+ - plan_limits.comum.max: 25
2657
+ - plan_limits.comum.janela_ms: 60000
2658
+ - plan_limits.comum.escopo: usuario
2659
+ - plan_limits.premium.max: 120
2660
+ - plan_limits.premium.janela_ms: 60000
2661
+ - plan_limits.premium.escopo: usuario
2662
+ - discovery:
2663
+ - keywords: metadados, admin, privado, grupo
2664
+ - faq_queries: como usar metadados, o que faz metadados, comando metadados
2665
+ - user_phrasings: quero usar metadados, me ajuda com metadados, retorna metadados de um
2666
+ - suggestion_priority: 100
2667
+ - handler:
2668
+ - file: groupCommandHandlers.js
2669
+ - method: handleAdminCommand
2670
+ - command_case: metadata
2671
+
2672
+ ### solicitacoes
2673
+
2674
+ - id: admin.solicitacoes
2675
+ - aliases: requests
2676
+ - enabled: true
2677
+ - categoria: admin
2678
+ - descricao: Lista solicitacoes pendentes para entrar no grupo.
2679
+ - permissao_necessaria: admin do grupo
2680
+ - version: 1.0.0
2681
+ - stability: stable
2682
+ - deprecated: nao
2683
+ - risk_level: low
2684
+ - local_de_uso:
2685
+ - grupo
2686
+ - metodos_de_uso:
2687
+ - <prefix>solicitacoes
2688
+ - mensagens_uso (variantes):
2689
+ - (nenhum)
2690
+ - subcomandos:
2691
+ - (nenhum)
2692
+ - argumentos:
2693
+ - (nenhum)
2694
+ - pre_condicoes:
2695
+ - requer_grupo: sim
2696
+ - requer_admin: sim
2697
+ - requer_admin_principal: nao
2698
+ - requer_google_login: sim
2699
+ - requer_nsfw: nao
2700
+ - requer_midia: nao
2701
+ - requer_mensagem_respondida: nao
2702
+ - rate_limit:
2703
+ - max: null
2704
+ - janela_ms: null
2705
+ - escopo: sem_rate_limit_explicito
2706
+ - acesso:
2707
+ - somente_premium: nao
2708
+ - planos_permitidos: comum, premium
2709
+ - limite_uso_por_plano:
2710
+ - comum: max=25, janela_ms=60000, escopo=usuario
2711
+ - premium: max=120, janela_ms=60000, escopo=usuario
2712
+ - informacoes_coletadas:
2713
+ - identificador do chat (remoteJid)
2714
+ - identificador do remetente (senderJid)
2715
+ - texto do comando e argumentos
2716
+ - contexto da mensagem (citacao e mencoes, quando existir)
2717
+ - lista de solicitacoes pendentes de entrada no grupo
2718
+ - dependencias_externas:
2719
+ - API do WhatsApp (ações de grupo)
2720
+ - stores/configuração interna
2721
+ - efeitos_colaterais:
2722
+ - altera configurações de grupo e permissões
2723
+ - envia mensagens administrativas
2724
+ - respostas_padrao:
2725
+ - success: Comando executado com sucesso.
2726
+ - usage_error: Formato de uso inválido. Consulte metodos_de_uso.
2727
+ - permission_error: Permissão insuficiente para executar este comando.
2728
+ - sucesso: Comando executado com sucesso.
2729
+ - erro_uso: Formato de uso inválido. Consulte metodos_de_uso.
2730
+ - erro_permissao: Permissão insuficiente para executar este comando.
2731
+ - mensagens_sistema:
2732
+ - (nao informado)
2733
+ - limites_operacionais:
2734
+ - (nao informado)
2735
+ - opcoes:
2736
+ - toggle_on_off_status.type: toggle
2737
+ - toggle_on_off_status.allowed_actions: on, off, status
2738
+ - toggle_on_off_status.action_argument: acao
2739
+ - add_remove_list.type: list_management
2740
+ - add_remove_list.allowed_actions: add, remove, list
2741
+ - add_remove_list.action_argument: acao
2742
+ - approve_reject.type: moderation_decision
2743
+ - approve_reject.allowed_actions: approve, reject
2744
+ - approve_reject.action_argument: acao
2745
+ - approve_reject.requires_targets: true
2746
+ - set_status_reset.type: configuration_window
2747
+ - set_status_reset.allowed_actions: set, status, reset
2748
+ - set_status_reset.action_argument: valor
2749
+ - observabilidade:
2750
+ - event_name: command.executed
2751
+ - analytics_event: whatsapp_command_requests
2752
+ - tags_log: whatsapp, command, adminModule, requests
2753
+ - nivel_log: info
2754
+ - privacidade:
2755
+ - dados_sensiveis:
2756
+ - chat_identifier
2757
+ - sender_identifier
2758
+ - command_content
2759
+ - retencao: standard_app_logs
2760
+ - base_legal: service_execution_and_legitimate_interest
2761
+ - docs:
2762
+ - summary: Lista solicitacoes pendentes para entrar no grupo.
2763
+ - usage_examples: <prefix>solicitacoes
2764
+ - behavior:
2765
+ - type: single_action
2766
+ - argument_count: 0
2767
+ - limits:
2768
+ - usage_description: sem limite especifico
2769
+ - rate_limit.max: null
2770
+ - rate_limit.janela_ms: null
2771
+ - rate_limit.escopo: sem_rate_limit_explicito
2772
+ - access.somente_premium: false
2773
+ - access.planos_permitidos: comum, premium
2774
+ - plan_limits.comum.max: 25
2775
+ - plan_limits.comum.janela_ms: 60000
2776
+ - plan_limits.comum.escopo: usuario
2777
+ - plan_limits.premium.max: 120
2778
+ - plan_limits.premium.janela_ms: 60000
2779
+ - plan_limits.premium.escopo: usuario
2780
+ - discovery:
2781
+ - keywords: solicitacoes, admin, grupo
2782
+ - faq_queries: como usar solicitacoes, o que faz solicitacoes, comando solicitacoes
2783
+ - user_phrasings: quero usar solicitacoes, me ajuda com solicitacoes, lista solicitacoes pendentes para
2784
+ - suggestion_priority: 100
2785
+ - handler:
2786
+ - file: groupCommandHandlers.js
2787
+ - method: handleAdminCommand
2788
+ - command_case: requests
2789
+
2790
+ ### atualizarsolicitacoes
2791
+
2792
+ - id: admin.atualizarsolicitacoes
2793
+ - aliases: updaterequests
2794
+ - enabled: true
2795
+ - categoria: admin
2796
+ - descricao: Aprova ou rejeita solicitacoes de entrada no grupo.
2797
+ - permissao_necessaria: admin do grupo
2798
+ - version: 1.0.0
2799
+ - stability: stable
2800
+ - deprecated: nao
2801
+ - risk_level: high
2802
+ - local_de_uso:
2803
+ - grupo
2804
+ - metodos_de_uso:
2805
+ - <prefix>atualizarsolicitacoes approve @participante
2806
+ - <prefix>atualizarsolicitacoes reject @participante
2807
+ - mensagens_uso (variantes):
2808
+ - invalid_action:
2809
+ - <prefix>atualizarsolicitacoes <approve|reject> @participante1 ...
2810
+ - missing_targets:
2811
+ - <prefix>atualizarsolicitacoes <approve|reject> @participante1 ...
2812
+ - Mencione os usuários que devem ser aprovados ou rejeitados.
2813
+ - subcomandos:
2814
+ - approve
2815
+ - reject
2816
+ - argumentos:
2817
+ - acao | tipo: string | obrigatorio | validacao: approve|reject | default: null | posicao: 0
2818
+ - participantes | tipo: array | obrigatorio | validacao: menções/JIDs válidos | default: null | posicao: 1
2819
+ - pre_condicoes:
2820
+ - requer_grupo: sim
2821
+ - requer_admin: sim
2822
+ - requer_admin_principal: nao
2823
+ - requer_google_login: sim
2824
+ - requer_nsfw: nao
2825
+ - requer_midia: nao
2826
+ - requer_mensagem_respondida: nao
2827
+ - rate_limit:
2828
+ - max: null
2829
+ - janela_ms: null
2830
+ - escopo: sem_rate_limit_explicito
2831
+ - acesso:
2832
+ - somente_premium: nao
2833
+ - planos_permitidos: comum, premium
2834
+ - limite_uso_por_plano:
2835
+ - comum: max=25, janela_ms=60000, escopo=usuario
2836
+ - premium: max=120, janela_ms=60000, escopo=usuario
2837
+ - informacoes_coletadas:
2838
+ - identificador do chat (remoteJid)
2839
+ - identificador do remetente (senderJid)
2840
+ - texto do comando e argumentos
2841
+ - contexto da mensagem (citacao e mencoes, quando existir)
2842
+ - acao solicitada (approve/reject)
2843
+ - participantes mencionados para atualizar solicitacoes
2844
+ - dependencias_externas:
2845
+ - API do WhatsApp (ações de grupo)
2846
+ - stores/configuração interna
2847
+ - efeitos_colaterais:
2848
+ - altera configurações de grupo e permissões
2849
+ - envia mensagens administrativas
2850
+ - respostas_padrao:
2851
+ - success: Comando executado com sucesso.
2852
+ - usage_error: Formato de uso inválido. Consulte metodos_de_uso.
2853
+ - permission_error: Permissão insuficiente para executar este comando.
2854
+ - sucesso: Comando executado com sucesso.
2855
+ - erro_uso: Formato de uso inválido. Consulte metodos_de_uso.
2856
+ - erro_permissao: Permissão insuficiente para executar este comando.
2857
+ - mensagens_sistema:
2858
+ - (nao informado)
2859
+ - limites_operacionais:
2860
+ - (nao informado)
2861
+ - opcoes:
2862
+ - toggle_on_off_status.type: toggle
2863
+ - toggle_on_off_status.allowed_actions: on, off, status
2864
+ - toggle_on_off_status.action_argument: acao
2865
+ - add_remove_list.type: list_management
2866
+ - add_remove_list.allowed_actions: add, remove, list
2867
+ - add_remove_list.action_argument: acao
2868
+ - approve_reject.type: moderation_decision
2869
+ - approve_reject.allowed_actions: approve, reject
2870
+ - approve_reject.action_argument: acao
2871
+ - approve_reject.requires_targets: true
2872
+ - set_status_reset.type: configuration_window
2873
+ - set_status_reset.allowed_actions: set, status, reset
2874
+ - set_status_reset.action_argument: valor
2875
+ - observabilidade:
2876
+ - event_name: command.executed
2877
+ - analytics_event: whatsapp_command_updaterequests
2878
+ - tags_log: whatsapp, command, adminModule, updaterequests
2879
+ - nivel_log: info
2880
+ - privacidade:
2881
+ - dados_sensiveis:
2882
+ - chat_identifier
2883
+ - sender_identifier
2884
+ - command_content
2885
+ - retencao: standard_app_logs
2886
+ - base_legal: service_execution_and_legitimate_interest
2887
+ - docs:
2888
+ - summary: Aprova ou rejeita solicitacoes de entrada no grupo.
2889
+ - usage_examples: <prefix>atualizarsolicitacoes approve @participante, <prefix>atualizarsolicitacoes reject @participante
2890
+ - usage_variants.invalid_action: <prefix>atualizarsolicitacoes <approve|reject> @participante1 ...
2891
+ - usage_variants.missing_targets: <prefix>atualizarsolicitacoes <approve|reject> @participante1 ..., Mencione os usuários que devem ser aprovados ou rejeitados.
2892
+ - behavior:
2893
+ - type: moderation_decision
2894
+ - allowed_actions: approve, reject
2895
+ - action_argument: acao
2896
+ - requires_targets: true
2897
+ - limits:
2898
+ - usage_description: acao valida + mencao obrigatoria
2899
+ - rate_limit.max: null
2900
+ - rate_limit.janela_ms: null
2901
+ - rate_limit.escopo: sem_rate_limit_explicito
2902
+ - access.somente_premium: false
2903
+ - access.planos_permitidos: comum, premium
2904
+ - plan_limits.comum.max: 25
2905
+ - plan_limits.comum.janela_ms: 60000
2906
+ - plan_limits.comum.escopo: usuario
2907
+ - plan_limits.premium.max: 120
2908
+ - plan_limits.premium.janela_ms: 60000
2909
+ - plan_limits.premium.escopo: usuario
2910
+ - discovery:
2911
+ - keywords: atualizarsolicitacoes, admin, grupo
2912
+ - faq_queries: como usar atualizarsolicitacoes, o que faz atualizarsolicitacoes, comando atualizarsolicitacoes
2913
+ - user_phrasings: quero usar atualizarsolicitacoes, me ajuda com atualizarsolicitacoes, aprova ou rejeita solicitacoes
2914
+ - suggestion_priority: 100
2915
+ - handler:
2916
+ - file: groupCommandHandlers.js
2917
+ - method: handleAdminCommand
2918
+ - command_case: updaterequests
2919
+
2920
+ ### autosolicitacoes
2921
+
2922
+ - id: admin.autosolicitacoes
2923
+ - aliases: autorequests
2924
+ - enabled: true
2925
+ - categoria: admin
2926
+ - descricao: Ativa/desativa auto aprovacao de solicitacoes no grupo.
2927
+ - permissao_necessaria: admin do grupo
2928
+ - version: 1.0.0
2929
+ - stability: stable
2930
+ - deprecated: nao
2931
+ - risk_level: medium
2932
+ - local_de_uso:
2933
+ - grupo
2934
+ - metodos_de_uso:
2935
+ - <prefix>autosolicitacoes on
2936
+ - <prefix>autosolicitacoes off
2937
+ - <prefix>autosolicitacoes status
2938
+ - mensagens_uso (variantes):
2939
+ - (nenhum)
2940
+ - subcomandos:
2941
+ - on
2942
+ - off
2943
+ - status
2944
+ - argumentos:
2945
+ - acao | tipo: string | obrigatorio | validacao: on|off|status | default: null | posicao: 0
2946
+ - pre_condicoes:
2947
+ - requer_grupo: sim
2948
+ - requer_admin: sim
2949
+ - requer_admin_principal: nao
2950
+ - requer_google_login: sim
2951
+ - requer_nsfw: nao
2952
+ - requer_midia: nao
2953
+ - requer_mensagem_respondida: nao
2954
+ - rate_limit:
2955
+ - max: null
2956
+ - janela_ms: null
2957
+ - escopo: sem_rate_limit_explicito
2958
+ - acesso:
2959
+ - somente_premium: nao
2960
+ - planos_permitidos: comum, premium
2961
+ - limite_uso_por_plano:
2962
+ - comum: max=25, janela_ms=60000, escopo=usuario
2963
+ - premium: max=120, janela_ms=60000, escopo=usuario
2964
+ - informacoes_coletadas:
2965
+ - identificador do chat (remoteJid)
2966
+ - identificador do remetente (senderJid)
2967
+ - texto do comando e argumentos
2968
+ - contexto da mensagem (citacao e mencoes, quando existir)
2969
+ - estado da aprovacao automatica do grupo
2970
+ - acao solicitada (on/off/status)
2971
+ - dependencias_externas:
2972
+ - API do WhatsApp (ações de grupo)
2973
+ - stores/configuração interna
2974
+ - efeitos_colaterais:
2975
+ - altera configurações de grupo e permissões
2976
+ - envia mensagens administrativas
2977
+ - respostas_padrao:
2978
+ - success: Comando executado com sucesso.
2979
+ - usage_error: Formato de uso inválido. Consulte metodos_de_uso.
2980
+ - permission_error: Permissão insuficiente para executar este comando.
2981
+ - sucesso: Comando executado com sucesso.
2982
+ - erro_uso: Formato de uso inválido. Consulte metodos_de_uso.
2983
+ - erro_permissao: Permissão insuficiente para executar este comando.
2984
+ - mensagens_sistema:
2985
+ - (nao informado)
2986
+ - limites_operacionais:
2987
+ - (nao informado)
2988
+ - opcoes:
2989
+ - toggle_on_off_status.type: toggle
2990
+ - toggle_on_off_status.allowed_actions: on, off, status
2991
+ - toggle_on_off_status.action_argument: acao
2992
+ - add_remove_list.type: list_management
2993
+ - add_remove_list.allowed_actions: add, remove, list
2994
+ - add_remove_list.action_argument: acao
2995
+ - approve_reject.type: moderation_decision
2996
+ - approve_reject.allowed_actions: approve, reject
2997
+ - approve_reject.action_argument: acao
2998
+ - approve_reject.requires_targets: true
2999
+ - set_status_reset.type: configuration_window
3000
+ - set_status_reset.allowed_actions: set, status, reset
3001
+ - set_status_reset.action_argument: valor
3002
+ - observabilidade:
3003
+ - event_name: command.executed
3004
+ - analytics_event: whatsapp_command_autorequests
3005
+ - tags_log: whatsapp, command, adminModule, autorequests
3006
+ - nivel_log: info
3007
+ - privacidade:
3008
+ - dados_sensiveis:
3009
+ - chat_identifier
3010
+ - sender_identifier
3011
+ - command_content
3012
+ - retencao: standard_app_logs
3013
+ - base_legal: service_execution_and_legitimate_interest
3014
+ - docs:
3015
+ - summary: Ativa/desativa auto aprovacao de solicitacoes no grupo.
3016
+ - usage_examples: <prefix>autosolicitacoes on, <prefix>autosolicitacoes off, <prefix>autosolicitacoes status
3017
+ - behavior:
3018
+ - type: toggle
3019
+ - allowed_actions: on, off, status
3020
+ - action_argument: acao
3021
+ - limits:
3022
+ - usage_description: sem limite especifico
3023
+ - rate_limit.max: null
3024
+ - rate_limit.janela_ms: null
3025
+ - rate_limit.escopo: sem_rate_limit_explicito
3026
+ - access.somente_premium: false
3027
+ - access.planos_permitidos: comum, premium
3028
+ - plan_limits.comum.max: 25
3029
+ - plan_limits.comum.janela_ms: 60000
3030
+ - plan_limits.comum.escopo: usuario
3031
+ - plan_limits.premium.max: 120
3032
+ - plan_limits.premium.janela_ms: 60000
3033
+ - plan_limits.premium.escopo: usuario
3034
+ - discovery:
3035
+ - keywords: autosolicitacoes, admin, grupo
3036
+ - faq_queries: como usar autosolicitacoes, o que faz autosolicitacoes, comando autosolicitacoes
3037
+ - user_phrasings: quero usar autosolicitacoes, me ajuda com autosolicitacoes, ativa/desativa auto aprovacao de
3038
+ - suggestion_priority: 100
3039
+ - handler:
3040
+ - file: groupCommandHandlers.js
3041
+ - method: handleAdminCommand
3042
+ - command_case: autorequests
3043
+
3044
+ ### temporarias
3045
+
3046
+ - id: admin.temporarias
3047
+ - aliases: temp
3048
+ - enabled: true
3049
+ - categoria: admin
3050
+ - descricao: Define tempo de mensagens temporarias (ephemeral) no grupo.
3051
+ - permissao_necessaria: admin do grupo
3052
+ - version: 1.0.0
3053
+ - stability: stable
3054
+ - deprecated: nao
3055
+ - risk_level: low
3056
+ - local_de_uso:
3057
+ - grupo
3058
+ - metodos_de_uso:
3059
+ - <prefix>temporarias <duracao_em_segundos>
3060
+ - mensagens_uso (variantes):
3061
+ - (nenhum)
3062
+ - subcomandos:
3063
+ - (nenhum)
3064
+ - argumentos:
3065
+ - duracao_segundos | tipo: integer | obrigatorio | validacao: inteiro positivo | default: null | posicao: 0
3066
+ - pre_condicoes:
3067
+ - requer_grupo: sim
3068
+ - requer_admin: sim
3069
+ - requer_admin_principal: nao
3070
+ - requer_google_login: sim
3071
+ - requer_nsfw: nao
3072
+ - requer_midia: nao
3073
+ - requer_mensagem_respondida: nao
3074
+ - rate_limit:
3075
+ - max: null
3076
+ - janela_ms: null
3077
+ - escopo: sem_rate_limit_explicito
3078
+ - acesso:
3079
+ - somente_premium: nao
3080
+ - planos_permitidos: comum, premium
3081
+ - limite_uso_por_plano:
3082
+ - comum: max=25, janela_ms=60000, escopo=usuario
3083
+ - premium: max=120, janela_ms=60000, escopo=usuario
3084
+ - informacoes_coletadas:
3085
+ - identificador do chat (remoteJid)
3086
+ - identificador do remetente (senderJid)
3087
+ - texto do comando e argumentos
3088
+ - contexto da mensagem (citacao e mencoes, quando existir)
3089
+ - duracao em segundos para mensagens temporarias
3090
+ - dependencias_externas:
3091
+ - API do WhatsApp (ações de grupo)
3092
+ - stores/configuração interna
3093
+ - efeitos_colaterais:
3094
+ - altera configurações de grupo e permissões
3095
+ - envia mensagens administrativas
3096
+ - respostas_padrao:
3097
+ - success: Comando executado com sucesso.
3098
+ - usage_error: Formato de uso inválido. Consulte metodos_de_uso.
3099
+ - permission_error: Permissão insuficiente para executar este comando.
3100
+ - sucesso: Comando executado com sucesso.
3101
+ - erro_uso: Formato de uso inválido. Consulte metodos_de_uso.
3102
+ - erro_permissao: Permissão insuficiente para executar este comando.
3103
+ - mensagens_sistema:
3104
+ - (nao informado)
3105
+ - limites_operacionais:
3106
+ - (nao informado)
3107
+ - opcoes:
3108
+ - toggle_on_off_status.type: toggle
3109
+ - toggle_on_off_status.allowed_actions: on, off, status
3110
+ - toggle_on_off_status.action_argument: acao
3111
+ - add_remove_list.type: list_management
3112
+ - add_remove_list.allowed_actions: add, remove, list
3113
+ - add_remove_list.action_argument: acao
3114
+ - approve_reject.type: moderation_decision
3115
+ - approve_reject.allowed_actions: approve, reject
3116
+ - approve_reject.action_argument: acao
3117
+ - approve_reject.requires_targets: true
3118
+ - set_status_reset.type: configuration_window
3119
+ - set_status_reset.allowed_actions: set, status, reset
3120
+ - set_status_reset.action_argument: valor
3121
+ - observabilidade:
3122
+ - event_name: command.executed
3123
+ - analytics_event: whatsapp_command_temp
3124
+ - tags_log: whatsapp, command, adminModule, temp
3125
+ - nivel_log: info
3126
+ - privacidade:
3127
+ - dados_sensiveis:
3128
+ - chat_identifier
3129
+ - sender_identifier
3130
+ - command_content
3131
+ - retencao: standard_app_logs
3132
+ - base_legal: service_execution_and_legitimate_interest
3133
+ - docs:
3134
+ - summary: Define tempo de mensagens temporarias (ephemeral) no grupo.
3135
+ - usage_examples: <prefix>temporarias <duracao_em_segundos>
3136
+ - behavior:
3137
+ - type: argument_driven
3138
+ - argument_count: 1
3139
+ - limits:
3140
+ - usage_description: duracao em segundos obrigatoria
3141
+ - rate_limit.max: null
3142
+ - rate_limit.janela_ms: null
3143
+ - rate_limit.escopo: sem_rate_limit_explicito
3144
+ - access.somente_premium: false
3145
+ - access.planos_permitidos: comum, premium
3146
+ - plan_limits.comum.max: 25
3147
+ - plan_limits.comum.janela_ms: 60000
3148
+ - plan_limits.comum.escopo: usuario
3149
+ - plan_limits.premium.max: 120
3150
+ - plan_limits.premium.janela_ms: 60000
3151
+ - plan_limits.premium.escopo: usuario
3152
+ - discovery:
3153
+ - keywords: temporarias, admin, grupo
3154
+ - faq_queries: como usar temporarias, o que faz temporarias, comando temporarias
3155
+ - user_phrasings: quero usar temporarias, me ajuda com temporarias, define tempo de mensagens
3156
+ - suggestion_priority: 100
3157
+ - handler:
3158
+ - file: groupCommandHandlers.js
3159
+ - method: handleAdminCommand
3160
+ - command_case: temp
3161
+
3162
+ ### modoadicao
3163
+
3164
+ - id: admin.modoadicao
3165
+ - aliases: addmode
3166
+ - enabled: true
3167
+ - categoria: admin
3168
+ - descricao: Define quem pode adicionar participantes no grupo.
3169
+ - permissao_necessaria: admin do grupo
3170
+ - version: 1.0.0
3171
+ - stability: stable
3172
+ - deprecated: nao
3173
+ - risk_level: low
3174
+ - local_de_uso:
3175
+ - grupo
3176
+ - metodos_de_uso:
3177
+ - <prefix>modoadicao all_member_add
3178
+ - <prefix>modoadicao admin_add
3179
+ - mensagens_uso (variantes):
3180
+ - (nenhum)
3181
+ - subcomandos:
3182
+ - (nenhum)
3183
+ - argumentos:
3184
+ - modo | tipo: string | obrigatorio | validacao: all_member_add|admin_add | default: null | posicao: 0
3185
+ - pre_condicoes:
3186
+ - requer_grupo: sim
3187
+ - requer_admin: sim
3188
+ - requer_admin_principal: nao
3189
+ - requer_google_login: sim
3190
+ - requer_nsfw: nao
3191
+ - requer_midia: nao
3192
+ - requer_mensagem_respondida: nao
3193
+ - rate_limit:
3194
+ - max: null
3195
+ - janela_ms: null
3196
+ - escopo: sem_rate_limit_explicito
3197
+ - acesso:
3198
+ - somente_premium: nao
3199
+ - planos_permitidos: comum, premium
3200
+ - limite_uso_por_plano:
3201
+ - comum: max=25, janela_ms=60000, escopo=usuario
3202
+ - premium: max=120, janela_ms=60000, escopo=usuario
3203
+ - informacoes_coletadas:
3204
+ - identificador do chat (remoteJid)
3205
+ - identificador do remetente (senderJid)
3206
+ - texto do comando e argumentos
3207
+ - contexto da mensagem (citacao e mencoes, quando existir)
3208
+ - modo de adicao de participantes (all_member_add/admin_add)
3209
+ - dependencias_externas:
3210
+ - API do WhatsApp (ações de grupo)
3211
+ - stores/configuração interna
3212
+ - efeitos_colaterais:
3213
+ - altera configurações de grupo e permissões
3214
+ - envia mensagens administrativas
3215
+ - respostas_padrao:
3216
+ - success: Comando executado com sucesso.
3217
+ - usage_error: Formato de uso inválido. Consulte metodos_de_uso.
3218
+ - permission_error: Permissão insuficiente para executar este comando.
3219
+ - sucesso: Comando executado com sucesso.
3220
+ - erro_uso: Formato de uso inválido. Consulte metodos_de_uso.
3221
+ - erro_permissao: Permissão insuficiente para executar este comando.
3222
+ - mensagens_sistema:
3223
+ - (nao informado)
3224
+ - limites_operacionais:
3225
+ - (nao informado)
3226
+ - opcoes:
3227
+ - toggle_on_off_status.type: toggle
3228
+ - toggle_on_off_status.allowed_actions: on, off, status
3229
+ - toggle_on_off_status.action_argument: acao
3230
+ - add_remove_list.type: list_management
3231
+ - add_remove_list.allowed_actions: add, remove, list
3232
+ - add_remove_list.action_argument: acao
3233
+ - approve_reject.type: moderation_decision
3234
+ - approve_reject.allowed_actions: approve, reject
3235
+ - approve_reject.action_argument: acao
3236
+ - approve_reject.requires_targets: true
3237
+ - set_status_reset.type: configuration_window
3238
+ - set_status_reset.allowed_actions: set, status, reset
3239
+ - set_status_reset.action_argument: valor
3240
+ - observabilidade:
3241
+ - event_name: command.executed
3242
+ - analytics_event: whatsapp_command_addmode
3243
+ - tags_log: whatsapp, command, adminModule, addmode
3244
+ - nivel_log: info
3245
+ - privacidade:
3246
+ - dados_sensiveis:
3247
+ - chat_identifier
3248
+ - sender_identifier
3249
+ - command_content
3250
+ - retencao: standard_app_logs
3251
+ - base_legal: service_execution_and_legitimate_interest
3252
+ - docs:
3253
+ - summary: Define quem pode adicionar participantes no grupo.
3254
+ - usage_examples: <prefix>modoadicao all_member_add, <prefix>modoadicao admin_add
3255
+ - behavior:
3256
+ - type: argument_driven
3257
+ - argument_count: 1
3258
+ - limits:
3259
+ - usage_description: apenas modos validos
3260
+ - rate_limit.max: null
3261
+ - rate_limit.janela_ms: null
3262
+ - rate_limit.escopo: sem_rate_limit_explicito
3263
+ - access.somente_premium: false
3264
+ - access.planos_permitidos: comum, premium
3265
+ - plan_limits.comum.max: 25
3266
+ - plan_limits.comum.janela_ms: 60000
3267
+ - plan_limits.comum.escopo: usuario
3268
+ - plan_limits.premium.max: 120
3269
+ - plan_limits.premium.janela_ms: 60000
3270
+ - plan_limits.premium.escopo: usuario
3271
+ - discovery:
3272
+ - keywords: modoadicao, admin, grupo
3273
+ - faq_queries: como usar modoadicao, o que faz modoadicao, comando modoadicao
3274
+ - user_phrasings: quero usar modoadicao, me ajuda com modoadicao, define quem pode adicionar
3275
+ - suggestion_priority: 100
3276
+ - handler:
3277
+ - file: groupCommandHandlers.js
3278
+ - method: handleAdminCommand
3279
+ - command_case: addmode
3280
+
3281
+ ### prefixo
3282
+
3283
+ - id: admin.prefixo
3284
+ - aliases: prefix
3285
+ - enabled: true
3286
+ - categoria: admin
3287
+ - descricao: Define prefixo personalizado de comandos para o grupo.
3288
+ - permissao_necessaria: admin do grupo
3289
+ - version: 1.0.0
3290
+ - stability: stable
3291
+ - deprecated: nao
3292
+ - risk_level: medium
3293
+ - local_de_uso:
3294
+ - grupo
3295
+ - metodos_de_uso:
3296
+ - <prefixo>prefixo <novo_prefixo>
3297
+ - <prefixo>prefixo status
3298
+ - <prefixo>prefixo reset
3299
+ - mensagens_uso (variantes):
3300
+ - (nenhum)
3301
+ - subcomandos:
3302
+ - <novo_prefixo>
3303
+ - status
3304
+ - reset
3305
+ - argumentos:
3306
+ - valor | tipo: string | obrigatorio | validacao: novo prefixo|status|reset | default: null | posicao: 0
3307
+ - pre_condicoes:
3308
+ - requer_grupo: sim
3309
+ - requer_admin: sim
3310
+ - requer_admin_principal: nao
3311
+ - requer_google_login: sim
3312
+ - requer_nsfw: nao
3313
+ - requer_midia: nao
3314
+ - requer_mensagem_respondida: nao
3315
+ - rate_limit:
3316
+ - max: null
3317
+ - janela_ms: null
3318
+ - escopo: sem_rate_limit_explicito
3319
+ - acesso:
3320
+ - somente_premium: nao
3321
+ - planos_permitidos: comum, premium
3322
+ - limite_uso_por_plano:
3323
+ - comum: max=25, janela_ms=60000, escopo=usuario
3324
+ - premium: max=120, janela_ms=60000, escopo=usuario
3325
+ - informacoes_coletadas:
3326
+ - identificador do chat (remoteJid)
3327
+ - identificador do remetente (senderJid)
3328
+ - texto do comando e argumentos
3329
+ - contexto da mensagem (citacao e mencoes, quando existir)
3330
+ - novo prefixo informado ou acao (status/reset)
3331
+ - prefixo atual salvo na configuracao do grupo
3332
+ - dependencias_externas:
3333
+ - API do WhatsApp (ações de grupo)
3334
+ - stores/configuração interna
3335
+ - efeitos_colaterais:
3336
+ - altera configurações de grupo e permissões
3337
+ - envia mensagens administrativas
3338
+ - respostas_padrao:
3339
+ - success: Comando executado com sucesso.
3340
+ - usage_error: Formato de uso inválido. Consulte metodos_de_uso.
3341
+ - permission_error: Permissão insuficiente para executar este comando.
3342
+ - sucesso: Comando executado com sucesso.
3343
+ - erro_uso: Formato de uso inválido. Consulte metodos_de_uso.
3344
+ - erro_permissao: Permissão insuficiente para executar este comando.
3345
+ - mensagens_sistema:
3346
+ - (nao informado)
3347
+ - limites_operacionais:
3348
+ - (nao informado)
3349
+ - opcoes:
3350
+ - toggle_on_off_status.type: toggle
3351
+ - toggle_on_off_status.allowed_actions: on, off, status
3352
+ - toggle_on_off_status.action_argument: acao
3353
+ - add_remove_list.type: list_management
3354
+ - add_remove_list.allowed_actions: add, remove, list
3355
+ - add_remove_list.action_argument: acao
3356
+ - approve_reject.type: moderation_decision
3357
+ - approve_reject.allowed_actions: approve, reject
3358
+ - approve_reject.action_argument: acao
3359
+ - approve_reject.requires_targets: true
3360
+ - set_status_reset.type: configuration_window
3361
+ - set_status_reset.allowed_actions: set, status, reset
3362
+ - set_status_reset.action_argument: valor
3363
+ - observabilidade:
3364
+ - event_name: command.executed
3365
+ - analytics_event: whatsapp_command_prefix
3366
+ - tags_log: whatsapp, command, adminModule, prefix
3367
+ - nivel_log: info
3368
+ - privacidade:
3369
+ - dados_sensiveis:
3370
+ - chat_identifier
3371
+ - sender_identifier
3372
+ - command_content
3373
+ - retencao: standard_app_logs
3374
+ - base_legal: service_execution_and_legitimate_interest
3375
+ - docs:
3376
+ - summary: Define prefixo personalizado de comandos para o grupo.
3377
+ - usage_examples: <prefixo>prefixo <novo_prefixo>, <prefixo>prefixo status, <prefixo>prefixo reset
3378
+ - behavior:
3379
+ - type: subcommand
3380
+ - allowed_actions: set, status, reset
3381
+ - action_argument: valor
3382
+ - limits:
3383
+ - usage_description: prefixo unico validado pelo modulo
3384
+ - rate_limit.max: null
3385
+ - rate_limit.janela_ms: null
3386
+ - rate_limit.escopo: sem_rate_limit_explicito
3387
+ - access.somente_premium: false
3388
+ - access.planos_permitidos: comum, premium
3389
+ - plan_limits.comum.max: 25
3390
+ - plan_limits.comum.janela_ms: 60000
3391
+ - plan_limits.comum.escopo: usuario
3392
+ - plan_limits.premium.max: 120
3393
+ - plan_limits.premium.janela_ms: 60000
3394
+ - plan_limits.premium.escopo: usuario
3395
+ - discovery:
3396
+ - keywords: prefixo, admin, grupo
3397
+ - faq_queries: como usar prefixo, o que faz prefixo, comando prefixo
3398
+ - user_phrasings: quero usar prefixo, me ajuda com prefixo, define prefixo personalizado de
3399
+ - suggestion_priority: 100
3400
+ - handler:
3401
+ - file: groupCommandHandlers.js
3402
+ - method: handleAdminCommand
3403
+ - command_case: prefix
3404
+
3405
+ ### boasvindas
3406
+
3407
+ - id: admin.boasvindas
3408
+ - aliases: welcome
3409
+ - enabled: true
3410
+ - categoria: admin
3411
+ - descricao: Configura mensagens/midia de boas-vindas no grupo.
3412
+ - permissao_necessaria: admin do grupo
3413
+ - version: 1.0.0
3414
+ - stability: stable
3415
+ - deprecated: nao
3416
+ - risk_level: medium
3417
+ - local_de_uso:
3418
+ - grupo
3419
+ - metodos_de_uso:
3420
+ - <prefix>boasvindas on
3421
+ - <prefix>boasvindas off
3422
+ - <prefix>boasvindas set <mensagem_ou_midia>
3423
+ - mensagens_uso (variantes):
3424
+ - missing_content:
3425
+ - <prefix>boasvindas set <mensagem ou caminho da midia>
3426
+ - Também é possível enviar uma mídia junto ao comando.
3427
+ - subcomandos:
3428
+ - on
3429
+ - off
3430
+ - set
3431
+ - argumentos:
3432
+ - acao | tipo: string | obrigatorio | validacao: on|off|set | default: null | posicao: 0
3433
+ - mensagem_ou_midia | tipo: string | opcional | validacao: texto, caminho local ou mídia anexada | default: null | posicao: 1
3434
+ - pre_condicoes:
3435
+ - requer_grupo: sim
3436
+ - requer_admin: sim
3437
+ - requer_admin_principal: nao
3438
+ - requer_google_login: sim
3439
+ - requer_nsfw: nao
3440
+ - requer_midia: nao
3441
+ - requer_mensagem_respondida: nao
3442
+ - rate_limit:
3443
+ - max: null
3444
+ - janela_ms: null
3445
+ - escopo: sem_rate_limit_explicito
3446
+ - acesso:
3447
+ - somente_premium: nao
3448
+ - planos_permitidos: comum, premium
3449
+ - limite_uso_por_plano:
3450
+ - comum: max=25, janela_ms=60000, escopo=usuario
3451
+ - premium: max=120, janela_ms=60000, escopo=usuario
3452
+ - informacoes_coletadas:
3453
+ - identificador do chat (remoteJid)
3454
+ - identificador do remetente (senderJid)
3455
+ - texto do comando e argumentos
3456
+ - contexto da mensagem (citacao e mencoes, quando existir)
3457
+ - subcomando (on/off/set)
3458
+ - mensagem textual ou caminho de midia informado
3459
+ - midia anexada/citada para salvar na configuracao do grupo
3460
+ - dependencias_externas:
3461
+ - API do WhatsApp (ações de grupo)
3462
+ - stores/configuração interna
3463
+ - efeitos_colaterais:
3464
+ - altera configurações de grupo e permissões
3465
+ - envia mensagens administrativas
3466
+ - respostas_padrao:
3467
+ - success: Comando executado com sucesso.
3468
+ - usage_error: Formato de uso inválido. Consulte metodos_de_uso.
3469
+ - permission_error: Permissão insuficiente para executar este comando.
3470
+ - sucesso: Comando executado com sucesso.
3471
+ - erro_uso: Formato de uso inválido. Consulte metodos_de_uso.
3472
+ - erro_permissao: Permissão insuficiente para executar este comando.
3473
+ - mensagens_sistema:
3474
+ - (nao informado)
3475
+ - limites_operacionais:
3476
+ - (nao informado)
3477
+ - opcoes:
3478
+ - toggle_on_off_status.type: toggle
3479
+ - toggle_on_off_status.allowed_actions: on, off, status
3480
+ - toggle_on_off_status.action_argument: acao
3481
+ - add_remove_list.type: list_management
3482
+ - add_remove_list.allowed_actions: add, remove, list
3483
+ - add_remove_list.action_argument: acao
3484
+ - approve_reject.type: moderation_decision
3485
+ - approve_reject.allowed_actions: approve, reject
3486
+ - approve_reject.action_argument: acao
3487
+ - approve_reject.requires_targets: true
3488
+ - set_status_reset.type: configuration_window
3489
+ - set_status_reset.allowed_actions: set, status, reset
3490
+ - set_status_reset.action_argument: valor
3491
+ - observabilidade:
3492
+ - event_name: command.executed
3493
+ - analytics_event: whatsapp_command_welcome
3494
+ - tags_log: whatsapp, command, adminModule, welcome
3495
+ - nivel_log: info
3496
+ - privacidade:
3497
+ - dados_sensiveis:
3498
+ - chat_identifier
3499
+ - sender_identifier
3500
+ - command_content
3501
+ - retencao: standard_app_logs
3502
+ - base_legal: service_execution_and_legitimate_interest
3503
+ - docs:
3504
+ - summary: Configura mensagens/midia de boas-vindas no grupo.
3505
+ - usage_examples: <prefix>boasvindas on, <prefix>boasvindas off, <prefix>boasvindas set <mensagem_ou_midia>
3506
+ - usage_variants.missing_content: <prefix>boasvindas set <mensagem ou caminho da midia>, Também é possível enviar uma mídia junto ao comando.
3507
+ - behavior:
3508
+ - type: subcommand
3509
+ - allowed_actions: on, off, set
3510
+ - action_argument: acao
3511
+ - supports_media_or_text: true
3512
+ - limits:
3513
+ - usage_description: set exige mensagem ou midia
3514
+ - rate_limit.max: null
3515
+ - rate_limit.janela_ms: null
3516
+ - rate_limit.escopo: sem_rate_limit_explicito
3517
+ - access.somente_premium: false
3518
+ - access.planos_permitidos: comum, premium
3519
+ - plan_limits.comum.max: 25
3520
+ - plan_limits.comum.janela_ms: 60000
3521
+ - plan_limits.comum.escopo: usuario
3522
+ - plan_limits.premium.max: 120
3523
+ - plan_limits.premium.janela_ms: 60000
3524
+ - plan_limits.premium.escopo: usuario
3525
+ - discovery:
3526
+ - keywords: boasvindas, admin, grupo
3527
+ - faq_queries: como usar boasvindas, o que faz boasvindas, comando boasvindas
3528
+ - user_phrasings: quero usar boasvindas, me ajuda com boasvindas, configura mensagens/midia de boas-vindas
3529
+ - suggestion_priority: 100
3530
+ - handler:
3531
+ - file: groupCommandHandlers.js
3532
+ - method: handleAdminCommand
3533
+ - command_case: welcome
3534
+
3535
+ ### despedida
3536
+
3537
+ - id: admin.despedida
3538
+ - aliases: farewell
3539
+ - enabled: true
3540
+ - categoria: admin
3541
+ - descricao: Configura mensagens/midia de despedida no grupo.
3542
+ - permissao_necessaria: admin do grupo
3543
+ - version: 1.0.0
3544
+ - stability: stable
3545
+ - deprecated: nao
3546
+ - risk_level: medium
3547
+ - local_de_uso:
3548
+ - grupo
3549
+ - metodos_de_uso:
3550
+ - <prefix>despedida on
3551
+ - <prefix>despedida off
3552
+ - <prefix>despedida set <mensagem_ou_midia>
3553
+ - mensagens_uso (variantes):
3554
+ - missing_content:
3555
+ - <prefix>despedida set <mensagem ou caminho da midia>
3556
+ - Também é possível enviar uma mídia junto ao comando.
3557
+ - subcomandos:
3558
+ - on
3559
+ - off
3560
+ - set
3561
+ - argumentos:
3562
+ - acao | tipo: string | obrigatorio | validacao: on|off|set | default: null | posicao: 0
3563
+ - mensagem_ou_midia | tipo: string | opcional | validacao: texto, caminho local ou mídia anexada | default: null | posicao: 1
3564
+ - pre_condicoes:
3565
+ - requer_grupo: sim
3566
+ - requer_admin: sim
3567
+ - requer_admin_principal: nao
3568
+ - requer_google_login: sim
3569
+ - requer_nsfw: nao
3570
+ - requer_midia: nao
3571
+ - requer_mensagem_respondida: nao
3572
+ - rate_limit:
3573
+ - max: null
3574
+ - janela_ms: null
3575
+ - escopo: sem_rate_limit_explicito
3576
+ - acesso:
3577
+ - somente_premium: nao
3578
+ - planos_permitidos: comum, premium
3579
+ - limite_uso_por_plano:
3580
+ - comum: max=25, janela_ms=60000, escopo=usuario
3581
+ - premium: max=120, janela_ms=60000, escopo=usuario
3582
+ - informacoes_coletadas:
3583
+ - identificador do chat (remoteJid)
3584
+ - identificador do remetente (senderJid)
3585
+ - texto do comando e argumentos
3586
+ - contexto da mensagem (citacao e mencoes, quando existir)
3587
+ - subcomando (on/off/set)
3588
+ - mensagem textual ou caminho de midia informado
3589
+ - midia anexada/citada para salvar na configuracao do grupo
3590
+ - dependencias_externas:
3591
+ - API do WhatsApp (ações de grupo)
3592
+ - stores/configuração interna
3593
+ - efeitos_colaterais:
3594
+ - altera configurações de grupo e permissões
3595
+ - envia mensagens administrativas
3596
+ - respostas_padrao:
3597
+ - success: Comando executado com sucesso.
3598
+ - usage_error: Formato de uso inválido. Consulte metodos_de_uso.
3599
+ - permission_error: Permissão insuficiente para executar este comando.
3600
+ - sucesso: Comando executado com sucesso.
3601
+ - erro_uso: Formato de uso inválido. Consulte metodos_de_uso.
3602
+ - erro_permissao: Permissão insuficiente para executar este comando.
3603
+ - mensagens_sistema:
3604
+ - (nao informado)
3605
+ - limites_operacionais:
3606
+ - (nao informado)
3607
+ - opcoes:
3608
+ - toggle_on_off_status.type: toggle
3609
+ - toggle_on_off_status.allowed_actions: on, off, status
3610
+ - toggle_on_off_status.action_argument: acao
3611
+ - add_remove_list.type: list_management
3612
+ - add_remove_list.allowed_actions: add, remove, list
3613
+ - add_remove_list.action_argument: acao
3614
+ - approve_reject.type: moderation_decision
3615
+ - approve_reject.allowed_actions: approve, reject
3616
+ - approve_reject.action_argument: acao
3617
+ - approve_reject.requires_targets: true
3618
+ - set_status_reset.type: configuration_window
3619
+ - set_status_reset.allowed_actions: set, status, reset
3620
+ - set_status_reset.action_argument: valor
3621
+ - observabilidade:
3622
+ - event_name: command.executed
3623
+ - analytics_event: whatsapp_command_farewell
3624
+ - tags_log: whatsapp, command, adminModule, farewell
3625
+ - nivel_log: info
3626
+ - privacidade:
3627
+ - dados_sensiveis:
3628
+ - chat_identifier
3629
+ - sender_identifier
3630
+ - command_content
3631
+ - retencao: standard_app_logs
3632
+ - base_legal: service_execution_and_legitimate_interest
3633
+ - docs:
3634
+ - summary: Configura mensagens/midia de despedida no grupo.
3635
+ - usage_examples: <prefix>despedida on, <prefix>despedida off, <prefix>despedida set <mensagem_ou_midia>
3636
+ - usage_variants.missing_content: <prefix>despedida set <mensagem ou caminho da midia>, Também é possível enviar uma mídia junto ao comando.
3637
+ - behavior:
3638
+ - type: subcommand
3639
+ - allowed_actions: on, off, set
3640
+ - action_argument: acao
3641
+ - supports_media_or_text: true
3642
+ - limits:
3643
+ - usage_description: set exige mensagem ou midia
3644
+ - rate_limit.max: null
3645
+ - rate_limit.janela_ms: null
3646
+ - rate_limit.escopo: sem_rate_limit_explicito
3647
+ - access.somente_premium: false
3648
+ - access.planos_permitidos: comum, premium
3649
+ - plan_limits.comum.max: 25
3650
+ - plan_limits.comum.janela_ms: 60000
3651
+ - plan_limits.comum.escopo: usuario
3652
+ - plan_limits.premium.max: 120
3653
+ - plan_limits.premium.janela_ms: 60000
3654
+ - plan_limits.premium.escopo: usuario
3655
+ - discovery:
3656
+ - keywords: despedida, admin, grupo
3657
+ - faq_queries: como usar despedida, o que faz despedida, comando despedida
3658
+ - user_phrasings: quero usar despedida, me ajuda com despedida, configura mensagens/midia de despedida
3659
+ - suggestion_priority: 100
3660
+ - handler:
3661
+ - file: groupCommandHandlers.js
3662
+ - method: handleAdminCommand
3663
+ - command_case: farewell
3664
+
3665
+ ### captcha
3666
+
3667
+ - id: admin.captcha
3668
+ - aliases: (nenhum)
3669
+ - enabled: true
3670
+ - categoria: admin
3671
+ - descricao: Ativa/desativa captcha para novos membros no grupo.
3672
+ - permissao_necessaria: admin do grupo
3673
+ - version: 1.0.0
3674
+ - stability: stable
3675
+ - deprecated: nao
3676
+ - risk_level: medium
3677
+ - local_de_uso:
3678
+ - grupo
3679
+ - metodos_de_uso:
3680
+ - <prefix>captcha on
3681
+ - <prefix>captcha off
3682
+ - <prefix>captcha status
3683
+ - mensagens_uso (variantes):
3684
+ - (nenhum)
3685
+ - subcomandos:
3686
+ - on
3687
+ - off
3688
+ - status
3689
+ - argumentos:
3690
+ - acao | tipo: string | obrigatorio | validacao: on|off|status | default: null | posicao: 0
3691
+ - pre_condicoes:
3692
+ - requer_grupo: sim
3693
+ - requer_admin: sim
3694
+ - requer_admin_principal: nao
3695
+ - requer_google_login: sim
3696
+ - requer_nsfw: nao
3697
+ - requer_midia: nao
3698
+ - requer_mensagem_respondida: nao
3699
+ - rate_limit:
3700
+ - max: null
3701
+ - janela_ms: null
3702
+ - escopo: sem_rate_limit_explicito
3703
+ - acesso:
3704
+ - somente_premium: nao
3705
+ - planos_permitidos: comum, premium
3706
+ - limite_uso_por_plano:
3707
+ - comum: max=25, janela_ms=60000, escopo=usuario
3708
+ - premium: max=120, janela_ms=60000, escopo=usuario
3709
+ - informacoes_coletadas:
3710
+ - identificador do chat (remoteJid)
3711
+ - identificador do remetente (senderJid)
3712
+ - texto do comando e argumentos
3713
+ - contexto da mensagem (citacao e mencoes, quando existir)
3714
+ - status atual de captcha do grupo
3715
+ - acao solicitada (on/off/status)
3716
+ - dependencias_externas:
3717
+ - API do WhatsApp (ações de grupo)
3718
+ - stores/configuração interna
3719
+ - efeitos_colaterais:
3720
+ - altera configurações de grupo e permissões
3721
+ - envia mensagens administrativas
3722
+ - respostas_padrao:
3723
+ - success: Comando executado com sucesso.
3724
+ - usage_error: Formato de uso inválido. Consulte metodos_de_uso.
3725
+ - permission_error: Permissão insuficiente para executar este comando.
3726
+ - sucesso: Comando executado com sucesso.
3727
+ - erro_uso: Formato de uso inválido. Consulte metodos_de_uso.
3728
+ - erro_permissao: Permissão insuficiente para executar este comando.
3729
+ - mensagens_sistema:
3730
+ - (nao informado)
3731
+ - limites_operacionais:
3732
+ - (nao informado)
3733
+ - opcoes:
3734
+ - toggle_on_off_status.type: toggle
3735
+ - toggle_on_off_status.allowed_actions: on, off, status
3736
+ - toggle_on_off_status.action_argument: acao
3737
+ - add_remove_list.type: list_management
3738
+ - add_remove_list.allowed_actions: add, remove, list
3739
+ - add_remove_list.action_argument: acao
3740
+ - approve_reject.type: moderation_decision
3741
+ - approve_reject.allowed_actions: approve, reject
3742
+ - approve_reject.action_argument: acao
3743
+ - approve_reject.requires_targets: true
3744
+ - set_status_reset.type: configuration_window
3745
+ - set_status_reset.allowed_actions: set, status, reset
3746
+ - set_status_reset.action_argument: valor
3747
+ - observabilidade:
3748
+ - event_name: command.executed
3749
+ - analytics_event: whatsapp_command_captcha
3750
+ - tags_log: whatsapp, command, adminModule, captcha
3751
+ - nivel_log: info
3752
+ - privacidade:
3753
+ - dados_sensiveis:
3754
+ - chat_identifier
3755
+ - sender_identifier
3756
+ - command_content
3757
+ - retencao: standard_app_logs
3758
+ - base_legal: service_execution_and_legitimate_interest
3759
+ - docs:
3760
+ - summary: Ativa/desativa captcha para novos membros no grupo.
3761
+ - usage_examples: <prefix>captcha on, <prefix>captcha off, <prefix>captcha status
3762
+ - behavior:
3763
+ - type: toggle
3764
+ - allowed_actions: on, off, status
3765
+ - action_argument: acao
3766
+ - limits:
3767
+ - usage_description: sem limite especifico
3768
+ - rate_limit.max: null
3769
+ - rate_limit.janela_ms: null
3770
+ - rate_limit.escopo: sem_rate_limit_explicito
3771
+ - access.somente_premium: false
3772
+ - access.planos_permitidos: comum, premium
3773
+ - plan_limits.comum.max: 25
3774
+ - plan_limits.comum.janela_ms: 60000
3775
+ - plan_limits.comum.escopo: usuario
3776
+ - plan_limits.premium.max: 120
3777
+ - plan_limits.premium.janela_ms: 60000
3778
+ - plan_limits.premium.escopo: usuario
3779
+ - discovery:
3780
+ - keywords: captcha, admin, grupo
3781
+ - faq_queries: como usar captcha, o que faz captcha, comando captcha
3782
+ - user_phrasings: quero usar captcha, me ajuda com captcha, ativa/desativa captcha para novos
3783
+ - suggestion_priority: 100
3784
+ - handler:
3785
+ - file: groupCommandHandlers.js
3786
+ - method: handleAdminCommand
3787
+ - command_case: captcha
3788
+
3789
+ ### antilink
3790
+
3791
+ - id: admin.antilink
3792
+ - aliases: (nenhum)
3793
+ - enabled: true
3794
+ - categoria: admin
3795
+ - descricao: Gerencia bloqueio de links permitidos no grupo.
3796
+ - permissao_necessaria: admin do grupo
3797
+ - version: 1.0.0
3798
+ - stability: stable
3799
+ - deprecated: nao
3800
+ - risk_level: low
3801
+ - local_de_uso:
3802
+ - grupo
3803
+ - metodos_de_uso:
3804
+ - <prefix>antilink on
3805
+ - <prefix>antilink off
3806
+ - <prefix>antilink list
3807
+ - <prefix>antilink allow <rede>
3808
+ - <prefix>antilink disallow <rede>
3809
+ - <prefix>antilink add <dominio>
3810
+ - <prefix>antilink remove <dominio>
3811
+ - mensagens_uso (variantes):
3812
+ - allow:
3813
+ - <prefix>antilink allow <rede>
3814
+ - disallow:
3815
+ - <prefix>antilink disallow <rede>
3816
+ - add:
3817
+ - <prefix>antilink add <dominio>
3818
+ - remove:
3819
+ - <prefix>antilink remove <dominio>
3820
+ - subcomandos:
3821
+ - on
3822
+ - off
3823
+ - list
3824
+ - allow
3825
+ - disallow
3826
+ - add
3827
+ - remove
3828
+ - argumentos:
3829
+ - subcomando | tipo: string | obrigatorio | validacao: on|off|list|allow|disallow|add|remove | default: null | posicao: 0
3830
+ - alvos | tipo: array | opcional | validacao: redes ou domínios | default: null | posicao: 1
3831
+ - pre_condicoes:
3832
+ - requer_grupo: sim
3833
+ - requer_admin: sim
3834
+ - requer_admin_principal: nao
3835
+ - requer_google_login: sim
3836
+ - requer_nsfw: nao
3837
+ - requer_midia: nao
3838
+ - requer_mensagem_respondida: nao
3839
+ - rate_limit:
3840
+ - max: null
3841
+ - janela_ms: null
3842
+ - escopo: sem_rate_limit_explicito
3843
+ - acesso:
3844
+ - somente_premium: nao
3845
+ - planos_permitidos: comum, premium
3846
+ - limite_uso_por_plano:
3847
+ - comum: max=25, janela_ms=60000, escopo=usuario
3848
+ - premium: max=120, janela_ms=60000, escopo=usuario
3849
+ - informacoes_coletadas:
3850
+ - identificador do chat (remoteJid)
3851
+ - identificador do remetente (senderJid)
3852
+ - texto do comando e argumentos
3853
+ - contexto da mensagem (citacao e mencoes, quando existir)
3854
+ - subcomando e argumentos (rede/dominio)
3855
+ - listas atuais de redes e dominios permitidos no grupo
3856
+ - dependencias_externas:
3857
+ - API do WhatsApp (ações de grupo)
3858
+ - stores/configuração interna
3859
+ - efeitos_colaterais:
3860
+ - altera configurações de grupo e permissões
3861
+ - envia mensagens administrativas
3862
+ - respostas_padrao:
3863
+ - success: Comando executado com sucesso.
3864
+ - usage_error: Formato de uso inválido. Consulte metodos_de_uso.
3865
+ - permission_error: Permissão insuficiente para executar este comando.
3866
+ - sucesso: Comando executado com sucesso.
3867
+ - erro_uso: Formato de uso inválido. Consulte metodos_de_uso.
3868
+ - erro_permissao: Permissão insuficiente para executar este comando.
3869
+ - mensagens_sistema:
3870
+ - (nao informado)
3871
+ - limites_operacionais:
3872
+ - (nao informado)
3873
+ - opcoes:
3874
+ - toggle_on_off_status.type: toggle
3875
+ - toggle_on_off_status.allowed_actions: on, off, status
3876
+ - toggle_on_off_status.action_argument: acao
3877
+ - add_remove_list.type: list_management
3878
+ - add_remove_list.allowed_actions: add, remove, list
3879
+ - add_remove_list.action_argument: acao
3880
+ - approve_reject.type: moderation_decision
3881
+ - approve_reject.allowed_actions: approve, reject
3882
+ - approve_reject.action_argument: acao
3883
+ - approve_reject.requires_targets: true
3884
+ - set_status_reset.type: configuration_window
3885
+ - set_status_reset.allowed_actions: set, status, reset
3886
+ - set_status_reset.action_argument: valor
3887
+ - observabilidade:
3888
+ - event_name: command.executed
3889
+ - analytics_event: whatsapp_command_antilink
3890
+ - tags_log: whatsapp, command, adminModule, antilink
3891
+ - nivel_log: info
3892
+ - privacidade:
3893
+ - dados_sensiveis:
3894
+ - chat_identifier
3895
+ - sender_identifier
3896
+ - command_content
3897
+ - retencao: standard_app_logs
3898
+ - base_legal: service_execution_and_legitimate_interest
3899
+ - docs:
3900
+ - summary: Gerencia bloqueio de links permitidos no grupo.
3901
+ - usage_examples: <prefix>antilink on, <prefix>antilink off, <prefix>antilink list, <prefix>antilink allow <rede>, <prefix>antilink disallow <rede>, <prefix>antilink add <dominio>, <prefix>antilink remove <dominio>
3902
+ - usage_variants.allow: <prefix>antilink allow <rede>
3903
+ - usage_variants.disallow: <prefix>antilink disallow <rede>
3904
+ - usage_variants.add: <prefix>antilink add <dominio>
3905
+ - usage_variants.remove: <prefix>antilink remove <dominio>
3906
+ - behavior:
3907
+ - type: list_management
3908
+ - allowed_actions: add, remove, list
3909
+ - action_argument: acao
3910
+ - limits:
3911
+ - usage_description: subcomandos e argumentos validados
3912
+ - rate_limit.max: null
3913
+ - rate_limit.janela_ms: null
3914
+ - rate_limit.escopo: sem_rate_limit_explicito
3915
+ - access.somente_premium: false
3916
+ - access.planos_permitidos: comum, premium
3917
+ - plan_limits.comum.max: 25
3918
+ - plan_limits.comum.janela_ms: 60000
3919
+ - plan_limits.comum.escopo: usuario
3920
+ - plan_limits.premium.max: 120
3921
+ - plan_limits.premium.janela_ms: 60000
3922
+ - plan_limits.premium.escopo: usuario
3923
+ - discovery:
3924
+ - keywords: antilink, admin, grupo
3925
+ - faq_queries: como usar antilink, o que faz antilink, comando antilink
3926
+ - user_phrasings: quero usar antilink, me ajuda com antilink, gerencia bloqueio de links
3927
+ - suggestion_priority: 100
3928
+ - handler:
3929
+ - file: groupCommandHandlers.js
3930
+ - method: handleAdminCommand
3931
+ - command_case: antilink
3932
+
3933
+ ### noticias
3934
+
3935
+ - id: admin.noticias
3936
+ - aliases: news, noticia
3937
+ - enabled: true
3938
+ - categoria: admin
3939
+ - descricao: Ativa/desativa envio automatico de noticias no grupo.
3940
+ - permissao_necessaria: admin do grupo
3941
+ - version: 1.0.0
3942
+ - stability: stable
3943
+ - deprecated: nao
3944
+ - risk_level: medium
3945
+ - local_de_uso:
3946
+ - grupo
3947
+ - metodos_de_uso:
3948
+ - <prefix>noticias on
3949
+ - <prefix>noticias off
3950
+ - <prefix>noticias status
3951
+ - <prefix>news status
3952
+ - mensagens_uso (variantes):
3953
+ - (nenhum)
3954
+ - subcomandos:
3955
+ - on
3956
+ - off
3957
+ - status
3958
+ - argumentos:
3959
+ - acao | tipo: string | obrigatorio | validacao: on|off|status | default: null | posicao: 0
3960
+ - pre_condicoes:
3961
+ - requer_grupo: sim
3962
+ - requer_admin: sim
3963
+ - requer_admin_principal: nao
3964
+ - requer_google_login: sim
3965
+ - requer_nsfw: nao
3966
+ - requer_midia: nao
3967
+ - requer_mensagem_respondida: nao
3968
+ - rate_limit:
3969
+ - max: null
3970
+ - janela_ms: null
3971
+ - escopo: sem_rate_limit_explicito
3972
+ - acesso:
3973
+ - somente_premium: nao
3974
+ - planos_permitidos: comum, premium
3975
+ - limite_uso_por_plano:
3976
+ - comum: max=25, janela_ms=60000, escopo=usuario
3977
+ - premium: max=120, janela_ms=60000, escopo=usuario
3978
+ - informacoes_coletadas:
3979
+ - identificador do chat (remoteJid)
3980
+ - identificador do remetente (senderJid)
3981
+ - texto do comando e argumentos
3982
+ - contexto da mensagem (citacao e mencoes, quando existir)
3983
+ - status atual de noticias do grupo
3984
+ - acao solicitada (on/off/status)
3985
+ - dependencias_externas:
3986
+ - API do WhatsApp (ações de grupo)
3987
+ - stores/configuração interna
3988
+ - efeitos_colaterais:
3989
+ - altera configurações de grupo e permissões
3990
+ - envia mensagens administrativas
3991
+ - respostas_padrao:
3992
+ - success: Comando executado com sucesso.
3993
+ - usage_error: Formato de uso inválido. Consulte metodos_de_uso.
3994
+ - permission_error: Permissão insuficiente para executar este comando.
3995
+ - sucesso: Comando executado com sucesso.
3996
+ - erro_uso: Formato de uso inválido. Consulte metodos_de_uso.
3997
+ - erro_permissao: Permissão insuficiente para executar este comando.
3998
+ - mensagens_sistema:
3999
+ - (nao informado)
4000
+ - limites_operacionais:
4001
+ - (nao informado)
4002
+ - opcoes:
4003
+ - toggle_on_off_status.type: toggle
4004
+ - toggle_on_off_status.allowed_actions: on, off, status
4005
+ - toggle_on_off_status.action_argument: acao
4006
+ - add_remove_list.type: list_management
4007
+ - add_remove_list.allowed_actions: add, remove, list
4008
+ - add_remove_list.action_argument: acao
4009
+ - approve_reject.type: moderation_decision
4010
+ - approve_reject.allowed_actions: approve, reject
4011
+ - approve_reject.action_argument: acao
4012
+ - approve_reject.requires_targets: true
4013
+ - set_status_reset.type: configuration_window
4014
+ - set_status_reset.allowed_actions: set, status, reset
4015
+ - set_status_reset.action_argument: valor
4016
+ - observabilidade:
4017
+ - event_name: command.executed
4018
+ - analytics_event: whatsapp_command_noticias
4019
+ - tags_log: whatsapp, command, adminModule, noticias
4020
+ - nivel_log: info
4021
+ - privacidade:
4022
+ - dados_sensiveis:
4023
+ - chat_identifier
4024
+ - sender_identifier
4025
+ - command_content
4026
+ - retencao: standard_app_logs
4027
+ - base_legal: service_execution_and_legitimate_interest
4028
+ - docs:
4029
+ - summary: Ativa/desativa envio automatico de noticias no grupo.
4030
+ - usage_examples: <prefix>noticias on, <prefix>noticias off, <prefix>noticias status, <prefix>news status
4031
+ - behavior:
4032
+ - type: toggle
4033
+ - allowed_actions: on, off, status
4034
+ - action_argument: acao
4035
+ - limits:
4036
+ - usage_description: sem limite especifico
4037
+ - rate_limit.max: null
4038
+ - rate_limit.janela_ms: null
4039
+ - rate_limit.escopo: sem_rate_limit_explicito
4040
+ - access.somente_premium: false
4041
+ - access.planos_permitidos: comum, premium
4042
+ - plan_limits.comum.max: 25
4043
+ - plan_limits.comum.janela_ms: 60000
4044
+ - plan_limits.comum.escopo: usuario
4045
+ - plan_limits.premium.max: 120
4046
+ - plan_limits.premium.janela_ms: 60000
4047
+ - plan_limits.premium.escopo: usuario
4048
+ - discovery:
4049
+ - keywords: noticias, news, admin, grupo
4050
+ - faq_queries: como usar noticias, o que faz noticias, comando noticias
4051
+ - user_phrasings: quero usar noticias, me ajuda com noticias, ativa/desativa envio automatico de
4052
+ - suggestion_priority: 100
4053
+ - handler:
4054
+ - file: groupCommandHandlers.js
4055
+ - method: handleAdminCommand
4056
+ - command_case: noticias