Go to file
dependabot[bot] 92a555a0b9
Bump yt-dlp from 2022.11.11 to 2023.1.6
Bumps [yt-dlp](https://github.com/yt-dlp/yt-dlp) from 2022.11.11 to 2023.1.6.
- [Release notes](https://github.com/yt-dlp/yt-dlp/releases)
- [Changelog](https://github.com/yt-dlp/yt-dlp/blob/master/Changelog.md)
- [Commits](https://github.com/yt-dlp/yt-dlp/compare/2022.11.11...2023.01.06)

---
updated-dependencies:
- dependency-name: yt-dlp
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-09 06:09:17 +00:00
.github Create pylint.yml 2022-12-08 11:04:40 +01:00
.gitignore gitignore to preserve secrets 2017-05-28 15:04:23 +02:00
cron-sample.sh Fix spelling in cron-sample.sh 2022-11-10 11:10:02 -05:00
LICENSE Initial commit 2017-05-28 09:34:54 +02:00
README.md Fix markdown layout 2022-12-07 11:46:09 +01:00
requirements.txt Bump yt-dlp from 2022.11.11 to 2023.1.6 2023-01-09 06:09:17 +00:00
tootbot.py handle https broken redirectors like ow.ly or u.afp.com 2023-01-04 08:10:59 +01:00

TootBot

A small python 3.x script to replicate tweets on a mastodon account.

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

It gets the tweets using twint, then does some cleanup on the content:

  • twitter tracking links (t.co) are dereferenced
  • twitter hosted pictures or videos are retrieved with yt-dlp and uploaded to mastodon

It can also toot RSS/atom feeds (see cron-example.sh).

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

This script is in use for a few accounts:

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).

Setup

# clone this repo
git clone https://github.com/cquest/tootbot.git
cd tootbot

# install required python modules
pip3 install -r requirements.txt

# install additional required software
sudo apt install jq

Useage

python3 tootbot.py <twitter_pseudo> <mastodon_account> <mastodon_password> <mastodon_domain> [max_items [tags_to_add]]

Example:

python3 tootbot.py geonym_fr geonym@mastodon.mydomain.org **password** mastodon.mydomain.org

It's up to you to add this in your crontab :)

With a plain RSS/atom feed:

python3 tootbot.py https://www.data.gouv.fr/fr/datasets/recent.atom cquest+opendata@amicale.net **password** amicale.net 2 "#dataset #opendata #datagouvfr"