summaryrefslogtreecommitdiff
path: root/app/api.go
blob: ddc67c176da58623ebb90488c89f157d5f04980b (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
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))])
}