Skip to content

Instantly share code, notes, and snippets.

@rats-god
Last active May 14, 2020 22:56
Show Gist options
  • Save rats-god/d44a1ea3ff73311568e11050977e902c to your computer and use it in GitHub Desktop.
Save rats-god/d44a1ea3ff73311568e11050977e902c to your computer and use it in GitHub Desktop.
:Namespace apl102
(⎕IO ⎕ML ⎕WX)0 1 3
tok'your_access_key'
base'https://botsin.space/api/v1/'
∆h⎕SE.UCMD 'Load HttpCommand'
br{t ⎕NTIE 0 s2 ⎕NINFO t ⎕NREAD t 80 s}
putMedia{
h⎕NEW ∆h
n⎕UCS 13 10 \r\n
bd'boundary'
h.(Command URL)'post'(base,'media')
h.Headers'Authorization'('Bearer ',tok)
h.Headers,'Content-Type'('multipart/form-data;boundary="',bd,'"')
h.Headers2 2h.Headers
h.Params'--',bd,n,'Content-Type: image/gif',n
h.Params,'Content-Disposition: form-data; name=file; filename=hello.gif',n,n
h.Params,br
h.Params,n,'--',bd,'--',n
rh.Run
(⎕JSON r.Data).id
}
postMedia{
h⎕NEW ∆h
h.(Command URL)'post'(base,'statuses')
h.Headers'Authorization'('Bearer ',tok)
h.Params'media_ids[]'
h.Run
}
mkGifPost{postMedia putMedia'out.gif'mkzone 250}
mkzone{
sz
zone{0>1+.{*(÷2)+/ *2}10÷}
pbm{'P1 ',(),' ',,}
f{'out',(),'.pbm'}
o{f (pbm zone sz)⎕NPUT(f )1}¨20÷100
⎕SH'/usr/local/bin/convert ',(o),' out.gif'
}
:EndNamespace
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment