최근 모바일 환경에서 메시지 관리의 필요성이 증가하고 있습니다. 특히, SMS와 MMS를 디스코드와 같은 플랫폼으로 자동 전달하는 것은 많은 사용자에게 유용한 기능으로 자리잡고 있습니다. 이를 위해 Tasker와 AutoNotification을 조합하여 설정하는 방법을 소개하겠습니다. 이 방식은 알림을 효과적으로 가로채어 메시지를 안전하게 전달할 수 있게 해줍니다.
- 준비물 및 환경 설정
- Tasker와 AutoNotification 설치
- 디스코드 웹훅 설정
- Tasker 프로필 설정
- 1단계 : 프로필(Profile) 설정
- 특정 문자 필터링 (선택 사항)
- 작업(Task) 설정
- 2단계 : 작업(Task) 설정
- 자바스크립트 추가
- HTTP 요청 추가
- 설정 요약
- 🤔 진짜 궁금한 것들 (FAQ)
- 자동으로 SMS를 디스코드로 전달하는 것이 왜 필요할까요?
- Tasker와 AutoNotification 외에 다른 방법은 무엇이 있나요?
- 디스코드 웹훅은 어떻게 생성하나요?
- 설정 중 오류가 발생하면 어떻게 해야 하나요?
- 자동 전달된 메시지를 어떻게 확인하나요?
- 특정 발신자만 필터링할 수 있나요?
- 이 방법은 모든 안드로이드 기기에서 작동하나요?
- 함께보면 좋은글!
준비물 및 환경 설정
Tasker와 AutoNotification 설치
먼저, Tasker 앱을 설치해야 합니다. 이 앱은 유료이며, Play Store에서 다운로드할 수 있습니다. 다음으로 AutoNotification 플러그인도 설치해야 하며, 이 역시 유료입니다. 설치 후에는 알림 접근 권한을 허용해야 정상적으로 작동합니다. 마지막으로 디스코드 웹훅 URL을 준비해 두어야 합니다. 이 URL은 메시지를 전송할 채널을 지정하는 데 사용됩니다.
디스코드 웹훅 설정
디스코드에서 웹훅을 생성하려면, 해당 채널의 설정으로 이동하여 ‘웹훅’을 선택합니다. 여기서 새로운 웹훅을 생성하고 URL을 복사하여 Tasker 설정에 사용할 수 있도록 준비합니다. 웹훅을 통해 지정된 채널로 메시지를 전송하게 됩니다.
Tasker 프로필 설정
1단계 : 프로필(Profile) 설정
일반적인 메시지 앱 이벤트 감지는 MMS 처리에 한계가 있습니다. 따라서 알림(Notification)을 가로채는 방식을 사용해야 합니다. Tasker의 프로필 탭에서 우측 하단의 ‘+’ 버튼을 클릭한 후, 이벤트(Event) 메뉴로 이동하여 플러그인(Plugin) 항목에서 AutoNotification을 선택합니다. 여기서 Intercept를 선택하고, 구성(Configuration)에서 다음과 같은 내용을 설정합니다.
- Action Type: Created
- Apps(앱 선택): 반드시 ‘메시지’ 또는 사용 중인 기본 문자 앱 하나만 체크합니다.
주의할 점은 MmsService와 Samsung Push Service 등의 시스템 앱은 체크하지 말아야 합니다. 이를 체크할 경우 %antext 같은 변수명이 그대로 전송되는 문제가 발생할 수 있습니다.
특정 문자 필터링 (선택 사항)
특정 발신자나 내용을 필터링하여 메시지를 전송하고 싶다면, 아래와 같은 설정을 추가합니다.
- 발신자 필터링(Notification Title): 발신자 이름 입력 (예: 코스트코, 우체국)
- 내용 필터링(Notification Text): 포함될 단어 입력 (예: 배송안내, 인증번호)
작업(Task) 설정
2단계 : 작업(Task) 설정
프로필을 생성한 후 연결할 태스크를 새로 만들거나 기존의 태스크를 편집합니다. MMS는 종종 줄바꿈이나 특수문자가 포함되기 때문에 JSON 형식을 깨뜨릴 수 있습니다. 이를 방지하기 위해 자바스크립트를 사용하여 데이터를 포장한 후 전송합니다.
자바스크립트 추가
작업(Task) 탭에서 ‘+’ 버튼을 클릭한 후 필터에서 ‘javascript’를 검색하여 자바스크립트를 선택합니다. 아래의 코드를 입력란에 복사해 넣습니다.
“`javascript
// 1. 알림 정보 가져오기 (MMS는 big 변수에 주로 담김)
var title = local(“antitle”); // 발신자 (제목)
var textBig = local(“antextbig”); // 긴 내용 (전체)
var text = local(“antext”); // 짧은 내용
// 2. 내용 합치기 (긴 내용 우선 확인 -> 없으면 짧은 내용)
var finalMsg = textBig;
if (!finalMsg) {
finalMsg = text;
}
// 3. 내용이 비었을 때 (이미지만 온 경우 등)
if (!finalMsg) {
finalMsg = “⚠️ 텍스트 내용 없음 (이미지 등)”;
}
// 4. 발신자가 없을 때 처리
if (!title) {
title = “알 수 없음”;
}
// 5. 디스코드 전송용 JSON 만들기
var payload = {
“content”: “📦 MMS/문자 수신\n보낸곳: ” + title + “\n\n” + finalMsg
};
// 6. 결과 내보내기 (%json_body 변수에 저장)
setLocal(“json_body”, JSON.stringify(payload));
“`
HTTP 요청 추가
자바스크립트 아래에 ‘+’ 버튼을 클릭한 후 ‘Net’을 선택하고 ‘HTTP Request (HTTP 요청)’을 선택합니다. 여기에서 자바스크립트로 잘 감싸진 내용을 디스코드 봇으로 보내는 단계입니다. 다음과 같이 설정합니다.
- Method: POST
- URL: 자신의 디스코드 웹훅 주소 붙여넣기
- Headers: Content-Type:application/json
- Body(본문): %json_body
설정 요약
이 설정을 통해 AutoNotification을 사용하는 이유는 기본 문자 이벤트에서 MMS 데이터를 완벽하게 가져오지 못하는 경우가 많기 때문입니다. 알림바에 나타나는 내용을 그대로 가져오는 방식이 가장 확실합니다. 또한, MmsService를 체크하지 않는 이유는 시스템에서 발생하는 신호를 모두 잡아버리면 빈 껍데기 알림이 중복 전송되는 문제가 발생할 수 있습니다. 마지막으로, 자바스크립트를 사용하는 이유는 문자 내용에 포함된 줄바꿈이나 따옴표가 그대로 전송될 경우 디스코드에서 Invalid JSON 오류가 발생하기 때문입니다. JSON.stringify() 기능이 이러한 문제를 자동으로 해결해 줍니다.
🤔 진짜 궁금한 것들 (FAQ)
자동으로 SMS를 디스코드로 전달하는 것이 왜 필요할까요?
SMS를 디스코드로 자동 전달하면, 여러 채널에서 메시지를 통합 관리할 수 있어 편리합니다. 특히 팀원들과의 소통이 원활해지는 장점이 있습니다.
Tasker와 AutoNotification 외에 다른 방법은 무엇이 있나요?
다른 자동화 앱이나 스크립트를 사용할 수도 있지만, Tasker와 AutoNotification 조합이 가장 안정적이며 유연한 설정을 제공합니다.
디스코드 웹훅은 어떻게 생성하나요?
디스코드에서 원하는 채널의 설정으로 이동하여 웹훅을 선택한 후 새 웹훅을 생성하면 URL을 제공합니다. 이 URL을 사용하여 메시지를 전송할 수 있습니다.
설정 중 오류가 발생하면 어떻게 해야 하나요?
설정한 내용을 다시 확인하고, 특히 변수명과 JSON 형식이 올바른지 점검해야 합니다. 또한, Tasker의 로그를 확인하여 문제를 진단할 수 있습니다.
자동 전달된 메시지를 어떻게 확인하나요?
디스코드 채널에서 자동으로 전송된 메시지를 확인할 수 있습니다. 메시지 형식은 설정한 대로 표시됩니다.
특정 발신자만 필터링할 수 있나요?
네, 발신자 필터링 기능을 사용하여 특정 이름이나 번호를 입력하면 해당 발신자로부터 온 메시지만 전송할 수 있습니다.
이 방법은 모든 안드로이드 기기에서 작동하나요?
대부분의 안드로이드 기기에서 작동하지만, 특정 기기나 OS 버전에 따라 차이가 있을 수 있으므로, 설정 후 테스트가 필요합니다.