Compare commits

...

5 Commits

Author SHA1 Message Date
Uriel Fanelli df43f758e9 Custom function html2text. 2023-08-07 20:20:29 +02:00
Uriel Fanelli 0eb73d75a8 Added RSS item title to the APub body 2023-08-07 20:09:33 +02:00
Uriel Fanelli 2ea8bf202b Stripping HTML . 2023-07-15 02:38:55 +02:00
Uriel Fanelli 6978287809 Clean FS 2023-07-15 02:16:58 +02:00
Uriel Fanelli 1b2fa17294 Updated Readme 2023-07-15 02:15:22 +02:00
5 changed files with 19 additions and 40 deletions

View File

@ -12,47 +12,18 @@ go build
```
in order to use it, you need app credentials for your specific pod, which you obtain when you register your app.
In case your pod makes it too complicate, you can just use the following go :
```
package main
import (
"context"
"fmt"
"log"
"github.com/mattn/go-mastodon"
)
func main() {
app, err := mastodon.RegisterApp(context.Background(), &mastodon.AppConfig{
Server: "https://yourpodhere.put",
ClientName: "client-name",
Scopes: "read write follow",
Website: "whereyour application has a website",
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("client-id : %s\n", app.ClientID)
fmt.Printf("client-secret: %s\n", app.ClientSecret)
}
```
just change the values to match your pod, and it will print a new ClientID and ClientSecret.
Once you have both, you can just feed the zorg configuration file, which is a JSON, and change his name as zorg.conf
Just leave "default" on your ClientID and secret.
```
{
"ZorgServer":"https://example-pleroma.net",
"ZorgClientID": "aqwfgqubvqerb348hü13vhnrqvqerg1ü3ohrgvqervq",
"ZorgClientSecret": "qergerinqieorjhgqrijhg+3higqirgqirjgqerjgqq",
"ZorgServer": "https://example-pleroma.net",
"ZorgClientID": "default",
"ZorgClientSecret": "default",
"ZorgUname": "johndoe",
"ZorgPass" : "lalalalalalalala",
"ZorgInterval": 7200

14
feed.go
View File

@ -7,6 +7,8 @@ import (
"os"
"time"
"regexp"
"github.com/mmcdole/gofeed"
)
@ -49,8 +51,8 @@ func forwardLastFeed(url string) {
if time.Since(postAge) < Zint {
TheTitle := fmt.Sprintf("[ %s ]", feed.Title)
TheBody := fmt.Sprintf("%s \n\n%s \n\n%s", b.Author.Name, feed.Description, b.Link)
TheTitle := fmt.Sprintf("[News from %s ]", html2text(feed.Title))
TheBody := fmt.Sprintf("%s\n\n %s\n\n %s\n\n%s\n ", html2text(b.Author.Name), html2text(b.Title), html2text(b.Description), b.Link)
postOnMastodon(TheBody, TheTitle)
log.Println("New content from: ", feed.Title, b.Title, feed.Description)
@ -107,3 +109,11 @@ func fileByLines(filename string) (blurls []string) {
return
}
func html2text(html string) string {
re := regexp.MustCompile(`<[^>]*>`)
return re.ReplaceAllString(html, "")
}

View File

@ -1,5 +0,0 @@
https://keinpfusch.net/feed.xml
https://git.keinpfusch.net/loweel/zangtumb.rss
https://git.keinpfusch.net/loweel/zoreide.rss
https://git.keinpfusch.net/loweel/zorg.rss
https://git.keinpfusch.net/loweel/zabov.rss

1
go.mod
View File

@ -3,6 +3,7 @@ module zorg
go 1.13
require (
github.com/grokify/html-strip-tags-go v0.0.1
github.com/mattn/go-mastodon v0.0.4
github.com/mmcdole/gofeed v1.0.0
)

2
go.sum
View File

@ -8,6 +8,8 @@ github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSs
github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4=
github.com/gorilla/websocket v1.4.0 h1:WDFjx/TMzVgy9VdMMQi2K2Emtwi2QcUQsztZ/zLaH/Q=
github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ=
github.com/grokify/html-strip-tags-go v0.0.1 h1:0fThFwLbW7P/kOiTBs03FsJSV9RM2M/Q/MOnCQxKMo0=
github.com/grokify/html-strip-tags-go v0.0.1/go.mod h1:2Su6romC5/1VXOQMaWL2yb618ARB8iVo6/DR99A6d78=
github.com/mattn/go-colorable v0.1.1/go.mod h1:FuOcm+DKB9mbwrcAfNl7/TZVBZ6rcnceauSikq3lYCQ=
github.com/mattn/go-isatty v0.0.5/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s=
github.com/mattn/go-isatty v0.0.7/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s=