텔레그램 봇 보고 시스템 — 설정 페이지부터 chatId 자동 감지까지 한 번에
commitsLAMDiceBot · d328d33

텔레그램 봇 보고 시스템 — 설정 페이지부터 chatId 자동 감지까지 한 번에

🤖 1953 in / 2000 out / 3953 total tokens 텔레그램 봇으로 서버 알림을 보내고 싶었다. 그런데 chatId를 매번 하드코딩하거나 환경변수로 관리하려니 귀찮았다. 그래서 웹 UI에서 chatId를 자동 감지하고 저장하고 테스트까지 할 수 있는 시스템을 만들었다. utils/telegram.js에 sendMessage와 d

이더2개월 전3 min read0
CSS 매직 넘버 걷어내고 변수화로 정리
commitsLAMDiceBot · 11ccdf5

CSS 매직 넘버 걷어내고 변수화로 정리

🤖 1498 in / 2000 out / 3498 total tokens 랭킹 오버레이 UI에 박혀있던 색상 값 30개 넘게 전부 CSS 변수로 뽑아냈다. 1a1a2e 같은 매직 넘버가 코드 곳곳에 흩어져 있으면 나중에 다크 테마 하나 바꾸려고 해도 찾아바꾸기만 몇 번이더라. 게임 개발할 때도 매직 넘버는 적이다. 데미지 계산식에 0.75 같은 숫자가

이더2개월 전2 min read1
랭킹 리셋을 시즌 아카이브로 전환했다
commitsLAMDiceBot · f18a533

랭킹 리셋을 시즌 아카이브로 전환했다

🤖 4577 in / 1188 out / 5765 total tokens 기존엔 랭킹을 그냥 삭제했는데, 이러면 기록이 싹 날아간다. 호스트가 시즌 개념으로 관리하도록 바꿨다. 새 시즌 시작하면 현재 랭킹을 season_archives 테이블로 백업하고, servers.current_season을 1 올린다. 프론트에선 시즌 셀렉터 드롭다운으로 과거

이더2개월 전2 min read0
postgresqltransactionseason-system
주사위 게임 9단계 튜토리얼 구현 — 호스트/비호스트 분기 처리
commitsLAMDiceBot · 57bf466

주사위 게임 9단계 튜토리얼 구현 — 호스트/비호스트 분기 처리

🤖 1993 in / 1228 out / 3221 total tokens 주사위 게임에 온보딩 튜토리얼 9단계를 달았다. 방장이냐 아니냐에 따라 설명 내용이 다르게 나온다. 기존엔 4단계로 계획했는데, 실제 유저 플로우를 따라가다 보니 9단계까지 늘어났다. 주사위 굴리기 버튼, 채팅 명령어(/주사위), 결과 확인까지 하나씩 짚어주는 게 낫겠더라. i

이더2개월 전2 min read0
tutorialuxjavascript
채팅 랭킹 버튼 공통화 — ChatModule.init()에서 자동 삽입
commitsLAMDiceBot · 398a677

채팅 랭킹 버튼 공통화 — ChatModule.init()에서 자동 삽입

🤖 1913 in / 1062 out / 2975 total tokens 각 게임마다 하드코딩되어 있던 랭킹 버튼을 ChatModule.init()에서 자동으로 넣어주도록 바꿨다. 원래는 horse-race, roulette에서 채팅 섹션 헤더에 버튼을 직접 박아놨었다. dice, crane-game에는 아예 없었고. 이걸 chat-shared.js

이더2개월 전2 min read0
refactoringchat-moduleDRY
랜딩 페이지 스킵 — 접속하자마자 게임 로비로
commitsLAMDiceBot · 5dc45b8

랜딩 페이지 스킵 — 접속하자마자 게임 로비로

🤖 1707 in / 1037 out / 2744 total tokens 루트 경로 / 접속 시 index.html 대신 /game으로 리다이렉트하도록 서버 라우트를 수정했다. 불필요한 랜딩 페이지 거치지 않고 바로 본론으로. 기존엔 res.sendFile()로 index.html을 내려줬는데, 이걸 res.redirect('/game')으로 변경.

이더2개월 전2 min read0
UX리다이렉트localStorage
주사위 게임 조기종료 버그 잡은 삽질 기록
commitsLAMDiceBot · 06e4f02

주사위 게임 조기종료 버그 잡은 삽질 기록

🤖 3399 in / 1462 out / 4861 total tokens 유저가 게임 중간에 나가면 아직 굴리지 않은 사람이 있어도 게임이 바로 끝나버리는 버그였다. 원인은 간단했다. rolledUsers 배열에서 퇴장한 유저를 빼주지 않으니까 "모두 굴렸니?" 체크가 true로 잘못 나오는 것. 서버 사이드에서 disconnect, leaveRoo

이더2개월 전3 min read0
버그수정JavaScript게임서버
AdSense 승인 받고나서 22페이지에 광고 43개 박았다
commitsLAMDiceBot · 526e159

AdSense 승인 받고나서 22페이지에 광고 43개 박았다

🤖 6240 in / 1440 out / 7680 total tokens 드디어 AdSense 승인이 떴다. 승인 기다리는 동안 구조만 잡아놨는데, 이제 실제 슬롯 ID를 넣을 차례다. 22개 페이지, 43개 슬롯. 손으로 하나씩 넣다간 미칠 것 같아서 패턴만 만들어두고 복사했다. 핵심은 게임 페이지에서 자동 광고 끈 거다. 앵커 광고, 비그네트 광

이더2개월 전3 min read0
AdSenseFrontendUX
경마 순위 안 맞던 버그: 클라이언트와 서버가 보는 '선두'가 달랐다
commitsLAMDiceBot · 7d71c92

경마 순위 안 맞던 버그: 클라이언트와 서버가 보는 '선두'가 달랐다

🤖 1449 in / 1473 out / 2922 total tokens 경마 게임에서 화면상 도착 순서랑 실제 순위가 다르게 나오던 버그를 잡았다. 원인은 슬로우모션 트리거 시점이 서버랑 클라이언트에서 달랐던 것. 클라이언트는 rank === 0으로 미리 정해진 1등을 찾아서 슬로우모션을 걸었다. 근데 서버는 "실제로 앞서가는 말"을 기준으로 판정

이더2개월 전2 min read0
버그수정동기화경마게임
룰렛 시작 버튼 표시 및 방 서버 격리 기능 추가
commitsLAMDiceBot · 46e9341

룰렛 시작 버튼 표시 및 방 서버 격리 기능 추가

🤖 1059 in / 1146 out / 2205 total tokens 호스트 닉네임 배지 null 체크를 추가하여 룰렛 시작 버튼이 정상적으로 표시되도록 수정했습니다. 공개 방 필터링 로직에 serverId 필터를 추가하여 다른 서버 방이 섞이는 문제를 해결했습니다. 룰렛 채팅에 랭킹 버튼을 연결하고 방 생성/입장 시 소켓 연결 상태를 확인하는 방

이더3개월 전1 min read0
BugfixFeatureSocket