@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.
- package/.clusterfuzzlite/Dockerfile +10 -0
- package/.env.example +907 -0
- package/.github/codeql/codeql-config.yml +10 -0
- package/.github/dependabot.yml +35 -0
- package/.github/workflows/ci.yml +73 -0
- package/.github/workflows/codeql.yml +106 -0
- package/.github/workflows/db-migration-check.yml +98 -0
- package/.github/workflows/dependency-review.yml +22 -0
- package/.github/workflows/deploy.yml +95 -0
- package/.github/workflows/release.yml +106 -0
- package/.github/workflows/security-attest-provenance.yml +51 -0
- package/.github/workflows/security-gitleaks.yml +34 -0
- package/.github/workflows/security-runner-hardening.yml +31 -0
- package/.github/workflows/security-scorecard.yml +44 -0
- package/.github/workflows/security-zap-baseline.yml +44 -0
- package/.github/workflows/security-zap-full-scan.yml +43 -0
- package/.github/workflows/security-zizmor.yml +36 -0
- package/.github/workflows/wiki-sync.yml +44 -0
- package/.gitleaks.toml +15 -0
- package/.prettierrc +34 -0
- package/CODE_OF_CONDUCT.md +114 -0
- package/LICENSE +56 -0
- package/README.md +110 -0
- package/SECURITY.md +110 -0
- package/app/config/index.js +4 -0
- package/app/configParts/adminIdentity.js +92 -0
- package/app/configParts/baileysConfig.js +1818 -0
- package/app/configParts/groupUtils.js +692 -0
- package/app/configParts/loggerConfig.js +394 -0
- package/app/configParts/messagePersistenceService.js +305 -0
- package/app/connection/baileysCompatibility.test.js +40 -0
- package/app/connection/baileysDbAuthState.js +344 -0
- package/app/connection/socketController.js +2243 -0
- package/app/controllers/messageController.js +7 -0
- package/app/controllers/messagePipeline/commandMiddleware.js +146 -0
- package/app/controllers/messagePipeline/conversationMiddleware.js +183 -0
- package/app/controllers/messagePipeline/messagePipelineMiddlewares.test.js +522 -0
- package/app/controllers/messagePipeline/postProcessingMiddleware.js +41 -0
- package/app/controllers/messagePipeline/preProcessingMiddlewares.js +166 -0
- package/app/controllers/messageProcessingPipeline.js +699 -0
- package/app/modules/adminModule/AGENT.md +4056 -0
- package/app/modules/adminModule/adminAiHelpService.js +56 -0
- package/app/modules/adminModule/adminConfigRuntime.js +177 -0
- package/app/modules/adminModule/commandConfig.json +7122 -0
- package/app/modules/adminModule/groupCommandHandlers.js +1823 -0
- package/app/modules/adminModule/groupCommandHandlers.test.js +350 -0
- package/app/modules/adminModule/groupEventHandlers.js +399 -0
- package/app/modules/aiModule/AGENT.md +547 -0
- package/app/modules/aiModule/aiAiHelpService.js +14 -0
- package/app/modules/aiModule/aiConfigRuntime.js +135 -0
- package/app/modules/aiModule/catCommand.js +967 -0
- package/app/modules/aiModule/commandConfig.json +981 -0
- package/app/modules/analyticsModule/messageAnalysisEventRepository.js +83 -0
- package/app/modules/gameModule/AGENT.md +196 -0
- package/app/modules/gameModule/commandConfig.json +366 -0
- package/app/modules/gameModule/diceCommand.js +42 -0
- package/app/modules/gameModule/gameAiHelpService.js +14 -0
- package/app/modules/gameModule/gameConfigRuntime.js +68 -0
- package/app/modules/menuModule/AGENT.md +205 -0
- package/app/modules/menuModule/commandConfig.json +366 -0
- package/app/modules/menuModule/common.js +316 -0
- package/app/modules/menuModule/menuAiHelpService.js +14 -0
- package/app/modules/menuModule/menuConfigRuntime.js +68 -0
- package/app/modules/menuModule/menus.js +66 -0
- package/app/modules/playModule/AGENT.md +321 -0
- package/app/modules/playModule/commandConfig.json +584 -0
- package/app/modules/playModule/playAiHelpService.js +14 -0
- package/app/modules/playModule/playCommand.js +1417 -0
- package/app/modules/playModule/playConfigRuntime.js +68 -0
- package/app/modules/quoteModule/AGENT.md +199 -0
- package/app/modules/quoteModule/commandConfig.json +366 -0
- package/app/modules/quoteModule/quoteAiHelpService.js +14 -0
- package/app/modules/quoteModule/quoteCommand.js +842 -0
- package/app/modules/quoteModule/quoteConfigRuntime.js +68 -0
- package/app/modules/rpgPokemonModule/AGENT.md +229 -0
- package/app/modules/rpgPokemonModule/commandConfig.json +386 -0
- package/app/modules/rpgPokemonModule/rpgBattleCanvasRenderer.js +795 -0
- package/app/modules/rpgPokemonModule/rpgBattleService.js +2110 -0
- package/app/modules/rpgPokemonModule/rpgBattleService.test.js +770 -0
- package/app/modules/rpgPokemonModule/rpgEvolutionUtils.js +22 -0
- package/app/modules/rpgPokemonModule/rpgPokemonAiHelpService.js +14 -0
- package/app/modules/rpgPokemonModule/rpgPokemonCommand.js +174 -0
- package/app/modules/rpgPokemonModule/rpgPokemonConfigRuntime.js +68 -0
- package/app/modules/rpgPokemonModule/rpgPokemonDomain.js +192 -0
- package/app/modules/rpgPokemonModule/rpgPokemonDomain.test.js +93 -0
- package/app/modules/rpgPokemonModule/rpgPokemonEvolution.test.js +46 -0
- package/app/modules/rpgPokemonModule/rpgPokemonMessages.js +746 -0
- package/app/modules/rpgPokemonModule/rpgPokemonRepository.js +1847 -0
- package/app/modules/rpgPokemonModule/rpgPokemonService.js +6839 -0
- package/app/modules/rpgPokemonModule/rpgProfileCanvasRenderer.js +354 -0
- package/app/modules/statsModule/AGENT.md +320 -0
- package/app/modules/statsModule/commandConfig.json +540 -0
- package/app/modules/statsModule/globalRankingCommand.js +64 -0
- package/app/modules/statsModule/rankingCommand.js +41 -0
- package/app/modules/statsModule/rankingCommon.js +1305 -0
- package/app/modules/statsModule/statsAiHelpService.js +14 -0
- package/app/modules/statsModule/statsConfigRuntime.js +68 -0
- package/app/modules/stickerModule/AGENT.md +692 -0
- package/app/modules/stickerModule/addStickerMetadata.js +239 -0
- package/app/modules/stickerModule/commandConfig.json +1216 -0
- package/app/modules/stickerModule/convertToWebp.js +367 -0
- package/app/modules/stickerModule/stickerAiHelpService.js +14 -0
- package/app/modules/stickerModule/stickerCommand.js +446 -0
- package/app/modules/stickerModule/stickerConfigRuntime.js +68 -0
- package/app/modules/stickerModule/stickerConvertCommand.js +159 -0
- package/app/modules/stickerModule/stickerTextCommand.js +653 -0
- package/app/modules/stickerPackModule/AGENT.md +215 -0
- package/app/modules/stickerPackModule/autoPackCollectorRuntime.js +20 -0
- package/app/modules/stickerPackModule/autoPackCollectorService.js +357 -0
- package/app/modules/stickerPackModule/commandConfig.json +387 -0
- package/app/modules/stickerPackModule/domainEventOutboxRepository.js +227 -0
- package/app/modules/stickerPackModule/domainEvents.js +52 -0
- package/app/modules/stickerPackModule/semanticReclassificationEngine.js +429 -0
- package/app/modules/stickerPackModule/semanticReclassificationEngine.test.js +75 -0
- package/app/modules/stickerPackModule/semanticThemeClusterService.js +544 -0
- package/app/modules/stickerPackModule/stickerAssetClassificationRepository.js +400 -0
- package/app/modules/stickerPackModule/stickerAssetRepository.js +400 -0
- package/app/modules/stickerPackModule/stickerAssetReprocessQueueRepository.js +175 -0
- package/app/modules/stickerPackModule/stickerAutoPackByTagsRuntime.js +3702 -0
- package/app/modules/stickerPackModule/stickerClassificationBackgroundRuntime.js +559 -0
- package/app/modules/stickerPackModule/stickerClassificationService.js +557 -0
- package/app/modules/stickerPackModule/stickerDedicatedTaskWorkerRuntime.js +249 -0
- package/app/modules/stickerPackModule/stickerDomainEventBus.js +65 -0
- package/app/modules/stickerPackModule/stickerDomainEventConsumerRuntime.js +208 -0
- package/app/modules/stickerPackModule/stickerMarketplaceDriftService.js +99 -0
- package/app/modules/stickerPackModule/stickerObjectStorageService.js +285 -0
- package/app/modules/stickerPackModule/stickerPackAiHelpService.js +14 -0
- package/app/modules/stickerPackModule/stickerPackCommandHandlers.js +1148 -0
- package/app/modules/stickerPackModule/stickerPackConfigRuntime.js +68 -0
- package/app/modules/stickerPackModule/stickerPackEngagementRepository.js +152 -0
- package/app/modules/stickerPackModule/stickerPackErrors.js +30 -0
- package/app/modules/stickerPackModule/stickerPackInteractionEventRepository.js +101 -0
- package/app/modules/stickerPackModule/stickerPackItemRepository.js +432 -0
- package/app/modules/stickerPackModule/stickerPackMarketplaceService.js +313 -0
- package/app/modules/stickerPackModule/stickerPackMessageService.js +268 -0
- package/app/modules/stickerPackModule/stickerPackRepository.js +450 -0
- package/app/modules/stickerPackModule/stickerPackScoreSnapshotRepository.js +179 -0
- package/app/modules/stickerPackModule/stickerPackScoreSnapshotRuntime.js +271 -0
- package/app/modules/stickerPackModule/stickerPackService.js +733 -0
- package/app/modules/stickerPackModule/stickerPackServiceRuntime.js +32 -0
- package/app/modules/stickerPackModule/stickerPackUtils.js +107 -0
- package/app/modules/stickerPackModule/stickerStorageService.js +559 -0
- package/app/modules/stickerPackModule/stickerWorkerPipelineRuntime.js +242 -0
- package/app/modules/stickerPackModule/stickerWorkerTaskQueueRepository.js +242 -0
- package/app/modules/systemMetricsModule/AGENT.md +193 -0
- package/app/modules/systemMetricsModule/commandConfig.json +344 -0
- package/app/modules/systemMetricsModule/pingCommand.js +399 -0
- package/app/modules/systemMetricsModule/systemMetricsAiHelpService.js +14 -0
- package/app/modules/systemMetricsModule/systemMetricsConfigRuntime.js +68 -0
- package/app/modules/tiktokModule/AGENT.md +196 -0
- package/app/modules/tiktokModule/commandConfig.json +366 -0
- package/app/modules/tiktokModule/tiktokAiHelpService.js +14 -0
- package/app/modules/tiktokModule/tiktokCommand.js +716 -0
- package/app/modules/tiktokModule/tiktokConfigRuntime.js +68 -0
- package/app/modules/userModule/AGENT.md +200 -0
- package/app/modules/userModule/commandConfig.json +386 -0
- package/app/modules/userModule/userAiHelpService.js +14 -0
- package/app/modules/userModule/userCommand.js +1155 -0
- package/app/modules/userModule/userConfigRuntime.js +68 -0
- package/app/modules/waifuPicsModule/AGENT.md +431 -0
- package/app/modules/waifuPicsModule/commandConfig.json +780 -0
- package/app/modules/waifuPicsModule/waifuPicsAiHelpService.js +14 -0
- package/app/modules/waifuPicsModule/waifuPicsCommand.js +586 -0
- package/app/modules/waifuPicsModule/waifuPicsConfigRuntime.js +68 -0
- package/app/observability/metrics.js +766 -0
- package/app/services/ai/aiHelpResponseCacheRepository.js +280 -0
- package/app/services/ai/aiLearningRepository.js +400 -0
- package/app/services/ai/commandConfigEnrichmentRepository.js +769 -0
- package/app/services/ai/commandConfigEnrichmentService.js +452 -0
- package/app/services/ai/commandConfigValidationService.js +443 -0
- package/app/services/ai/commandToolBuilderService.js +192 -0
- package/app/services/ai/conversationRouterService.js +516 -0
- package/app/services/ai/geminiService.js +115 -0
- package/app/services/ai/geminiService.test.js +87 -0
- package/app/services/ai/globalModuleAiHelpService.js +1412 -0
- package/app/services/ai/globalToolCallingService.js +203 -0
- package/app/services/ai/messageCommandExecutionService.js +391 -0
- package/app/services/ai/moduleAiHelpCoreService.js +1099 -0
- package/app/services/ai/moduleAiHelpWrapperFactory.js +65 -0
- package/app/services/ai/moduleCommandConfigRuntimeService.js +113 -0
- package/app/services/ai/moduleToolExecutorService.js +464 -0
- package/app/services/ai/moduleToolRegistryService.js +178 -0
- package/app/services/ai/toolCandidateSelectorService.js +781 -0
- package/app/services/auth/googleWebLinkService.js +80 -0
- package/app/services/auth/whatsappLoginLinkService.js +230 -0
- package/app/services/external/pokeApiService.js +398 -0
- package/app/services/group/groupMetadataService.js +311 -0
- package/app/services/infra/dbWriteQueue.js +874 -0
- package/app/services/infra/featureFlagService.js +131 -0
- package/app/services/infra/queueUtils.js +55 -0
- package/app/services/messaging/captchaService.js +491 -0
- package/app/services/messaging/messagePersistenceService.js +1 -0
- package/app/services/messaging/newsBroadcastService.js +347 -0
- package/app/services/sticker/stickerFocusService.js +347 -0
- package/app/services/sticker/stickerFocusService.test.js +43 -0
- package/app/store/aiPromptStore.js +38 -0
- package/app/store/conversationSessionStore.js +131 -0
- package/app/store/groupConfigStore.js +58 -0
- package/app/store/premiumUserStore.js +54 -0
- package/app/utils/antiLink/antiLinkModule.js +700 -0
- package/app/utils/http/getImageBufferModule.js +18 -0
- package/app/utils/json/jsonSanitizer.js +113 -0
- package/app/utils/json/jsonSanitizer.test.js +40 -0
- package/app/utils/systemMetrics/systemMetricsModule.js +88 -0
- package/app/workers/aiLearningWorker.js +605 -0
- package/app/workers/commandConfigEnrichmentWorker.js +242 -0
- package/database/index.js +2075 -0
- package/database/init.js +151 -0
- package/database/migrations/.gitkeep +0 -0
- package/database/migrations/20260307_d0_hardening_down.sql +64 -0
- package/database/migrations/20260307_d0_hardening_up.sql +79 -0
- package/database/migrations/20260307_d1_terms_acceptance_down.sql +11 -0
- package/database/migrations/20260307_d1_terms_acceptance_up.sql +37 -0
- package/database/migrations/20260307_d2_auth_hardening_down.sql +75 -0
- package/database/migrations/20260307_d2_auth_hardening_up.sql +100 -0
- package/database/migrations/20260314_d7_canonical_sender_down.sql +53 -0
- package/database/migrations/20260314_d7_canonical_sender_up.sql +114 -0
- package/database/migrations/20260406_d30_security_analytics_down.sql +95 -0
- package/database/migrations/20260406_d30_security_analytics_up.sql +292 -0
- package/database/migrations/20260407_d31_web_google_session_token_hardening_down.sql +2 -0
- package/database/migrations/20260407_d31_web_google_session_token_hardening_up.sql +17 -0
- package/database/migrations/20260408_d32_ai_help_response_cache_down.sql +1 -0
- package/database/migrations/20260408_d32_ai_help_response_cache_up.sql +22 -0
- package/database/migrations/20260409_d33_ai_learning_tables_down.sql +4 -0
- package/database/migrations/20260409_d33_ai_learning_tables_up.sql +52 -0
- package/database/migrations/20260410_d34_command_config_enrichment_down.sql +3 -0
- package/database/migrations/20260410_d34_command_config_enrichment_up.sql +48 -0
- package/database/schema.sql +1186 -0
- package/docker-compose.yml +104 -0
- package/docs/audits/stickerCatalogController-out-of-scope.md +103 -0
- package/docs/audits/stickerCatalogController-symbols.md +58 -0
- package/docs/compliance/acceptable-use-policy-2026-03-07.md +35 -0
- package/docs/compliance/dpa-b2b-standard-2026-03-07.md +80 -0
- package/docs/compliance/monthly-compliance-checklist-2026-03-07.md +88 -0
- package/docs/compliance/notice-and-takedown-policy-2026-03-07.md +34 -0
- package/docs/compliance/privacy-policy-2026-03-07.md +75 -0
- package/docs/compliance/subprocessors-inventory-2026-03-07.md +16 -0
- package/docs/database/production-db-evolution-runbook-2026q1.md +365 -0
- package/docs/security/dsar-lgpd-runbook-2026-03-07.md +86 -0
- package/docs/security/incident-response-lgpd-anpd-runbook-2026-03-07.md +77 -0
- package/docs/security/network-hardening-runbook-2026-03-07.md +137 -0
- package/docs/seo/omnizap-seo-playbook-br-2026-02-28.md +238 -0
- package/docs/seo/satellite-page-template.md +116 -0
- package/docs/seo/satellite-pages-phase1.json +364 -0
- package/docs/wiki/Home.md +120 -0
- package/docs/wiki/pair-extraordinaire-2026-03-08.md +3 -0
- package/docs/wiki/recent-changes-2026-03-08.md +47 -0
- package/ecosystem.prod.config.cjs +135 -0
- package/eslint.config.js +89 -0
- package/index.js +488 -0
- package/ml/clip_classifier/Dockerfile +18 -0
- package/ml/clip_classifier/README.md +118 -0
- package/ml/clip_classifier/adaptive_scoring.py +40 -0
- package/ml/clip_classifier/classifier.py +654 -0
- package/ml/clip_classifier/embedding_store.py +481 -0
- package/ml/clip_classifier/env_loader.py +15 -0
- package/ml/clip_classifier/llm_label_expander.py +144 -0
- package/ml/clip_classifier/main.py +213 -0
- package/ml/clip_classifier/requirements.txt +10 -0
- package/ml/clip_classifier/similarity_engine.py +74 -0
- package/new-logo.png +0 -0
- package/observability/alert-rules.yml +60 -0
- package/observability/grafana/dashboards/omnizap-mysql.json +136 -0
- package/observability/grafana/dashboards/omnizap-overview.json +170 -0
- package/observability/grafana/provisioning/dashboards/dashboards.yml +11 -0
- package/observability/grafana/provisioning/datasources/datasources.yml +15 -0
- package/observability/loki-config.yml +38 -0
- package/observability/mysql-setup.sql +46 -0
- package/observability/prometheus.yml +35 -0
- package/observability/promtail-config.yml +84 -0
- package/observability/sticker-catalog-slo.md +83 -0
- package/observability/sticker-scale-hardening-rollout.md +128 -0
- package/package.json +144 -0
- package/public/apple-touch-icon.png +0 -0
- package/public/assets/css/commands-react.input.css +71 -0
- package/public/assets/css/create-pack-react.input.css +31 -0
- package/public/assets/css/home-react.input.css +106 -0
- package/public/assets/css/login-react.input.css +58 -0
- package/public/assets/css/stickers-react.input.css +18 -0
- package/public/assets/css/terms-react.input.css +115 -0
- package/public/assets/css/user-react.input.css +57 -0
- package/public/assets/images/brand-icon-192.png +0 -0
- package/public/assets/images/brand-logo-128.webp +0 -0
- package/public/assets/images/hero-banner-1280.jpg +0 -0
- package/public/comandos/commands-catalog.json +4517 -0
- package/public/css/api-docs.css +161 -0
- package/public/css/stickers-admin.css +1288 -0
- package/public/css/styles.css +679 -0
- package/public/css/systemadm/admin.css +474 -0
- package/public/css/systemadm/base.css +73 -0
- package/public/css/systemadm/components.css +662 -0
- package/public/css/systemadm/layout.css +229 -0
- package/public/css/systemadm/tokens.css +56 -0
- package/public/favicon-16x16.png +0 -0
- package/public/favicon-32x32.png +0 -0
- package/public/favicon.ico +0 -0
- package/public/js/apps/apiDocsApp.js +235 -0
- package/public/js/apps/commandsReactApp.js +528 -0
- package/public/js/apps/createPackApp.js +1646 -0
- package/public/js/apps/homeReactApp.js +942 -0
- package/public/js/apps/loginReactApp.js +496 -0
- package/public/js/apps/stickersAdminApp.js +1753 -0
- package/public/js/apps/stickersApp.js +3797 -0
- package/public/js/apps/termsReactApp.js +528 -0
- package/public/js/apps/userApp.js +2540 -0
- package/public/js/apps/userProfile/actions.js +66 -0
- package/public/js/apps/userReactApp.js +547 -0
- package/public/js/catalog.js +950 -0
- package/public/pages/api-docs.html +40 -0
- package/public/pages/aup.html +158 -0
- package/public/pages/comandos.html +41 -0
- package/public/pages/dpa.html +227 -0
- package/public/pages/home.html +45 -0
- package/public/pages/licenca.html +182 -0
- package/public/pages/login.html +40 -0
- package/public/pages/notice-and-takedown.html +234 -0
- package/public/pages/politica-de-privacidade.html +251 -0
- package/public/pages/seo-bot-whatsapp-para-grupo.html +350 -0
- package/public/pages/seo-bot-whatsapp-sem-programar.html +350 -0
- package/public/pages/seo-como-automatizar-avisos-no-whatsapp.html +350 -0
- package/public/pages/seo-como-criar-comandos-whatsapp.html +350 -0
- package/public/pages/seo-como-evitar-spam-no-whatsapp.html +350 -0
- package/public/pages/seo-como-moderar-grupo-whatsapp.html +350 -0
- package/public/pages/seo-como-organizar-comunidade-whatsapp.html +350 -0
- package/public/pages/seo-melhor-bot-whatsapp-para-grupos.html +350 -0
- package/public/pages/stickers-admin.html +31 -0
- package/public/pages/stickers-create.html +41 -0
- package/public/pages/stickers.html +45 -0
- package/public/pages/suboperadores.html +237 -0
- package/public/pages/termos-de-uso-texto-integral.html +241 -0
- package/public/pages/termos-de-uso.html +41 -0
- package/public/pages/user-password-reset.html +32 -0
- package/public/pages/user-systemadm.html +508 -0
- package/public/pages/user.html +39 -0
- package/public/robots.txt +9 -0
- package/public/site.webmanifest +24 -0
- package/public/sitemap.xml +98 -0
- package/schemas/command-config.schema.json +582 -0
- package/scripts/baileys-compat-smoke.mjs +12 -0
- package/scripts/cache-bust.mjs +142 -0
- package/scripts/deploy.sh +916 -0
- package/scripts/email-broadcast-terms-update.mjs +170 -0
- package/scripts/enrich-command-discovery-fields.mjs +286 -0
- package/scripts/generate-command-config-schema.mjs +273 -0
- package/scripts/generate-commands-catalog.mjs +308 -0
- package/scripts/generate-module-agents.mjs +631 -0
- package/scripts/generate-seo-satellite-pages.mjs +400 -0
- package/scripts/github-deploy-notify.mjs +174 -0
- package/scripts/github-release-notify.mjs +219 -0
- package/scripts/release.sh +599 -0
- package/scripts/run-codeql-local.sh +116 -0
- package/scripts/run-prettier-all.mjs +25 -0
- package/scripts/security-smoketest.mjs +581 -0
- package/scripts/sticker-catalog-loadtest.mjs +210 -0
- package/scripts/sticker-worker-task.mjs +119 -0
- package/scripts/sync-readme-snapshot.mjs +133 -0
- package/scripts/validate-command-config-schema.mjs +130 -0
- package/scripts/validate-command-configs.mjs +15 -0
- package/scripts/wiki-sync.sh +191 -0
- package/server/auth/googleWebAuth/googleWebAuthRuntime.js +62 -0
- package/server/auth/googleWebAuth/googleWebAuthService.js +807 -0
- package/server/auth/jwt/webJwtService.js +147 -0
- package/server/auth/stickerCatalogAuthContext.js +165 -0
- package/server/auth/termsAcceptance/termsAcceptanceHandler.js +189 -0
- package/server/auth/userPassword/index.js +14 -0
- package/server/auth/userPassword/userPasswordAuthService.js +422 -0
- package/server/auth/userPassword/userPasswordCrypto.js +199 -0
- package/server/auth/userPassword/userPasswordCrypto.test.js +76 -0
- package/server/auth/userPassword/userPasswordRecoveryService.js +728 -0
- package/server/auth/validation/authSchemas.js +236 -0
- package/server/auth/webAccount/webAccountHandlers.js +1434 -0
- package/server/controllers/admin/adminBanService.js +138 -0
- package/server/controllers/admin/adminPanelHandlers.js +2083 -0
- package/server/controllers/admin/stickerCatalogAdminContext.js +17 -0
- package/server/controllers/admin/systemAdminController.js +201 -0
- package/server/controllers/email/emailAutomationController.js +239 -0
- package/server/controllers/metricsController.js +21 -0
- package/server/controllers/seo/stickerCatalogSeoContext.js +514 -0
- package/server/controllers/sticker/nonCatalogHandlers.js +303 -0
- package/server/controllers/sticker/stickerCatalogController.js +4700 -0
- package/server/controllers/system/contactController.js +115 -0
- package/server/controllers/system/githubController.js +137 -0
- package/server/controllers/system/stickerCatalogSystemContext.js +758 -0
- package/server/controllers/system/storageController.js +154 -0
- package/server/controllers/system/systemController.js +135 -0
- package/server/controllers/system/systemMetricsController.js +156 -0
- package/server/controllers/system/visitController.js +90 -0
- package/server/controllers/userController.js +145 -0
- package/server/email/emailAutomationRuntime.js +225 -0
- package/server/email/emailAutomationService.js +125 -0
- package/server/email/emailOutboxRepository.js +282 -0
- package/server/email/emailTemplateService.js +480 -0
- package/server/email/emailTransportService.js +156 -0
- package/server/http/clientIp.js +95 -0
- package/server/http/httpRequestUtils.js +262 -0
- package/server/http/httpRequestUtils.test.js +80 -0
- package/server/http/httpServer.js +180 -0
- package/server/http/requestContext.js +20 -0
- package/server/http/siteRoutingUtils.js +87 -0
- package/server/index.js +1 -0
- package/server/middleware/cachePolicy.js +26 -0
- package/server/middleware/cachePolicyHelpers.js +1 -0
- package/server/middleware/endpointRateLimit.js +181 -0
- package/server/middleware/rateLimit.js +70 -0
- package/server/middleware/requireAdminAuth.js +48 -0
- package/server/middleware/securityHeaders.js +97 -0
- package/server/routes/admin/systemAdminRouter.js +64 -0
- package/server/routes/email/emailAutomationRouter.js +46 -0
- package/server/routes/health/healthRouter.js +41 -0
- package/server/routes/indexRouter.js +234 -0
- package/server/routes/metrics/metricsRouter.js +58 -0
- package/server/routes/static/staticPageRouter.js +134 -0
- package/server/routes/sticker/catalogHandlers/catalogAdminHttp.js +105 -0
- package/server/routes/sticker/catalogHandlers/catalogAuthHttp.js +77 -0
- package/server/routes/sticker/catalogHandlers/catalogPublicHttp.js +120 -0
- package/server/routes/sticker/catalogHandlers/catalogUploadHttp.js +83 -0
- package/server/routes/sticker/catalogRouter.js +77 -0
- package/server/routes/sticker/stickerApiRouter.js +84 -0
- package/server/routes/sticker/stickerDataRouter.js +145 -0
- package/server/routes/sticker/stickerSiteRouter.js +43 -0
- package/server/routes/user/userApiPaths.js +66 -0
- package/server/routes/user/userRouter.js +65 -0
- package/server/utils/safePath.js +26 -0
- package/utils/logger/loggerModule.js +35 -0
- package/vite.config.mjs +38 -0
|
@@ -0,0 +1,1216 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schema_version": "2.0.0",
|
|
3
|
+
"module": "stickerModule",
|
|
4
|
+
"enabled": true,
|
|
5
|
+
"source_files": ["stickerCommand.js", "stickerConvertCommand.js", "stickerTextCommand.js"],
|
|
6
|
+
"defaults": {
|
|
7
|
+
"inheritance_mode": "deep_merge_with_command_overrides",
|
|
8
|
+
"compatibility_mode": "legacy_and_v2_fields",
|
|
9
|
+
"legacy_field_aliases": {
|
|
10
|
+
"descricao": "description",
|
|
11
|
+
"metodos_de_uso": "usage",
|
|
12
|
+
"permissao_necessaria": "permission",
|
|
13
|
+
"local_de_uso": "contexts",
|
|
14
|
+
"informacoes_coletadas": "collected_data",
|
|
15
|
+
"pre_condicoes": "requirements",
|
|
16
|
+
"dependencias_externas": "dependencies",
|
|
17
|
+
"efeitos_colaterais": "side_effects",
|
|
18
|
+
"observabilidade": "observability",
|
|
19
|
+
"privacidade": "privacy",
|
|
20
|
+
"limite_uso_por_plano": "plan_limits",
|
|
21
|
+
"argumentos": "arguments",
|
|
22
|
+
"acesso": "access"
|
|
23
|
+
},
|
|
24
|
+
"command": {
|
|
25
|
+
"enabled": true,
|
|
26
|
+
"category": "figurinhas",
|
|
27
|
+
"version": "1.0.0",
|
|
28
|
+
"stability": "stable",
|
|
29
|
+
"deprecated": false,
|
|
30
|
+
"replaced_by": null,
|
|
31
|
+
"risk_level": "medium"
|
|
32
|
+
},
|
|
33
|
+
"requirements": {
|
|
34
|
+
"require_group": false,
|
|
35
|
+
"require_group_admin": false,
|
|
36
|
+
"require_bot_owner": false,
|
|
37
|
+
"require_google_login": true,
|
|
38
|
+
"require_nsfw_enabled": false,
|
|
39
|
+
"require_media": true,
|
|
40
|
+
"require_reply_message": false,
|
|
41
|
+
"legacy": {
|
|
42
|
+
"requer_grupo": false,
|
|
43
|
+
"requer_admin": false,
|
|
44
|
+
"requer_admin_principal": false,
|
|
45
|
+
"requer_google_login": true,
|
|
46
|
+
"requer_nsfw": false,
|
|
47
|
+
"requer_midia": true,
|
|
48
|
+
"requer_mensagem_respondida": false
|
|
49
|
+
}
|
|
50
|
+
},
|
|
51
|
+
"pre_condicoes": {
|
|
52
|
+
"requer_grupo": false,
|
|
53
|
+
"requer_admin": false,
|
|
54
|
+
"requer_admin_principal": false,
|
|
55
|
+
"requer_google_login": true,
|
|
56
|
+
"requer_nsfw": false,
|
|
57
|
+
"requer_midia": true,
|
|
58
|
+
"requer_mensagem_respondida": false
|
|
59
|
+
},
|
|
60
|
+
"rate_limit": {
|
|
61
|
+
"max": null,
|
|
62
|
+
"janela_ms": null,
|
|
63
|
+
"escopo": "sem_rate_limit_explicito"
|
|
64
|
+
},
|
|
65
|
+
"dependencies": ["conversão de mÃdia local", "armazenamento temporário"],
|
|
66
|
+
"dependencias_externas": ["conversão de mÃdia local", "armazenamento temporário"],
|
|
67
|
+
"responses": {
|
|
68
|
+
"success": "Comando executado com sucesso.",
|
|
69
|
+
"usage_error": "Formato de uso inválido. Consulte metodos_de_uso.",
|
|
70
|
+
"permission_error": "Permissão insuficiente para executar este comando."
|
|
71
|
+
},
|
|
72
|
+
"respostas_padrao": {
|
|
73
|
+
"sucesso": "Comando executado com sucesso.",
|
|
74
|
+
"erro_uso": "Formato de uso inválido. Consulte metodos_de_uso.",
|
|
75
|
+
"erro_permissao": "Permissão insuficiente para executar este comando."
|
|
76
|
+
},
|
|
77
|
+
"observability": {
|
|
78
|
+
"event_name": "command.executed",
|
|
79
|
+
"log_level": "info",
|
|
80
|
+
"tags": ["whatsapp", "command", "stickerModule"]
|
|
81
|
+
},
|
|
82
|
+
"privacy": {
|
|
83
|
+
"data_categories": ["chat_identifier", "sender_identifier", "command_content"],
|
|
84
|
+
"retention_policy": "standard_app_logs",
|
|
85
|
+
"legal_basis": "service_execution_and_legitimate_interest"
|
|
86
|
+
},
|
|
87
|
+
"access": {
|
|
88
|
+
"premium_only": false,
|
|
89
|
+
"allowed_plans": ["comum", "premium"]
|
|
90
|
+
},
|
|
91
|
+
"acesso": {
|
|
92
|
+
"somente_premium": false,
|
|
93
|
+
"planos_permitidos": ["comum", "premium"]
|
|
94
|
+
},
|
|
95
|
+
"plan_limits": {
|
|
96
|
+
"comum": {
|
|
97
|
+
"max": 12,
|
|
98
|
+
"janela_ms": 300000,
|
|
99
|
+
"escopo": "usuario"
|
|
100
|
+
},
|
|
101
|
+
"premium": {
|
|
102
|
+
"max": 45,
|
|
103
|
+
"janela_ms": 300000,
|
|
104
|
+
"escopo": "usuario"
|
|
105
|
+
}
|
|
106
|
+
},
|
|
107
|
+
"limite_uso_por_plano": {
|
|
108
|
+
"comum": {
|
|
109
|
+
"max": 12,
|
|
110
|
+
"janela_ms": 300000,
|
|
111
|
+
"escopo": "usuario"
|
|
112
|
+
},
|
|
113
|
+
"premium": {
|
|
114
|
+
"max": 45,
|
|
115
|
+
"janela_ms": 300000,
|
|
116
|
+
"escopo": "usuario"
|
|
117
|
+
}
|
|
118
|
+
},
|
|
119
|
+
"behavior_templates": {
|
|
120
|
+
"toggle_on_off_status": {
|
|
121
|
+
"type": "toggle",
|
|
122
|
+
"allowed_actions": ["on", "off", "status"],
|
|
123
|
+
"action_argument": "acao"
|
|
124
|
+
},
|
|
125
|
+
"add_remove_list": {
|
|
126
|
+
"type": "list_management",
|
|
127
|
+
"allowed_actions": ["add", "remove", "list"],
|
|
128
|
+
"action_argument": "acao"
|
|
129
|
+
},
|
|
130
|
+
"approve_reject": {
|
|
131
|
+
"type": "moderation_decision",
|
|
132
|
+
"allowed_actions": ["approve", "reject"],
|
|
133
|
+
"action_argument": "acao",
|
|
134
|
+
"requires_targets": true
|
|
135
|
+
},
|
|
136
|
+
"set_status_reset": {
|
|
137
|
+
"type": "configuration_window",
|
|
138
|
+
"allowed_actions": ["set", "status", "reset"],
|
|
139
|
+
"action_argument": "valor"
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
},
|
|
143
|
+
"commands": [
|
|
144
|
+
{
|
|
145
|
+
"name": "figurinha",
|
|
146
|
+
"aliases": ["s", "sticker"],
|
|
147
|
+
"descricao": "Converte imagem/video em figurinha.",
|
|
148
|
+
"metodos_de_uso": ["<prefix>figurinha", "<prefix>s"],
|
|
149
|
+
"mensagens_uso": {
|
|
150
|
+
"default": ["📌 Use: <prefix>figurinha (ou <prefix>s) respondendo a uma imagem, vÃdeo ou figurinha."]
|
|
151
|
+
},
|
|
152
|
+
"permissao_necessaria": "usuario comum",
|
|
153
|
+
"limite_de_uso": "midia ate 1 MB",
|
|
154
|
+
"local_de_uso": ["privado", "grupo"],
|
|
155
|
+
"informacoes_coletadas": ["identificador do chat (remoteJid)", "identificador do remetente (senderJid)", "texto do comando e argumentos", "contexto da mensagem (citacao e mencoes, quando existir)", "metadados de midia (tipo, tamanho e origem da midia)", "arquivo de midia baixado temporariamente para conversao"],
|
|
156
|
+
"enabled": true,
|
|
157
|
+
"categoria": "figurinhas",
|
|
158
|
+
"subcomandos": [],
|
|
159
|
+
"argumentos": [
|
|
160
|
+
{
|
|
161
|
+
"nome": "texto_extra",
|
|
162
|
+
"tipo": "string",
|
|
163
|
+
"obrigatorio": false,
|
|
164
|
+
"validacao": "texto livre opcional",
|
|
165
|
+
"default": null
|
|
166
|
+
}
|
|
167
|
+
],
|
|
168
|
+
"pre_condicoes": {
|
|
169
|
+
"requer_grupo": false,
|
|
170
|
+
"requer_admin": false,
|
|
171
|
+
"requer_admin_principal": false,
|
|
172
|
+
"requer_google_login": true,
|
|
173
|
+
"requer_nsfw": false,
|
|
174
|
+
"requer_midia": true,
|
|
175
|
+
"requer_mensagem_respondida": false
|
|
176
|
+
},
|
|
177
|
+
"rate_limit": {
|
|
178
|
+
"max": null,
|
|
179
|
+
"janela_ms": null,
|
|
180
|
+
"escopo": "sem_rate_limit_explicito"
|
|
181
|
+
},
|
|
182
|
+
"dependencias_externas": ["conversão de mÃdia local", "armazenamento temporário"],
|
|
183
|
+
"efeitos_colaterais": ["faz download/conversão temporária de mÃdia", "envia figurinha"],
|
|
184
|
+
"respostas_padrao": {
|
|
185
|
+
"sucesso": "Comando executado com sucesso.",
|
|
186
|
+
"erro_uso": "Formato de uso inválido. Consulte metodos_de_uso.",
|
|
187
|
+
"erro_permissao": "Permissão insuficiente para executar este comando."
|
|
188
|
+
},
|
|
189
|
+
"observabilidade": {
|
|
190
|
+
"evento_analytics": "whatsapp_command_sticker",
|
|
191
|
+
"tags_log": ["whatsapp", "command", "stickerModule", "sticker"],
|
|
192
|
+
"nivel_log": "info"
|
|
193
|
+
},
|
|
194
|
+
"privacidade": {
|
|
195
|
+
"dados_sensiveis": ["identificador do chat", "identificador do remetente", "conteudo textual do comando"],
|
|
196
|
+
"retencao": "conforme polÃticas de logs, banco de dados e arquivos temporários da aplicação",
|
|
197
|
+
"base_legal": "execução do serviço solicitado e legÃtimo interesse operacional"
|
|
198
|
+
},
|
|
199
|
+
"capability_keywords": ["figurinha", "s", "figurinhas", "privado", "grupo"],
|
|
200
|
+
"faq_patterns": ["como usar figurinha", "o que faz figurinha", "comando figurinha"],
|
|
201
|
+
"user_phrasings": ["quero usar figurinha", "me ajuda com figurinha", "converte imagem/video em figurinha."],
|
|
202
|
+
"suggestion_priority": 100,
|
|
203
|
+
"acesso": {
|
|
204
|
+
"somente_premium": false,
|
|
205
|
+
"planos_permitidos": ["comum", "premium"]
|
|
206
|
+
},
|
|
207
|
+
"limite_uso_por_plano": {
|
|
208
|
+
"comum": {
|
|
209
|
+
"max": 12,
|
|
210
|
+
"janela_ms": 300000,
|
|
211
|
+
"escopo": "usuario"
|
|
212
|
+
},
|
|
213
|
+
"premium": {
|
|
214
|
+
"max": 45,
|
|
215
|
+
"janela_ms": 300000,
|
|
216
|
+
"escopo": "usuario"
|
|
217
|
+
}
|
|
218
|
+
},
|
|
219
|
+
"id": "sticker.figurinha",
|
|
220
|
+
"description": "Converte imagem/video em figurinha.",
|
|
221
|
+
"usage": ["<prefix>figurinha", "<prefix>s"],
|
|
222
|
+
"docs": {
|
|
223
|
+
"summary": "Converte imagem/video em figurinha.",
|
|
224
|
+
"usage_examples": ["<prefix>figurinha", "<prefix>s"],
|
|
225
|
+
"usage_variants": {
|
|
226
|
+
"default": ["📌 Use: <prefix>figurinha (ou <prefix>s) respondendo a uma imagem, vÃdeo ou figurinha."]
|
|
227
|
+
}
|
|
228
|
+
},
|
|
229
|
+
"permission": "usuario comum",
|
|
230
|
+
"contexts": ["privado", "grupo"],
|
|
231
|
+
"collected_data": ["identificador do chat (remoteJid)", "identificador do remetente (senderJid)", "texto do comando e argumentos", "contexto da mensagem (citacao e mencoes, quando existir)", "metadados de midia (tipo, tamanho e origem da midia)", "arquivo de midia baixado temporariamente para conversao"],
|
|
232
|
+
"requirements": {
|
|
233
|
+
"require_group": false,
|
|
234
|
+
"require_group_admin": false,
|
|
235
|
+
"require_bot_owner": false,
|
|
236
|
+
"require_google_login": true,
|
|
237
|
+
"require_nsfw_enabled": false,
|
|
238
|
+
"require_media": true,
|
|
239
|
+
"require_reply_message": false,
|
|
240
|
+
"legacy": {
|
|
241
|
+
"requer_grupo": false,
|
|
242
|
+
"requer_admin": false,
|
|
243
|
+
"requer_admin_principal": false,
|
|
244
|
+
"requer_google_login": true,
|
|
245
|
+
"requer_nsfw": false,
|
|
246
|
+
"requer_midia": true,
|
|
247
|
+
"requer_mensagem_respondida": false
|
|
248
|
+
}
|
|
249
|
+
},
|
|
250
|
+
"arguments": [
|
|
251
|
+
{
|
|
252
|
+
"name": "texto_extra",
|
|
253
|
+
"type": "string",
|
|
254
|
+
"required": false,
|
|
255
|
+
"default": null,
|
|
256
|
+
"enum": null,
|
|
257
|
+
"description": "texto livre opcional",
|
|
258
|
+
"position": 0,
|
|
259
|
+
"accepts_mentions": false,
|
|
260
|
+
"accepts_reply_target": false,
|
|
261
|
+
"greedy": false,
|
|
262
|
+
"validation": "texto livre opcional"
|
|
263
|
+
}
|
|
264
|
+
],
|
|
265
|
+
"behavior": {
|
|
266
|
+
"type": "argument_driven",
|
|
267
|
+
"allowed_actions": []
|
|
268
|
+
},
|
|
269
|
+
"limits": {
|
|
270
|
+
"usage_description": "midia ate 1 MB",
|
|
271
|
+
"rate_limit": {
|
|
272
|
+
"max": null,
|
|
273
|
+
"janela_ms": null,
|
|
274
|
+
"escopo": "sem_rate_limit_explicito"
|
|
275
|
+
},
|
|
276
|
+
"access": {
|
|
277
|
+
"somente_premium": false,
|
|
278
|
+
"planos_permitidos": ["comum", "premium"]
|
|
279
|
+
},
|
|
280
|
+
"plan_limits": {
|
|
281
|
+
"comum": {
|
|
282
|
+
"max": 12,
|
|
283
|
+
"janela_ms": 300000,
|
|
284
|
+
"escopo": "usuario"
|
|
285
|
+
},
|
|
286
|
+
"premium": {
|
|
287
|
+
"max": 45,
|
|
288
|
+
"janela_ms": 300000,
|
|
289
|
+
"escopo": "usuario"
|
|
290
|
+
}
|
|
291
|
+
}
|
|
292
|
+
},
|
|
293
|
+
"dependencies": ["conversão de mÃdia local", "armazenamento temporário"],
|
|
294
|
+
"side_effects": ["faz download/conversão temporária de mÃdia", "envia figurinha"],
|
|
295
|
+
"observability": {
|
|
296
|
+
"event_name": "command.executed",
|
|
297
|
+
"event_key": "sticker.figurinha",
|
|
298
|
+
"analytics_event": "whatsapp_command_sticker",
|
|
299
|
+
"log_level": "info",
|
|
300
|
+
"tags": ["whatsapp", "command", "stickerModule", "sticker"],
|
|
301
|
+
"legacy": {
|
|
302
|
+
"evento_analytics": "whatsapp_command_sticker",
|
|
303
|
+
"tags_log": ["whatsapp", "command", "stickerModule", "sticker"],
|
|
304
|
+
"nivel_log": "info"
|
|
305
|
+
}
|
|
306
|
+
},
|
|
307
|
+
"privacy": {
|
|
308
|
+
"data_categories": ["chat_identifier", "sender_identifier", "command_content"],
|
|
309
|
+
"sensitive_fields": ["remoteJid", "senderJid", "text", "args"],
|
|
310
|
+
"retention_policy": "standard_app_logs",
|
|
311
|
+
"retention_notes": "conforme polÃticas de logs, banco de dados e arquivos temporários da aplicação",
|
|
312
|
+
"legal_basis": "service_execution_and_legitimate_interest",
|
|
313
|
+
"legal_basis_notes": "execução do serviço solicitado e legÃtimo interesse operacional",
|
|
314
|
+
"legacy": {
|
|
315
|
+
"dados_sensiveis": ["identificador do chat", "identificador do remetente", "conteudo textual do comando"],
|
|
316
|
+
"retencao": "conforme polÃticas de logs, banco de dados e arquivos temporários da aplicação",
|
|
317
|
+
"base_legal": "execução do serviço solicitado e legÃtimo interesse operacional"
|
|
318
|
+
}
|
|
319
|
+
},
|
|
320
|
+
"discovery": {
|
|
321
|
+
"keywords": ["figurinha", "s", "figurinhas", "privado", "grupo"],
|
|
322
|
+
"faq_queries": ["como usar figurinha", "o que faz figurinha", "comando figurinha"],
|
|
323
|
+
"user_phrasings": ["quero usar figurinha", "me ajuda com figurinha", "converte imagem/video em figurinha."],
|
|
324
|
+
"suggestion_priority": 100
|
|
325
|
+
},
|
|
326
|
+
"access": {
|
|
327
|
+
"premium_only": false,
|
|
328
|
+
"allowed_plans": ["comum", "premium"],
|
|
329
|
+
"legacy": {
|
|
330
|
+
"somente_premium": false,
|
|
331
|
+
"planos_permitidos": ["comum", "premium"]
|
|
332
|
+
}
|
|
333
|
+
},
|
|
334
|
+
"plan_limits": {
|
|
335
|
+
"comum": {
|
|
336
|
+
"max": 12,
|
|
337
|
+
"janela_ms": 300000,
|
|
338
|
+
"escopo": "usuario"
|
|
339
|
+
},
|
|
340
|
+
"premium": {
|
|
341
|
+
"max": 45,
|
|
342
|
+
"janela_ms": 300000,
|
|
343
|
+
"escopo": "usuario"
|
|
344
|
+
}
|
|
345
|
+
},
|
|
346
|
+
"version": "1.0.0",
|
|
347
|
+
"stability": "stable",
|
|
348
|
+
"deprecated": false,
|
|
349
|
+
"replaced_by": null,
|
|
350
|
+
"risk_level": "low",
|
|
351
|
+
"handler": {
|
|
352
|
+
"file": "stickerCommand.js",
|
|
353
|
+
"method": "processSticker",
|
|
354
|
+
"command_case": "figurinha"
|
|
355
|
+
},
|
|
356
|
+
"compatibility": {
|
|
357
|
+
"schema": "legacy_v1_and_v2",
|
|
358
|
+
"legacy_name": "figurinha",
|
|
359
|
+
"legacy_fields_present": ["descricao", "metodos_de_uso", "permissao_necessaria", "local_de_uso", "informacoes_coletadas", "argumentos", "pre_condicoes", "dependencias_externas", "efeitos_colaterais", "observabilidade", "privacidade", "acesso", "limite_uso_por_plano"]
|
|
360
|
+
}
|
|
361
|
+
},
|
|
362
|
+
{
|
|
363
|
+
"name": "paraimagem",
|
|
364
|
+
"aliases": ["tovideo", "tovid", "toimg"],
|
|
365
|
+
"descricao": "Converte figurinha para imagem ou video quando aplicavel.",
|
|
366
|
+
"metodos_de_uso": ["<prefix>paraimagem", "<prefix>tovideo", "<prefix>tovid"],
|
|
367
|
+
"mensagens_uso": {
|
|
368
|
+
"default": ["📌 Use: <prefix>paraimagem (ou <prefix>tovideo / <prefix>tovid) respondendo a uma figurinha."]
|
|
369
|
+
},
|
|
370
|
+
"permissao_necessaria": "usuario comum",
|
|
371
|
+
"limite_de_uso": "figurinha ate 2 MB",
|
|
372
|
+
"local_de_uso": ["privado", "grupo"],
|
|
373
|
+
"informacoes_coletadas": ["identificador do chat (remoteJid)", "identificador do remetente (senderJid)", "texto do comando e argumentos", "contexto da mensagem (citacao e mencoes, quando existir)", "metadados da figurinha (incluindo se e animada)", "arquivo de figurinha baixado temporariamente para conversao"],
|
|
374
|
+
"enabled": true,
|
|
375
|
+
"categoria": "figurinhas",
|
|
376
|
+
"subcomandos": [],
|
|
377
|
+
"argumentos": [],
|
|
378
|
+
"pre_condicoes": {
|
|
379
|
+
"requer_grupo": false,
|
|
380
|
+
"requer_admin": false,
|
|
381
|
+
"requer_admin_principal": false,
|
|
382
|
+
"requer_google_login": true,
|
|
383
|
+
"requer_nsfw": false,
|
|
384
|
+
"requer_midia": true,
|
|
385
|
+
"requer_mensagem_respondida": false
|
|
386
|
+
},
|
|
387
|
+
"rate_limit": {
|
|
388
|
+
"max": null,
|
|
389
|
+
"janela_ms": null,
|
|
390
|
+
"escopo": "sem_rate_limit_explicito"
|
|
391
|
+
},
|
|
392
|
+
"dependencias_externas": ["conversão de mÃdia local", "armazenamento temporário"],
|
|
393
|
+
"efeitos_colaterais": ["faz download/conversão temporária de figurinha", "envia mÃdia convertida"],
|
|
394
|
+
"respostas_padrao": {
|
|
395
|
+
"sucesso": "Comando executado com sucesso.",
|
|
396
|
+
"erro_uso": "Formato de uso inválido. Consulte metodos_de_uso.",
|
|
397
|
+
"erro_permissao": "Permissão insuficiente para executar este comando."
|
|
398
|
+
},
|
|
399
|
+
"observabilidade": {
|
|
400
|
+
"evento_analytics": "whatsapp_command_toimg",
|
|
401
|
+
"tags_log": ["whatsapp", "command", "stickerModule", "toimg"],
|
|
402
|
+
"nivel_log": "info"
|
|
403
|
+
},
|
|
404
|
+
"privacidade": {
|
|
405
|
+
"dados_sensiveis": ["identificador do chat", "identificador do remetente", "conteudo textual do comando"],
|
|
406
|
+
"retencao": "conforme polÃticas de logs, banco de dados e arquivos temporários da aplicação",
|
|
407
|
+
"base_legal": "execução do serviço solicitado e legÃtimo interesse operacional"
|
|
408
|
+
},
|
|
409
|
+
"capability_keywords": ["paraimagem", "tovideo", "tovid", "figurinhas", "privado", "grupo"],
|
|
410
|
+
"faq_patterns": ["como usar paraimagem", "o que faz paraimagem", "comando paraimagem"],
|
|
411
|
+
"user_phrasings": ["quero usar paraimagem", "me ajuda com paraimagem", "converte figurinha para imagem"],
|
|
412
|
+
"suggestion_priority": 100,
|
|
413
|
+
"acesso": {
|
|
414
|
+
"somente_premium": false,
|
|
415
|
+
"planos_permitidos": ["comum", "premium"]
|
|
416
|
+
},
|
|
417
|
+
"limite_uso_por_plano": {
|
|
418
|
+
"comum": {
|
|
419
|
+
"max": 12,
|
|
420
|
+
"janela_ms": 300000,
|
|
421
|
+
"escopo": "usuario"
|
|
422
|
+
},
|
|
423
|
+
"premium": {
|
|
424
|
+
"max": 45,
|
|
425
|
+
"janela_ms": 300000,
|
|
426
|
+
"escopo": "usuario"
|
|
427
|
+
}
|
|
428
|
+
},
|
|
429
|
+
"id": "sticker.paraimagem",
|
|
430
|
+
"description": "Converte figurinha para imagem ou video quando aplicavel.",
|
|
431
|
+
"usage": ["<prefix>paraimagem", "<prefix>tovideo", "<prefix>tovid"],
|
|
432
|
+
"docs": {
|
|
433
|
+
"summary": "Converte figurinha para imagem ou video quando aplicavel.",
|
|
434
|
+
"usage_examples": ["<prefix>paraimagem", "<prefix>tovideo", "<prefix>tovid"],
|
|
435
|
+
"usage_variants": {
|
|
436
|
+
"default": ["📌 Use: <prefix>paraimagem (ou <prefix>tovideo / <prefix>tovid) respondendo a uma figurinha."]
|
|
437
|
+
}
|
|
438
|
+
},
|
|
439
|
+
"permission": "usuario comum",
|
|
440
|
+
"contexts": ["privado", "grupo"],
|
|
441
|
+
"collected_data": ["identificador do chat (remoteJid)", "identificador do remetente (senderJid)", "texto do comando e argumentos", "contexto da mensagem (citacao e mencoes, quando existir)", "metadados da figurinha (incluindo se e animada)", "arquivo de figurinha baixado temporariamente para conversao"],
|
|
442
|
+
"requirements": {
|
|
443
|
+
"require_group": false,
|
|
444
|
+
"require_group_admin": false,
|
|
445
|
+
"require_bot_owner": false,
|
|
446
|
+
"require_google_login": true,
|
|
447
|
+
"require_nsfw_enabled": false,
|
|
448
|
+
"require_media": true,
|
|
449
|
+
"require_reply_message": false,
|
|
450
|
+
"legacy": {
|
|
451
|
+
"requer_grupo": false,
|
|
452
|
+
"requer_admin": false,
|
|
453
|
+
"requer_admin_principal": false,
|
|
454
|
+
"requer_google_login": true,
|
|
455
|
+
"requer_nsfw": false,
|
|
456
|
+
"requer_midia": true,
|
|
457
|
+
"requer_mensagem_respondida": false
|
|
458
|
+
}
|
|
459
|
+
},
|
|
460
|
+
"arguments": [],
|
|
461
|
+
"behavior": {
|
|
462
|
+
"type": "simple_action",
|
|
463
|
+
"allowed_actions": []
|
|
464
|
+
},
|
|
465
|
+
"limits": {
|
|
466
|
+
"usage_description": "figurinha ate 2 MB",
|
|
467
|
+
"rate_limit": {
|
|
468
|
+
"max": null,
|
|
469
|
+
"janela_ms": null,
|
|
470
|
+
"escopo": "sem_rate_limit_explicito"
|
|
471
|
+
},
|
|
472
|
+
"access": {
|
|
473
|
+
"somente_premium": false,
|
|
474
|
+
"planos_permitidos": ["comum", "premium"]
|
|
475
|
+
},
|
|
476
|
+
"plan_limits": {
|
|
477
|
+
"comum": {
|
|
478
|
+
"max": 12,
|
|
479
|
+
"janela_ms": 300000,
|
|
480
|
+
"escopo": "usuario"
|
|
481
|
+
},
|
|
482
|
+
"premium": {
|
|
483
|
+
"max": 45,
|
|
484
|
+
"janela_ms": 300000,
|
|
485
|
+
"escopo": "usuario"
|
|
486
|
+
}
|
|
487
|
+
}
|
|
488
|
+
},
|
|
489
|
+
"dependencies": ["conversão de mÃdia local", "armazenamento temporário"],
|
|
490
|
+
"side_effects": ["faz download/conversão temporária de figurinha", "envia mÃdia convertida"],
|
|
491
|
+
"observability": {
|
|
492
|
+
"event_name": "command.executed",
|
|
493
|
+
"event_key": "sticker.paraimagem",
|
|
494
|
+
"analytics_event": "whatsapp_command_toimg",
|
|
495
|
+
"log_level": "info",
|
|
496
|
+
"tags": ["whatsapp", "command", "stickerModule", "toimg"],
|
|
497
|
+
"legacy": {
|
|
498
|
+
"evento_analytics": "whatsapp_command_toimg",
|
|
499
|
+
"tags_log": ["whatsapp", "command", "stickerModule", "toimg"],
|
|
500
|
+
"nivel_log": "info"
|
|
501
|
+
}
|
|
502
|
+
},
|
|
503
|
+
"privacy": {
|
|
504
|
+
"data_categories": ["chat_identifier", "sender_identifier", "command_content"],
|
|
505
|
+
"sensitive_fields": ["remoteJid", "senderJid", "text", "args"],
|
|
506
|
+
"retention_policy": "standard_app_logs",
|
|
507
|
+
"retention_notes": "conforme polÃticas de logs, banco de dados e arquivos temporários da aplicação",
|
|
508
|
+
"legal_basis": "service_execution_and_legitimate_interest",
|
|
509
|
+
"legal_basis_notes": "execução do serviço solicitado e legÃtimo interesse operacional",
|
|
510
|
+
"legacy": {
|
|
511
|
+
"dados_sensiveis": ["identificador do chat", "identificador do remetente", "conteudo textual do comando"],
|
|
512
|
+
"retencao": "conforme polÃticas de logs, banco de dados e arquivos temporários da aplicação",
|
|
513
|
+
"base_legal": "execução do serviço solicitado e legÃtimo interesse operacional"
|
|
514
|
+
}
|
|
515
|
+
},
|
|
516
|
+
"discovery": {
|
|
517
|
+
"keywords": ["paraimagem", "tovideo", "tovid", "figurinhas", "privado", "grupo"],
|
|
518
|
+
"faq_queries": ["como usar paraimagem", "o que faz paraimagem", "comando paraimagem"],
|
|
519
|
+
"user_phrasings": ["quero usar paraimagem", "me ajuda com paraimagem", "converte figurinha para imagem"],
|
|
520
|
+
"suggestion_priority": 100
|
|
521
|
+
},
|
|
522
|
+
"access": {
|
|
523
|
+
"premium_only": false,
|
|
524
|
+
"allowed_plans": ["comum", "premium"],
|
|
525
|
+
"legacy": {
|
|
526
|
+
"somente_premium": false,
|
|
527
|
+
"planos_permitidos": ["comum", "premium"]
|
|
528
|
+
}
|
|
529
|
+
},
|
|
530
|
+
"plan_limits": {
|
|
531
|
+
"comum": {
|
|
532
|
+
"max": 12,
|
|
533
|
+
"janela_ms": 300000,
|
|
534
|
+
"escopo": "usuario"
|
|
535
|
+
},
|
|
536
|
+
"premium": {
|
|
537
|
+
"max": 45,
|
|
538
|
+
"janela_ms": 300000,
|
|
539
|
+
"escopo": "usuario"
|
|
540
|
+
}
|
|
541
|
+
},
|
|
542
|
+
"version": "1.0.0",
|
|
543
|
+
"stability": "stable",
|
|
544
|
+
"deprecated": false,
|
|
545
|
+
"replaced_by": null,
|
|
546
|
+
"risk_level": "low",
|
|
547
|
+
"handler": {
|
|
548
|
+
"file": "stickerConvertCommand.js",
|
|
549
|
+
"method": "handleStickerConvertCommand",
|
|
550
|
+
"command_case": "paraimagem"
|
|
551
|
+
},
|
|
552
|
+
"compatibility": {
|
|
553
|
+
"schema": "legacy_v1_and_v2",
|
|
554
|
+
"legacy_name": "paraimagem",
|
|
555
|
+
"legacy_fields_present": ["descricao", "metodos_de_uso", "permissao_necessaria", "local_de_uso", "informacoes_coletadas", "argumentos", "pre_condicoes", "dependencias_externas", "efeitos_colaterais", "observabilidade", "privacidade", "acesso", "limite_uso_por_plano"]
|
|
556
|
+
}
|
|
557
|
+
},
|
|
558
|
+
{
|
|
559
|
+
"name": "figurinhatexto",
|
|
560
|
+
"aliases": ["st", "stickertext"],
|
|
561
|
+
"descricao": "Gera figurinha com texto (tema escuro).",
|
|
562
|
+
"metodos_de_uso": ["<prefix>figurinhatexto seu texto", "<prefix>st seu texto"],
|
|
563
|
+
"mensagens_uso": {
|
|
564
|
+
"default": ["📌 Use: <prefix>figurinhatexto seu texto", "💡 Exemplo: <prefix>st bom dia seus lindos"]
|
|
565
|
+
},
|
|
566
|
+
"permissao_necessaria": "usuario comum",
|
|
567
|
+
"limite_de_uso": "ate 80 caracteres e 4 linhas",
|
|
568
|
+
"local_de_uso": ["privado", "grupo"],
|
|
569
|
+
"informacoes_coletadas": ["identificador do chat (remoteJid)", "identificador do remetente (senderJid)", "texto do comando e argumentos", "contexto da mensagem (citacao e mencoes, quando existir)", "texto informado para compor a figurinha", "opcoes de estilo/cor do texto"],
|
|
570
|
+
"enabled": true,
|
|
571
|
+
"categoria": "figurinhas",
|
|
572
|
+
"subcomandos": [],
|
|
573
|
+
"argumentos": [
|
|
574
|
+
{
|
|
575
|
+
"nome": "texto",
|
|
576
|
+
"tipo": "string",
|
|
577
|
+
"obrigatorio": true,
|
|
578
|
+
"validacao": "até 80 caracteres, máximo 4 linhas",
|
|
579
|
+
"default": null
|
|
580
|
+
}
|
|
581
|
+
],
|
|
582
|
+
"pre_condicoes": {
|
|
583
|
+
"requer_grupo": false,
|
|
584
|
+
"requer_admin": false,
|
|
585
|
+
"requer_admin_principal": false,
|
|
586
|
+
"requer_google_login": true,
|
|
587
|
+
"requer_nsfw": false,
|
|
588
|
+
"requer_midia": false,
|
|
589
|
+
"requer_mensagem_respondida": false
|
|
590
|
+
},
|
|
591
|
+
"rate_limit": {
|
|
592
|
+
"max": null,
|
|
593
|
+
"janela_ms": null,
|
|
594
|
+
"escopo": "sem_rate_limit_explicito"
|
|
595
|
+
},
|
|
596
|
+
"dependencias_externas": ["conversão de mÃdia local", "armazenamento temporário"],
|
|
597
|
+
"efeitos_colaterais": ["gera mÃdia temporária de figurinha com texto", "envia figurinha"],
|
|
598
|
+
"respostas_padrao": {
|
|
599
|
+
"sucesso": "Comando executado com sucesso.",
|
|
600
|
+
"erro_uso": "Formato de uso inválido. Consulte metodos_de_uso.",
|
|
601
|
+
"erro_permissao": "Permissão insuficiente para executar este comando."
|
|
602
|
+
},
|
|
603
|
+
"observabilidade": {
|
|
604
|
+
"evento_analytics": "whatsapp_command_stickertext",
|
|
605
|
+
"tags_log": ["whatsapp", "command", "stickerModule", "stickertext"],
|
|
606
|
+
"nivel_log": "info"
|
|
607
|
+
},
|
|
608
|
+
"privacidade": {
|
|
609
|
+
"dados_sensiveis": ["identificador do chat", "identificador do remetente", "conteudo textual do comando"],
|
|
610
|
+
"retencao": "conforme polÃticas de logs, banco de dados e arquivos temporários da aplicação",
|
|
611
|
+
"base_legal": "execução do serviço solicitado e legÃtimo interesse operacional"
|
|
612
|
+
},
|
|
613
|
+
"capability_keywords": ["figurinhatexto", "st", "figurinhas", "privado", "grupo"],
|
|
614
|
+
"faq_patterns": ["como usar figurinhatexto", "o que faz figurinhatexto", "comando figurinhatexto"],
|
|
615
|
+
"user_phrasings": ["quero usar figurinhatexto", "me ajuda com figurinhatexto", "gera figurinha com texto"],
|
|
616
|
+
"suggestion_priority": 100,
|
|
617
|
+
"acesso": {
|
|
618
|
+
"somente_premium": false,
|
|
619
|
+
"planos_permitidos": ["comum", "premium"]
|
|
620
|
+
},
|
|
621
|
+
"limite_uso_por_plano": {
|
|
622
|
+
"comum": {
|
|
623
|
+
"max": 12,
|
|
624
|
+
"janela_ms": 300000,
|
|
625
|
+
"escopo": "usuario"
|
|
626
|
+
},
|
|
627
|
+
"premium": {
|
|
628
|
+
"max": 45,
|
|
629
|
+
"janela_ms": 300000,
|
|
630
|
+
"escopo": "usuario"
|
|
631
|
+
}
|
|
632
|
+
},
|
|
633
|
+
"id": "sticker.figurinhatexto",
|
|
634
|
+
"description": "Gera figurinha com texto (tema escuro).",
|
|
635
|
+
"usage": ["<prefix>figurinhatexto seu texto", "<prefix>st seu texto"],
|
|
636
|
+
"docs": {
|
|
637
|
+
"summary": "Gera figurinha com texto (tema escuro).",
|
|
638
|
+
"usage_examples": ["<prefix>figurinhatexto seu texto", "<prefix>st seu texto"],
|
|
639
|
+
"usage_variants": {
|
|
640
|
+
"default": ["📌 Use: <prefix>figurinhatexto seu texto", "💡 Exemplo: <prefix>st bom dia seus lindos"]
|
|
641
|
+
}
|
|
642
|
+
},
|
|
643
|
+
"permission": "usuario comum",
|
|
644
|
+
"contexts": ["privado", "grupo"],
|
|
645
|
+
"collected_data": ["identificador do chat (remoteJid)", "identificador do remetente (senderJid)", "texto do comando e argumentos", "contexto da mensagem (citacao e mencoes, quando existir)", "texto informado para compor a figurinha", "opcoes de estilo/cor do texto"],
|
|
646
|
+
"requirements": {
|
|
647
|
+
"require_group": false,
|
|
648
|
+
"require_group_admin": false,
|
|
649
|
+
"require_bot_owner": false,
|
|
650
|
+
"require_google_login": true,
|
|
651
|
+
"require_nsfw_enabled": false,
|
|
652
|
+
"require_media": false,
|
|
653
|
+
"require_reply_message": false,
|
|
654
|
+
"legacy": {
|
|
655
|
+
"requer_grupo": false,
|
|
656
|
+
"requer_admin": false,
|
|
657
|
+
"requer_admin_principal": false,
|
|
658
|
+
"requer_google_login": true,
|
|
659
|
+
"requer_nsfw": false,
|
|
660
|
+
"requer_midia": false,
|
|
661
|
+
"requer_mensagem_respondida": false
|
|
662
|
+
}
|
|
663
|
+
},
|
|
664
|
+
"arguments": [
|
|
665
|
+
{
|
|
666
|
+
"name": "texto",
|
|
667
|
+
"type": "string",
|
|
668
|
+
"required": true,
|
|
669
|
+
"default": null,
|
|
670
|
+
"enum": null,
|
|
671
|
+
"description": "até 80 caracteres, máximo 4 linhas",
|
|
672
|
+
"position": 0,
|
|
673
|
+
"accepts_mentions": false,
|
|
674
|
+
"accepts_reply_target": false,
|
|
675
|
+
"greedy": false,
|
|
676
|
+
"validation": "até 80 caracteres, máximo 4 linhas"
|
|
677
|
+
}
|
|
678
|
+
],
|
|
679
|
+
"behavior": {
|
|
680
|
+
"type": "argument_driven",
|
|
681
|
+
"allowed_actions": []
|
|
682
|
+
},
|
|
683
|
+
"limits": {
|
|
684
|
+
"usage_description": "ate 80 caracteres e 4 linhas",
|
|
685
|
+
"rate_limit": {
|
|
686
|
+
"max": null,
|
|
687
|
+
"janela_ms": null,
|
|
688
|
+
"escopo": "sem_rate_limit_explicito"
|
|
689
|
+
},
|
|
690
|
+
"access": {
|
|
691
|
+
"somente_premium": false,
|
|
692
|
+
"planos_permitidos": ["comum", "premium"]
|
|
693
|
+
},
|
|
694
|
+
"plan_limits": {
|
|
695
|
+
"comum": {
|
|
696
|
+
"max": 12,
|
|
697
|
+
"janela_ms": 300000,
|
|
698
|
+
"escopo": "usuario"
|
|
699
|
+
},
|
|
700
|
+
"premium": {
|
|
701
|
+
"max": 45,
|
|
702
|
+
"janela_ms": 300000,
|
|
703
|
+
"escopo": "usuario"
|
|
704
|
+
}
|
|
705
|
+
}
|
|
706
|
+
},
|
|
707
|
+
"dependencies": ["conversão de mÃdia local", "armazenamento temporário"],
|
|
708
|
+
"side_effects": ["gera mÃdia temporária de figurinha com texto", "envia figurinha"],
|
|
709
|
+
"observability": {
|
|
710
|
+
"event_name": "command.executed",
|
|
711
|
+
"event_key": "sticker.figurinhatexto",
|
|
712
|
+
"analytics_event": "whatsapp_command_stickertext",
|
|
713
|
+
"log_level": "info",
|
|
714
|
+
"tags": ["whatsapp", "command", "stickerModule", "stickertext"],
|
|
715
|
+
"legacy": {
|
|
716
|
+
"evento_analytics": "whatsapp_command_stickertext",
|
|
717
|
+
"tags_log": ["whatsapp", "command", "stickerModule", "stickertext"],
|
|
718
|
+
"nivel_log": "info"
|
|
719
|
+
}
|
|
720
|
+
},
|
|
721
|
+
"privacy": {
|
|
722
|
+
"data_categories": ["chat_identifier", "sender_identifier", "command_content"],
|
|
723
|
+
"sensitive_fields": ["remoteJid", "senderJid", "text", "args"],
|
|
724
|
+
"retention_policy": "standard_app_logs",
|
|
725
|
+
"retention_notes": "conforme polÃticas de logs, banco de dados e arquivos temporários da aplicação",
|
|
726
|
+
"legal_basis": "service_execution_and_legitimate_interest",
|
|
727
|
+
"legal_basis_notes": "execução do serviço solicitado e legÃtimo interesse operacional",
|
|
728
|
+
"legacy": {
|
|
729
|
+
"dados_sensiveis": ["identificador do chat", "identificador do remetente", "conteudo textual do comando"],
|
|
730
|
+
"retencao": "conforme polÃticas de logs, banco de dados e arquivos temporários da aplicação",
|
|
731
|
+
"base_legal": "execução do serviço solicitado e legÃtimo interesse operacional"
|
|
732
|
+
}
|
|
733
|
+
},
|
|
734
|
+
"discovery": {
|
|
735
|
+
"keywords": ["figurinhatexto", "st", "figurinhas", "privado", "grupo"],
|
|
736
|
+
"faq_queries": ["como usar figurinhatexto", "o que faz figurinhatexto", "comando figurinhatexto"],
|
|
737
|
+
"user_phrasings": ["quero usar figurinhatexto", "me ajuda com figurinhatexto", "gera figurinha com texto"],
|
|
738
|
+
"suggestion_priority": 100
|
|
739
|
+
},
|
|
740
|
+
"access": {
|
|
741
|
+
"premium_only": false,
|
|
742
|
+
"allowed_plans": ["comum", "premium"],
|
|
743
|
+
"legacy": {
|
|
744
|
+
"somente_premium": false,
|
|
745
|
+
"planos_permitidos": ["comum", "premium"]
|
|
746
|
+
}
|
|
747
|
+
},
|
|
748
|
+
"plan_limits": {
|
|
749
|
+
"comum": {
|
|
750
|
+
"max": 12,
|
|
751
|
+
"janela_ms": 300000,
|
|
752
|
+
"escopo": "usuario"
|
|
753
|
+
},
|
|
754
|
+
"premium": {
|
|
755
|
+
"max": 45,
|
|
756
|
+
"janela_ms": 300000,
|
|
757
|
+
"escopo": "usuario"
|
|
758
|
+
}
|
|
759
|
+
},
|
|
760
|
+
"version": "1.0.0",
|
|
761
|
+
"stability": "stable",
|
|
762
|
+
"deprecated": false,
|
|
763
|
+
"replaced_by": null,
|
|
764
|
+
"risk_level": "low",
|
|
765
|
+
"handler": {
|
|
766
|
+
"file": "stickerTextCommand.js",
|
|
767
|
+
"method": "processTextSticker",
|
|
768
|
+
"command_case": "figurinhatexto"
|
|
769
|
+
},
|
|
770
|
+
"compatibility": {
|
|
771
|
+
"schema": "legacy_v1_and_v2",
|
|
772
|
+
"legacy_name": "figurinhatexto",
|
|
773
|
+
"legacy_fields_present": ["descricao", "metodos_de_uso", "permissao_necessaria", "local_de_uso", "informacoes_coletadas", "argumentos", "pre_condicoes", "dependencias_externas", "efeitos_colaterais", "observabilidade", "privacidade", "acesso", "limite_uso_por_plano"]
|
|
774
|
+
}
|
|
775
|
+
},
|
|
776
|
+
{
|
|
777
|
+
"name": "figurinhatextobranco",
|
|
778
|
+
"aliases": ["stw", "stickertextwhite"],
|
|
779
|
+
"descricao": "Gera figurinha com texto (tema claro).",
|
|
780
|
+
"metodos_de_uso": ["<prefix>figurinhatextobranco seu texto", "<prefix>stw seu texto"],
|
|
781
|
+
"mensagens_uso": {
|
|
782
|
+
"default": ["📌 Use: <prefix>figurinhatextobranco seu texto", "💡 Exemplo: <prefix>stw bom dia seus lindos"]
|
|
783
|
+
},
|
|
784
|
+
"permissao_necessaria": "usuario comum",
|
|
785
|
+
"limite_de_uso": "ate 80 caracteres e 4 linhas",
|
|
786
|
+
"local_de_uso": ["privado", "grupo"],
|
|
787
|
+
"informacoes_coletadas": ["identificador do chat (remoteJid)", "identificador do remetente (senderJid)", "texto do comando e argumentos", "contexto da mensagem (citacao e mencoes, quando existir)", "texto informado para compor a figurinha", "opcoes de estilo/cor do texto"],
|
|
788
|
+
"enabled": true,
|
|
789
|
+
"categoria": "figurinhas",
|
|
790
|
+
"subcomandos": [],
|
|
791
|
+
"argumentos": [
|
|
792
|
+
{
|
|
793
|
+
"nome": "texto",
|
|
794
|
+
"tipo": "string",
|
|
795
|
+
"obrigatorio": true,
|
|
796
|
+
"validacao": "até 80 caracteres, máximo 4 linhas",
|
|
797
|
+
"default": null
|
|
798
|
+
}
|
|
799
|
+
],
|
|
800
|
+
"pre_condicoes": {
|
|
801
|
+
"requer_grupo": false,
|
|
802
|
+
"requer_admin": false,
|
|
803
|
+
"requer_admin_principal": false,
|
|
804
|
+
"requer_google_login": true,
|
|
805
|
+
"requer_nsfw": false,
|
|
806
|
+
"requer_midia": false,
|
|
807
|
+
"requer_mensagem_respondida": false
|
|
808
|
+
},
|
|
809
|
+
"rate_limit": {
|
|
810
|
+
"max": null,
|
|
811
|
+
"janela_ms": null,
|
|
812
|
+
"escopo": "sem_rate_limit_explicito"
|
|
813
|
+
},
|
|
814
|
+
"dependencias_externas": ["conversão de mÃdia local", "armazenamento temporário"],
|
|
815
|
+
"efeitos_colaterais": ["gera mÃdia temporária de figurinha com texto", "envia figurinha"],
|
|
816
|
+
"respostas_padrao": {
|
|
817
|
+
"sucesso": "Comando executado com sucesso.",
|
|
818
|
+
"erro_uso": "Formato de uso inválido. Consulte metodos_de_uso.",
|
|
819
|
+
"erro_permissao": "Permissão insuficiente para executar este comando."
|
|
820
|
+
},
|
|
821
|
+
"observabilidade": {
|
|
822
|
+
"evento_analytics": "whatsapp_command_stickertextwhite",
|
|
823
|
+
"tags_log": ["whatsapp", "command", "stickerModule", "stickertextwhite"],
|
|
824
|
+
"nivel_log": "info"
|
|
825
|
+
},
|
|
826
|
+
"privacidade": {
|
|
827
|
+
"dados_sensiveis": ["identificador do chat", "identificador do remetente", "conteudo textual do comando"],
|
|
828
|
+
"retencao": "conforme polÃticas de logs, banco de dados e arquivos temporários da aplicação",
|
|
829
|
+
"base_legal": "execução do serviço solicitado e legÃtimo interesse operacional"
|
|
830
|
+
},
|
|
831
|
+
"capability_keywords": ["figurinhatextobranco", "stw", "figurinhas", "privado", "grupo"],
|
|
832
|
+
"faq_patterns": ["como usar figurinhatextobranco", "o que faz figurinhatextobranco", "comando figurinhatextobranco"],
|
|
833
|
+
"user_phrasings": ["quero usar figurinhatextobranco", "me ajuda com figurinhatextobranco", "gera figurinha com texto"],
|
|
834
|
+
"suggestion_priority": 100,
|
|
835
|
+
"acesso": {
|
|
836
|
+
"somente_premium": false,
|
|
837
|
+
"planos_permitidos": ["comum", "premium"]
|
|
838
|
+
},
|
|
839
|
+
"limite_uso_por_plano": {
|
|
840
|
+
"comum": {
|
|
841
|
+
"max": 12,
|
|
842
|
+
"janela_ms": 300000,
|
|
843
|
+
"escopo": "usuario"
|
|
844
|
+
},
|
|
845
|
+
"premium": {
|
|
846
|
+
"max": 45,
|
|
847
|
+
"janela_ms": 300000,
|
|
848
|
+
"escopo": "usuario"
|
|
849
|
+
}
|
|
850
|
+
},
|
|
851
|
+
"id": "sticker.figurinhatextobranco",
|
|
852
|
+
"description": "Gera figurinha com texto (tema claro).",
|
|
853
|
+
"usage": ["<prefix>figurinhatextobranco seu texto", "<prefix>stw seu texto"],
|
|
854
|
+
"docs": {
|
|
855
|
+
"summary": "Gera figurinha com texto (tema claro).",
|
|
856
|
+
"usage_examples": ["<prefix>figurinhatextobranco seu texto", "<prefix>stw seu texto"],
|
|
857
|
+
"usage_variants": {
|
|
858
|
+
"default": ["📌 Use: <prefix>figurinhatextobranco seu texto", "💡 Exemplo: <prefix>stw bom dia seus lindos"]
|
|
859
|
+
}
|
|
860
|
+
},
|
|
861
|
+
"permission": "usuario comum",
|
|
862
|
+
"contexts": ["privado", "grupo"],
|
|
863
|
+
"collected_data": ["identificador do chat (remoteJid)", "identificador do remetente (senderJid)", "texto do comando e argumentos", "contexto da mensagem (citacao e mencoes, quando existir)", "texto informado para compor a figurinha", "opcoes de estilo/cor do texto"],
|
|
864
|
+
"requirements": {
|
|
865
|
+
"require_group": false,
|
|
866
|
+
"require_group_admin": false,
|
|
867
|
+
"require_bot_owner": false,
|
|
868
|
+
"require_google_login": true,
|
|
869
|
+
"require_nsfw_enabled": false,
|
|
870
|
+
"require_media": false,
|
|
871
|
+
"require_reply_message": false,
|
|
872
|
+
"legacy": {
|
|
873
|
+
"requer_grupo": false,
|
|
874
|
+
"requer_admin": false,
|
|
875
|
+
"requer_admin_principal": false,
|
|
876
|
+
"requer_google_login": true,
|
|
877
|
+
"requer_nsfw": false,
|
|
878
|
+
"requer_midia": false,
|
|
879
|
+
"requer_mensagem_respondida": false
|
|
880
|
+
}
|
|
881
|
+
},
|
|
882
|
+
"arguments": [
|
|
883
|
+
{
|
|
884
|
+
"name": "texto",
|
|
885
|
+
"type": "string",
|
|
886
|
+
"required": true,
|
|
887
|
+
"default": null,
|
|
888
|
+
"enum": null,
|
|
889
|
+
"description": "até 80 caracteres, máximo 4 linhas",
|
|
890
|
+
"position": 0,
|
|
891
|
+
"accepts_mentions": false,
|
|
892
|
+
"accepts_reply_target": false,
|
|
893
|
+
"greedy": false,
|
|
894
|
+
"validation": "até 80 caracteres, máximo 4 linhas"
|
|
895
|
+
}
|
|
896
|
+
],
|
|
897
|
+
"behavior": {
|
|
898
|
+
"type": "argument_driven",
|
|
899
|
+
"allowed_actions": []
|
|
900
|
+
},
|
|
901
|
+
"limits": {
|
|
902
|
+
"usage_description": "ate 80 caracteres e 4 linhas",
|
|
903
|
+
"rate_limit": {
|
|
904
|
+
"max": null,
|
|
905
|
+
"janela_ms": null,
|
|
906
|
+
"escopo": "sem_rate_limit_explicito"
|
|
907
|
+
},
|
|
908
|
+
"access": {
|
|
909
|
+
"somente_premium": false,
|
|
910
|
+
"planos_permitidos": ["comum", "premium"]
|
|
911
|
+
},
|
|
912
|
+
"plan_limits": {
|
|
913
|
+
"comum": {
|
|
914
|
+
"max": 12,
|
|
915
|
+
"janela_ms": 300000,
|
|
916
|
+
"escopo": "usuario"
|
|
917
|
+
},
|
|
918
|
+
"premium": {
|
|
919
|
+
"max": 45,
|
|
920
|
+
"janela_ms": 300000,
|
|
921
|
+
"escopo": "usuario"
|
|
922
|
+
}
|
|
923
|
+
}
|
|
924
|
+
},
|
|
925
|
+
"dependencies": ["conversão de mÃdia local", "armazenamento temporário"],
|
|
926
|
+
"side_effects": ["gera mÃdia temporária de figurinha com texto", "envia figurinha"],
|
|
927
|
+
"observability": {
|
|
928
|
+
"event_name": "command.executed",
|
|
929
|
+
"event_key": "sticker.figurinhatextobranco",
|
|
930
|
+
"analytics_event": "whatsapp_command_stickertextwhite",
|
|
931
|
+
"log_level": "info",
|
|
932
|
+
"tags": ["whatsapp", "command", "stickerModule", "stickertextwhite"],
|
|
933
|
+
"legacy": {
|
|
934
|
+
"evento_analytics": "whatsapp_command_stickertextwhite",
|
|
935
|
+
"tags_log": ["whatsapp", "command", "stickerModule", "stickertextwhite"],
|
|
936
|
+
"nivel_log": "info"
|
|
937
|
+
}
|
|
938
|
+
},
|
|
939
|
+
"privacy": {
|
|
940
|
+
"data_categories": ["chat_identifier", "sender_identifier", "command_content"],
|
|
941
|
+
"sensitive_fields": ["remoteJid", "senderJid", "text", "args"],
|
|
942
|
+
"retention_policy": "standard_app_logs",
|
|
943
|
+
"retention_notes": "conforme polÃticas de logs, banco de dados e arquivos temporários da aplicação",
|
|
944
|
+
"legal_basis": "service_execution_and_legitimate_interest",
|
|
945
|
+
"legal_basis_notes": "execução do serviço solicitado e legÃtimo interesse operacional",
|
|
946
|
+
"legacy": {
|
|
947
|
+
"dados_sensiveis": ["identificador do chat", "identificador do remetente", "conteudo textual do comando"],
|
|
948
|
+
"retencao": "conforme polÃticas de logs, banco de dados e arquivos temporários da aplicação",
|
|
949
|
+
"base_legal": "execução do serviço solicitado e legÃtimo interesse operacional"
|
|
950
|
+
}
|
|
951
|
+
},
|
|
952
|
+
"discovery": {
|
|
953
|
+
"keywords": ["figurinhatextobranco", "stw", "figurinhas", "privado", "grupo"],
|
|
954
|
+
"faq_queries": ["como usar figurinhatextobranco", "o que faz figurinhatextobranco", "comando figurinhatextobranco"],
|
|
955
|
+
"user_phrasings": ["quero usar figurinhatextobranco", "me ajuda com figurinhatextobranco", "gera figurinha com texto"],
|
|
956
|
+
"suggestion_priority": 100
|
|
957
|
+
},
|
|
958
|
+
"access": {
|
|
959
|
+
"premium_only": false,
|
|
960
|
+
"allowed_plans": ["comum", "premium"],
|
|
961
|
+
"legacy": {
|
|
962
|
+
"somente_premium": false,
|
|
963
|
+
"planos_permitidos": ["comum", "premium"]
|
|
964
|
+
}
|
|
965
|
+
},
|
|
966
|
+
"plan_limits": {
|
|
967
|
+
"comum": {
|
|
968
|
+
"max": 12,
|
|
969
|
+
"janela_ms": 300000,
|
|
970
|
+
"escopo": "usuario"
|
|
971
|
+
},
|
|
972
|
+
"premium": {
|
|
973
|
+
"max": 45,
|
|
974
|
+
"janela_ms": 300000,
|
|
975
|
+
"escopo": "usuario"
|
|
976
|
+
}
|
|
977
|
+
},
|
|
978
|
+
"version": "1.0.0",
|
|
979
|
+
"stability": "stable",
|
|
980
|
+
"deprecated": false,
|
|
981
|
+
"replaced_by": null,
|
|
982
|
+
"risk_level": "low",
|
|
983
|
+
"handler": {
|
|
984
|
+
"file": "stickerTextCommand.js",
|
|
985
|
+
"method": "processTextSticker",
|
|
986
|
+
"command_case": "figurinhatextobranco"
|
|
987
|
+
},
|
|
988
|
+
"compatibility": {
|
|
989
|
+
"schema": "legacy_v1_and_v2",
|
|
990
|
+
"legacy_name": "figurinhatextobranco",
|
|
991
|
+
"legacy_fields_present": ["descricao", "metodos_de_uso", "permissao_necessaria", "local_de_uso", "informacoes_coletadas", "argumentos", "pre_condicoes", "dependencias_externas", "efeitos_colaterais", "observabilidade", "privacidade", "acesso", "limite_uso_por_plano"]
|
|
992
|
+
}
|
|
993
|
+
},
|
|
994
|
+
{
|
|
995
|
+
"name": "figurinhatextopisca",
|
|
996
|
+
"aliases": ["stb", "stickertextblink"],
|
|
997
|
+
"descricao": "Gera figurinha animada de texto piscante.",
|
|
998
|
+
"metodos_de_uso": ["<prefix>figurinhatextopisca seu texto", "<prefix>stb seu texto"],
|
|
999
|
+
"mensagens_uso": {
|
|
1000
|
+
"default": ["📌 Use: <prefix>figurinhatextopisca seu texto", "💡 Exemplo: <prefix>stb bom dia seus lindos -verde"]
|
|
1001
|
+
},
|
|
1002
|
+
"permissao_necessaria": "usuario comum",
|
|
1003
|
+
"limite_de_uso": "ate 80 caracteres e 4 linhas",
|
|
1004
|
+
"local_de_uso": ["privado", "grupo"],
|
|
1005
|
+
"informacoes_coletadas": ["identificador do chat (remoteJid)", "identificador do remetente (senderJid)", "texto do comando e argumentos", "contexto da mensagem (citacao e mencoes, quando existir)", "texto informado para compor a figurinha", "parametros de animacao piscante"],
|
|
1006
|
+
"enabled": true,
|
|
1007
|
+
"categoria": "figurinhas",
|
|
1008
|
+
"subcomandos": [],
|
|
1009
|
+
"argumentos": [
|
|
1010
|
+
{
|
|
1011
|
+
"nome": "texto",
|
|
1012
|
+
"tipo": "string",
|
|
1013
|
+
"obrigatorio": true,
|
|
1014
|
+
"validacao": "até 80 caracteres, máximo 4 linhas",
|
|
1015
|
+
"default": null
|
|
1016
|
+
}
|
|
1017
|
+
],
|
|
1018
|
+
"pre_condicoes": {
|
|
1019
|
+
"requer_grupo": false,
|
|
1020
|
+
"requer_admin": false,
|
|
1021
|
+
"requer_admin_principal": false,
|
|
1022
|
+
"requer_google_login": true,
|
|
1023
|
+
"requer_nsfw": false,
|
|
1024
|
+
"requer_midia": false,
|
|
1025
|
+
"requer_mensagem_respondida": false
|
|
1026
|
+
},
|
|
1027
|
+
"rate_limit": {
|
|
1028
|
+
"max": null,
|
|
1029
|
+
"janela_ms": null,
|
|
1030
|
+
"escopo": "sem_rate_limit_explicito"
|
|
1031
|
+
},
|
|
1032
|
+
"dependencias_externas": ["conversão de mÃdia local", "armazenamento temporário"],
|
|
1033
|
+
"efeitos_colaterais": ["gera mÃdia temporária animada", "envia figurinha"],
|
|
1034
|
+
"respostas_padrao": {
|
|
1035
|
+
"sucesso": "Comando executado com sucesso.",
|
|
1036
|
+
"erro_uso": "Formato de uso inválido. Consulte metodos_de_uso.",
|
|
1037
|
+
"erro_permissao": "Permissão insuficiente para executar este comando."
|
|
1038
|
+
},
|
|
1039
|
+
"observabilidade": {
|
|
1040
|
+
"evento_analytics": "whatsapp_command_stickertextblink",
|
|
1041
|
+
"tags_log": ["whatsapp", "command", "stickerModule", "stickertextblink"],
|
|
1042
|
+
"nivel_log": "info"
|
|
1043
|
+
},
|
|
1044
|
+
"privacidade": {
|
|
1045
|
+
"dados_sensiveis": ["identificador do chat", "identificador do remetente", "conteudo textual do comando"],
|
|
1046
|
+
"retencao": "conforme polÃticas de logs, banco de dados e arquivos temporários da aplicação",
|
|
1047
|
+
"base_legal": "execução do serviço solicitado e legÃtimo interesse operacional"
|
|
1048
|
+
},
|
|
1049
|
+
"capability_keywords": ["figurinhatextopisca", "stb", "figurinhas", "privado", "grupo"],
|
|
1050
|
+
"faq_patterns": ["como usar figurinhatextopisca", "o que faz figurinhatextopisca", "comando figurinhatextopisca"],
|
|
1051
|
+
"user_phrasings": ["quero usar figurinhatextopisca", "me ajuda com figurinhatextopisca", "gera figurinha animada de"],
|
|
1052
|
+
"suggestion_priority": 100,
|
|
1053
|
+
"acesso": {
|
|
1054
|
+
"somente_premium": false,
|
|
1055
|
+
"planos_permitidos": ["comum", "premium"]
|
|
1056
|
+
},
|
|
1057
|
+
"limite_uso_por_plano": {
|
|
1058
|
+
"comum": {
|
|
1059
|
+
"max": 12,
|
|
1060
|
+
"janela_ms": 300000,
|
|
1061
|
+
"escopo": "usuario"
|
|
1062
|
+
},
|
|
1063
|
+
"premium": {
|
|
1064
|
+
"max": 45,
|
|
1065
|
+
"janela_ms": 300000,
|
|
1066
|
+
"escopo": "usuario"
|
|
1067
|
+
}
|
|
1068
|
+
},
|
|
1069
|
+
"id": "sticker.figurinhatextopisca",
|
|
1070
|
+
"description": "Gera figurinha animada de texto piscante.",
|
|
1071
|
+
"usage": ["<prefix>figurinhatextopisca seu texto", "<prefix>stb seu texto"],
|
|
1072
|
+
"docs": {
|
|
1073
|
+
"summary": "Gera figurinha animada de texto piscante.",
|
|
1074
|
+
"usage_examples": ["<prefix>figurinhatextopisca seu texto", "<prefix>stb seu texto"],
|
|
1075
|
+
"usage_variants": {
|
|
1076
|
+
"default": ["📌 Use: <prefix>figurinhatextopisca seu texto", "💡 Exemplo: <prefix>stb bom dia seus lindos -verde"]
|
|
1077
|
+
}
|
|
1078
|
+
},
|
|
1079
|
+
"permission": "usuario comum",
|
|
1080
|
+
"contexts": ["privado", "grupo"],
|
|
1081
|
+
"collected_data": ["identificador do chat (remoteJid)", "identificador do remetente (senderJid)", "texto do comando e argumentos", "contexto da mensagem (citacao e mencoes, quando existir)", "texto informado para compor a figurinha", "parametros de animacao piscante"],
|
|
1082
|
+
"requirements": {
|
|
1083
|
+
"require_group": false,
|
|
1084
|
+
"require_group_admin": false,
|
|
1085
|
+
"require_bot_owner": false,
|
|
1086
|
+
"require_google_login": true,
|
|
1087
|
+
"require_nsfw_enabled": false,
|
|
1088
|
+
"require_media": false,
|
|
1089
|
+
"require_reply_message": false,
|
|
1090
|
+
"legacy": {
|
|
1091
|
+
"requer_grupo": false,
|
|
1092
|
+
"requer_admin": false,
|
|
1093
|
+
"requer_admin_principal": false,
|
|
1094
|
+
"requer_google_login": true,
|
|
1095
|
+
"requer_nsfw": false,
|
|
1096
|
+
"requer_midia": false,
|
|
1097
|
+
"requer_mensagem_respondida": false
|
|
1098
|
+
}
|
|
1099
|
+
},
|
|
1100
|
+
"arguments": [
|
|
1101
|
+
{
|
|
1102
|
+
"name": "texto",
|
|
1103
|
+
"type": "string",
|
|
1104
|
+
"required": true,
|
|
1105
|
+
"default": null,
|
|
1106
|
+
"enum": null,
|
|
1107
|
+
"description": "até 80 caracteres, máximo 4 linhas",
|
|
1108
|
+
"position": 0,
|
|
1109
|
+
"accepts_mentions": false,
|
|
1110
|
+
"accepts_reply_target": false,
|
|
1111
|
+
"greedy": false,
|
|
1112
|
+
"validation": "até 80 caracteres, máximo 4 linhas"
|
|
1113
|
+
}
|
|
1114
|
+
],
|
|
1115
|
+
"behavior": {
|
|
1116
|
+
"type": "argument_driven",
|
|
1117
|
+
"allowed_actions": []
|
|
1118
|
+
},
|
|
1119
|
+
"limits": {
|
|
1120
|
+
"usage_description": "ate 80 caracteres e 4 linhas",
|
|
1121
|
+
"rate_limit": {
|
|
1122
|
+
"max": null,
|
|
1123
|
+
"janela_ms": null,
|
|
1124
|
+
"escopo": "sem_rate_limit_explicito"
|
|
1125
|
+
},
|
|
1126
|
+
"access": {
|
|
1127
|
+
"somente_premium": false,
|
|
1128
|
+
"planos_permitidos": ["comum", "premium"]
|
|
1129
|
+
},
|
|
1130
|
+
"plan_limits": {
|
|
1131
|
+
"comum": {
|
|
1132
|
+
"max": 12,
|
|
1133
|
+
"janela_ms": 300000,
|
|
1134
|
+
"escopo": "usuario"
|
|
1135
|
+
},
|
|
1136
|
+
"premium": {
|
|
1137
|
+
"max": 45,
|
|
1138
|
+
"janela_ms": 300000,
|
|
1139
|
+
"escopo": "usuario"
|
|
1140
|
+
}
|
|
1141
|
+
}
|
|
1142
|
+
},
|
|
1143
|
+
"dependencies": ["conversão de mÃdia local", "armazenamento temporário"],
|
|
1144
|
+
"side_effects": ["gera mÃdia temporária animada", "envia figurinha"],
|
|
1145
|
+
"observability": {
|
|
1146
|
+
"event_name": "command.executed",
|
|
1147
|
+
"event_key": "sticker.figurinhatextopisca",
|
|
1148
|
+
"analytics_event": "whatsapp_command_stickertextblink",
|
|
1149
|
+
"log_level": "info",
|
|
1150
|
+
"tags": ["whatsapp", "command", "stickerModule", "stickertextblink"],
|
|
1151
|
+
"legacy": {
|
|
1152
|
+
"evento_analytics": "whatsapp_command_stickertextblink",
|
|
1153
|
+
"tags_log": ["whatsapp", "command", "stickerModule", "stickertextblink"],
|
|
1154
|
+
"nivel_log": "info"
|
|
1155
|
+
}
|
|
1156
|
+
},
|
|
1157
|
+
"privacy": {
|
|
1158
|
+
"data_categories": ["chat_identifier", "sender_identifier", "command_content"],
|
|
1159
|
+
"sensitive_fields": ["remoteJid", "senderJid", "text", "args"],
|
|
1160
|
+
"retention_policy": "standard_app_logs",
|
|
1161
|
+
"retention_notes": "conforme polÃticas de logs, banco de dados e arquivos temporários da aplicação",
|
|
1162
|
+
"legal_basis": "service_execution_and_legitimate_interest",
|
|
1163
|
+
"legal_basis_notes": "execução do serviço solicitado e legÃtimo interesse operacional",
|
|
1164
|
+
"legacy": {
|
|
1165
|
+
"dados_sensiveis": ["identificador do chat", "identificador do remetente", "conteudo textual do comando"],
|
|
1166
|
+
"retencao": "conforme polÃticas de logs, banco de dados e arquivos temporários da aplicação",
|
|
1167
|
+
"base_legal": "execução do serviço solicitado e legÃtimo interesse operacional"
|
|
1168
|
+
}
|
|
1169
|
+
},
|
|
1170
|
+
"discovery": {
|
|
1171
|
+
"keywords": ["figurinhatextopisca", "stb", "figurinhas", "privado", "grupo"],
|
|
1172
|
+
"faq_queries": ["como usar figurinhatextopisca", "o que faz figurinhatextopisca", "comando figurinhatextopisca"],
|
|
1173
|
+
"user_phrasings": ["quero usar figurinhatextopisca", "me ajuda com figurinhatextopisca", "gera figurinha animada de"],
|
|
1174
|
+
"suggestion_priority": 100
|
|
1175
|
+
},
|
|
1176
|
+
"access": {
|
|
1177
|
+
"premium_only": false,
|
|
1178
|
+
"allowed_plans": ["comum", "premium"],
|
|
1179
|
+
"legacy": {
|
|
1180
|
+
"somente_premium": false,
|
|
1181
|
+
"planos_permitidos": ["comum", "premium"]
|
|
1182
|
+
}
|
|
1183
|
+
},
|
|
1184
|
+
"plan_limits": {
|
|
1185
|
+
"comum": {
|
|
1186
|
+
"max": 12,
|
|
1187
|
+
"janela_ms": 300000,
|
|
1188
|
+
"escopo": "usuario"
|
|
1189
|
+
},
|
|
1190
|
+
"premium": {
|
|
1191
|
+
"max": 45,
|
|
1192
|
+
"janela_ms": 300000,
|
|
1193
|
+
"escopo": "usuario"
|
|
1194
|
+
}
|
|
1195
|
+
},
|
|
1196
|
+
"version": "1.0.0",
|
|
1197
|
+
"stability": "stable",
|
|
1198
|
+
"deprecated": false,
|
|
1199
|
+
"replaced_by": null,
|
|
1200
|
+
"risk_level": "low",
|
|
1201
|
+
"handler": {
|
|
1202
|
+
"file": "stickerTextCommand.js",
|
|
1203
|
+
"method": "processBlinkingTextSticker",
|
|
1204
|
+
"command_case": "figurinhatextopisca"
|
|
1205
|
+
},
|
|
1206
|
+
"compatibility": {
|
|
1207
|
+
"schema": "legacy_v1_and_v2",
|
|
1208
|
+
"legacy_name": "figurinhatextopisca",
|
|
1209
|
+
"legacy_fields_present": ["descricao", "metodos_de_uso", "permissao_necessaria", "local_de_uso", "informacoes_coletadas", "argumentos", "pre_condicoes", "dependencias_externas", "efeitos_colaterais", "observabilidade", "privacidade", "acesso", "limite_uso_por_plano"]
|
|
1210
|
+
}
|
|
1211
|
+
}
|
|
1212
|
+
],
|
|
1213
|
+
"textos": {
|
|
1214
|
+
"usage_header": ""
|
|
1215
|
+
}
|
|
1216
|
+
}
|