diff options
| author | lost+skunk <[email protected]> | 2024-09-02 11:16:54 +0300 |
|---|---|---|
| committer | lost+skunk <[email protected]> | 2024-09-02 11:16:54 +0300 |
| commit | 14645842643c4e5fa542def715ac1629e182388c (patch) | |
| tree | 80da1c9b891ce8b4f2393311f36f4530176366af /app/api.go | |
| parent | 2f8c35ba322e3c8c6e0bff8f7818d4eedf002928 (diff) | |
| download | skunky-art-14645842643c4e5fa542def715ac1629e182388c.tar.gz skunky-art-14645842643c4e5fa542def715ac1629e182388c.tar.bz2 skunky-art-14645842643c4e5fa542def715ac1629e182388c.zip | |
instance list update
Diffstat (limited to 'app/api.go')
| -rw-r--r-- | app/api.go | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/app/api.go b/app/api.go new file mode 100644 index 0000000..ddc67c1 --- /dev/null +++ b/app/api.go @@ -0,0 +1,34 @@ +package app + +import ( + "math/rand" + "strings" + + "git.macaw.me/skunky/devianter" +) + +type API struct { + skunkyartLink *skunkyart +} + +func (a API) sendMedia(d *devianter.Deviation) { + mediaUrl, name := devianter.UrlFromMedia(d.Media) + + var filename strings.Builder + filename.WriteString(`filename="`) + filename.WriteString(name) + filename.WriteString(`"`) + a.skunkyartLink.Writer.Header().Add("Content-Disposition", filename.String()) + + if len(mediaUrl) != 0 { + mediaUrl = mediaUrl[21:] + dot := strings.Index(mediaUrl, ".") + a.skunkyartLink.DownloadAndSendMedia(mediaUrl[:dot], mediaUrl[dot+11:]) + } +} + +func (a API) Random() { + s, err := devianter.PerformSearch(string(rand.Intn(999)), rand.Intn(30), 'a') + try(err) + a.sendMedia(&s.Results[rand.Intn(len(s.Results))]) +} |
