본문 바로가기

프로그래밍/discord.py

discord.py 6편 - 함수

discord.py 에는 예전버전부터 존재하던 함수들이 존재한다. 

class MyClient(discord.Client):
  async def on_ready(self):
    await self.wait_until_ready()
    await tree.sync(guild= discord.Object(id=GUILD_ID))
    print(f"{self.user} 에 로그인하였습니다!")

이것처럼 on_ready 라는 함수외에도 굉장히 많은 함수가 있는데 전에 썼었던 on_submit 등등 이번시간에는 이걸 알아보려 한다. 내가 주로 찾아보는 사이트는 https://discordpy.readthedocs.io/en/stable/api.html

 

API Reference

Loads the libopus shared library for use with voice. If this function is not called then the library uses the function ctypes.util.find_library() and then loads that one if available. Not loading a library and attempting to use PCM based AudioSources will

discordpy.readthedocs.io

여기다. 여기 들어가서 컨트롤 + F 하고 원하는 함수를 치면 대부분은 나온다. 저 사이트에서 Event Reference 에 들어가면 디스코드에서 자체 지원하는 함수들이 나온다.

잘 보면 함수들 옆에 괄호로 인수를 준걸 볼수가 있는데, 해당 이벤트가 실행이 되면 그 이벤트에 관련된 값을 넘겨준다. 예를들어 on_message(message)에서는 print(message)를 해보면 유저가 무슨 메시지를 했는지 알수있다.

그런데 on_message(m) 이라고 해도 잘 작동한다. 인수의 갯수만 맞다면 인수의 이름은 원하는대로 정하면 된다.

 

on_message(message) < 메시지가 올라올때

on_reaction_add(reaction,user) < 반응이 추가될때

on_user_update(before,after) < 유저 프로필이 업데이트 될때

on_message_delete(message) < 메시지가 지워질때

on_bulk_message_delete(messages) < 메시지가 대량으로 한번에 지워질때

on_message_edit(before,after) < 메시지가 수정될때

on_member_ban(guild,user) < 멤버가 밴 되었을때

on_member_remove(member) < 멤버가 떠났을때

등등등 많은 함수를 지원한다.

 

함수들을 적절히 사용하면 꽤나 많은것을 할수 있다.

 

'프로그래밍 > discord.py' 카테고리의 다른 글

discord.py 8편 - 버튼(심화)  (0) 2023.04.10
discord.py 7편 - 매일 보내기  (0) 2022.08.18
discord.py 5편 - 더 이쁘게 하기  (0) 2022.08.16
discord.py 4편 - modal, args  (0) 2022.08.16
discord.py 3편 - button , select  (0) 2022.08.16