안녕하세요, 디스코드에서 작성한 게시글을 자동으로 디스커스에 게시글로 생성하는 방법이 있을까요?
샘님, 안녕하세요! 저희 커뮤니티에 오신 것을 환영합니다. Set up Discord notifications with the discourse-chat-integration plugin 을 확인해 보세요.
앞으로는
검색 기능을 사용해 보시기 바랍니다. 많은 질문들이 이미 이곳에서 논의되었는데, 검색 기능이 이를 찾는 데 꽤 잘 작동합니다.
감사합니다. 하지만 확인해 봤고, 제가 찾는 것은 이것이 아닙니다. 이건 Discourse에서 Discord로 보내는 것이지, Discord에서 Discourse로 보내는 것이 아닙니다.
예시 시나리오:
Discord 채널에 메시지가 도착하면, 해당 메시지가 Discourse로 전송되고 정보가 포함된 스레드가 생성됩니다.
chat-integration은 Slack에서 해당 기능을 수행할 수 있습니다. Discord에서 대화 기록 게시 기능이 구현되길 원하시는 것 같습니다.
고맙습니다. 그러면 자동으로 처리할 방법이 없군요.
커스텀 Discord 봇을 사용하여 메시지 내용을 복사하고 포럼으로 POST 요청을 보내는 방식으로 구현할 수 있습니다.
포럼에 플러그인을 사용하고 discordrb로 봇을 작성하는 것이 아니라면, 추가적인 호스팅이 필요합니다.
다음 내용을 사용해 보세요:
https://meta.discourse.org/t/how-to-connect-discourse-with-hundreds-of-apps-using-integromat/
감사합니다. 시도해 봤는데, 어떤 이유에선지 메시지 ID 변수를 올바르게 설정해서 작동시키지 못하겠습니다.
그들의 기술 지원팀이 문제를 해결하는 데 도움을 줄 가능성이 높습니다.
권한 및 호출과 관련하여 어떻게 작동하나요?
모든 메시지를 복사하길 원하시나요, 아니면 특정 채널의 메시지만 복사하길 원하시나요? 모두 단일 토픽에 추가되나요? 새 토픽이 생성되는 조건은 무엇인가요?
모든 Discord 사용자에게 실행 권한이 있나요?
어디에 저장되나요? 카테고리가 없나요?
호출된 채널의 메시지만, 이상적으로는 지정된 중단 지점까지.
우아하게 구현하는 방법은 다음과 같습니다:
- 게시할 첫 번째 메시지에 "답장(Reply)"을 누릅니다
- @YourDiscourseIntegrationBotAccount를 입력하고, 필요 시 끝에
transcript또는 그 번역어를 추가합니다 - 해당 메시지에서 현재 시점까지의 전사(Transcript)가 최대 약 50개 메시지로 제한되어 Discourse에 게시됩니다. 가능하면 해당 사용자로 게시됩니다.
상호작용적인 입력을 허용하고 싶다면 더 정교하게 만들 수 있습니다. 예를 들어, 사용자 정의 중단 지점 설정, 일부 메시지 제외, 사용자 정의 대상 카테고리 지정 등이 가능합니다. 이는 왕복 대화 없이 제가 생각해 낼 수 있는 가장 좋은 사용자 경험(UX)입니다.
실제로, 이 기능을 대화형으로 만드는 것은 꽤 쉬울 것입니다:
const BASE_URL = "https://discourse.example.com";
// 전제 조건:
// msg.type == REPLY (19)
// msg.mentions 또는 msg.mention_roles에 봇이 포함되어야 함
// 이 코드는 JS로 작성되었지만 Ruby로 구현해야 합니다
function onMentionWithReply(msg) {
discord.sendMessage({
content: "<" + BASE_URL +
"/chat-integration/discord/make-transcript/" +
msg.channel_id + "/" +
msg.message_reference.message_id + ".." + msg.id +
">";
type: REPLY,
message_reference: { message_id: msg.id },
});
}
여기서 /chat-integration/discord/make-transcript/:channel_id/:id1..:id2는 메시지를 미리 보고 확정할 수 있는 대화형 페이지를 Discourse에서 렌더링합니다.
주의할 점:
- 해당 페이지에 접근하는 사용자의 권한을 확인하여 전사가 부적절하게 공개되지 않도록 해야 합니다.
현재 저는 Slack에서 Trello로, Trello에서 Discord로 이어지는 링크를 가지고 있습니다. 그래서 Discord에 게시물을 만들거나, 아니면 Trello에서 특정 주제 아래 새 게시물을 생성하는 방법을 알고 싶습니다.
게시물을 올릴 곳은 너무 많은데 시간은 부족하네요! ![]()
감사합니다. 한번 확인해볼게요.
아, 죄송합니다. 슬랙 통합처럼 양방향으로 게시되지 않는다는 점을 몰랐습니다.
솔직히 왜 이렇게 하려고 하는지 궁금하네요. 그렇게 하면 디스커스의 장기 기억에 잡소리가 쌓여서 어질러질 텐데요.
문제가 아닙니다. 디스코드에 게시하고 싶은 채널의 게시물은 게임의 새 업데이트 공지사항입니다. 같은 내용을 여러 곳에 게시하는 것은 시간이 많이 걸리고, 디스코드는 자주 잊히곤 합니다. 그래서 저는 제 업무 부담을 줄이면서 동시에 디스코드에서의 활동도 늘리고자 합니다.
음, 결국 어쩔 수 없이 써야 할 것 같은 우회 방법을 찾았어요.
zapier를 사용했는데, 단점은 무료 플랜으로는 포스트를 모두 커버하기가 부족하다는 거예요. trello를 discourse에 연결해서 이 용도로 따로 만든 스레드에 답변을 남기려고 했거든요.
그래서 현재 플로우가 이렇게 바뀌었어요;
데이터베이스에서 포스트가 Slack으로 API를 통해 전송되고, Slack이 trello 카드를 생성하며, trello가 discord와 discourse에 포스트를 올립니다. ![]()
근데 이제 discourse가 discord에 다시 포스트를 올리는 루프가 생겼어요 ㅋㅋ 제 포스트를 그 루프에서 제외하는 방법이 있을까요?
관련 기능을 추가했습니다: Discord Bot Construction Kit 🤖 - #79 by merefield
채널을 "공지 채널"로 지정하면, 해당 채널에 입력된 모든 메시지가 지정된 Discourse 주제에 게시됩니다.
(이번 업데이트는 Discord의 해당 채널로 복사된 Discourse의 공지 사항도 모니터링합니다)
제 구현 환경에서도 이러한 상황이 발생하지만, 무한 루프는 아니며 단순히 게시글이 추가되었음을 확인하는 응답만 돌아옵니다. Discord 주제를 Discourse에서 다른 위치에 두거나, 모니터링 대상 카테고리를 피하면 이 문제를 방지할 수 있습니다.
오, 감사합니다. 제3자 앱을 하나 더 쓸 필요가 없을 것 같네요! 이미지 링크를 어떻게 처리하는지 한번 봐야겠어요.
사실 당신의 설명을 잘 이해하지 못하겠습니다. Discourse 메뉴에서 플러그인 섹션을 찾아봐도 해당 항목을 찾을 수 없고, 플러그인을 설치하는 방법도 이해가 되지 않습니다.
플러그인 주제에 지침과 관련된 구체적인 문제를 게시해 주세요.
현재 질문이 다소 모호하여 도움을 드리기 어렵습니다. OP(첫 게시물)를 꼼꼼히 읽어 보신 후 구체적인 문제를 게시해 주시면 기꺼이 도와드리겠습니다.