No Description

Andreas Demmelbauer 6ca8782ac0 add installation instructions, fix cron example 2 weeks ago
.gitignore 66f8b2737a git ignore logs 2 weeks ago
LICENSE d33c38cdb8 Initial commit 11 months ago
README.md 6ca8782ac0 add installation instructions, fix cron example 2 weeks ago
config-example.json c1e63d96ab add time delay between toots 2 weeks ago
cron-example.sh 6ca8782ac0 add installation instructions, fix cron example 2 weeks ago
requirements.txt 35a5e3b7f8 added soup.io, added dry run, changed cli, added config file 3 weeks ago
tootbot.py abaefe3372 fixing bug: not checking soup posts if already posted; configpath errormessage was also misleading 2 weeks ago

README.md

TootBot Spicy Edition

A small python 3.x script to replicate tweets and posts from soup.io on a mastodon account. It's based on TootBot: https://github.com/cquest/tootbot

The script only need mastodon login/pass to post toots.

For Twitter, it gets the tweets from RSS available at http://twitrss.me, then does some cleanup on the content:

  • twitter tracking links (t.co) are dereferenced
  • twitter hosted pictures are retrieved and uploaded to mastodon

For Soup, it uses the official RSS feed (e.g. https://metalab.soup.io/rss), then does some cleanup on the content:

  • checks if source is twitter and checks for duplicates
  • removes html stuff
  • looks for one picture in source link or in soup post and uploads it to mastodon
  • adds source url (if no source is specified, soup post is source url)

A sqlite database is used to keep track of items than have been tooted.

This script ist used by metalab: https://chaos.social/@metalab

Installation

You may want to run it in a virtualenv:

  • Clone this repo with git.
  • Download an install virtualenv from the repository and package manager of your favor.
  • Create virtualenv: virtualenv -p python3 ~/.virtualenvs/tootbot-spicy
  • Activate your new virtualenv: source ~/.virtualenvs/tootbot-spicy/bin/activate
  • The (tootbot) in the prompt is indicating which virtualenv you are currently using.
  • switch into the projects directory: cd tootbot-spicy
  • Install requirements: pip3 install -r requirements.txt
  • copy the config-example: cp config-example.json config.json.
  • edit config.json
  • copy the cron-example: cp cron-example.sh cron.sh.
  • edit cron.sh
  • add cronjob for cron.sh: crontab -e
  • if you want to quit virtualenv environment, just type deactivate

The script is simply called by a cron job and can run on any server (does not have to be on the mastodon instance server).