목차 개요 FredBot 등 유명한 봇들에는 항상 음악 기능이 들어가있다. 그럼 이 기능은 어떻게 구현되는 것일까? 음악을 입력하면 키워드를 받아서 유튜브 등 음원사이트에 검색을 하여 1. 음악 파일을 다운받아서 재생 시켜준다. 2. 스트리밍을 해준다. 1번의 경우에는 음원을 다운받는데에 시간이 걸려 여러가지 음악을 신청시에 서버에 부하가 걸릴수 있다. 또한 재생까지에 시간이 걸린다. 2번의 경우에는 버퍼링이 걸릴수 있고 음질 이슈가 있을수 있다. (단일 노드 스트리밍일시) 그래서 FredBot 등이나 유명한 봇에서는 lavalink 라는 API를 따로 사용한다. 그 lavalink라는 API의 깃허브에 들어가보면 GitHub - Devoxin/Lavalink.py: A wrapper for Lavali..
디스코드 봇
목차 개요 지난 편에서는 작동 실행과 종료가 주였지만 지금은 본격적인 기능 구현을 위한 API 툴을 소개하겠다 author 봇은 기본적으로 명령을 받아서 수행하는 형태가 많고 이를 위해서는 누가 이 명령을 주었냐에 따라서 다르게 작동될 경우가 많기에 author 이라고 하는 ctx(context)를 보낸 유저가 누군지를 알아보는 기능이 필요하다. voice 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...
목차 개요 음악 재생 기능을 구현하다가 본 API 래퍼런스를 정리하는 글을 읽다가 자주 사용되는 주요기능을 한글로 해석하여 만들어놓으면 좋을것 같아서 리뷰해놓으려한다. Client 와 Bot 블로그 포스팅을 보다보면 누구는 @client ~ 로 작성하고 누구는 @bot 으로 작성하는것을 볼 수 있는데 결과부터 말하자면 bot은 client 의 하위 클래스로 실제로 discord.py API의 extention으로 존재함을 알 수 있다. Client에 관련된 Attribute 나 method 리스트는 여기에 ⬇⬇⬇ API Reference Loads the libopus shared library for use with voice. If this function is not called then the l..
목차 디스코드 API 디스코드의 API를 통하여 이미 구현되어있는 코드를 통하여 내가 만들 봇에 기능을 추가해주려고 한다. 포스팅과 동일한 내용은 디스코드 API 공식 홈페이지에 API 의 의미가 궁금한 사람들은 ⬇⬇⬇ 운영체제 구조 :: System call(시스템 콜)과 API/ABI 목차 시스템 콜과 API / ABI 는 관계성이 높기 때문에 같이 포스팅을 진행하였다. 시스템 콜 (System call) 운영 체제의 커널이 제공하는 서비스에 대해, 응용 프로그램의 요청에 따라 커널에 접근하기 nstgic3.tistory.com Discord Bot API 를 이용하여 할당받은 토큰을 이용하여 로봇이 로그인을 정상적으로 처리 했는지를 hello 를 인식하면 Hello! 라고 문답 하는 기능을 구현하여..
목차 개요 게임이나 여행계획을 짤 때 디스코드를 통하여 소통을 하는 경우가 많다. 디스코드는 텍스트는 물론 사진 영상 실시간 음성 통화 실시간 영상 통화 여러 가지 종류의 리액션 스티커와 이모지까지 많은 기능들을 지원한다. 또한 봇 이라는 기능도 지원하는데 이를통하여 전화를 하고 있는 방에 노래를 튼다거나 사용자들의 사용시간, 게임을 플레이한 시간등을 트래킹 할 수 있는 기능도 들어가있다. 이번 포스팅 시리즈에서는 온라인 서버 서비스인 replit 과 디스코드에서 지원하는 개발자 툴을 이용하여 봇을 직접 만들어보고 사용해보고 필요한 기능도 추가해보자 디스코드 develop 에서 봇을 생성하고 서버에 추가하기 먼저 아래의 링크를 통해서 디스코드의 계정에 로그인을 해준다. Discord Developer P..