An xmpp bot which posts to a MUC if there is an update in newsfeeds.
Find a file
2019-02-01 15:34:56 +01:00
.gitignore Initial commit 2018-07-13 22:53:22 +02:00
config.json.example Removed unnecessary whitespaces in example config. 2018-09-05 20:41:43 +02:00
feed-to-muc.go Removed checking of MUC join return value as it doesn't represent the MUC status codes. 2019-02-01 15:34:56 +01:00
getarticles.go Adjusted for mastodon. 2019-02-01 14:39:25 +01:00
LICENSE Add LICENSE 2018-07-13 21:11:57 +00:00
README.md Made refresh time for feed queries configurable. 2018-09-05 20:40:41 +02:00
removetracking.go Added another tracking parameter to removeTracking. 2018-09-09 19:13:16 +02:00

feed-to-muc

about

feed-to-muc is an XMPP bot which queries Atom or RSS newsfeeds and posts the short summary to a XMPP MUC if there is a new article.

disclaimer

I am no programmer and this bot is a result of a lot of try and error. There are probably lots of quirks that are remains of some wrong paths I went in between. Also a lot is probably solved in a hacky way due to missing experience.

Anyway, it works (for me at least) and so I upload this here. Recommendations about what can be done better improved and so on are very welcome.

requirements

installation

If you have GOPATH set just run this commands:

$ go get salsa.debian.org/mdosch-guest/feed-to-muc
$ go install salsa.debian.org/mdosch-guest/feed-to-muc

You will find the binary in $GOPATH/bin or, if set, $GOBIN.

configuration

If the flag -config is not used the configuration is expected at $HOME/.config/feed-to-muc/config.json in this format:

{
"ServerAddress": "example.com:5222",
"BotJid":        "feedbot@example.com",
"Password":      "ChangeThis!",
"Muc":           "muc-to-feed@conference.example.com",
"MucNick":       "feedbot",
"MaxArticles":    5,
"RefreshTime":    30,
"NoExcerpt":     false,
"Feeds":         [ "https://www.debian.org/News/news",
                 "https://www.debian.org/security/dsa-long" ]
}

MaxArticles is the maximum number of articles that are sent per feed and query. If NoExcerpt is set to true no excerpt will be posted. RefreshTime defines the intervall for checking the feeds in seconds.