블랙베리 클래식을 가지고 놀면서 제일 불편했던 점이 카카오톡을 사용할 수 없다는 부분이었습니다. 아마 블랙베리를 사용하신 분들이 안드로이드로 많이 전향했던 이유가 이 부분이었던 것 같은데요, 블랙베리 네이버 카페에서 카카오톡 메시지를 텔레그램으로 보내는 방법이 있지만, Tasker라는 앱을 이용한 방법도 있어 간단하게 써보겠습니다. Show 준비물우선 준비물은 아래와 같습니다.
설정하는 방법이 조금 복잡할 수 있지만 원리는 매우 간단합니다. Step1. Tasker를 활용한 문자/카톡 등 알람 SMS 보내기SMS 설정은 매우 친절하게 설명해주신 블로그가 있어서 링크 첨부합니다. USIM이 각각 있어서 텔레그램은 필요 없고 SMS로 내용을 전달받으실 분은 아래 블로그를 통해 설정 후 텔레그램 연동 부분을 지나 Step3. 추가 작업으로 이동하시면 됩니다. https://blog.naver.com/dukeyoun/222252556195 부연 설명
Step2. 텔레그램 메시지로 연동하기텔레그램으로 보내는 내용은 블랙베리 네이버 카페에 자세히 다루고 있어 링크를 첨부합니다. https://cafe.naver.com/blackberrysmartphone/539118 원리는 처음 설정했던 Step3. 추가 작업구축을 완료하여 사용해보니 어떤 앱에서 오는 알림인지 단톡방이면 어떤 방에서 오는 건지 알 수가 없어서 또 이리저리 찾아보다가 설정을 조금 고쳐보았습니다.
변수가 하나 더 추가되었는데 긁어오는 메시지에 서브 텍스트가 있는지 없는지를 체크하기 위해 생성되었습니다. 해당 부분은 이미지로 설명하는 부분이 편할 것 같아서 첨부합니다. 변수 설정 화면TASKS 설정 화면Send SMS 부분은 사용하지 않기 때문에 disable 처리한 상태입니다.네이버 블로그에 있던 구조와 동일하지만, 앞에 If 문이 들어가면서 서브 텍스트에 n개의 안 읽은 메시지 제외와 서브 텍스트가
없을 때 보내는 메시지에 노출이 안 되는 작업까지 들어간 부분을 확인할 수 있습니다. 1번 상세 화면IF 조건문에 아래와 같이 AND 조건으로 추가하시면 해당 메시지는 전달이 안 됩니다. 3번 상세 화면5번 상세 화면7번 상세 화면Tasker xml 파일전화번호와 텔레그램 정보들을 삭제하여 올렸습니다. 해당 정보들을 넣으면 정상 작동합니다! <TaskerData sr="" dvi="1" tv="5.13.6"> <Task sr="task4"> <cdate>1628830784213</cdate> <edate>1631457114729</edate> <id>4</id> <nme>Resend Notifications Sample</nme> <pri>100</pri> <rty>1</rty> <Action sr="act0" ve="7"> <code>37</code> <ConditionList sr="if"> <bool0>And</bool0> <Condition sr="c0" ve="3"> <lhs>%ansubtext</lhs> <op>3</op> <rhs>*개의 안 읽은 메시지*</rhs> </Condition> <Condition sr="c1" ve="3"> <lhs>%antitle</lhs> <op>3</op> <rhs>*업그레이드 중입니다.*</rhs> </Condition> </ConditionList> </Action> <Action sr="act1" ve="7"> <code>37</code> <ConditionList sr="if"> <Condition sr="c0" ve="3"> <lhs>%ansubtext</lhs> <op>2</op> <rhs>*ansubtext*</rhs> </Condition> </ConditionList> </Action> <Action sr="act10" ve="7"> <code>41</code> <on>false</on> <Str sr="arg0" ve="3">01022223333</Str> <Str sr="arg1" ve="3">%SendMsg</Str> <Int sr="arg2" val="0"/> <Str sr="arg3" ve="3"/> <Int sr="arg4" val="0"/> </Action> <Action sr="act11" ve="7"> <code>554915598</code> <Bundle sr="arg0"> <Vals sr="val"> <bundle_header></bundle_header> <bundle_header-type>java.lang.String</bundle_header-type> <bundle_param>chat_id ********||text %SendMsg</bundle_param> <bundle_param-type>java.lang.String</bundle_param-type> <com.freehaha.restask.BASICAUTH></com.freehaha.restask.BASICAUTH> <com.freehaha.restask.BASICAUTH-type>java.lang.String</com.freehaha.restask.BASICAUTH-type> <com.freehaha.restask.BODY></com.freehaha.restask.BODY> <com.freehaha.restask.BODY-type>java.lang.String</com.freehaha.restask.BODY-type> <com.freehaha.restask.CERT></com.freehaha.restask.CERT> <com.freehaha.restask.CERT-type>java.lang.String</com.freehaha.restask.CERT-type> <com.freehaha.restask.CERTPATH>empty</com.freehaha.restask.CERTPATH> <com.freehaha.restask.CERTPATH-type>java.lang.String</com.freehaha.restask.CERTPATH-type> <com.freehaha.restask.CHUNKED>n</com.freehaha.restask.CHUNKED> <com.freehaha.restask.CHUNKED-type>java.lang.String</com.freehaha.restask.CHUNKED-type> <com.freehaha.restask.COOKIE>%rtck</com.freehaha.restask.COOKIE> <com.freehaha.restask.COOKIE-type>java.lang.String</com.freehaha.restask.COOKIE-type> <com.freehaha.restask.COOKIEJAR>restask</com.freehaha.restask.COOKIEJAR> <com.freehaha.restask.COOKIEJAR-type>java.lang.String</com.freehaha.restask.COOKIEJAR-type> <com.freehaha.restask.CUSTOMBODY>n</com.freehaha.restask.CUSTOMBODY> <com.freehaha.restask.CUSTOMBODY-type>java.lang.String</com.freehaha.restask.CUSTOMBODY-type> <com.freehaha.restask.CUSTOMECERT>n</com.freehaha.restask.CUSTOMECERT> <com.freehaha.restask.CUSTOMECERT-type>java.lang.String</com.freehaha.restask.CUSTOMECERT-type> <com.freehaha.restask.HEADER>%rthdr</com.freehaha.restask.HEADER> <com.freehaha.restask.HEADER-type>java.lang.String</com.freehaha.restask.HEADER-type> <com.freehaha.restask.HOST>https://api.telegram.org/bot**********/sendMessage</com.freehaha.restask.HOST> <com.freehaha.restask.HOST-type>java.lang.String</com.freehaha.restask.HOST-type> <com.freehaha.restask.KEEP_COOKIE>n</com.freehaha.restask.KEEP_COOKIE> <com.freehaha.restask.KEEP_COOKIE-type>java.lang.String</com.freehaha.restask.KEEP_COOKIE-type> <com.freehaha.restask.OUTPUT_FILE></com.freehaha.restask.OUTPUT_FILE> <com.freehaha.restask.OUTPUT_FILE-type>java.lang.String</com.freehaha.restask.OUTPUT_FILE-type> <com.freehaha.restask.REDIRECT>y</com.freehaha.restask.REDIRECT> <com.freehaha.restask.REDIRECT-type>java.lang.String</com.freehaha.restask.REDIRECT-type> <com.freehaha.restask.RESPONSE>%rtres</com.freehaha.restask.RESPONSE> <com.freehaha.restask.RESPONSE-type>java.lang.String</com.freehaha.restask.RESPONSE-type> <com.freehaha.restask.RETCODE>%rtcode</com.freehaha.restask.RETCODE> <com.freehaha.restask.RETCODE-type>java.lang.String</com.freehaha.restask.RETCODE-type> <com.freehaha.restask.SYNCCALL>y</com.freehaha.restask.SYNCCALL> <com.freehaha.restask.SYNCCALL-type>java.lang.String</com.freehaha.restask.SYNCCALL-type> <com.freehaha.restask.TIMEOUT>30</com.freehaha.restask.TIMEOUT> <com.freehaha.restask.TIMEOUT-type>java.lang.String</com.freehaha.restask.TIMEOUT-type> <com.freehaha.restask.TYPE>POST</com.freehaha.restask.TYPE> <com.freehaha.restask.TYPE-type>java.lang.String</com.freehaha.restask.TYPE-type> <com.twofortyfouram.locale.intent.extra.BLURB>REST call</com.twofortyfouram.locale.intent.extra.BLURB> <com.twofortyfouram.locale.intent.extra.BLURB-type>java.lang.String</com.twofortyfouram.locale.intent.extra.BLURB-type> <net.dinglisch.android.tasker.extras.VARIABLE_REPLACE_KEYS>com.freehaha.restask.TYPE com.freehaha.restask.HOST com.freehaha.restask.TIMEOUT com.freehaha.restask.BASICAUTH com.freehaha.restask.CUSTOMBODY com.freehaha.restask.BODY com.freehaha.restask.CUSTOMECERT com.freehaha.restask.CERTPATH com.freehaha.restask.SYNCCALL com.freehaha.restask.HEADER com.freehaha.restask.COOKIE com.freehaha.restask.COOKIEJAR com.freehaha.restask.KEEP_COOKIE com.freehaha.restask.REDIRECT com.freehaha.restask.CHUNKED com.freehaha.restask.OUTPUT_FILE bundle_param bundle_header</net.dinglisch.android.tasker.extras.VARIABLE_REPLACE_KEYS> <net.dinglisch.android.tasker.extras.VARIABLE_REPLACE_KEYS-type>java.lang.String</net.dinglisch.android.tasker.extras.VARIABLE_REPLACE_KEYS-type> <net.dinglisch.android.tasker.subbundled>true</net.dinglisch.android.tasker.subbundled> <net.dinglisch.android.tasker.subbundled-type>java.lang.Boolean</net.dinglisch.android.tasker.subbundled-type> </Vals> </Bundle> <Str sr="arg1" ve="3">com.freehaha.restask</Str> <Str sr="arg2" ve="3">com.freehaha.restask.EditActivity</Str> <Int sr="arg3" val="30"/> <Int sr="arg4" val="0"/> </Action> <Action sr="act12" ve="7"> <code>549</code> <Str sr="arg0" ve="3">%SendMsg</Str> <Int sr="arg1" val="0"/> <Int sr="arg2" val="0"/> <Int sr="arg3" val="0"/> </Action> <Action sr="act2" ve="7"> <code>547</code> <Str sr="arg0" ve="3">%GetMsg</Str> <Str sr="arg1" ve="3">[ %anapp ] %antitle : %antext</Str> <Int sr="arg2" val="0"/> <Int sr="arg3" val="0"/> <Int sr="arg4" val="0"/> <Int sr="arg5" val="3"/> <Int sr="arg6" val="0"/> </Action> <Action sr="act3" ve="7"> <code>43</code> </Action> <Action sr="act4" ve="7"> <code>547</code> <Str sr="arg0" ve="3">%GetMsg</Str> <Str sr="arg1" ve="3">[ %anapp %ansubtext ] %antitle : %antext</Str> <Int sr="arg2" val="0"/> <Int sr="arg3" val="0"/> <Int sr="arg4" val="0"/> <Int sr="arg5" val="3"/> <Int sr="arg6" val="0"/> </Action> <Action sr="act5" ve="7"> <code>38</code> </Action> <Action sr="act6" ve="7"> <code>547</code> <Str sr="arg0" ve="3">%SendMsg</Str> <Str sr="arg1" ve="3"> </Str> <Int sr="arg2" val="0"/> <Int sr="arg3" val="0"/> <Int sr="arg4" val="1"/> <Int sr="arg5" val="3"/> <Int sr="arg6" val="0"/> <ConditionList sr="if"> <Condition sr="c0" ve="3"> <lhs>%SendMsg</lhs> <op>12</op> <rhs></rhs> </Condition> </ConditionList> </Action> <Action sr="act7" ve="7"> <code>547</code> <Str sr="arg0" ve="3">%SendMsg</Str> <Str sr="arg1" ve="3">%GetMsg</Str> <Int sr="arg2" val="0"/> <Int sr="arg3" val="0"/> <Int sr="arg4" val="1"/> <Int sr="arg5" val="3"/> <Int sr="arg6" val="0"/> </Action> <Action sr="act8" ve="7"> <code>549</code> <Str sr="arg0" ve="3">%GetMsg</Str> <Int sr="arg1" val="0"/> <Int sr="arg2" val="0"/> <Int sr="arg3" val="0"/> </Action> <Action sr="act9" ve="7"> <code>30</code> <Int sr="arg0" val="0"/> <Int sr="arg1" val="3"/> <Int sr="arg2" val="0"/> <Int sr="arg3" val="0"/> <Int sr="arg4" val="0"/> </Action> </Task> </TaskerData> 마치며블랙베리만 가지고 외출할 때 텔레그램으로 알림을 오게 세팅하니 답장은 못 해도 카톡이 없다는 불안감은 어느 정도 해결되는 것 같습니다. 설정이 이래저래 복잡하지만 한 번 해두면 수정할 일이 없으니 블랙베리 사용 중인 거라면 도전해보세요! |