전체 글 90

디스코드 봇 만들기 #28 - 레벨·경험치(XP) 시스템 만들기! 채팅할수록 레벨업, 랭킹판까지 (파이썬 예제)

안녕하세요! Mojangcam입니다 😎지난 편(#27 티켓 담당자 배정·우선순위)에서는 문의 티켓을 스태프에게 자동으로 배정하는 시스템을 만들었어요. 이번 #28편에서는 분위기를 확 바꿔서, 서버를 시끌벅적하게 만드는 레벨·경험치(XP) 시스템을 만들어 볼게요!채팅을 칠 때마다 경험치가 쌓이고, 일정량이 모이면 레벨업 축하 메시지가 뜨고, /랭킹 명령어로 서버 상위 10명을 보여주는 것까지 한 번에 완성합니다. MEE6 같은 유명 봇이 돈 받고 파는 기능인데, 우리는 직접 만들어서 공짜로 쓰는 거죠 🙌🧠 왜 레벨 시스템이 필요할까요?서버를 만들어 놓으면 제일 무서운 게 채팅이 죽는 것이에요. 레벨 시스템은 이 문제를 아주 단순한 방법으로 해결해요.말을 할수록 숫자가 오르니까 눈에 보이는 보상이 생겨..

파이썬 자동화 로그·재시도·디스코드 실패 알림 만들기 - 조용히 멈추는 스크립트 잡기

안녕하세요, Mojangcam입니다 😎아침에 구글 시트를 열었는데 어제 숫자가 그대로예요. 자동화가 아예 실행되지 않은 건지, 데이터를 읽다가 멈춘 건지, 마지막 저장만 실패한 건지 알 수가 없죠.지난 구글 시트 연동 편에서는 파이썬의 실행 결과를 팀원들과 공유했어요. 이번에는 그 작업을 감싸는 로그·재시도·실패 알림을 붙여볼게요. 완성하면 일시적인 연결 오류는 정해진 횟수만 다시 시도하고, 끝내 실패하면 기록과 종료 코드로 확인할 수 있어요.먼저 알아둘 점이 있어요. 이 예제는 실제로 시작된 프로그램 안에서 발생한 오류를 다룹니다. PC가 꺼져 있거나 예약 작업이 시작조차 안 된 경우에는 이 코드도 실행되지 않아요. 그 상황은 별도의 실행 여부 감시가 필요합니다.📌 오늘 만들 결과흐름은 간단해요. ..

업무 자동화 2026.09.12

파이썬 업무 자동화 #12 - 구글 시트 연동하기! 팀원과 같이 보는 자동 시트 (gspread) 📗

안녕하세요! Mojangcam입니다 😎지난 편(#11 개인화 대량 메일 자동 발송)에서는 명단을 읽어서 사람마다 다른 메일을 쏘는 법을 배웠어요. 그런데 그 명단, 아직도 엑셀 파일로 주고받고 계시죠? 😅엑셀 파일은 치명적인 약점이 하나 있어요. 나만 볼 수 있다는 거예요. 파일을 메신저로 보내는 순간 최종.xlsx, 최종_진짜최종.xlsx, 최종_이번엔진짜.xlsx 지옥이 시작됩니다.오늘은 파이썬이 만든 결과를 구글 시트에 바로 써넣는 법을 배워볼게요. 스크립트가 새벽에 혼자 돌아서 시트를 갱신하면, 팀원들은 아침에 브라우저만 열면 최신 데이터를 봅니다. 파일 첨부도, 버전 관리도 필요 없어요. 자동화 파이프라인의 결과 공유 창구를 만드는 편이에요! 🙌📌 준비물Python 3.8+ (gsprea..

업무 자동화 2026.09.12

게임서버 운영자용 리눅스 기초 명령어 20개 - 디스코드 봇·게임서버 굴릴 때 진짜 쓰는 것만! (Ubuntu 26.04 LTS) 🐧

안녕하세요! Mojangcam입니다 😎지난번 파이썬 VPS 배포 입문 - 디스코드 봇·자동화 스크립트 24시간 돌리기 (Ubuntu + systemd) 글에서 VPS에 봇을 올려서 24시간 돌리는 법을 다뤘어요. 그런데 막상 서버를 하나 빌리고 나면 이런 생각이 들죠."검은 화면만 뜨는데... 여기서 뭘 쳐야 하지? 😱"그래서 이번 편에서는 게임서버·봇 운영자가 실제로 매일 쓰는 리눅스 명령어 20개만 딱 골라서 정리했어요. 리눅스 교과서에 나오는 100개짜리 목록이 아니라, "봇이 죽었는데 왜 죽었지?", "디스크가 꽉 찼대요", "서버 재부팅했는데 봇이 안 켜져요" 같은 실제 상황에서 손이 가는 것들만 담았습니다.📌 준비물Ubuntu 26.04 LTS (코드명 Resolute Raccoon, 2..

IT·활용 팁 2026.09.11

파이썬 업무 자동화 #11 - 개인화 대량 메일 자동 발송! 명단별 첨부파일·발송 로그·재시도까지 (smtplib 실전편) 📬

안녕하세요! Mojangcam입니다 😎지난 파이썬 업무 자동화 #10 - 워드(Word) 문서 자동 생성 (python-docx)에서는 엑셀 명단으로 안내문 100장을 몇 초 만에 뽑아봤어요. 그런데 여기서 딱 멈추면 반쪽이죠. 그 100장을 100명에게 하나씩 보내는 일이 남아있거든요 😇오늘은 그 마지막 조각을 채웁니다. 명단을 읽어서 → 그 사람 파일만 골라 첨부하고 → 이름을 넣은 개인화 메일을 자동 발송하는 스크립트예요.메일 발송 기초(앱 비밀번호 발급, SMTP 접속)는 예전에 쓴 파이썬 이메일 자동 발송하기 편에서 다뤘으니, 오늘은 실전에서 진짜 필요한 것들 위주로 갈게요. 발송 간격, 실패 재시도, 발송 로그, 테스트 모드 같은 것들이요. 이거 없이 100통 돌렸다가 계정 잠기면 진짜 눈..

업무 자동화 2026.09.10

파이썬 업무 자동화 #10 - 워드(Word) 문서 자동 생성! 엑셀 명단으로 계약서·안내문 100장 뽑기 (python-docx) 📄

안녕하세요! Mojangcam입니다 😎지난 파이썬 업무 자동화 #9에서는 PyAutoGUI로 마우스·키보드 클릭까지 파이썬에게 시켜봤어요. 화면을 직접 조작하는, 좀 극단적인 자동화였죠.이번 #10편은 다시 얌전한(?) 자동화로 돌아옵니다. 바로 워드(Word) 문서 자동 생성이에요.회사에서 이런 일 해보신 적 있으실 거예요. 엑셀에 이름·부서·날짜가 100줄 들어있고, 워드 양식에 그걸 하나씩 넣어서 100개 파일로 저장하는 일이요. 수료증, 계약서, 안내문, 급여명세서... 이름만 다르고 나머지는 똑같은데 손으로 100번 복붙하고 계셨다면, 오늘 글이 딱입니다.오늘 만들 건 이거예요. 엑셀 명단(.xlsx)을 읽어서 → 워드 문서(.docx)를 사람 수만큼 자동으로 뽑아내는 스크립트. 실행 한 번에..

업무 자동화 2026.09.09

discord.py 자주 나는 에러 TOP 10 - 봇 개발 중 만나는 실전 오류 원인부터 해결까지 🚨

안녕하세요! Mojangcam입니다 😎예전에 디스코드 봇 오류 해결 총정리(입문편)에서 인텐트·토큰 같은 첫날 에러 5가지를 정리했었죠. 그런데 봇을 조금 키우다 보면 그때는 만날 일도 없던 에러들이 우르르 쏟아져요. Cog로 코드를 쪼개고, DB를 붙이고, 버튼·모달까지 넣기 시작하면 딱 그렇습니다 😅그래서 오늘은 입문 단계를 넘긴 뒤에 진짜 자주 만나는 에러 10가지를 증상 → 원인 → 해결 순서로 싹 모았어요. 에러 메시지를 그대로 Ctrl+F 해서 찾아 쓰라고 만든 글이니까, 즐겨찾기 해두고 사전처럼 쓰시면 됩니다!📌 시작 전에 - 버전부터 맞추기에러 해결의 절반은 버전 확인이에요. 이 글은 아래 환경 기준입니다.Python 3.10 이상 (아래 예제에 쓰는 python-dotenv 1.2...

디스코드 봇 만들기 #27 - 티켓 담당자 배정·우선순위 만들기! 스태프가 여러 명이어도 안 꼬이게 (파이썬 예제)

안녕하세요! Mojangcam입니다 😎지난 #26편에서는 버튼 하나로 1:1 상담 채널이 자동으로 생기는 티켓 시스템을 만들었어요. 그런데 이걸 실제 서버에 붙여보면 하루 만에 문제가 하나 튀어나옵니다."이 티켓 누가 보고 있는 거예요?"스태프가 세 명인데 아무도 안 맡거나, 반대로 세 명이 동시에 답장하거나 둘 중 하나예요. 티켓이 열 개쯤 쌓이면 뭐부터 봐야 하는지도 모르겠고요.오늘은 여기에 담당자 배정(Claim)과 우선순위(Priority)를 붙여서, 스태프가 여러 명이어도 안 꼬이는 구조로 바꿔볼게요. #26편에서 채널 topic에 우겨넣었던 정보도 #23편에서 배운 aiosqlite DB로 제대로 옮깁니다.이번 편에서 배울 것티켓 정보를 채널 topic → aiosqlite 테이블로 옮기기"..

디스코드 봇 만들기 #26 - 티켓(Ticket) 문의 시스템 만들기! 버튼 하나로 1:1 상담 채널 자동 생성 (파이썬 예제)

안녕하세요! Mojangcam입니다 😎지난 #25편에서는 봇이 죽지 않게 에러 핸들링과 로깅 체계를 잡아봤어요. 이제 봇이 웬만해선 안 죽으니까, 이번엔 사람 손이 필요한 일을 봇이 대신 받아주게 만들어 볼게요.오늘 만들 건 티켓(Ticket) 문의 시스템이에요. 서버에 "문의하기" 버튼 하나를 딱 붙여두면, 누가 누르는 순간 그 사람과 스태프만 볼 수 있는 1:1 채널이 자동으로 생기는 기능이죠.왜 필요할까요? 서버가 조금만 커져도 DM으로 문의가 쏟아지는데, DM은 다른 스태프가 볼 수 없어서 인수인계가 안 돼요. 반대로 공개 채널에 문의를 받으면 개인정보나 결제 내역 같은 게 그대로 노출되고요. 티켓 시스템은 이 둘의 중간이에요. 기록은 서버에 남고, 내용은 당사자끼리만 보이는 구조라서 판매 서버..

디스코드 봇 만들기 #25 - 봇이 죽지 않게! 에러 핸들링·로깅 체계 잡기 (파이썬 예제)

안녕하세요! Mojangcam입니다 😎지난 #24편에서는 채널 난독화(Channel Obfuscation)에 대응하는 법을 봤어요. 봇이 볼 수 없는 채널이 생겨도 안 터지게 만드는 작업이었죠.이번 #25편은 그 연장선이에요. 봇이 에러 하나 때문에 조용히 멈추는 일을 없애는 편입니다. 슬래시 명령어에서 에러가 나면 사용자한테는 "애플리케이션이 응답하지 않습니다"만 뜨고, 개발자인 나는 무슨 일이 있었는지 전혀 모르죠. 터미널을 껐다면 로그도 없고요.오늘은 세 가지를 만들어요. 전역 에러 핸들러로 모든 명령어 에러를 한 곳에서 받고, logging 모듈로 파일에 자동 기록하고, 심각한 에러는 관리자 채널에 임베드로 알림을 보냅니다. 실제 서버에 올려둔 봇이라면 없으면 안 되는 부분이에요!📌 준비물Py..

반응형