Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🍁 MapleStory-Pin-Box

Show your MapleStory (Korea/PC) character info in a pinned GitHub Gist,
updated automatically. No server required — GitHub Actions does the work.

Important

Data is not live. Nexon's Open API only provides a daily snapshot (updated once per day on Nexon's side). A character created today, or combat power gained minutes ago, will not show up until the next day's snapshot — this is a Nexon API limitation, not a bug in this script. See "How it works" below for details.

Note

KMS (Korea) only. Nexon's Open API also officially covers TMS (Taiwan) and MSEA (Southeast Asia), each under a separate app/API key, but not GMS (Global/NA-EU) — Nexon doesn't offer an official API for GMS at all.


✨ Preview

Your gist will look like this:

📌 둘이달 (Lv.286)
🍁 듀얼블레이더
⚔️ 전투력 100,113,135
🌏 유니온

⚙️ How it works

Your own server?          → none ❌
GitHub Actions (cron)     → runs once a day
   └→ looks up your nickname via the Nexon Open API → resolves it to an ocid
       └→ fetches level / job / world / combat power for that ocid
           └→ overwrites your Gist → your pinned profile card stays fresh ✅

Nexon's Open API returns a daily snapshot, not live data — figures are typically about a day behind your actual in-game state. That's also why this runs once a day instead of every 30 minutes like a Steam box would.

🚀 Setup

1. Get a Nexon Open API key

  1. Sign in at openapi.nexon.com
  2. 애플리케이션 등록 (Register application) → select 메이플스토리 as the API to use
  3. Copy the issued API key. Approval is usually quick, but can take a while — plan ahead.

2. Get these four things

Secret Where to get it
NEXON_API_KEY From step 1 above
MAPLE_NICKNAME The exact in-game character nickname (KR/PC) you want to show
GH_TOKEN (with gist scope) GitHub → Settings → Developer settings → Personal access tokens
GIST_ID Create a public gist at gist.github.com, copy the id from its URL

⚠️ The character must be searchable (rankings-visible) on Nexon's side, otherwise the API can't resolve a nickname to an ocid.

3. Fork this repo (or "Use this template")

4. Add the secrets

Go to your repo → Settings → Secrets and variables → Actions → New repository secret and add all four (NEXON_API_KEY, MAPLE_NICKNAME, GH_TOKEN, GIST_ID).

🔐 Never hard-code keys, tokens, or your nickname in the source — use Secrets only. Note the nickname will still be visible to anyone who reads the resulting gist content, since that's the whole point — only the API key needs to stay hidden.

5. Pin the gist to your profile

Profile page → Customize your pins → select the gist you created.

6. Verify

Repo Actions tab → MapleStory-Pin-Box → Run workflow. If the log shows Gist ... updated ✅, you're done. It then refreshes once a day automatically.

🕐 First run might show yesterday's numbers, not today's — see the data-lag note at the top of this README. That's expected, not a setup mistake.

🔄 Manual refresh

Don't want to wait for the next daily run? Trigger it on demand:

  • From GitHub (no local setup needed): Repo → Actions tab → MapleStory-Pin-Box → Run workflow button (top right) → Run workflow. Takes a few seconds; refresh the gist page once the run turns green.
  • From your machine:
    pip install -r requirements.txt
    export NEXON_API_KEY=xxx MAPLE_NICKNAME=xxx GH_TOKEN=xxx GIST_ID=xxx
    python maple_box.py

Re-running sooner than once a day won't show new numbers unless you also set MAPLE_DATE=YYYY-MM-DD — Nexon's snapshot itself only updates once a day.

🛠️ Customization

Want to… Do this
Change update frequency Edit the cron in .github/workflows/maple-box.yml
Rename the gist file Set the GIST_FILENAME env var
Query a specific date's snapshot Set the MAPLE_DATE env var (YYYY-MM-DD, KST)

📌 Good to know

  • Scheduled workflows only run on the default branch (main).
  • Cron timing is best-effort — GitHub may delay runs by a few minutes.
  • Scheduled workflows are disabled after 60 days of no repo activity — push a commit now and then to keep it alive.
  • If the character/world/nickname changes in-game, MAPLE_NICKNAME must be updated to match, or lookups will fail.

📄 License

MIT

About

Pins your MapleStory (KMS) character's level, job, combat power, and server to a GitHub Gist. Show your MapleStory KR character info on your GitHub profile — auto-updated daily via Nexon Open API.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages