Initial commit
This commit is contained in:
commit
eca46fcadd
21 changed files with 1666 additions and 0 deletions
48
cmd/webhook.go
Normal file
48
cmd/webhook.go
Normal file
|
@ -0,0 +1,48 @@
|
|||
package cmd
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"encoding/json"
|
||||
ts "github.com/n0madic/twitter-scraper"
|
||||
"log"
|
||||
"net/http"
|
||||
)
|
||||
|
||||
type Webhook struct {
|
||||
Content string `json:"content"`
|
||||
Name string `json:"username,omitempty"`
|
||||
Avatar string `json:"avatar_url,omitempty"`
|
||||
Mention *Mention `json:"allowed_mentions,omitempty"`
|
||||
Embeds []*Embed `json:"embeds,omitempty"`
|
||||
}
|
||||
|
||||
type Mention struct {
|
||||
Parse []string `json:"parse,omitempty"`
|
||||
Roles []string `json:"roles,omitempty"`
|
||||
Users []string `json:"users,omitempty"`
|
||||
RepliedUser bool `json:"replied_user,omitempty"`
|
||||
}
|
||||
|
||||
func sendToWebhook(webhookURL string, tweets []*ts.Tweet) {
|
||||
for _, tweet := range tweets {
|
||||
// Temporarily hardcoded
|
||||
data := Webhook{
|
||||
Content: tweet.PermanentURL,
|
||||
Mention: &Mention{Parse: []string{"roles"}},
|
||||
Embeds: []*Embed{},
|
||||
}
|
||||
|
||||
jsonData, err := json.Marshal(data)
|
||||
if err != nil {
|
||||
log.Printf("Error while generating JSON for tweet %s: %s", tweet.ID, err.Error())
|
||||
continue
|
||||
}
|
||||
|
||||
resp, err := http.Post(webhookURL, "application/json", bytes.NewBuffer(jsonData))
|
||||
if err != nil {
|
||||
log.Printf("Error while sending webhook for tweet %s: %s", tweet.ID, err.Error())
|
||||
continue
|
||||
}
|
||||
defer resp.Body.Close()
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue