SinusBot
Macro Deck에 포함SinusBot 인스턴스의 음악을 제어하고 재생 중인 곡을 덱에 표시하세요.
헤더에 SinusBot 이름과 로고가 있고 트랙을 재생 중인 전체 커버 스타일과 작은 커버 스타일의 음악 플레이어 위젯 두 개
- 어떤 SinusBot 인스턴스든 재생, 일시 정지, 건너뛰기, 탐색
- 볼륨, 셔플, 반복 설정
- 봇 라이브러리에서 트랙 재생
- 음악 플레이어 위젯에 재생 중인 트랙 표시
- 봇 인스턴스를 원하는 만큼 추가
SinusBot은 직접 운영하는 서버에서 실행하는 TeamSpeak 및 Discord용 음악 봇입니다. SinusBot 연동은 Macro Deck을 SinusBot 웹 인터페이스에 연결하므로, 봇 인스턴스가 재생하는 음악을 제어하고 현재 트랙을 덱에서 볼 수 있습니다. 같은 컴퓨터, 로컬 네트워크, 서버 등 Macro Deck이 네트워크로 접속할 수 있는 SinusBot이라면 모두 동작합니다.
할 수 있는 일
- 재생, 일시 정지, 전환, 다음 또는 이전 트랙으로 건너뛰기, 현재 트랙의 특정 위치로 이동.
- 볼륨 설정, 높이기 또는 낮추기, 셔플 켜기 또는 끄기, 반복 켜기 또는 끄기.
- Play Track으로 봇 라이브러리의 특정 트랙 재생. 트랙을 비워 두면 버튼을 누를 때 고를 수 있습니다.
- Macro Deck의 음악 플레이어 위젯에 재생 중인 트랙, 아티스트, 커버를 표시하고, 변수를 통해 봇의 트랙, 재생 위치, 볼륨을 라벨에 사용.
활용 예:
- TeamSpeak 채널에 있는 봇을 위한 Previous Track, Toggle Play/Pause, Next Track 버튼 한 줄. 재생 버튼은 봇이 재생 중인지 보여 줍니다.
- 봇의 볼륨 변수
sinusbot_<instance>_volume에 연결한 슬라이더. 말하는 동안 음악 소리를 줄일 수 있습니다. - 봇마다 하나씩 둔 음악 플레이어 위젯과, 그 옆에
music_player_<player>_album_color변수를 통해 커버 색을 따라가는 버튼.
여러 봇과 동작 방식
제어하려는 SinusBot 인스턴스 하나가 구성 하나입니다. 서로 다른 서버의 인스턴스를 포함해 원하는 만큼 추가할 수 있으며, 각 액션의 Player 필드에서 인스턴스를 고릅니다. Player를 비워 두면 액션은 첫 번째 인스턴스를 제어합니다. 각 구성은 sinusbot_<instance>_volume처럼 구성 이름을 딴 고유한 변수 세트를 가집니다.
Macro Deck은 구성을 설정할 때 연결을 확인하고 봇이 가진 인스턴스를 불러옵니다. 실행 중에는 재생 상태를 주기적으로 읽습니다. 봇에 잠깐 접속할 수 없으면 덱은 마지막 트랙을 계속 표시합니다. 계속 접속할 수 없으면 sinusbot_<instance>_is_connected 변수가 false가 되고, 봇이 다시 응답할 때까지 액션은 아무 동작도 하지 않습니다.
준비물
- Macro Deck이 웹 인터페이스에 접속할 수 있는 실행 중인 SinusBot (예:
http://your-bot:8087) - SinusBot 사용자 이름과 비밀번호
- SinusBot 웹 인터페이스에서 만든 인스턴스 하나 이상
설정하기
1단계: SinusBot 웹 인터페이스 확인
브라우저에서 SinusBot 웹 인터페이스를 열고 로그인하세요.
http://192.168.1.20:8087처럼 포트를 포함한 주소를 적어 두고, 인스턴스가 하나 이상 있는지 확인하세요.2단계: SinusBot 연동 열기
Macro Deck의 사이드바에서 연동을 클릭하고 SinusBot을 클릭하세요. 개요 탭의 구성 섹션에서 구성 추가를 클릭하세요. 오른쪽 위의 스위치를 켜도 같은 대화 상자가 열리며, 설정을 마치면 연동이 켜집니다.
3단계: 서버와 로그인 정보 입력
SinusBot 연결 대화 상자에서 다음을 입력하세요.
- 서버 URL: 포트를 포함한 SinusBot 웹 인터페이스의 주소.
- 사용자 이름과 비밀번호: SinusBot에 로그인할 때 쓰는 계정.
계속을 클릭하면 Macro Deck이 연결을 테스트하고 인스턴스를 불러옵니다.
4단계: 인스턴스 선택
인스턴스 선택의 인스턴스에서 봇 인스턴스를 고르고 계속을 클릭하세요. 구성은 SinusBot 뒤 괄호 안에 인스턴스 이름이 붙은 이름으로 저장됩니다. 제어하려는 다른 인스턴스마다 이 단계를 반복하세요.
5단계: 버튼에 액션 추가
덱 페이지에서 버튼을 클릭하세요. 덱의 잠금이 해제되어 있어야 하며, 오른쪽 위에 잠금 버튼이 보이면 해제된 상태입니다. 짧게 누르기가 선택된 상태로 편집기가 열립니다. + 액션 추가를 클릭하고 액션 추가 대화 상자 왼쪽에서 SinusBot을 선택한 다음 Toggle Play/Pause를 고르고 Player에서 인스턴스를 선택하세요.
6단계: 버튼 누르기
덱에서 버튼을 누르세요. 봇이 재생을 시작하거나 일시 정지하고, 버튼에 현재 상태가 표시됩니다. 이 인스턴스로 설정한 음악 플레이어 위젯에는 재생 중인 트랙이 표시됩니다.
액션13
버튼에 넣거나 흐름에서 실행하세요.
- Play
- 재생을 다시 시작합니다.
- Pause
- 재생을 일시 정지합니다.
- Toggle Play/Pause
- 재생과 일시 정지를 전환하고, 버튼에 현재 상태를 표시합니다.
- Next Track
- 다음 트랙으로 건너뜁니다.
- Previous Track
- 이전 트랙으로 건너뜁니다.
- Refresh State
- 현재 재생 상태를 즉시 다시 읽습니다.
- Set Volume
- 재생 볼륨을 설정합니다(0~100%).
- Volume Up
- 재생 볼륨을 10% 높입니다.
- Volume Down
- 재생 볼륨을 10% 낮춥니다.
- Seek
- 현재 트랙의 특정 위치(초)로 이동합니다.
- Toggle Shuffle
- 셔플을 전환하거나 켜고 끕니다.
- Set Repeat Mode
- 반복을 켜거나 끕니다. SinusBot에는 반복 모드가 하나뿐이므로 두 반복 옵션 모두 반복을 켭니다.
- Play Track
- 봇 라이브러리의 트랙을 재생합니다. 비워 두면 버튼을 누를 때 트랙을 고를 수 있습니다.
트리거7
버튼이나 흐름이 이 이벤트에 반응할 수 있습니다.
- 트랙 변경됨
- 다른 트랙이 재생되기 시작했습니다(음악 플레이어 아래).
- 재생 시작됨
- 재생이 시작되었거나 다시 시작되었습니다(음악 플레이어 아래).
- 재생 일시 중지됨
- 재생이 일시 정지되었습니다(음악 플레이어 아래).
- 재생 중지됨
- 재생이 중지되었습니다(음악 플레이어 아래).
- 볼륨 변경됨
- 봇의 볼륨이 바뀌었으며, 새 값과 이전 값을 함께 제공합니다(음악 플레이어 아래).
- 플레이어 연결됨
- 봇 인스턴스에 접속할 수 있게 되었습니다(음악 플레이어 아래).
- 플레이어 연결 끊김
- 봇 인스턴스에 더 이상 접속할 수 없습니다(음악 플레이어 아래).
변수8
버튼과 위젯에 이 값을 표시하거나 조건에 사용하세요.
sinusbot_<instance>_current_track_name,sinusbot_<instance>_current_artist,sinusbot_<instance>_current_album- 현재 트랙과 그 아티스트입니다. SinusBot은 앨범을 알려 주지 않으므로
sinusbot_<instance>_current_album은 비어 있습니다. sinusbot_<instance>_playback_state,sinusbot_<instance>_is_playing- 봇이 재생 중인지, 일시 정지되었는지, 정지되었는지 나타냅니다.
sinusbot_<instance>_volume- 재생 볼륨(퍼센트)입니다. 슬라이더 등으로 설정할 수도 있습니다.
sinusbot_<instance>_track_duration,sinusbot_<instance>_current_position,sinusbot_<instance>_progress_percentage- 트랙 길이와 재생 위치(초), 진행률(퍼센트)입니다. 재생 위치를 설정하면 그 위치로 이동합니다.
sinusbot_<instance>_album_art_url- 현재 커버의 주소입니다.
sinusbot_<instance>_device_name- 봇 인스턴스의 이름입니다.
sinusbot_<instance>_shuffle_enabled,sinusbot_<instance>_repeat_mode- 셔플과 반복이 켜져 있는지 여부입니다.
sinusbot_<instance>_is_connected- Macro Deck이 봇 인스턴스에 접속할 수 있는지 여부입니다.
자주 묻는 질문
봇을 여러 개 제어할 수 있나요?
네. 서로 다른 서버에 있더라도 SinusBot 인스턴스마다 구성을 하나씩 추가하세요. 각 액션에는 제어할 인스턴스를 고르는 Player 필드가 있고, 각 구성은 고유한 변수를 가집니다.
SinusBot이 같은 컴퓨터에서 실행되어야 하나요?
아니요. Macro Deck은 네트워크를 통해 SinusBot 웹 인터페이스와 통신하므로, Macro Deck이 주소에 접속할 수만 있다면 봇은 서버나 다른 컴퓨터에서 실행해도 됩니다.
설정에서 인스턴스를 찾지 못했다고 나옵니다. 어떻게 해야 하나요?
계정이 사용할 수 있는 인스턴스가 없습니다. 먼저 SinusBot 웹 인터페이스에서 인스턴스를 만든 다음 구성을 다시 설정하세요.
봇이 오프라인이 되면 어떻게 되나요?
잠깐 끊긴 정도로는 덱이 비지 않으며, 잠시 동안 마지막 트랙을 유지합니다. 계속 접속할 수 없으면 sinusbot_<instance>_is_connected 변수가 false가 되고, Macro Deck은 계속 접속을 시도합니다.
비밀번호는 어디에 저장되나요?
비밀번호는 컴퓨터에 암호화되어 저장되며 SinusBot에 로그인할 때만 사용됩니다.
채팅 및 음성의 다른 연동
Discord
Macro Deck에 포함덱에서 Discord 음소거와 스피커 끄기, 음성 채널 참여, 음성 설정 변경, 웹후크 메시지 게시를 하세요.
Discord 웹후크
Macro Deck에 포함웹후크로 임베드와 멘션이 담긴 풍부한 메시지를 Discord 채널에 올리고, 실시간 미리 보기로 확인하세요.