카테고리 없음

푸시불렛자료-스마트폰으로 매크로에 명령하달입니다

시스이 2018. 4. 17. 14:54

매크로 만드는건 귀찮고 할건없고 이것저것 명령어나 기능들이나 수집하는 1인입니다.


카카오톡 -> 매크로 명령어하달은 만들어도봤지만 안먹길래 때랴쳤구요...

기타 올라온 API 자료는 뭔말인지 모르겠어서 패스....

매크로 -> 푸시불렛 메세지전송 전송은 소스는 보이는데

스마트폰으로 푸시불렛에 명령어입력 -> 매크로에서 수신후 작동상태 적용이 안보이길래 찾아봤습니다..

그냥 검색으로 안나오는거 자료 저장용 게시글 이라고 보시면 됩니다..


대충 비슷해보이는 언어에 기존 메세지전송 소스와 비슷한게보이길래 확인해보니까

Post를 get으로만 바꾸면 되는거더군요..;;;; 그런데도 검색하면 안나와서 대충 만들어봤습니다.

대신 긁어오는데 시간이 걸려서 수시로 읽게하면

매크로?가 자료를 긁어오는동안 멈추기때문에 수십초에 한번 명령된게 있는지 확인하는게 좋아보입니다.

더 좋은방법이있다면 알아서 바꿔서 쓰시겠죠뭐..... 전 언어관련해서 배운게 없어서 아직까진 이게 최선이네요ㅎㅎ..


사용형식은

채팅내용을 전부 긁어와서 Result 에 저장합니다.

내용을보면 최근 채팅내용이 맨 위에 저장이되기에 처음검색해서 나오는 내용을 뽑아서 사용하면됩니다.

채팅내용중 body":"명령어"} 을 명령어 부분만 추출하기위해 RegExMatch로 앞뒤 잘라내서 내용만 Get1에 저장합니다.

기본적으로 폰으로 내리는 실행, 재실행 이런 명령어들을 사용하기 위함인데

한번 보내놓으면 계속 읽어오면서 해당명령어를 계속 수행하려 하기에 명령어 작동전에

푸시불렛 메세지 전송으로 다른명령어 즉, "매크로가 실행되었습니다."같은 메세지를 보내서

폰으로 내린명령어를 밀어버리면 계속 읽어오는일이 없습니다.


global PB_Token:="토큰입력칸"


SETTIMER, GetPushbullet, 30000; 30초에 한번실행


GetPushbullet:

WinHTTP := ComObjCreate("WinHTTP.WinHttpRequest.5.1")

WinHTTP.Open("Get", "https://api.pushbullet.com/v2/pushes", False)

WinHTTP.SetCredentials(PB_Token, "", 0)

WinHTTP.SetRequestHeader("Content-Type", "application/json")

WinHTTP.Send()

Result := WinHTTP.ResponseText

RegExMatch(Result,"\C\Cbody\C:\C(.*?)\C}", Get)

if (Get1="실행")

{

PB_PushNote("작동", "매크로를 시작합니다.")

Goto, Start

}

if (Get1="재실행")

{

PB_PushNote("중지", "매크로가 재실행 되었습니다.")

Goto, Reload

}

return



PB_PushNote(PB_Title, PB_Message)

{

WinHTTP := ComObjCreate("WinHTTP.WinHttpRequest.5.1")

WinHTTP.SetProxy(0)

WinHTTP.Open("POST", "https://api.pushbullet.com/v2/pushes", 0)

WinHTTP.SetCredentials(PB_Token, "", 0)

WinHTTP.SetRequestHeader("Content-Type", "application/json")

PB_Body := "{""type"": ""note"", ""title"": """ PB_Title """, ""body"": """ PB_Message """}"

WinHTTP.Send(PB_Body)

Result := WinHTTP.ResponseText

Status := WinHTTP.Status

return Status

}



답글