728x90
반응형

https://lektion-von-erfolglosigkeit.tistory.com/notice/195

 

[공지] discord.py 개발 재개

https://gist.github.com/Rapptz/c4324f17a80c94776832430007ad40e6 dpy_development_plans.md GitHub Gist: instantly share code, notes, and snippets. gist.github.com 완전히 까먹고 있었는데 다시 개발한다..

lektion-von-erfolglosigkeit.tistory.com

 


 

아무래도 고3인지라 10월 모의고사 끝내고 글 써봅니다

 

몇몇분들은 아실지 모르겠지만 discord.py 라이브러리가 개발이 종료되었습니다

python 3.9.x로 안되는 이유도 아마 이것 때문일 겁니다

얼마 남지 않았지만 제 글을 보시고 따라하실 분들은 python 3.8.x으로 진행해주시길 바랍니다

개발자 입장문

 

the_future_of_dpy.md

GitHub Gist: instantly share code, notes, and snippets.

gist.github.com

 

나무위키를 좀 베껴오자면 종료한 이유는 아래와 같습니다

 

  • 디스코드가 공식 API 문서를 공개면서 수많은 기능과 지원을 약속받음.
  • 하지만 약속은 제대로 지켜지지 않았고 디스코드 직원들은 향후 3년 동안 라이브러리 개발자들의 피드백을 소홀히 함.
  • 디스코드 API 서버는 직원들과 라이브러리 개발자들이 변경 사항에 대해 논의할 수 있는 곳이었으나, 시간이 지나면서 대화는 점점 단절되어 감.
  • 그러던 중, 디스코드 직원들은 디스코드 API 서버 대신 Discord Infrastructure에만 변경 사항을 공유하기 시작했다. 하지만 라이브러리 개발자들이 해당 서버에 초대를 받지 못함.
    • 문제는 라이브러리에 큰 영향을 받는 변경 사항을 위 서버의 개발자들과만 논의하였다는 것. 대부분의 라이브러리 개발자들은 이를 탐탁지 않게 여김.
  • 2020년 4월 7일, 디스코드 블로그에 미래에 대한 계획이 발표됨. 여기에는 수많은 기능과 봇 인증이 공개됨.
    • 봇 인증을 받기 위해서는 국가에서 발행한 신분증을 사용해야 하는데 개발자들은 개인정보를 침해한다고 반발했으나 검토가 이뤄지지 않음.
  • 2020년 7월과 8월경, Discord Infrastructure에 슬래시 커맨드에 대하여 이야기함.
    • 문제는 슬래시 명령어를 도입하면서 기존에 쓰고 있는 메시지형 명령어 기능이 제한된다.
    • 업데이트가 된다면 이를 모두 슬래시 명령어로 바꿔야 하는데 discord.py 라이브러리 자체를 싹 갈아엎어야 한다는 것이다.
  • 인증 시스템이 도입되고 디스코드 직원들의 적절한 협의 없는 급격한 변화로 인한 잦은 변화로 라이브러리 작업에 대한 동기가 줄어듦.

(대충 디스코드 직원들이 꼴받게 했다는 듯)

 

위에서 언급된 슬래시 커맨드는 2022년 4월까지 적용 예정이며 이때부터는 discord.py 라이브러리는 사용 불가능합니다

이에 따라 python를 이용한 봇은 다시 개발을 시작하는 것은 안 할 것 같고

다른 라이브러리를 사용하여 개발해야 할 것 같습니다 (node.js, Java...)

아니면 아예 라이브러리를 하나 만들던가

 

그러면 디스코드 봇 개발은 잠정 중단이 되겠네요

수능 끝나면 어떻게 할지 다시 생각해보겠습니다

 

현재 라이브러리 현황

discord.py Not Implemented  
Discord.NET Not Implemented  
disgord Not Implemented  
discordjl Not Implemented  
Dimscord Not Implemented  
DSharpPlus Not Implemented  
DiscordPHP Not Implemented Implementation no longer works
Sleepy Discord C++ Partially Implemented Unstable/Unreleased
Discordia Partially Implemented Unstable/Unreleased
Eris Partially Implemented Unstable/Unreleased
discord.rb Partially Implemented Unstable/Unreleased
discordgo Partially Implemented Unstable/Unreleased
nyxx Partially Implemented Unreleased
Ackcord Partially Implemented Unreleased
discord.js Implemented  
JDA Implemented  
Discord4J Implemented  
Javacord Implemented  
Serenity Implemented  
Twilight Implemented  
nostrum Implemented  
Kord Implemented