입장 퇴장 로그 디스코드 봇 만들기

2026. 5. 3. 16:55·봇 개발 팁/Discord.py

누가 언제 들어오고 나갔는지 기록해 두면 서버 흐름을 보기 훨씬 쉬워집니다.

유입이 갑자기 늘었는지, 특정 시점 이후 이탈이 많아졌는지, 인증 절차 이후에 나가는지 같은 흐름을 잡기 좋습니다.

입장 퇴장 로그는 운영 기록 중에서도 가장 자주 보는 축에 들어갑니다.

이번 글에서는 멤버 입장과 퇴장을 전용 로그 채널에 남기는 기본 봇을 만듭니다.

1. 입장 로그에 먼저 넣을 정보

입장 퇴장 이벤트를 받으려면 SERVER MEMBERS INTENT가 필요합니다.

이 설정이 빠지면 코드가 맞아도 멤버 로그가 아예 안 들어옵니다.

기본 환영 흐름과 같이 보고 싶다면 자동 환영 인사 디스코드 봇 만들기을 같이 보면 좋습니다.

2. 로그 채널 값 먼저 정리

DISCORD_TOKEN=여기에_봇_토큰
LOG_CHANNEL_ID=입장퇴장_로그채널_ID


로그 채널은 운영진만 보게 두는 구성이 무난합니다.
공개 채널에 계속 퇴장 기록이 보이면 분위기가 어수선해질 수 있습니다.

3. 입장과 퇴장을 남기는 최소 코드

import os

import discord
from dotenv import load_dotenv

load_dotenv()

TOKEN = os.getenv("DISCORD_TOKEN")
LOG_CHANNEL_ID = int(os.getenv("LOG_CHANNEL_ID"))

intents = discord.Intents.default()
intents.members = True
client = discord.Client(intents=intents)


async def send_embed(embed: discord.Embed):
    channel = client.get_channel(LOG_CHANNEL_ID)
    if isinstance(channel, discord.TextChannel):
        await channel.send(embed=embed)


@client.event
async def on_ready():
    print(f"로그인 성공: {client.user}")


@client.event
async def on_member_join(member: discord.Member):
    embed = discord.Embed(title="멤버 입장", color=discord.Color.green())
    embed.add_field(name="유저", value=f"{member} ({member.id})", inline=False)
    embed.add_field(name="계정 생성일", value=member.created_at.strftime("%Y-%m-%d %H:%M:%S UTC"), inline=False)
    embed.set_thumbnail(url=member.display_avatar.url)
    await send_embed(embed)


@client.event
async def on_member_remove(member: discord.Member):
    embed = discord.Embed(title="멤버 퇴장", color=discord.Color.red())
    embed.add_field(name="유저", value=f"{member} ({member.id})", inline=False)
    embed.add_field(name="퇴장 시 닉네임", value=member.display_name, inline=False)
    await send_embed(embed)


if not TOKEN:
    raise ValueError("DISCORD_TOKEN 값이 없습니다.")

client.run(TOKEN)


입장 로그에는 계정 생성일을 같이 남겨 둬야 합니다.
새로 만든 계정이 갑자기 많이 들어오는지 볼 때 도움이 됩니다.

4. Portal 설정도 같이 본다

Developer Portal에서 아래 항목을 켭니다.

Bot -> Privileged Gateway Intents
- SERVER MEMBERS INTENT 활성화


이 설정 하나 때문에 처음에 많이 막힙니다.
`on_member_join`과 `on_member_remove`가 조용히 안 도는 경우 대부분 여기입니다.

5. 입장과 퇴장이 각각 찍히는지 확인

python main.py


테스트 서버에서 부계정으로 들어오고 나가 보면서 로그를 확인합니다.
입장과 퇴장 임베드가 각각 찍히면 정상입니다.

6. Member 이벤트에서 자주 끊기는 부분

  • 입장 로그가 안 뜨는 경우 SERVER MEMBERS INTENT 설정 누락이 가장 흔합니다.
  • 퇴장 로그만 이상하게 늦게 보이는 경우 디스코드 이벤트 전달 지연이 있을 수 있지만, 대개는 봇 상태나 권한을 먼저 봐야 합니다.
  • 공개 채널에 로그를 둬서 분위기가 어수선한 경우 입장 퇴장은 전용 운영 채널로 옮겨야 합니다.

7. 환영 메시지와 함께 보면 유입 흐름이 보인다

입장 로그는 기록이고, 환영 메시지는 행동 유도입니다.

두 기능을 같이 두면 유입은 들어오는데 인증 전에 나가는지, 환영 뒤에 머무는지 같은 흐름을 보기 쉬워집니다.

환영 동선은 자동 환영 인사 디스코드 봇 만들기, 인증 흐름은 규칙 동의 인증 디스코드 봇 만들기과 같이 보면 됩니다.

8. 로그만 보고 판단하지는 않는다

퇴장 로그가 많다고 해서 반드시 문제인 것은 아닙니다.

홍보 유입이 늘면 자연스럽게 이탈도 같이 늘 수 있습니다.

그래서 입장 퇴장 로그는 소개문, 온보딩, 인증 구조와 같이 봐야 의미가 있습니다.

9. 상시 운영 환경이 필요하다

입장과 퇴장은 언제 일어날지 모릅니다.

PC를 끄면 기록이 그대로 비게 됩니다.

실제 운영용이라면 24시간 디스코드 봇 무료 호스팅, 디스호스트처럼 계속 켜진 환경이 필요합니다.

10. 입구 로그 다음에는 환영 흐름을 같이 본다

입장 퇴장 로그까지 분리했다면 다음에는 제재와 경고 같은 처벌 기록을 따로 남기는 구조로 이어갈 수 있습니다.

입구 품질을 먼저 다시 볼 때는 디스코드 서버 홍보 방법과 디스코드 서버 온보딩 채널 구성 예시를 함께 확인하면 흐름이 잘 보입니다.

'봇 개발 팁 > Discord.py' 카테고리의 다른 글

디스코드 로그 기록 봇 만들기  (0) 2026.05.02
디스코드 모달 입력창 기본 사용법  (0) 2026.05.01
모달 폼 접수 디스코드 봇 만들기  (0) 2026.04.30
지원서 접수 디스코드 봇 만들기  (0) 2026.04.29
고객 지원 대기열 디스코드 봇 만들기  (0) 2026.04.28
'봇 개발 팁/Discord.py' 카테고리의 다른 글
  • 디스코드 로그 기록 봇 만들기
  • 디스코드 모달 입력창 기본 사용법
  • 모달 폼 접수 디스코드 봇 만들기
  • 지원서 접수 디스코드 봇 만들기
디스호스트
디스호스트
쉽고 안정적인 디스코드 봇 호스팅 서비스, 디스호스트의 기술 블로그입니다. 디스호스트는 24시간 구동되는 서버를 통해 디스코드 봇을 대신 구동시켜 드리는 서비스를 제공하고 있습니다.
  • 디스호스트
    디스호스트 기술 블로그
    디스호스트
  • 블로그 메뉴

    • 홈
    • 디스호스트 사용 가이드
    • 디스코드 봇 호스팅, 24시간 서버 구동
    • 분류 전체보기 (95) N
      • 디스코드 (9)
      • 디스호스트 가이드 (12)
      • 봇 개발 팁 (34) N
        • Discord.js (11)
        • Discord.py (22) N
      • DiscordJS 개발 튜토리얼 (15)
      • 디스코드 서버 운영 (17)
      • 디스코드 봇 오류 해결 (7)
  • 링크

    • 디스호스트
  • hELLO· Designed By정상우.v4.10.3
디스호스트
입장 퇴장 로그 디스코드 봇 만들기
상단으로

티스토리툴바