자동 생성 타입을 활용한 0-디펜던시 Telegram SDK 작성
발행: (2025년 12월 31일 오후 06:03 GMT+9)
2 min read
원문: Dev.to
Source: Dev.to
왜 나는 제로‑디펜던시 텔레그램 SDK를 만들었는가
대부분의 텔레그램 봇 SDK는 너무 무겁거나 타입 정의가 일관되지 않습니다. 나는 가볍고 빠르며 100 % 타입‑안전한 것이 필요했기에 Surfgram을 만들었습니다.
목표와 장점
- Zero dependencies – axios도, node‑fetch도 없이 순수 Node.js
https만 사용합니다. - Lightweight – 번들 크기가 작고 설치가 빠릅니다.
- Secure – 의존성이 적을수록 공격 표면이 줄어듭니다.
- Always up‑to‑date – 공식 텔레그램 Bot API 문서를 스크래핑하는 제너레이터가 있어 API가 바뀔 때마다 재실행하면 됩니다.
- Strict safety – 엄격한 null 체크와 적절한 타입 가드로 API 응답에서 발생할 수 있는 undefined 오류를 방지합니다.
사용 예시
import { Bot, Message } from 'surfgram';
const bot = new Bot('TOKEN');
bot.onMessage('/start', (message: Message) => {
message.sendMessage({ text: 'hi there' });
});
bot.startPolling();
오픈 소스
이 프로젝트는 완전 오픈‑소스입니다. 아키텍처와 타입 생성 로직에 대한 피드백을 기다리고 있습니다.
GitHub:
‘무게 없는’ 접근 방식이 마음에 든다면 ⭐ 하나만 눌러 주세요!