All Projects → gr2m → Twitter Together

gr2m / Twitter Together

Licence: mit
🐦 A GitHub action to tweet from a repository

Programming Languages

javascript
184084 projects - #8 most used programming language

Labels

Projects that are alternatives of or similar to Twitter Together

React Static Tweets
Extremely fast static renderer for tweets.
Stars: ✭ 278 (-18.24%)
Mutual labels:  twitter
Hybridauth
Open source social sign on PHP Library. HybridAuth goal is to act as an abstract api between your application and various social apis and identities providers such as Facebook, Twitter and Google.
Stars: ✭ 3,223 (+847.94%)
Mutual labels:  twitter
The Seo Framework
The SEO Framework WordPress plugin.
Stars: ✭ 329 (-3.24%)
Mutual labels:  twitter
Rsshub
🍰 Everything is RSSible
Stars: ✭ 18,111 (+5226.76%)
Mutual labels:  twitter
Laravel Social Auto Posting
🌈Laravel social auto posting
Stars: ✭ 306 (-10%)
Mutual labels:  twitter
Tweetie
Simple jQuery Twitter feed plugin
Stars: ✭ 314 (-7.65%)
Mutual labels:  twitter
Tweet Tray
Tweet quickly from the desktop without any distractions.
Stars: ✭ 274 (-19.41%)
Mutual labels:  twitter
Socialbox Termux
SocialBox is a Bruteforce Attack Framework [ Facebook , Gmail , Instagram ,Twitter ] , Coded By Belahsan Ouerghi Edit By init__0 for termux on android
Stars: ✭ 324 (-4.71%)
Mutual labels:  twitter
Surfbird
A Microblogging client built on Electron and Vue
Stars: ✭ 309 (-9.12%)
Mutual labels:  twitter
Social Media Profiles Regexs
📇 Extract social media profiles and more with regular expressions
Stars: ✭ 324 (-4.71%)
Mutual labels:  twitter
Socialmanagertools Gui
🤖 👻 Desktop application for Instagram Bot, Twitter Bot and Facebook Bot
Stars: ✭ 293 (-13.82%)
Mutual labels:  twitter
Twitter Search
Instantly search across your entire Twitter history with a beautiful UI powered by Algolia.
Stars: ✭ 305 (-10.29%)
Mutual labels:  twitter
Mastodon Twitter Poster
Crossposter to post statuses between Mastodon and Twitter
Stars: ✭ 317 (-6.76%)
Mutual labels:  twitter
Coretweet
Yet Another .NET Twitter Library
Stars: ✭ 281 (-17.35%)
Mutual labels:  twitter
Sockethub
A protocol gateway for the Web.
Stars: ✭ 329 (-3.24%)
Mutual labels:  twitter
Twitter Cleanup
🛁 Clean-up inactive accounts and bots from your Twitter
Stars: ✭ 275 (-19.12%)
Mutual labels:  twitter
Twitter Api V2 Sample Code
Sample code for the Twitter API early access endpoints (Python, Java, Ruby, and Node.js).
Stars: ✭ 306 (-10%)
Mutual labels:  twitter
Socialreaper
Social media scraping / data collection library for Facebook, Twitter, Reddit, YouTube, Pinterest, and Tumblr APIs
Stars: ✭ 338 (-0.59%)
Mutual labels:  twitter
Snowflake
Twitter的分布式自增ID雪花算法snowflake (Java版)
Stars: ✭ 336 (-1.18%)
Mutual labels:  twitter
Rainbowstream
A smart and nice Twitter client on terminal written in Python.
Stars: ✭ 3,344 (+883.53%)
Mutual labels:  twitter

twitter together logo

Twitter, together!

Build Status Coverage

For Open Source or event maintainers that share a project twitter account, twitter-together is a GitHub Action that utilizes text files to publish tweets from a GitHub repository. Rather than tweeting directly, GitHub’s pull request review process encourages more collaboration, Twitter activity and editorial contributions by enabling everyone to submit tweet drafts to a project.

Screencast demonstrating twitter-together

Try it

You can submit a tweet to this repository to see the magic happen. Please follow the instructions at tweets/README.md and mention your own twitter username to the tweet. This repository is setup to tweet from https://twitter.com/commit2tweet.

Twitter API compatibility

The Twitter Ads API we currently use is the v8 version.

Setup

  1. Create a twitter app with your shared twitter account and store the credentials as TWITTER_API_KEY, TWITTER_API_SECRET_KEY, TWITTER_ACCESS_TOKEN and TWITTER_ACCESS_TOKEN_SECRET in your repository’s secrets settings.

  2. Create a .github/workflows/twitter-together.yml file with the content below. Make sure to replace 'master' if you changed your repository's default branch.

    on: [push, pull_request]
    name: Twitter, together!
    jobs:
      preview:
        name: Preview
        runs-on: ubuntu-latest
        if: github.event_name == 'pull_request'
        steps:
          - uses: gr2m/[email protected]
            env:
              GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
      tweet:
        name: Tweet
        runs-on: ubuntu-latest
        if: github.event_name == 'push' && github.ref == 'refs/heads/master'
        steps:
          - name: checkout master
            uses: actions/[email protected]
          - name: Tweet
            uses: gr2m/[email protected]
            env:
              GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
              TWITTER_ACCESS_TOKEN: ${{ secrets.TWITTER_ACCESS_TOKEN }}
              TWITTER_ACCESS_TOKEN_SECRET: ${{ secrets.TWITTER_ACCESS_TOKEN_SECRET }}
              TWITTER_API_KEY: ${{ secrets.TWITTER_API_KEY }}
              TWITTER_API_SECRET_KEY: ${{ secrets.TWITTER_API_SECRET_KEY }}
    
  3. After creating or updating .github/workflows/twitter-together.yml in your repository’s default branch, a pull request will be created with further instructions.

Happy collaborative tweeting!

Contribute

All contributions welcome!

Especially if you try twitter-together for the first time, I’d love to hear if you ran into any trouble. I greatly appreciate any documentation improvements to make things more clear, I am not a native English speaker myself.

See CONTRIBUTING.md for more information on how to contribute. You can also just say thanks 😊

Thanks to all contributors 💐

Thanks goes to these wonderful people (emoji key):

Jason Etcovitch
Jason Etcovitch

🎨 📖 💻
Erons
Erons

📖

This project follows the all-contributors specification. Contributions of any kind welcome!

How it works

twitter-together is using two workflows

  1. push event to publish new tweets
  2. pull_request event to validate and preview new tweets

The push event

When triggered by the push event, the script looks for added *.tweet files in the tweets/ folder or subfolders. If there are any, a tweet for each added tweet file is published.

If there is no tweets/ subfolder, the script opens a pull request creating the folder with further instructions.

The pull_request event

For the pull_request event, the script handles only opened and synchronize actions. It looks for new *.tweet files in the tweets/ folder or subfolders. If there are any, the length of each tweet is validated. If one is too long, a failed check run with an explanation is created. If all tweets are valid, a check run with a preview of all tweets is created.

Motivation

I think we can make Open Source more inclusive to people with more diverse interests by making it easier to contribute other things than code and documentation. I see a particularly big opportunity to be more welcoming towards editorial contributions by creating tools using GitHub’s Actions, Apps and custom user interfaces backed by GitHub’s REST & GraphQL APIs.

I’ve plenty more ideas that I’d like to build out. Please ping me on twitter if you’d like to chat: @gr2m.

License

MIT

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].