Flows를 모듈로 묶기
오늘의 질문 Flow가 내 서버에만 머물 필요는 없어요. 자체 설정이 있는 모듈로 만들면 다른 서버가 설치해서 자기만의 채널, 시간, 역할을 고를 수 있어요.
설치하는 서버에 보이는 설정
오늘의 질문
설정질문 채널
채널질문을 게시할 곳이에요. 봇이 쓸 수 있는 모든 텍스트 채널을 고를 수 있어요.
게시 시각
스케줄cron 텍스트 입력이 아니라 스케줄 선택기예요.
건의 담당 역할
역할멤버가 보낸 질문을 검토하는 사람이에요.
스레드 열기
질문에 스레드를 열어서 답변이 한곳에 모이게 해요.
참고용 이미지예요. 실제 화면은 다를 수 있어요
모듈에 들어 있는 것
모듈은 자급자족해요. 자체 Flows, 저장 데이터, 페이지별로 묶은 설정에 더해 전체 묶음을 켜고 끄는 스위치 하나를 가지고 있어요.
Flows
모듈에 필요한 모든 Flow를 직접 정한 폴더에 담아요.
스토리지 필드
모듈이 소유한 저장 데이터예요. 모듈 밖에 있는 Flow의 데이터는 따로 보관되고, 둘은 절대 섞이지 않아요.
설정
설치하는 서버가 채우는 항목으로, 페이지별로 묶여 있어요: 텍스트, 숫자, 예/아니요, 채널, 역할, 멤버, 목록, 스케줄.
스위치 하나
모듈을 끄면 그 안의 모든 Flow가 함께 꺼져요.
같은 Flow, 이제 모듈 안에
오늘의 질문
활성저장트리거
변경스케줄, 매일 09:00
스토리지 값 가져오기(get-storage-value)
질문 목록을 읽어 와요:{questions}
다음 항목 고르기(array-at)
어제 낸 질문의 다음 항목
메시지 보내기(send-message)
질문을 임베드로 게시할 곳:{config:channel}
스레드 만들기(start-thread-from-message)
해당 메시지에 스레드 열기
스토리지 값 증가(increment-storage-value)
질문 출제 횟수를 기록할 곳:{asked}
참고용 이미지예요. 실제 화면은 다를 수 있어요
설치하면 앱처럼 보여요
모듈을 설치하는 사람은 Flow 에디터가 아니라 앱 페이지를 만나요. 모듈이 하는 일을 소개하는 개요, 설정 필드가 있는 설정 탭, 가이드와 FAQ가 있는 도움말 탭이 있어요.
모듈이 할 수 있는 일은 Flows에서 자동으로 목록이 만들어지고, 이를 내 말로 다시 쓰면 돼요. 설정에 대한 도움말은 설정 옆 물음표 뒤에 있어요. Flow 에디터, 저장 데이터, 실행 기록은 고급 탭 안에 있어요.
개발자가 개요, 가이드, FAQ에 쓴 내용은 텍스트로만 표시돼요. 스크립트도, 다른 것처럼 꾸민 링크도 안 돼요.
주요 기능
매일 게시
09:00에 질문을 게시하고 답변용 스레드를 열어요.
질문 건의
멤버가 질문을 보내면 팀이 승인해서 목록에 추가해요.
가이드
질문 목록 채우기
처음 30개의 질문을 넣는 방법과 목록이 바닥났을 때 어떻게 되는지 알려 줘요.
FAQ
멤버가 질문을 건의할 수 있나요?
네. 건의 담당 역할을 팀에 주면 질문이 쓰이기 전에 모든 건의를 볼 수 있어요.
참고용 이미지예요. 실제 화면은 다를 수 있어요
이식성을 고려한 설계
모듈에는 내 채널, 역할, 멤버 ID가 들어가지 않아요. 서버마다 다른 것은 모두 설정에서 가져오기 때문에, 모듈을 설치하는 서버마다 자기 것을 고를 수 있어요. 그래서 다른 서버에서도 설치가 제대로 작동해요.
채널과 역할은 설정에서 가져와요
단계는 채널이나 역할을 ID로 가리키지 않아요. 설정을 가리키고, 설치하는 서버가 거기에 들어갈 것을 골라요.
서버별 선택은 그 서버에 남아요
서버가 고른 값은 모듈 안이 아니라 모듈 옆에 보관되어서, 업데이트가 그 값을 덮어쓰지 않아요.
남아 있는 것은 버전 배포 전에 걸러져요
새 버전은 내 서버의 ID가 남아 있는지 검사하고, 발견되면 어느 Flow의 어느 단계, 어느 필드에 있는지 알려 줘요.
설치마다 버전이 기록돼요
서버는 업데이트하기로 결정하기 전까지 설치한 버전을 그대로 유지해요.
설치, 업데이트, 번역
모듈은 다른 서버에 한 번에 설치되고, 설정 마법사가 필수 필드를 한 단계에 하나씩 안내해요. 새 버전을 배포하면 모든 설치에 알림이 가요.
설치된 모듈은 실행 중인 서버에 상태를 알려 줘요: 설정이 필요한지, 봇에 권한이 부족한지, 계속 실패하는지, 아니면 이상 없는지요.
업데이트
업데이트는 버전 번호가 있는 업데이트 가능 표시로 나타나요. 하나씩 적용하거나 모두 업데이트로 한꺼번에 적용해요.
직접 수정한 내용
직접 바꾼 모듈은 업데이트하면 안의 Flows가 교체되기 때문에 모두 업데이트에서 제외되고 먼저 물어봐요. 현재 버전은 30일 동안 보관되어서 되돌릴 수 있어요.
주 언어 하나
모듈에는 주 언어가 하나 있어요. 처음 게시할 때 고르고, 번역이 생기면 바꿀 수 없어요. 지원하는 28개 언어로 직접 번역할 수 있어요.
기계 번역
기계 번역은 선택 사항이고 독일어만 만들어요. 사용된 곳에서는 AI가 번역한 부분이 있고 개발자가 표현을 확인하지 않았다는 것을 읽는 사람에게 앱이 알려 줘요.
번역이 도착하면
번역 수정은 설치할 때와 버전을 업데이트할 때 설치된 모듈에 반영되고, 소급 적용되지는 않아요.
모듈, 궁금증 해결
단독 Flow는 서버의 커스텀 명령어에 직접 들어 있고 나만의 것이에요. 모듈은 Flows, 저장 데이터, 설정을 하나로 묶어서 스위치 하나, 전용 설정 페이지, 자체 도움말을 갖춘 것이에요. 다른 서버에 설치하거나 다른 사람에게 전달하고 싶다면 모듈이어야 해요.