New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Twitter Integration #32

Open
agbilotia1998 opened this Issue Feb 13, 2018 · 24 comments

Comments

Projects
None yet
8 participants
@agbilotia1998

agbilotia1998 commented Feb 13, 2018

This idea is #- 5 proposed for GSOC 2018

Use GitHub’s Pull Requests & Reviews to collaborate on a shared twitter account. Tweets are simply files in a repository. The GItHub app would enforce the character limit by setting a pull request status. Tweets could be allowed to be scheduled or be queued based on a configured tweet schedule

I would like to work on this.

@j-f1

This comment has been minimized.

Show comment
Hide comment
@j-f1

j-f1 Feb 13, 2018

Cool idea!

What would happen if the files were edited after the tweet was posted?

j-f1 commented Feb 13, 2018

Cool idea!

What would happen if the files were edited after the tweet was posted?

@agbilotia1998

This comment has been minimized.

Show comment
Hide comment
@agbilotia1998

agbilotia1998 Feb 13, 2018

We can create a new tweet or add a tweet to the previous one or just delete the previous one and tweet the modified file.

Any further suggestions are welcomed!As I have not yet modelled the implementation part.

agbilotia1998 commented Feb 13, 2018

We can create a new tweet or add a tweet to the previous one or just delete the previous one and tweet the modified file.

Any further suggestions are welcomed!As I have not yet modelled the implementation part.

@agbilotia1998

This comment has been minimized.

Show comment
Hide comment
@agbilotia1998

agbilotia1998 Feb 13, 2018

@gr2m can you please elaborate more on this?

agbilotia1998 commented Feb 13, 2018

@gr2m can you please elaborate more on this?

@gr2m

This comment has been minimized.

Show comment
Hide comment
@gr2m

gr2m Feb 13, 2018

Contributor

I would follow what Twitter is doing: do not allow to edit a tweet. Once tweeted, the GitHub app could set CI status to false with an explanation.

What we could do is to support deletion, as twitter has support for that, too?

Contributor

gr2m commented Feb 13, 2018

I would follow what Twitter is doing: do not allow to edit a tweet. Once tweeted, the GitHub app could set CI status to false with an explanation.

What we could do is to support deletion, as twitter has support for that, too?

@agbilotia1998

This comment has been minimized.

Show comment
Hide comment
@agbilotia1998

agbilotia1998 Feb 13, 2018

Okay @gr2m thanks! I will start working on this.

agbilotia1998 commented Feb 13, 2018

Okay @gr2m thanks! I will start working on this.

@gr2m

This comment has been minimized.

Show comment
Hide comment
@gr2m

gr2m Feb 13, 2018

Contributor

@agbilotia1998 awesome :) Note that we would like to reserve this idea for Summer of Code applicants, so please don't share your code publicly. But if you have clarifying questions, feel free to comment here.

I will clarify this in the issues with the summer of code label

Contributor

gr2m commented Feb 13, 2018

@agbilotia1998 awesome :) Note that we would like to reserve this idea for Summer of Code applicants, so please don't share your code publicly. But if you have clarifying questions, feel free to comment here.

I will clarify this in the issues with the summer of code label

@gr2m gr2m added the Summer of Code label Feb 13, 2018

@agbilotia1998

This comment has been minimized.

Show comment
Hide comment
@agbilotia1998

agbilotia1998 commented Feb 13, 2018

Okay @gr2m :)

@itaditya

This comment has been minimized.

Show comment
Hide comment
@itaditya

itaditya Feb 14, 2018

Contributor

Hi @gr2m I would like to work on this for Summer of Code.

Contributor

itaditya commented Feb 14, 2018

Hi @gr2m I would like to work on this for Summer of Code.

@agbilotia1998

This comment has been minimized.

Show comment
Hide comment
@agbilotia1998

agbilotia1998 Feb 14, 2018

@gr2m I have sent you the invite link of the repository on which I am implementing this idea.Please accept it and monitor the progress and give some suggestions.Also please open issues on same repository regarding the functionalities that are to be added.

agbilotia1998 commented Feb 14, 2018

@gr2m I have sent you the invite link of the repository on which I am implementing this idea.Please accept it and monitor the progress and give some suggestions.Also please open issues on same repository regarding the functionalities that are to be added.

@gr2m

This comment has been minimized.

Show comment
Hide comment
@gr2m

gr2m Feb 15, 2018

Contributor

@agbilotia1998 sorry I can't give 1:1 feedback due to workload. Let's discuss questions to clarify the scope here so everyone can benefit.

@itaditya no need to ask for permission :) Everyone who wants to can use that idea to submit it to GSoC

Contributor

gr2m commented Feb 15, 2018

@agbilotia1998 sorry I can't give 1:1 feedback due to workload. Let's discuss questions to clarify the scope here so everyone can benefit.

@itaditya no need to ask for permission :) Everyone who wants to can use that idea to submit it to GSoC

@itaditya

This comment has been minimized.

Show comment
Hide comment
@itaditya

itaditya Feb 15, 2018

Contributor

Oh ok, so will you accept multiple interns for the same idea? @gr2m

Contributor

itaditya commented Feb 15, 2018

Oh ok, so will you accept multiple interns for the same idea? @gr2m

@gr2m

This comment has been minimized.

Show comment
Hide comment
@gr2m

gr2m Feb 15, 2018

Contributor

if the applications are great, of course :)

Contributor

gr2m commented Feb 15, 2018

if the applications are great, of course :)

@clarammdantas

This comment has been minimized.

Show comment
Hide comment
@clarammdantas

clarammdantas Feb 20, 2018

Hi! :)
I would also like to work on this. @agbilotia1998 can you invite me too to contribute?

clarammdantas commented Feb 20, 2018

Hi! :)
I would also like to work on this. @agbilotia1998 can you invite me too to contribute?

@gr2m

This comment has been minimized.

Show comment
Hide comment
@gr2m

gr2m Feb 20, 2018

Contributor

y'all can all use the idea for your submissions to Google Summer of Code & Rails Girls Summer of Code :)

Contributor

gr2m commented Feb 20, 2018

y'all can all use the idea for your submissions to Google Summer of Code & Rails Girls Summer of Code :)

@gr2m

This comment has been minimized.

Show comment
Hide comment
@gr2m

gr2m Mar 7, 2018

Contributor

I haven’t looked into it in detail but that project sounds like it might be related: https://github.com/mozillach/gh-projects-content-queue

GitHub
gh-projects-content-queue - A Twitter content curation queue based on GitHub projects.
Contributor

gr2m commented Mar 7, 2018

I haven’t looked into it in detail but that project sounds like it might be related: https://github.com/mozillach/gh-projects-content-queue

GitHub
gh-projects-content-queue - A Twitter content curation queue based on GitHub projects.
@abhijeetps

This comment has been minimized.

Show comment
Hide comment
@abhijeetps

abhijeetps Mar 7, 2018

The project sounds similar. And gives us ideas of some more features that one can work out while working on this project.

However, The project appears to be Mozilla (Possibly mozillach) only so far. (See Features>Bullet No. 10).

Here's a issue Be a GitHub Integration #77, where I guess, they thought of making it a GitHub Integration (Now, called GitHub Application), but they think that it's suitable for Mozilla only. (It would have been really cool if they built it as a GitHub App, though issue is still open. 😉 )

Here's another issue: Use GitHub Webhooks #76. Currently, it seems that there application currently uses polling to refresh data, and they want to migrate there application to GitHub Webhooks.

If we use Probot, then we will directly be depended and using GitHub Events. The app will be ready to be published in the GitHub Marketplace. 🎉

I liked the idea, and starred it, but I think implementation of this idea will be convenient, when built with Probot. 😄

Possibly, Mozilla will ditch their application, and will start using this when this app reaches GitHub Marketplace. 😉

abhijeetps commented Mar 7, 2018

The project sounds similar. And gives us ideas of some more features that one can work out while working on this project.

However, The project appears to be Mozilla (Possibly mozillach) only so far. (See Features>Bullet No. 10).

Here's a issue Be a GitHub Integration #77, where I guess, they thought of making it a GitHub Integration (Now, called GitHub Application), but they think that it's suitable for Mozilla only. (It would have been really cool if they built it as a GitHub App, though issue is still open. 😉 )

Here's another issue: Use GitHub Webhooks #76. Currently, it seems that there application currently uses polling to refresh data, and they want to migrate there application to GitHub Webhooks.

If we use Probot, then we will directly be depended and using GitHub Events. The app will be ready to be published in the GitHub Marketplace. 🎉

I liked the idea, and starred it, but I think implementation of this idea will be convenient, when built with Probot. 😄

Possibly, Mozilla will ditch their application, and will start using this when this app reaches GitHub Marketplace. 😉

@iamgrawal

This comment has been minimized.

Show comment
Hide comment
@iamgrawal

iamgrawal Mar 18, 2018

@gr2m Can you please elaborate this "Tweets are simply files in a repository", not able to get that.

iamgrawal commented Mar 18, 2018

@gr2m Can you please elaborate this "Tweets are simply files in a repository", not able to get that.

@gr2m

This comment has been minimized.

Show comment
Hide comment
@gr2m

gr2m Mar 18, 2018

Contributor

The way it could be built is that all tweets are actual files in the repository. Say there is a "tweets" folder. If you want to send out a tweet you create a pull request adding a new file with the tweet to that folder. The app could use the status API to set the status to error if the text is too long for example. Once it’s approved & merged, the app could tweet out using the configured twitter account, and maybe amend the file with a link to tweet for future reference.

For comparison, I’m working on a link sharing app backed by a GitHub repository. See https://octonews.org/. All the posts you see are files in this folder: https://github.com/octonews/octonews/tree/master/_data/news. And similar to octonews.org, the twitter app could also have a custom UI so people wouldn’t even need to use github.com but instead have a custom form that gives direct feedback e.g. if the tweet is too long, but uses the repository as its "database" and review system

Contributor

gr2m commented Mar 18, 2018

The way it could be built is that all tweets are actual files in the repository. Say there is a "tweets" folder. If you want to send out a tweet you create a pull request adding a new file with the tweet to that folder. The app could use the status API to set the status to error if the text is too long for example. Once it’s approved & merged, the app could tweet out using the configured twitter account, and maybe amend the file with a link to tweet for future reference.

For comparison, I’m working on a link sharing app backed by a GitHub repository. See https://octonews.org/. All the posts you see are files in this folder: https://github.com/octonews/octonews/tree/master/_data/news. And similar to octonews.org, the twitter app could also have a custom UI so people wouldn’t even need to use github.com but instead have a custom form that gives direct feedback e.g. if the tweet is too long, but uses the repository as its "database" and review system

@abhijeetps

This comment has been minimized.

Show comment
Hide comment
@abhijeetps

abhijeetps Mar 18, 2018

Hey @gr2m , from this, what I think is that the bot is making scheduled tweets.
Do we have to make it tweet events at some schedule or immediate when an event occurs on the GitHub repository?
Also, is storing the tweets in the file necessary? Because, when we are tweeting something, the tweet might be already published to the Twitter, and the best that we can do is to add a comment by the bot with a URL to the tweet.
What you say?

abhijeetps commented Mar 18, 2018

Hey @gr2m , from this, what I think is that the bot is making scheduled tweets.
Do we have to make it tweet events at some schedule or immediate when an event occurs on the GitHub repository?
Also, is storing the tweets in the file necessary? Because, when we are tweeting something, the tweet might be already published to the Twitter, and the best that we can do is to add a comment by the bot with a URL to the tweet.
What you say?

@gr2m

This comment has been minimized.

Show comment
Hide comment
@gr2m

gr2m Mar 18, 2018

Contributor

Do we have to make it tweet events at some schedule or immediate when an event occurs on the GitHub repository?

I would suggest to start out with tweeting directly. Scheduling would be a great feature to add in a later iteration

Also, is storing the tweets in the file necessary? Because, when we are tweeting something, the tweet might be already published to the Twitter, and the best that we can do is to add a comment by the bot with a URL to the tweet.

I’m not sure what you mean? The workflow I imagine is to create a new file with a pull request, the pull request can be analysed by the bot and when merged, tweeted out. So the flow would be

  1. Open pull request with new file for tweet
  2. Merge pull request
  3. New tweet posted by app
Contributor

gr2m commented Mar 18, 2018

Do we have to make it tweet events at some schedule or immediate when an event occurs on the GitHub repository?

I would suggest to start out with tweeting directly. Scheduling would be a great feature to add in a later iteration

Also, is storing the tweets in the file necessary? Because, when we are tweeting something, the tweet might be already published to the Twitter, and the best that we can do is to add a comment by the bot with a URL to the tweet.

I’m not sure what you mean? The workflow I imagine is to create a new file with a pull request, the pull request can be analysed by the bot and when merged, tweeted out. So the flow would be

  1. Open pull request with new file for tweet
  2. Merge pull request
  3. New tweet posted by app
@abhijeetps

This comment has been minimized.

Show comment
Hide comment
@abhijeetps

abhijeetps Mar 21, 2018

Hey @gr2m, what would be better?
Creating a new YAML files for each tweets or appending all tweets in a single file named tweet.yml?

abhijeetps commented Mar 21, 2018

Hey @gr2m, what would be better?
Creating a new YAML files for each tweets or appending all tweets in a single file named tweet.yml?

@gr2m

This comment has been minimized.

Show comment
Hide comment
@gr2m

gr2m Mar 21, 2018

Contributor

I’d make separate tweets. This will avoid conflicts if people work on drafts for multiple tweets at once

Contributor

gr2m commented Mar 21, 2018

I’d make separate tweets. This will avoid conflicts if people work on drafts for multiple tweets at once

@Iphytech

This comment has been minimized.

Show comment
Hide comment
@Iphytech

Iphytech Mar 25, 2018

I would like to work on this. @gr2m can I join in this idea?

Iphytech commented Mar 25, 2018

I would like to work on this. @gr2m can I join in this idea?

@abhijeetps

This comment has been minimized.

Show comment
Hide comment
@abhijeetps

abhijeetps Mar 25, 2018

@Iphytech , the idea is open for everyone for this GSoC. Anyone can submit proposals idea labelled with summer-of-code. Please see this comment: #32 (comment)

abhijeetps commented Mar 25, 2018

@Iphytech , the idea is open for everyone for this GSoC. Anyone can submit proposals idea labelled with summer-of-code. Please see this comment: #32 (comment)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment