mapulse-korea
v1.0.3한국주식 analyst Telegram bot. Monitors KOSPI/KOSDAQ, tracks watchlist, delivers AI briefings, answers natural-language questions in Korean/Chinese/English. Cove...
⭐ 1· 73·0 current·0 all-time
MIT-0
Download zip
LicenseMIT-0 · Free to use, modify, and redistribute. No attribution required.
Security Scan
OpenClaw
Benign
high confidencePurpose & Capability
Name/description describe a Telegram bot that monitors Korean markets, provides AI analysis, and pushes briefings — the included Python code (bot entrypoint, scrapers, DB layer, AI wrapper, cron scripts) matches that purpose. Environment variables in SKILL.md (TELEGRAM_BOT_TOKEN, DART_API_KEY, ANTHROPIC/OPENROUTER keys, DB path, etc.) are relevant to the features described. No unrelated cloud credentials or surprising binaries are requested.
Instruction Scope
Runtime instructions are straightforward: install stated Python packages, set TELEGRAM_BOT_TOKEN (optional AI keys) and run bot. The code does access local SQLite (MAPULSE_DB) and will fetch external data (Daum, Yahoo, CoinGecko, 6551.io, Anthropic/OpenRouter) — this is expected for a market bot. The optional cron scripts will read the DB for users and POST messages to Telegram using TELEGRAM_BOT_TOKEN; note these will broadcast to users if you schedule them (SKILL.md states they do not run automatically). No instructions ask the agent to read unrelated system files or hidden credentials.
Install Mechanism
There is no automatic install spec in the registry (instruction-only). SKILL.md tells the user to pip install common Python packages (python-telegram-bot, pykrx, requests, beautifulsoup4). This is proportionate to the code; there are no downloads from unknown URLs or archive extraction operations in the manifest.
Credentials
All environment variables declared in SKILL.md map to the bot's behavior (Telegram token, AI API keys, DART API, DB path, rate limits, optional news/twitter tokens). No unrelated or excessive secrets are requested. The registry lists no required env vars (all are optional) which matches SKILL.md marking them optional.
Persistence & Privilege
The skill does persist local state in a SQLite DB (user records, watchlists, alerts, push logs, preferences) — that's expected for a messaging bot. always is false and the skill does not modify other skills or system-wide agent settings. Be aware cron scripts, if installed by you in crontab, will proactively send messages to users in the DB using your TELEGRAM_BOT_TOKEN.
Assessment
This package appears to be what it claims: a Telegram bot that scrapes market data, stores user records in a local SQLite DB, and optionally calls Anthropic/OpenRouter when you provide an API key. Before installing or running: 1) Review and control TELEGRAM_BOT_TOKEN (anyone with it can send messages as your bot); run the bot in an isolated environment (container/VM) if you don't trust the code. 2) If you schedule the cron scripts, understand they will iterate your DB users and push messages — only add them to crontab if intended. 3) Audit network endpoints if you need strict egress controls (the code fetches public market/news APIs and will call AI APIs if keys are set). 4) Be mindful that providing ANTHROPIC_API_KEY or OPENROUTER_API_KEY may send user queries (including short user messages and formatted market data) to external LLM services and could incur costs. 5) If you need stronger privacy, change MAPULSE_DB path to a controlled location and inspect/backup the DB before/after use.Like a lobster shell, security has layers — review code before you run it.
latestvk979w9pyx6axtzy4hqdqrt9c6x83mrqk
License
MIT-0
Free to use, modify, and redistribute. No attribution required.
Runtime requirements
Environment variables
TELEGRAM_BOT_TOKENoptional— Enables Telegram bot integration (sending and receiving messages). If not provided, Telegram features will be disabled .OPENROUTER_API_KEYoptional— OpenRouter API key for AI deep analysisANTHROPIC_API_KEYoptional— Anthropic API key (alternative to OpenRouter)DART_API_KEYoptional— DART API key for Korean corporate disclosuresALLOWED_GROUPSoptional— Comma-separated Telegram group IDs to restrict bot accessMAPULSE_DBoptional— SQLite database path (default: data/mapulse.db)MAPULSE_CLAUDE_MODELoptional— LLM model override (default: claude-sonnet-4)KOREA_STOCK_WATCHLISToptional— Default watchlist tickers, comma-separatedRATE_LIMIT_PER_MINoptional— Max requests per user per minute (default: 10)RATE_LIMIT_COOLDOWNoptional— Min seconds between requests (default: 3)OPS_CHAT_IDSoptional— Comma-separated Telegram user IDs for daily stats reportsMAPULSE_CHANNEL_IDoptional— Telegram channel ID for public briefing pushesOPENNEWS_TOKENoptional— 6551.io news API tokenTWITTER_TOKENoptional— 6551.io Twitter API token