No description
This repository has been archived on 2023-07-28. You can view files and clone it, but cannot push or open issues or pull requests.
Find a file
2018-04-23 17:50:44 -04:00
.gitignore initial commit 2018-03-14 09:50:34 -04:00
mastodon-bot.cljs added support for filtering out content 2018-04-23 17:50:44 -04:00
package.json added RSS support 2018-03-20 08:57:25 -04:00
README.md added support for filtering out content 2018-04-23 17:50:44 -04:00

description

the bot will post the timeline from the specified Twitter/Tumblr accounts and RSS feeds to Mastodon

installation

  1. install Node.js
  2. run npm install to install Node modules
  3. run npm start to, well, start

usage

  • create a Mastodon API key following the instructions here
  • create a Twitter API key follwing the instructions here
  • create a Tumblr API key following the instructions here
  • create a file called config.edn with the following contents:
{;; add Twitter config to mirror Twitter accounts
 :twitter {:access-keys
           {:consumer_key "XXXX"
            :consumer_secret "XXXX"
            :access_token_key "XXXX"
            :access_token_secret "XXXX"}
           :accounts ["arstechnica" "WIRED"]} ;; accounts you wish to mirror
 ;; add Tumblr config to mirror Tumblr accounts
 :tumblr {:access-keys
          {:consumer_key "XXXX"
           :consumer_secret "XXXX"
           :token "XXXX"
           :token_secret "XXXX"}
          :accounts ["cyberpunky.tumblr.com" "scipunk.tumblr.com"]}
 ;; add RSS config to follow feeds
 :rss {"Hacker News" "https://hnrss.org/newest"
       "r/Clojure" "https://www.reddit.com/r/clojure/.rss"}
 :mastodon {:access_token "XXXX"
            :api_url "https://botsin.space/api/v1/"
            :max-post-length 300
            ;; optional signature for posts
            :signature "#newsbot"
            ;; optional content filter regexes
            ;; any posts matching the regexes will be filtered out
            :content-filters [".*bannedsite.*"]}}
  • the bot looks for config.edn at its relative path by default, an alternative location can be specified either using the MASTODON_BOT_CONFIG environment variable or passing the path to config as an argument

  • run the bot: ./mastodon-bot.cljs

  • to poll at intervals setup a cron job such as:

    */30 * * * * mastodon-bot.cljs /path/to/config.edn > /dev/null 2>&1

License

Copyright © 2018 Dmitri Sotnikov

Distributed under the MIT License.