페이지를 새로고침해 보시겠어요? 플러그인을 활성화한 후에는 새로고침이 필요합니다.
이제 확인했습니다, 감사합니다!
여러분, 안녕하세요. 이 플러그인을 디스코드와 연동하는 과정에서 오류가 발생하고 있습니다. 채널은 생성했고, 플러그인에 웹훅도 설정해 두었습니다.
그런데 이제 다음과 같은 오류가 나네요.
테스트를 보내면 이 오류가 발생합니다.
로그에는 이런 내용이 표시됩니다.
도와주시면 감사하겠습니다.
이것에 대한 “info” 탭의 내용을 공유해 주실 수 있나요? 복사/붙여넣기가 가능하면 좋겠습니다. 스크린샷으로 로그를 읽기는 어렵거든요.
메시지 (2건 보고됨)
Test provider failed {:error_key=>nil, :message=>{:content=>"", :embeds=>[{:title=>"FAYN Rule Book [Alliance/Announcements] ", :color=>12525102, :description=>"[image] \nFAYN is a group of Corporations working together as a collective to grow both the individual and the group within this set of guidelines and rules. \nAdministration Tools\nAs part of FAYN you are required to have ALL of your characters, however insignificant linked to your main character on SeAT This is part of the recruitment requirements and supports the ongoing management of our corp...", :url=>"https://forum.darksideoftheeclipse.co.uk/t/fayn-rule-book/45/1", :author=>{:name=>"@PJHustle", :url=>"https://forum.darksideoftheeclipse.co.uk/u/PJHustle", :icon_url=>"https://forum.darksideoftheeclipse.co.uk/user_avatar/forum.darksideoftheeclipse.co.uk/pjhustle/45/4_2.png"}}]}, :response_body=>"<html>\r\n<head><title>403 Forbidden</title></head>\r\n<body>\r\n<center><h1>403 Forbidden</h1></center>\r\n<hr><center>cloudflare</center>\r\n</body>\r\n</html>\r\n"}
Backtrace
/var/www/discourse/plugins/discourse-chat-integration/app/controllers/chat_controller.rb:43:in `rescue in test'
/var/www/discourse/plugins/discourse-chat-integration/app/controllers/chat_controller.rb:22:in `test'
actionpack-6.0.3.3/lib/action_controller/metal/basic_implicit_render.rb:6:in `send_action'
actionpack-6.0.3.3/lib/abstract_controller/base.rb:195:in `process_action'
actionpack-6.0.3.3/lib/action_controller/metal/rendering.rb:30:in `process_action'
actionpack-6.0.3.3/lib/abstract_controller/callbacks.rb:42:in `block in process_action'
activesupport-6.0.3.3/lib/active_support/callbacks.rb:112:in `block in run_callbacks'
/var/www/discourse/app/controllers/application_controller.rb:354:in `block in with_resolved_locale'
i18n-1.8.5/lib/i18n.rb:313:in `with_locale'
/var/www/discourse/app/controllers/application_controller.rb:354:in `with_resolved_locale'
Env
HTTP HOSTS: forum.darksideoftheeclipse.co.uk
가장 먼저 해야 할 일은 이 정보를 가지고 Discord 지원팀에 연락하여 왜 이런 일이 발생하는지 묻는 것입니다.
아마도 그럴 수도 있겠지. 하지만 나는 패스할게. 나는 개발자가 아니니까 뭘 해야 하고 뭘 물어봐야 할지 전혀 감이 안 와. 이거에 대해 많이 이해하지도 못해. 예전에는 잘 되었는데 지금은 안 되니까 그냥 이렇게 올리는 거야.
아마도 디스코드가 뭔가를 바꾸고 있어서 그런 건가? 모르겠어.
곧 나 말고도 이 문제를 겪는 사람이 더 나올 것 같은 느낌이 들어.
공유해 주셔서 감사합니다. 다만, 데이터를 보면 문제가 디스코드 쪽에 있는 것처럼 _보일 뿐_입니다. 저희가 통제할 수 있는 부분이 아닙니다.
문제를 찾았어요.
discord 웹훅이 discordapp.com에서 discord.com으로 변경되었어요.
웹훅을 discord.com에서 discordapp.com으로 바꾸니 작동하기 시작했어요.
그래서 지금은 잘 작동하고 있어요. 이 문제에 대해 discord 지원팀에 티켓을 제출했어요.
하지만 지금 문제가 어디에 있는지 확실하지 않아요. discord 쪽인지, 앱 쪽인지요?
수정: discourse의 웹훅 URL을 제가 변경한 거예요.
해결책을 올려줘서 고마워요. 이 문제를 디버깅하느라 거의 미칠 뻔했어요.
안녕하세요.
저도 같은 문제를 겪고 있습니다. Plugins - Chat integrations에서 test를 클릭하면 DiscourseChat::ProviderError 메시지가 표시되고, Discord Webhook URL에서 403 forbidden 오류가 발생합니다.
해결 방법을 알 수 있을까요?
여전히 웹훅 URL을 discord.com 도메인 대신 discordapp.com 도메인을 사용하도록 변경해야 합니다.
안녕하세요. 제 문제가 해결되었습니다. 감사합니다.
플러그인 자체도 다음 업데이트에서 새로운 API 도메인 형식을 지원해야 한다고 생각합니다.
훌륭네요, 저한테도 이 방법으로 해결됐어요.
서버 설정을 확인해야 하며, Apache를 사용하는지 Nginx를 사용하는지에 따라 설정이 달라집니다. 해당 메시지를 검색해 보세요 ![]()
본론으로 돌아가서, Discord에서 썸네일 추가와 인용된 메시지 축소가 가능할까요? 메시지가 너무 길어 채팅창이 깨져 보입니다 ![]()
그리고 항상 그렇듯, 여러분(커뮤니티 전체)의 노고에 감사드립니다!
로그에 다음과 같은 오류가 있었습니다:
/var/www/discourse/plugins/discourse-chat-integration/app/controllers/chat_controller.rb:43:in `rescue in test'
/var/www/discourse/plugins/discourse-chat-integration/app/controllers/chat_controller.rb:22:in `test'
actionpack-6.1.4.1/lib/action_controller/metal/basic_implicit_render.rb:6:in `send_action'
actionpack-6.1.4.1/lib/abstract_controller/base.rb:228:in `process_action'
actionpack-6.1.4.1/lib/action_controller/metal/rendering.rb:30:in `process_action'
actionpack-6.1.4.1/lib/abstract_controller/callbacks.rb:42:in `block in process_action'
activesupport-6.1.4.1/lib/active_support/callbacks.rb:117:in `block in run_callbacks'
/var/www/discourse/app/controllers/application_controller.rb:397:in `block in with_resolved_locale'
i18n-1.8.10/lib/i18n.rb:314:in `with_locale'
/var/www/discourse/app/controllers/application_controller.rb:397:in `with_resolved_locale'
웹훅 URL을 discord.com에서 discordapp.com으로만 변경했는데 이제 모든 것이 정상입니다 ![]()
디스코어(Discourse)와 디스코드(Discord) 연동을 찾게 된 초기 동기는 플래그가 지정된 게시물을 디스코드에 주입하여 팀 내에서 더 빠르게 알림을 받고 검토할 수 있도록 하기 위해서였습니다. 기본 플러그인은 이를 지원하지 않습니다. 그래서 이제 플래그 지정 게시물 주입이 여기에서 지원됩니다.
Ruby 스타일에 더 맞는 방법이 있을 수 있고, on(:reviewable)이 검토 가능 항목에 특화된 큐를 사용하는 것이 더 적절할 수 있으며, 플래그 불리언 값을 전달하는 방식은 약간 해킹(hack)에 가깝고, 검토 가능 항목에 대해 수행할 수 있는 더 일반적인 작업들이 더 있을 수 있지만, 제 용도에는 잘 작동합니다.
주의하여 사용하세요: 저는 디스코드 외 다른 플랫폼을 지원할 계획이 없으며, 위에서 언급한 개선 사항에 대해 더 많은 시간을 투자할 계획도 없으므로 이 코드를 업스트림(upstream)으로 반영할 계획이 없습니다.
결과는 다음과 같이 보입니다…
여러분 안녕하세요.
Discord 웹훅은 정상적으로 작동하는 것 같습니다 … 다만 메시지 내용이 비어 있습니다. Discord 서버에 Discourse 주제/답글이 표시되지 않습니다.
’ chat integration discord message content’를 포함하면, 이 부분은 정상적으로 표시됩니다.
감사합니다,
드디어 시행착오 끝에 성공적으로 작동하게 만들었습니다. 저 뒤에 올 분들을 위해…
다음과 같은 지침이 있습니다:
참고 : 웹훅 사용 시 오류가 발생하면 도메인 이름이 discord.com이 아닌 discordapp.com인지 확인하세요.
Discord에서 웹훅을 복사했을 때, URL은 다음과 같은 형식이었습니다. https://discordapp.com/api/webhooks/xxx/yyy-zzz-aaa
따라서 위의 지침은 Discord가 제공하는 URL과 일치합니다.
문제는 지침을 따르는 과정에서 발생합니다. 플러그인 설정은 문서화된 URL 스킴을 거부하고, 금지된 URL 스킴을 허용합니다. 마치 코드 어딘가에 "!"가 빠져 있는 것 같습니다.
다행히도 아래 스크린샷에 표시된 두 번째 주소를 사용하면 웹훅 URL이 정상적으로 작동합니다.
따라서, 저보다 덜 시행착오를 겪을지도 모를 다음 사람을 위해 이 문제를 해결할 수 있는 몇 가지 제안을 드립니다:
- 검증기를 업데이트하여 "discordapp.com"은 통과시키고 "discord.com"은 실패하도록 처리
- 검증기를 업데이트하여 "discordapp.com"과 “discord.com” 모두 통과하도록 처리
- 지침의 문구를 업데이트하여 모순되는 그 참고 내용을 제거
보너스 제안,
“Discourse 설정” 설정 항목 아래:
단계 0: 플러그인 설치 후 플러그인 활성화
단계 1: 스크린샷 제공
단계 3: 스크린샷 제공
현재 제가 사용하고 있는 “잘못된” 스킴을 Discord가 더 이상 지원하지 않게 될까 봐 조금 걱정됩니다. 따라서 Discord가 제 대체 URL을 깨뜨리기 전에 이 우회 방법을 사용해야 하는 상황이 되지 않도록 Discourse에서 이 문제를 수정해 주셨으면 합니다.


