이 플러그인은 자동화되어 있으며, 별도 명령어가 없습니다. 범용 디스코드 봇 프레임워크를 찾고 계신다면, 이 플러그인의 기반이 된 @merefield님의 봇 구성 키트를 확인해 주세요.
Discord Sync Discourse 포럼과 디스코드 서버 동기화 
이 플러그인은 Discourse 포럼 인스턴스와 디스코드 서버 간의 특정 사용자 관련 정보를 동기화할 수 있게 해줍니다. 모든 권한을 처리하고 서버 내 특정 작업을 트리거하기 위해 디스코드 봇을 생성합니다.
기능
-
Discourse 그룹을 디스코드 역할로 동기화
사용자가 Discourse에서 접근 가능한 그룹에 따라 디스코드 서버의 역할을 자동으로 관리합니다.-
인증된 역할(Verified Role)
디스코드 계정을 연결한 모든 디스코드 사용자에게 부여할 "인증된 역할"을 추가할 수 있습니다. -
안전한 역할(Safe Roles)
이 플러그인은 디스코드의 역할이 Discourse의 그룹과 동일하도록 강제하므로, 봇이 무시하고 디스코드 서버에서 수동으로 관리할 역할 목록을 설정할 수 있습니다.
-
-
Discourse 사용자 이름을 디스코드 닉네임으로 동기화
포럼 사용자 이름으로 사용자를 식별하려면, 사용자가 Discourse에서 가진 사용자 이름과 동일한 디스코드 서버 닉네임을 사용하도록 강제할 수 있습니다.
트리거
다음과 같은 경우 플러그인은 완전한 Discourse-디스코드 동기화(닉네임 및 역할)를 실행합니다:
- Discourse
- 사용자가 그룹에 추가됨
- 사용자가 그룹에서 제거됨
- 사용자 프로필이 업데이트됨
사용자 이름-닉네임 동기화를 위한 것 - 사용자가 인증됨
첫 동기화가 계정 연결 직후 바로 실행되도록 보장하기 위해, 인증 제공자가 디스코드일 경우에만 실행됩니다.
- Discord
- 사용자가 디스코드 서버에 참여함
주어진 디스코드 ID를 가진 사용자를 데이터베이스에서 검색한 후 동기화 작업을 실행합니다.
- 사용자가 디스코드 서버에 참여함
설치
이 플러그인은 디스코드 OAuth2에 의존하여 Discourse-디스코드 계정을 식별하고 연결합니다. 디스코드로 로그인하는 것을 허용하지 않으면서도 계정 연결은 유지하길 원하신다면, 이 주제에 대한 해결책을 확인해 주세요.
사전 요구 사항
이 플러그인은 libsodium(디스코드 Ruby 게姆이 필요로 함)이 필요합니다. 설치하려면 .yml 파일을 수정하고 다음 코드를 추가하세요:
hooks:
before_code:
- exec:
cmd:
- apt-get update
- apt-get install -y libsodium-dev
설치 단계
- 이 저장소 URL:
https://github.com/barreeeiroo/discourse-discord-sync.git를 사용하여 플러그인 설치 방법 표준 가이드를 따르세요. - 이 가이드를 따라 Discourse 인스턴스에서 디스코드로 로그인 설정을 하세요.
- 디스코드 개발자 포털에서 Bot으로 이동하여 서버에 추가하세요. 봇에게 가능한 가장 높은 역할을 부여했는지 확인하세요.
- Discourse에서 플러그인 설정(Plugin Settings)으로 이동하여
discord sync token에 이전 단계에서 표시된 봇 토큰을 설정하세요.
설정 옵션
discord sync enabled: 통합을 활성화할지 여부discord sync token: 디스코드 봇 토큰discord sync prefix: 명령어 접두사 (현재!ping만 지원)discord sync admin channel id: 로깅 메시지(닉네임 변경, 역할 변경)를 게시할 채널discord sync username: true인 경우, 모든 디스코드 서버 닉네임을 해당 Discourse 사용자 이름으로 동기화합니다discord sync verified role: Discourse 계정이 있는 모든 사용자에게 추가할 역할discord sync safe roles: 봇이 무시하고 디스코드에서 수동으로 부여된 것으로 표시할 역할 목록
사용 방법
계정을 연결하려면, 사용자가 디스코드로 인증하는 것을 허용하는 경우 해당 제공자를 사용하면 됩니다. 허용하지 않는 경우, 사용자는 **계정 설정(Account Preferences)**으로 이동하여 ***연결된 계정(Associated Accounts)***으로 스크롤 내린 후 디스코드 행의 *연결(Connect)*을 클릭해야 합니다.
라이브 데모
현재 Kodular Community의 Discourse 인스턴스에서 이 플러그인을 사용 중이며, 디스코드 서버는 kodul.ar/discord에 있습니다:
감사의 글
-
Discourse Bot, @merefield 제작
이 플러그인의 골격을 제공해 주셔서 감사합니다. Robert 님 덕분에 이 플러그인의 기반을 세울 수 있었고, Discourse 인스턴스에서 디스코드 봇을 실행할 수 있었습니다. (libsodium설치 트릭에도 감사드립니다!) -
Discourse Discord Sync, @angus 제작
봇 없이 신뢰 수준(Trust Levels)을 디스코드 역할로 동기화하는 대안입니다. -
Login with Discord, Discourse 팀 제작
Discourse와 Discord 계정을 연결하기 위한 디스코드 OAuth2 통합(구 플러그인) 없이는 이 플러그인이 불가능했을 것입니다.- Partially enable login option, @Falco와 @Roman 제작
Falco와 Roman 님께 감사드립니다. 인증 옵션을 실제로 활성화하지 않고 계정만 "연결"하도록 로그인 제공자를 활성화하는 옵션을 제공해 주셨습니다.
- Partially enable login option, @Falco와 @Roman 제작
-
discordrb
이 플러그인은 Ruby를 사용하여 Discord API에 연결할 수 있게 해주는discordrb게姆에 의존합니다.