Skip to content

molly/w3igg-crossposter

Repository files navigation

w3igg-crossposter

Automate crossposting web3isgoinggreat.com posts to social media. The tool captures a screenshot of the specified post, splits it into up to three segments if the post is long, and then posts to Twitter, Mastodon, Bluesky, Instagram, and/or Threads.

Usage

Install: Clone the repository, then run pip install -r requirements.txt.

Example call: crossposter.py 2023-05-01-0

Call the script with the numerical ID (YYYY-MM-DD-INCREMENT) of the entry to post. The script also takes several optional flags:

  • --no-confirm: Skip the confirmation step, which previews the post text and prompts you to check the screenshot(s) that will be posted
  • --use-prev: Use screenshots and post information stored from a past run
  • --debug: Show more verbose debug messages

Mutually exclusive optional flags:

  • --tweet: Only post to Twitter
  • --toot: Only post to Mastodon
  • --skeet: Only post to Bluesky
  • --insta: Only post to Instagram
  • --threads: Only post to Threads

Secrets

The script requires a secrets.py file with the format:

TWITTER_API_KEY = ""
TWITTER_API_KEY_SECRET = ""
TWITTER_ACCESS_TOKEN = ""
TWITTER_ACCESS_TOKEN_SECRET = ""

MASTODON_EMAIL = ""
MASTODON_PASSWORD = ""

BLUESKY_USERNAME = ""
BLUESKY_PASSWORD = ""

INSTAGRAM_USERNAME = ""
INSTAGRAM_PASSWORD = ""

It also requires a mastodon.secret file generated via this process, and a gcp-secret.secret GCP Service Account key file for a Service Account with Cloud Functions Invoker access to the addSocialPostIds cloud function.

Posting on Threads uses the same credentials as Instagram.

About

Automate crossposting web3isgoinggreat.com posts to social media

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages