GithubHelp home page GithubHelp logo

ea-jobs's Introduction

A Twitter Bot that retweets job offers relevant to the EA community

This bot regularly checks whether it has been mentioned by someone in a tweet.

  • If the tweet that mentions @effective_jobs is a stand-alone tweet, it will retweet that tweet
  • If the tweet that mentions @effective_jobs is a reply to some other tweet, it will retweet that other tweet to which the person mentioning @effective_jobs has replied to (A posts tweet, B replies with "@effective_jobs", and the bot retweets the original tweet A made).

This way you can tag job offers that are relevant to the EA community and make them more visible.

Feedback and feature requests

For feature requests and feedback, please open an issue on github (go to 'issues' and click 'new issue') or send me a direct message on Twitter @nikosbosse

Contributions

All contributions welcome! Please open a PR or an issue or get in touch with me directly

Acknowledgements

Thank you very much to D0TheMath nathanpmyoung, julianhazell and genuine_doubt

Running / testing the bot on your own

  • clone this repository by running git clone https://github.com/nikosbosse/ea-jobs
  • create a virtual python environment python -m venv env and activate it source env/bin/activate
  • install dependencies pip install -r requirements.txt
  • setup a new Twitter account and developer account. Instructions from a similar project here. Store your credentials in a file called .env
  • make a tweet by running python main.py

The bot is deployed to google servers. Some instructions on how to do that here

ea-jobs's People

Contributors

nikosbosse avatar tayler6000 avatar

Stargazers

Arsalan Yaqoob Malik avatar  avatar Nathan Blevins avatar Furkan Karadaş avatar

Watchers

 avatar  avatar

Forkers

will-howard

ea-jobs's Issues

It should only ever retweet the head of any set of messages it could theoretically retweet.

Currently it will retweet any top of thread tweet containing the handle or any tweet that is replied to by the handle. But any tweet subsequently replying to that tweet will contain the handle.

So if * is a tweet containing the handle 1*-2*-3* it will retweet 1* and 2* (maybe 1* twice) when it should only retweet 1*

Likewise if 1 - 2* - 3* -4* it will retweet 1,2* and 3* even though it should only retweet 1.

Message me if that doesn't make sense.

Something should be done to prevent trolling

Currently, the bot retweets every message it receives. I'm not sure if/when this will become a problem, but to be safe, we should add in some security in case somebody decides to make it retweet, "Hitler for President". I don't have a definite solution, but here are some ideas:

  • Create a whitelist of "trusted" Twitter users who are allowed to use the bot
  • Require a certain amount of engagement on the mention before a retweet is made (likes, more than one mention, etc)
  • Wait until it happens and have a command to delete bad messages
  • Create a blacklist of certain words. This probably won't have any effect, since tweets irrelevant to EA would still be possible

Avoid duplicates

Avoid retweeting a job if that link has already been retweeted.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.