매크로

조회 수 419 추천 0 댓글 2

매크로 만드는건 귀찮고 할건없고 이것저것 명령어나 기능들이나 수집하는 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

}



  • Hangoon 2018.04.16 18:17

    저도 대충 저래 비슷하게 만들어 쓰고있는데... 

    주의할점은 푸쉬불렛 API는 무제한이 아니라 RateLlimit라는 개념이 있습니다


    1시간 단위로 리셋되며 일반계정의 RateLimit 제한은 16384입니다 (제 계정 기준입니다... 다른분도 뭐 같겠지요)

    RateLimit는 API요청 당 1소모되고 Database 작업당 4 소모됩니다


    본문에 나온대로 push내역 확인 요청을 보내면 최근 20개 푸쉬 내역을 가져오는데,

    1(API요청)  + 4(계정정보 확인) + 20*4(20개 푸쉬 데이터 확인) 총 85의 RateLimit가 소모됩니다

    적어보여도 30초마다 한번씩 요청을 보내면 10,200의 RateLimit가 소모되고... 만약 명령 수신에 30초 간격을 두는게 길게 느껴져서 좀 줄인다고 한다면 문제가 되버립니다. 20초로만 줄여도 15300을 소모해서 남은 리미트가 거의 없게 돼요


    사실 명령 확인을 위해서는 최신메시지 하나만 가져와도 되기 때문에 Limit파라미터를 주면 리미트 부담이 적어집니다.

    Get방식이니 url에 그냥 파라미터를 주면 돼요. https://api.pushbullet.com/v2/pushes?Limit=1 이런식으로


    이러면 하나만 가져오게 되고, 총 9의 리미트가 소모됩니다. 3초마다 한번씩 가져와도 시간당 10800으로 기존에 30초에 한번 리셋하는것과 비슷한 리미트만 소비하게 되죠.


    푸쉬 확인뿐만 아니라 푸쉬보내기, 이미지업로드 및 보내기 모두 리미트가 소모되는 활동입니다.

    생각보다 꽤 많이 소모가 되구요... 참고로 텍스트 메시지 하나 보낼때 제 계정 테스트 기준 37~41정도 소모가 되더군요.


    어쨌든 좀 빡빡하긴해도 매크로 하나에서 명령확인하고 푸쉬전송 하는 용도로는 어찌어찌 쓸만한 레이트가 나오긴 하더라구요.


    개발하실때 참고하셨으면 합니다

  • 꿀대표 2019.03.06 15:53
    외국에서 만든 매크로인지.. 받아서 사용하고 있는데,
    Hangoon님과 같은 이유로 푸시불렛 서비스를 중단하는 대신
    텔레그램 API로 사용하더라구요.

List of Articles
분류 제목 글쓴이 최근변경 추천
정보 아르테일 매랜 로나 핵 매크로 취급합니다 얼리언 2024.01.05 0/0
정보 오토핫키 인터넷 연결 확인 함수 뒷산아저씨 2023.02.10 0/0
정보 title 이 없는 프로세스 id 값 따기 압살맨블로그 2022.12.14 0/0
정보 하나의 지정 픽셀로 마우스를 고정 압살맨블로그 2022.12.14 0/0
정보 압살맨 플레이어를 활용하여 비활성 이미지서치 압살맨블로그 2022.09.01 0/0
정보 AHK_Helper.exe 오토핫키 도움말 프로그램 입니다. 2 월드걸스 2023.02.24 0/0
정보 메이플매크로 보여중인데 3 검ㅇ응사막 2022.02.05 0/0
정보 Gdip_all.ahk를 이용한 Bitmap의 size 변경 함수 6 할거엄따구 2022.12.14 1/0
정보 SciTE4AutoHotkey 프로그램 2개 실행하기 1 치우지 2019.09.25 0/0
정보 같은 이미지라도 색상이 조금 달라서, 육안으로 구분이... 5 파이썬공부중 2019.11.17 0/0
정보 이미지서치시 좌표 관리시 소소한 팁. 1 파이썬공부중 2019.06.30 0/0
정보 오토핫키 if 기본부분인데 이해가 안돼서 도와주세요! 4 slka 2018.10.16 0/0
정보 현재 사용하고 있는 PC 공인 IP 조회하기 2 저녁말고전역 2018.04.20 0/0
정보 핫키 하나로 온오프 하기 2 저녁말고전역 2022.07.21 0/0
정보 푸시불렛자료-스마트폰으로 매크로에 명령하달입니다. 2 단백질 2019.03.06 0/0
정보 비활성 이미지 서치.. 최소화 꼼수 2 블랙보노 2018.10.16 0/0
정보 gdip 비활성 이미지 서치, postmessage 모모 소스입니다. 6 사이다업 2021.01.23 1/0
정보 ListBox로 로그창을 만들어보자! 고음l 2017.11.18 1/0
정보 pixelGetColor 오차범위 만들기(10진수변환) 9 갈리토스 2022.07.21 0/0
정보 ControlSend 명령을 이용한, 카톡으로 알림받기 간단하... 10 죠케빈 2018.01.02 0/0
Board Pagination Prev 1 23456 7 Next
/ 7

전체 최신 인기글

전체 주간 인기글