파이썬으로 디스코드 봇 만들기

디스코드의 놀라운 세계에 빠져보세요!

4. 이벤트에 대하여

discord.py의 이벤트들

원래는 반응을 하려고 했는데... 오늘은 이벤트에 대해서 알아보려고 합니다.

이벤트가 뭘까요? 이벤트는 특정한 상황을 뜻합니다.

예를 들자면, on_ready나 on_message가 이벤트라고 할 수 있습니다.

@app.event
async def on_ready():
    print("Bot Started")
    
@app.event
async def on_command_error(ctx, error):
    print("error!")
    
@app.event
async def on_error(event, *args, **kwargs):
    print("error!")
    
@app.event
async def on_message(message):
    print(message)

@app.event
async def on_typing(channel, user, when):
    print(f"{user} is typing")
    
@app.event
async def on_message_delete(message):
    print(f"{message} deleted")
    
@app.event
async def on_bulk_message_delete(messages):
    for message in messages:
        print(message)
        
@app.event
async def on_message_edit(before, after):
    print(before + " edited to " + after)
    
@app.event
async def on_reaction_add(reaction, user):
    print(user + "do" + reaction)
    
@app.event
async def on_reaction_remove(reaction, user):
    print(user + "removed" + reaction)
    
@app.event
async def on_reaction_clear(message, reactions):
    for i in reactions:
        print(i)
        
@app.event
async def on_member_join(member):
    print(member + " Joined")
    
@app.event
async def on_member_remove(member):
    print(member + " left the server")
    
@app.event
async def on_user_update(before, after):
    print(before + " to " + after)
    
@app.event
async def on_guild_join(guild):
    print(guild)

@app.event
async def on_guild_remove(guild):
    print(guild)
    
@app.event
async def on_guild_update(before, after):
    print(before + " to " + after)

@app.event
async def on_guild_role_create(role):
    print(f"{role} created!")
    
@app.event
async def on_guild_role_delete(role):
    pass # similar

@app.event
async def on_guild_role_update(before, after):
    print(f"{before} updated to {after}.")
    
@app.event
async def on_guild_emojis_update(guild, before, after):
    print(f"{guild}'s emoji, {before} updated to {after}")
    
@app.event
async def on_voice_state_update(member, before, after):
    print(f"{member}'s voice state update to {after}")
    
@app.event
async def on_member_ban(guild, user):
    print(f"{user} banned at {guild}")
    
@app.event
async def on_member_unban(guild, user):
    pass #similar

@app.event
async def on_invite_create(invite):
    print(f"{invite} created")
    
@app.event
async def on_invite_delete(invite):
    pass #similar

 

이렇게 굉장히 많은 이벤트가 discord.py에 있습니다.

 

이 이벤트들을 잘 사용하면 굉장히 다양한 것들을 할 수 있습니다.

이걸 잘 활용하셔서 좋은 봇 만드시길 바랍니다!

댓글

공지 같이... 공부해주실거죠?
댓글 본문