Discord
Macro Deck에 포함덱에서 Discord 음소거와 스피커 끄기, 음성 채널 참여, 음성 설정 변경, 웹후크 메시지 게시를 하세요.
클라이언트 ID와 클라이언트 보안 비밀 값 필드가 있는 Discord 연결 대화 상자
- 실제 상태를 보여 주는 음소거 및 스피커 끄기 버튼
- 음성 채널 참여 또는 나가기, 텍스트 채널 열기
- 마이크와 출력 볼륨, 음성 모드, 음성 처리 설정
- 프로필에 사용자 지정 Rich Presence 활동 표시
- 웹후크로 채널에 메시지와 임베드 게시
Discord 연동은 Macro Deck을 같은 컴퓨터에 있는 공식 Discord 데스크톱 앱에 연결합니다. Discord가 클라이언트를 제어하는 앱에 제공하는 로컬 RPC 인터페이스를 사용하므로, 버튼은 Discord에서 직접 클릭한 것처럼 동작합니다. Discord는 직접 소유한 애플리케이션에만 이 접근 권한을 주기 때문에, 설정 과정에서 Discord Developer Portal에 무료 애플리케이션을 만들고 한 번 인증해야 합니다.
할 수 있는 일
- 마이크 음소거와 스피커 끄기로 내 마이크를 음소거하거나 스피커를 끕니다. Discord에서 직접 음소거해도 버튼에 음소거 여부가 표시됩니다.
- 내 서버의 음성 채널에 참여하거나, 현재 채널에서 나가거나, Discord 앱에서 텍스트 채널을 엽니다.
- 마이크와 출력 볼륨을 설정하거나 높이거나 낮추고, 푸시 투 토크와 음성 감지 사이를 전환하고, 표준 노이즈 억제, 에코 캔슬레이션, 자동 게인 제어를 켜거나 끕니다.
- Rich Presence 설정으로 프로필에 사용자 지정 활동을 표시하고 Rich Presence 지우기로 다시 제거합니다.
- 웹후크 실행으로 웹후크를 통해 어떤 채널에든 메시지를 게시하며, 임베드를 넣을 수도 있습니다. 이 액션은 연동이 켜져 있기만 하면 연동을 설정하지 않아도 동작합니다.
활용 예:
- 토글 모드의 마이크 음소거가 들어 있고, 색이
discord_is_self_muted변수를 따르는 마이크 버튼. - 팀의 음성 채널에 참여하면서 이미 연결되어 있어도 나를 이동을 켜 두어, 다른 채널에 있을 때도 동작하는 버튼.
- 마이크 비활성화됨 트리거에서 빨간 조명을 켜고, 마이크 활성화됨에서 다시 끄는 흐름.
- 웹후크를 통해 채널 링크와 함께 "Stream is live"를 게시하는 버튼.
동작 방식
Macro Deck은 시작할 때 Discord에 연결하며, Discord를 닫았다가 다시 열면 스스로 다시 연결합니다. 시도가 실패할 때마다 조금씩 더 오래, 최대 1분까지 기다립니다. 이때 연결됨 및 연결 끊김 트리거가 실행됩니다. Discord가 연결되어 있지 않은 동안에는 discord_is_connected를 제외한 변수가 사용할 수 없음으로 표시됩니다. Discord에서 바꾼 내용과 관리자가 한 음소거는 변수와 트리거에 바로 반영됩니다. Discord 계정은 하나만 설정할 수 있습니다.
준비물
- Macro Deck과 같은 컴퓨터에서 실행 중인 공식 Discord 데스크톱 앱. Linux에서는 Flatpak 및 Snap 버전도 동작합니다.
- Discord 계정과 Discord Developer Portal에 직접 만든 무료 애플리케이션.
- 같은 권한으로 시작한 Macro Deck과 Discord (둘 다 관리자 권한이 아니거나 둘 다 관리자 권한).
- 웹후크 실행만 사용하는 경우: 채널의 웹후크 URL. 연동은 켜져 있어야 하지만 설정은 필요 없습니다.
설정하기
1단계: Discord 애플리케이션 만들기
Discord Developer Portal을 열고 새 애플리케이션을 만드세요. 이름은 상관없습니다. General Information에서 Application ID를 복사하세요. 이것이 클라이언트 ID입니다.
2단계: 리디렉션 URI 추가 및 시크릿 복사
애플리케이션에서 OAuth2를 여세요. 리디렉션으로
http://localhost/를 추가하고 저장하세요. 이 주소가 실제로 열리는 일은 없으며, Discord는 등록되어 있는지만 확인합니다. 그런 다음 Client Secret을 복사하세요(Discord가 보여 주지 않으면 재설정하세요).3단계: Macro Deck에서 Discord 열기
Discord 데스크톱 앱이 실행 중인지 확인하세요. Macro Deck의 사이드바에서 연동을 클릭하고 Discord를 클릭하세요.
4단계: 클라이언트 ID와 클라이언트 보안 비밀 값 입력
개요 탭의 구성 섹션에서 설정을 클릭하세요. 오른쪽 위의 스위치를 켜도 같은 대화 상자가 열립니다. Discord 연결 대화 상자에 클라이언트 ID와 클라이언트 보안 비밀 값을 붙여 넣고 계속을 클릭하세요.
5단계: Discord에서 인증
Discord에서 인증 단계에서 계속을 클릭하세요. Discord에 애플리케이션 인증 요청이 표시되면 수락하세요. Macro Deck은 연결을 Discord 뒤 괄호 안에 사용자 이름이 붙은 이름으로 저장하고 연동을 켭니다.
6단계: 버튼에 액션 추가
덱 페이지에서 버튼을 클릭하세요. 덱의 잠금이 해제되어 있어야 하며, 오른쪽 위에 잠금 버튼이 보이면 해제된 상태입니다. 짧게 누르기가 선택된 상태로 편집기가 열립니다. + 액션 추가를 클릭하고 액션 추가 대화 상자 왼쪽에서 Discord를 선택한 다음 마이크 음소거를 고르고 액션을 토글로 설정하세요.
7단계: 버튼 누르기
덱에서 버튼을 누르세요. Discord가 마이크를 음소거하고, 덱이나 Discord에서 음소거를 해제할 때까지 버튼에 음소거 상태가 표시됩니다.
액션14
버튼에 넣거나 흐름에서 실행하세요.
- 마이크 음소거
- 마이크를 음소거하거나, 음소거를 해제하거나, 전환합니다.
- 스피커 끄기
- 스피커를 끄거나, 다시 켜거나, 전환합니다.
- 표준 노이즈 억제
- Discord의 표준 노이즈 억제를 켜거나 끕니다. Krisp는 제어할 수 없습니다.
- 에코 캔슬레이션
- Discord의 에코 캔슬레이션을 켜거나 끕니다.
- 자동 게인 제어
- 자동 게인 제어를 켜거나 끕니다.
- 음성 모드 설정
- 푸시 투 토크와 음성 감지 사이를 전환하거나 번갈아 바꿉니다.
- 마이크 볼륨 설정
- Discord의 마이크 볼륨을 설정하거나 높이거나 낮춥니다.
- 출력 볼륨 설정
- Discord의 출력 볼륨을 최대 200%까지 설정하거나 높이거나 낮춥니다.
- 음성 채널 참여
- 내 서버의 음성 채널에 연결하며, 다른 채널에서 옮겨 올 수도 있습니다.
- 음성 채널 나가기
- 현재 음성 채널에서 연결을 끊습니다.
- 텍스트 채널 열기
- Discord 앱에서 텍스트 채널을 엽니다.
- Rich Presence 설정
- 세부 정보, 이미지, 경과 시간이 담긴 사용자 지정 활동(플레이 중, 듣는 중, 시청 중, 경쟁 중)을 프로필에 표시합니다.
- Rich Presence 지우기
- Macro Deck이 프로필에 설정한 활동을 제거합니다.
- 웹후크 실행
- 웹후크 URL을 통해 채널에 메시지를 보내며, 임베드를 넣을 수도 있습니다. 설정 없이 동작합니다.
트리거18
버튼이나 흐름이 이 이벤트에 반응할 수 있습니다.
- 연결됨
- Macro Deck이 Discord 앱에 연결되었습니다.
- 연결 끊김
- Discord 앱이 닫혔거나 연결이 끊어졌습니다.
- 마이크 음소거됨
- 내 마이크를 직접 음소거했습니다.
- 마이크 음소거 해제됨
- 내 마이크의 음소거를 직접 해제했습니다.
- 스피커 꺼짐
- 스피커를 직접 껐습니다.
- 스피커 켜짐
- 스피커를 직접 다시 켰습니다.
- 서버에서 음소거됨
- 관리자가 나를 음소거했습니다.
- 서버에서 음소거 해제됨
- 관리자가 내 음소거를 해제했습니다.
- 서버에서 스피커 꺼짐
- 관리자가 내 스피커를 껐습니다.
- 서버에서 스피커 켜짐
- 관리자가 내 스피커를 다시 켰습니다.
- 마이크 비활성화됨
- 나나 관리자의 음소거 또는 스피커 끄기 등 어떤 이유로든 마이크 전송이 멈췄습니다.
- 마이크 활성화됨
- 음소거도 스피커 끄기도 적용되어 있지 않아 마이크가 다시 전송할 수 있습니다.
- 음성 채널 참가
- 음성 채널에 참여했습니다. 특정 채널로 한정할 수도 있습니다.
- 음성 채널 나감
- 음성 채널에서 나갔습니다. 특정 채널로 한정할 수도 있습니다.
- 음성 연결 상태 변경됨
- Discord의 음성 연결 상태가 바뀌었습니다(예:
VOICE_CONNECTED). 평균 핑을 함께 제공합니다. - 누군가 말하기 시작함
- 현재 음성 채널의 누군가가 말하기 시작했으며, 그게 나인지 여부를 함께 제공합니다.
- 누군가 말하기를 멈춤
- 현재 음성 채널의 누군가가 말하기를 멈췄으며, 그게 나인지 여부를 함께 제공합니다.
- 알림 수신됨
- Discord가 데스크톱 알림을 표시했으며, 제목과 텍스트를 함께 제공합니다.
변수11
버튼과 위젯에 이 값을 표시하거나 조건에 사용하세요.
discord_is_connected- Macro Deck이 Discord 앱에 연결되어 있는지 여부입니다.
discord_user_name- 연결된 계정의 이름입니다.
discord_is_self_muted,discord_is_self_deafened- 직접 마이크를 음소거했는지, 스피커를 껐는지 여부입니다.
discord_is_server_muted,discord_is_server_deafened- 관리자가 마이크를 음소거했는지, 스피커를 껐는지 여부입니다.
discord_is_muted,discord_is_deafened- 이유와 관계없이 마이크가 음소거되었는지, 스피커가 꺼졌는지 여부입니다.
discord_is_speaking- 지금 말하고 있는지 여부입니다.
discord_is_in_voice_channel,discord_voice_channel,discord_voice_server- 음성 채널에 있는지 여부, 그리고 그 채널과 서버의 이름입니다.
discord_voice_connection_state,discord_voice_ping- 음성 연결 상태와 평균 핑(밀리초)입니다.
discord_input_volume,discord_output_volume- Discord의 입력 및 출력 볼륨(퍼센트)입니다. 슬라이더 등으로 설정할 수도 있습니다.
discord_voice_mode- Discord가 푸시 투 토크와 음성 감지 중 무엇을 사용하는지 나타냅니다.
discord_noise_suppression,discord_echo_cancellation,discord_automatic_gain_control- 노이즈 억제, 에코 제거, 자동 게인 조절이 켜져 있는지 여부입니다.
자주 묻는 질문
왜 직접 만든 Discord 애플리케이션이 필요한가요?
Discord는 클라이언트를 제어하는 권한을 사용자가 팀에 속한 애플리케이션에만 줍니다. 직접 만든 애플리케이션은 무료이며, Macro Deck은 그 클라이언트 ID와 클라이언트 보안 비밀 값을 Discord 인증에만 사용합니다.
Vesktop, Legcord 같은 다른 Discord 클라이언트에서도 동작하나요?
아니요. 서드파티 클라이언트는 게임 활동을 공유할 수는 있지만 Macro Deck이 제어할 수는 없습니다. 공식 Discord 데스크톱 앱을 시작하세요. 다른 클라이언트는 함께 실행해 두어도 됩니다.
Discord가 다른 컴퓨터에서 실행 중이어도 동작하나요?
아니요. Macro Deck은 로컬 연결로 Discord와 통신하므로 Discord는 Macro Deck이 실행 중인 컴퓨터에서 실행되어야 합니다. Discord 앱 없이 동작하는 것은 웹후크 실행뿐입니다.
설정에서 Discord가 연결을 거부했다고 나옵니다. 무엇이 문제인가요?
Macro Deck과 Discord가 서로 다른 권한으로 실행 중입니다. 예를 들어 둘 중 하나를 관리자 권한으로 실행으로 시작한 경우입니다. 둘을 같은 방식으로 시작하고 다시 시도하세요.
음성 설정이 바뀌지 않습니다. 이유가 무엇인가요?
Discord에 연결된 다른 앱이 음성 설정을 잡고 있거나, Krisp가 켜져 있는 동안 Discord가 고급 음성 설정을 무시할 수 있습니다. Discord를 제어하는 다른 앱을 닫고, Discord의 음성 및 비디오 설정에서 해당 설정을 한 번 바꾼 다음 액션을 다시 실행하세요.
인증 정보는 어디에 저장되나요?
클라이언트 보안 비밀 값과 Discord가 돌려주는 토큰은 컴퓨터에 암호화되어 저장되며 Discord로만 전송됩니다. Discord가 저장된 인증을 더 이상 받아들이지 않으면 연동에 다시 연결 버튼과 함께 Discord 승인이 만료되었습니다가 표시됩니다.
채팅 및 음성의 다른 연동
Discord 웹후크
Macro Deck에 포함웹후크로 임베드와 멘션이 담긴 풍부한 메시지를 Discord 채널에 올리고, 실시간 미리 보기로 확인하세요.
SinusBot
Macro Deck에 포함SinusBot 인스턴스의 음악을 제어하고 재생 중인 곡을 덱에 표시하세요.