자동화봇이 하는 일

답장, 관리, 보상

작업과 대상을 고르세요. 답장 서식과 버튼을 설정하고 여러 작업을 실행하거나 메시지 하나를 무작위로 선택할 수 있습니다.

이 글에서

규칙이 일치하면 봇이 하는 일

어떤 질문이나 이벤트를 볼지 정했습니다. 이제 실행에서 작업을 선택하세요.

아래에서 14가지 작업을 모두 설명합니다. 가능한 작업은 이벤트에 따라 다릅니다. 관리자 명령어 예시를 만들 때는 먼저 응답 대상 명령어를 만들고 필요한 관리자만 사용하도록 제한하세요.

작업을 적용할 사람

다시 안나와 일리야의 예를 보겠습니다. 안나가 일리야의 메시지에 명령어로 답장합니다. 일리야에게 경고하려면 적용 대상에서 명령어 작성자가 아닌 답장받은 메시지 작성자를 선택하세요.

이벤트에 따라 다음 대상을 선택할 수 있습니다:

  • 사용자별 / 명령 발신자 — 메시지를 쓰거나 명령어를 실행한 사람.
  • 답장을 받은 사용자 — 답장을 받은 원래 메시지의 작성자.
  • 영향을 받은 사용자 — 예를 들어 추가되거나 내보내진 회원.
  • 작업 수행자 — 회원을 추가하거나 내보낸 사람.
  • 가입 신청자 — 채팅 가입을 요청하는 사람.
  • 둘 다 — 확인 가능한 두 사람입니다. 둘이 같은 사람이면 같은 작업을 두 번 적용하지 않습니다.
  • 초대 링크 생성자 — 가입 요청에 사용할 수 있습니다. 이 채팅의 Combot 카탈로그에 링크 생성자로 기록된 사람입니다.

예를 들어 일리야의 링크로 요청이 들어와 일리야에게 XP를 주려면 신청자가 아니라 링크 생성자를 선택합니다. 이는 완료된 가입이 아닌 요청에 대한 보상입니다. 결과 확인이 먼저 필요하다면 관리자가 초대를 확인한 뒤 감사 명령어를 사용하세요.

중요한 것은 Combot 카탈로그의 기록입니다. Telegram에서 기술적으로 링크를 생성한 사람은 다를 수 있습니다. 신청자와 링크 생성자처럼 서로 다른 두 사람에게 적용하려면 대상을 명시한 별도 작업 두 개를 추가하세요.

대상 인물을 알 수 없으면 그 사람에 대한 작업은 건너뜁니다. 초대자를 모른다고 새 회원에게 대신 XP를 지급해서는 안 됩니다. 합산 반응 수 역시 신원이 없는 참가자를 선택하게 해 주지 않습니다.

1. 메시지 보내기

예: “녹화본은 어디”라는 질문에 자료 링크와 짧은 안내를 답합니다.

텍스트 서식을 정하고 변수나 버튼을 추가하세요. 원본 채팅이나 설정된 로그 채널로 보낼 수 있습니다. 목적지와 서식은 답장 꾸미기를 참고하세요.

2. 메시지 삭제

예: 스티커 금지 주제에 새로 올라온 스티커를 삭제합니다. 회원들이 규칙을 알고 있어야 합니다. 조건에서 해당 주제와 스티커 유형을 고르고 삭제 작업을 추가하세요.

봇은 규칙을 실행시킨 메시지를 삭제합니다. 메시지 삭제 권한이 필요합니다.

명령어라면 그 명령어 메시지 자체입니다. 안나가 일리야에게 /team_warn으로 답장하면 /team_warn이 삭제되며 일리야의 메시지는 아닙니다. 봇의 이전 안내를 지우는 것은 별도 설정입니다.

3. 사용자에게 경고

예: 안나가 대화 규칙 위반을 보고 그 회원에게 /team_warn으로 답장합니다.

작업은 보통 경고 하나를 추가합니다. 채팅의 공통 경고 체계에 반영됩니다. 누적 경고가 음소거나 차단으로 이어지도록 설정했다면 자동화의 경고도 그 처분에 가까워지게 합니다.

봇의 답장 문구뿐 아니라 경고 설정을 먼저 확인하세요.

4. 사용자 음소거

예: 관리자가 준비된 답장 명령어로 다투는 회원에게 15분간 대화 휴식을 줍니다.

음소거는 메시지 전송을 제한합니다. 분, 시간, 일, 주 단위로 기간을 정하세요. 기간이 비어 있으면 영구 음소거입니다. “나중에 결정”이 아닙니다.

필요하면 경고와 음소거를 함께 줄 수 있습니다. 짧은 휴식과 경고는 별개의 결과이므로 의도적으로 선택하세요.

5. 사용자 차단

예: 관리자가 스팸 계정을 내보내고 다시 들어오지 못하게 합니다.

차단은 사용자를 내보내고 만료되거나 해제될 때까지 재가입을 막습니다. 일시 차단은 기간을 정하세요. 기간이 없으면 영구 차단입니다.

제한 편집기에서 차단은 같은 제한의 다른 형태로 추방이나 음소거와 결합할 수 없습니다.

6. 사용자 내보내기

예: 실수로 업무 그룹에 추가된 사람을 관리자가 내보내되 영구적으로 재가입을 막고 싶지는 않습니다.

내보내기는 한 번 퇴장시킵니다. 이후에는 초대나 가입 요청 등 채팅의 일반 규칙에 따라 다시 가입할 수 있습니다. 돌아오는 것을 막으려면 차단을 선택하세요.

7. 사용자 음소거 해제

예: 관리자가 회원의 대화 휴식을 일찍 끝내기로 합니다.

작업은 채팅의 일반 권한 범위에서 글쓰기를 복원합니다. 다른 모든 제한을 없애거나 CAPTCHA 통과로 간주하지는 않습니다. 남아 있는 새 회원 인증은 별도 문제입니다.

8. 사용자 차단 해제

예: 이의 제기 후 팀이 결정을 재검토하고 재가입을 허용하려고 합니다.

차단 해제는 가입 제한을 없앱니다. 사람을 자동으로 다시 추가하지는 않으므로 가능한 방식으로 직접 가입해야 합니다.

9. 사용자의 메시지 삭제

예: 스팸 사용자가 차단되기 전에 광고를 여러 개 올렸습니다. 관리자는 그것들도 지우려 합니다.

차단이나 내보내기를 고른 뒤 편집기에서 이 정리를 선택할 수 있습니다. Combot이 접근할 수 있는 메시지를 사용하며 Telegram 제한을 따릅니다. 여러 해의 대화에 걸친 전체 기록을 모두 삭제할 수 있다고 생각하지 마세요.

10. 경고 제거

예: 실수로 경고를 주었습니다. 관리자가 준비된 규칙으로 경고 하나를 제거합니다.

경고 수가 하나 줄어듭니다. 이미 음소거나 차단된 경우 경고를 지우는 것만으로 권한이 복원되지는 않습니다. 별도 작업이 필요합니다.

11. XP 변경

예: 일리야가 새 회원에게 자세히 설명했습니다. 안나가 그 메시지에 /reward_member로 답장하면 일리야가 25 XP를 받습니다.

경험치를 더하려면 25, 빼려면 -25를 입력하세요. 이것은 변화량입니다. 100 XP에 25를 더하면 125가 되며 총값을 25로 설정하는 것이 아닙니다.

채팅에서 XP가 활성화되어 있어야 합니다. −99,999부터 99,999까지의 0이 아닌 정수를 사용하세요. 감사 예시의 적용 대상는 답장받은 사용자를 선택해야 합니다.

12. REP 변경

예: 유용한 설명에 XP와 함께 평판 한 점도 일리야에게 주려 합니다.

더하려면 1, 빼려면 -1을 입력하세요. 평판 기능이 활성화되어 있어야 하며 −999부터 999까지의 0이 아닌 정수를 사용할 수 있습니다. 이 역시 새로운 총값이 아닌 변화량입니다.

명령어를 다시 실행하면 XP와 REP를 또 지급할 수 있습니다. 한 번만 보상해야 한다면 관리자가 별도로 기록해야 합니다.

13. 가입 요청 승인

예: 공개 수업 운영자가 별도 초대를 준비해 수동 클릭 없이 해당 요청을 승인하려고 합니다.

가입 요청, 필요한 링크, 승인 작업을 선택하세요. 경로와 대상을 제한하지 않으면 의도보다 훨씬 많은 요청을 승인할 수 있습니다.

링크는 결제나 신원 확인이 아닙니다. 다른 사람에게 전달할 수 있습니다.

14. 가입 요청 거부

예: 특정 초대의 요청을 잠시 거절하면서 다른 링크의 요청은 계속 검토합니다.

이 작업은 가입 요청 이벤트에서 사용할 수 있습니다. 요청을 거절하는 것이며 영구 차단과 같지는 않습니다.

동일한 요청을 한 규칙은 승인하고 다른 규칙은 거절하도록 겹쳐 두지 마세요. 각 규칙에 어떤 링크와 사용자가 일치하는지 먼저 확인하세요.

봇의 답장을 꾸미고 목적지 정하기

좋은 자동 답장은 다음 행동을 돕습니다. 예를 들어 “과제는 어디 있나요?”에는 짧은 설명과 자료 버튼이면 충분할 수 있습니다. 강의 안내서 전체를 보낼 필요는 없습니다.

텍스트: 한 질문에 명확한 답 하나

편집기는 Combot 환영 메시지 편집기처럼 서식, 링크, 변수를 지원합니다. 텍스트 필드는 최대 4096자이므로 글자 수를 확인하세요.

지원 답장은 이렇게 쓸 수 있습니다:

계정에 로그인할 수 없나요? 아래 버튼으로 안내를 확인해 주세요. 해결되지 않으면 어느 단계에서 문제가 생겼는지 알려 주세요. 채팅에 비밀번호를 올리지 마세요.

이미지를 추가해도 텍스트는 필요합니다. 나머지가 빈 메시지에 이미지 URL만 넣어서는 부족합니다.

이름과 다른 변수 사용하기

변수는 봇이 관련 정보로 바꾸는 자리표시자입니다. 예를 들면:

{chat.title}에 오신 것을 환영합니다! 강의 자료는 고정 메시지에 있습니다.

{chat.title}은 그룹 이름으로 바뀝니다. 사람 이름에는 더 주의하세요. 이벤트를 일으킨 사람과 새 회원이 항상 같지는 않습니다.

메뉴에는 다음이 있습니다:

  • {from.title} — 이벤트 작성자의 표시 이름입니다. 예를 들어 질문한 사람을 부를 때 사용합니다.
  • {from.username} — 그 사람의 사용자 이름입니다. 관리자 메모에 유용하지만 없는 사람도 있습니다.
  • {from.id} — 사용자의 숫자 ID입니다. 예를 들어 메모가 정확히 어느 계정에 관한 것인지 팀이 확인하도록 돕습니다.
  • {chat.title} — 채팅 이름입니다. 환영 인사와 재사용할 안내문에 유용합니다.
  • {chat.username} — 채팅의 공개 사용자 이름이며 없을 수도 있습니다.
  • {chat.id} — 채팅의 숫자 ID입니다. 서비스 메모에 필요할 때 사용합니다.
  • {message.id} — 이벤트와 관련된 메시지 ID입니다. 예를 들어 요청을 조사할 때 도움을 줍니다.
  • {message.timestamp} — 제공된 경우 메시지의 시각입니다. 모든 이벤트에 메시지나 모든 속성이 있는 것은 아닙니다.

비어 있을 수 있는 필드에 답장 전체를 의존하지 마세요. 없는 사용자 이름을 기대하는 것보다 표시 이름으로 부르는 편이 보통 명확합니다.

안나가 일리야를 추가했다면 {from.title}은 이벤트를 시작한 안나의 이름일 수 있습니다. 그래서 위의 일반 환영문은 사람 이름을 넣지 않았습니다. 작업 대상을 바꿔도 변수는 바뀌지 않습니다.

관리자 명령어에서는 특히 이름을 주의하세요. 안나가 일리야의 메시지에 명령어를 실행하면 {from.title}은 안나입니다. 보상 대상으로 일리야를 골라도 같습니다. 실수로 관리자의 이름에 감사하기보다 “도움이 되는 답변에 감사를 전합니다. 도와주셔서 감사합니다!”처럼 쓰는 편이 안전합니다.

버튼: 필요한 링크를 바로 제공하기

“사이트에서 자료 메뉴를 찾으세요” 대신 직접 연결되는 자료 열기 버튼을 추가하세요.

각 버튼에는 문구와 URL이 있습니다. 예를 들어 첫 줄에는 자료, 둘째 줄에는 규칙과 피드백을 배치할 수 있습니다. 사용자 지정 이모지 아이콘에는 ID가 필요합니다.

이 버튼은 링크 버튼입니다. 자체적으로 역할이나 보상을 주거나 다른 트리거를 실행하거나 CAPTCHA를 완료하지는 않습니다.

이미지: 메시지에 표지 넣기

예를 들어 새 기수 환영문에 강의 표지 링크를 넣습니다. 사진에 URL을 입력하고 텍스트 위에 그림 표시로 위치를 정하세요.

이미지는 Telegram 링크 미리보기로 표시됩니다. 사진 앨범이 아니므로 URL 여러 개가 각각의 사진 첨부를 뜻하지 않습니다.

접근 가능한 이미지 하나로 시작해 Telegram에서 결과를 확인하세요. 미리보기가 없으면 링크 자체를 확인하세요. 규칙을 저장했다고 그림 표시가 보장되지는 않습니다.

답장 목적지

참가자에게 답하려면 소스 채팅을 선택하세요. 예를 들어 강의 그룹에 녹화본 질문이 오면 같은 곳에 안내가 표시됩니다.

체크리스트 변경 알림처럼 팀에 보낼 메시지는 로그 채널을 선택하세요. 먼저 목적지를 연결하고 Combot이 쓸 수 있는지 확인합니다.

목적지 안에서는 주제를 정할 수 있습니다:

  • 현재 주제: 예를 들어 질문이 나온 지원 주제에 그대로 답장합니다.
  • 선택된 주제: 예를 들어 명령어 하나로 지원과 새 회원 질문에 안내를 게시합니다.
  • 일반 주제: 별도 토론 주제가 아닌 기본 공간으로 보냅니다.

선택한 주제마다 메시지 하나씩 받습니다. 한 작업 안에서 같은 ID를 반복해도 추가 사본은 생기지 않습니다. 로그 목적지가 주제를 지원하면 그곳의 주제도 선택할 수 있습니다. 원본 그룹이 아닌 로그 목적지의 주제 ID를 쓰세요.

주제가 많을수록 전송 수가 늘어 작업 한도를 더 사용합니다. 숫자 예시는 한도를 참고하세요.

임의의 외부 채팅이나 회원의 개인 대화는 여기서 선택할 수 없습니다. 로그 채널을 사용할 수 없더라도 팀용 메시지를 주 채팅으로 돌려 보내지 않습니다.

독립 메시지 또는 질문에 대한 답장

일반 메시지는 독립적으로 표시할 환영 인사나 공지에 적합합니다.

트리거에 응답은 결제 질문에 유용합니다. 안내가 해당 질문에 연결된 답장으로 표시됩니다.

원래 메시지가 있는 대화 공간에서 사용하세요. 다른 채팅이나 주제로 보내면 원래 메시지와의 연결이 유지된다고 가정하지 마세요. 편집기에 표시된 모드를 확인하세요.

반복 안내가 쌓이지 않게 하기

일리야가 녹화본을 묻고 한 시간 뒤 마리나가 또 묻습니다. 옛 답장이 필요 없다면 이전 삭제를 켜세요. 다음 전송이 해당 작업의 이전 답장을 지웁니다.

규칙에는 공통 정리 설정이 있습니다. 각 전송 작업에서는 다음을 선택하세요:

  • 트리거 설정 사용 — 규칙의 선택을 따릅니다. 규칙에서 바꾸면 이 작업의 동작도 바뀝니다.
  • 정리 없음 — 규칙에 정리가 켜져 있어도 이 작업의 답장은 남깁니다.
  • 이전 삭제 — 이 작업에만 정리를 켭니다.

예를 들어 회원 안내는 교체하면서 로그는 기록으로 남길 수 있습니다. 로그 작업에는 정리 없음을 선택하세요.

정리는 전송 작업과 주제별로 따로 추적합니다. 지원 안내는 그곳의 자기 이전 버전을, 학습 안내는 자기 이전 버전을 교체합니다. 로그 메시지는 로그 목적지에서 지워집니다.

문구가 같은 작업 행 두 개도 이전 답장을 각각 따로 기억합니다. 예를 들어 무작위 환영문은 전체 세트의 마지막 인사가 아닌 자기 작업의 이전 인사를 교체합니다. 행 순서를 바꾸어도 같습니다.

이 설정은 채팅 전체의 같은 문구를 검색하거나 회원 메시지를 지우지 않습니다. “5분 뒤 삭제”도 아닙니다. 다음 답장이 있어야 합니다. 정리 방식이 바뀌기 전의 오래된 안내는 남을 수 있으므로 새 전송으로 확인하세요.

여러 작업과 다양한 답장

답장 하나로 부족할 때가 있습니다. 규칙 위반에는 경고와 설명이 모두 필요할 수 있고, 환영 인사에는 다양성이 도움이 됩니다. 두 실행 모드로 처리합니다.

모든 작업 실행하기

모두 실행 모드에서 Combot은 목록을 위에서 아래로 따릅니다.

예를 들어 관리자 명령어가:

  1. 회원에게 경고를 줍니다.
  2. “사람을 공격하지 말고 의견에 대해 이야기해 주세요”라고 안내합니다.
  3. 명령어 메시지 자체를 삭제합니다.

필요한 순서로 작업을 배치하세요. 경고는 성공했지만 설명을 못 보냈다고 경고가 자동 취소되지는 않습니다. 설정 후 봇의 답장과 회원에게 적용된 결과를 모두 확인하세요.

긴 목록은 작업 한도에 도달할 수 있습니다. 예를 들어 여러 주제로 보내면서 정리하면 안내 메시지 하나보다 비용이 큽니다. 계산은 한도를 참고하세요.

무작위 답장 하나 선택하기

모임에 환영문 세 개를 준비할 수 있습니다:

  • “환영합니다! 간단히 자기소개해 주세요.”
  • “모임에 오셔서 반갑습니다. 고정 안내부터 확인해 주세요.”
  • “안녕하세요! 주제를 둘러보고 대화에 참여해 주세요.”

각각을 전송 작업으로 추가하고 무작위로 하나를 선택하세요. 새 회원이 오면 Combot이 이 세트에서 작업 하나를 고릅니다.

무작위 선택은 번갈아 나오는 것을 보장하지 않습니다. 연속으로 온 두 사람이 같은 문구를 받을 수 있으며 선택지마다 확률을 따로 지정할 수 없습니다.

항상 별표: 필수 작업과 무작위 선택

학습 주제에 스티커가 금지되어 있다고 합시다. 항상 지우면서 자유 대화에 스티커를 올려 달라는 짧은 안내 세 개 중 하나를 고르려 합니다.

  1. 학습의 스티커를 감지하는 트리거를 만들고 메시지 삭제 작업에 항상 별표를 표시하세요.
  2. 안내 전송 세 개에는 별표를 붙이지 마세요.
  3. 무작위 하나를 선택하세요.

봇은 필수 삭제와 선택한 전송 하나를 실행합니다. 선택된 작업은 목록 순서를 유지합니다.

모든 작업에 별표가 있으면 고를 것이 남지 않으므로 전부 실행됩니다. 별표가 없으면 무작위 하나만 실행됩니다. 조건이 일치한 뒤 작업을 고르는 것이지 규칙에 반응할지 자체를 무작위로 정하는 것은 아닙니다.