Coder Social home page Coder Social logo

twittermon's Introduction

About

I follow a bunch of people who span a bunch of topics and wanted a way to keep track of all the cool stuff they post. I figured there would certainly be a read-only type tool to just stream tweets for you to view. I wasn't able to find anything which is why I created this.

Tweetdeck was the first thing I went to, but it was kind of clunky and I couldn't get over the set column width thing. Maybe I'm just dumb, but it didn't feel right to me. The fact that you needed to run it in a web browseer was also not ideal.

For that reason I hacked this thing together. It gives me the ability to watch tweets stream by in my terminal while I'm working. Think of it like a monitoring dashboard or something, only for tweets :).

The app leans heavily on Twitter "lists". Each list should be a grouping of similar topics, say "sports" or "world news" or whatever. In the app, each list will have a dedicated column which will only display tweets from members of that list. I use private lists as a way to organize who I follow, but the list doesn't have to be private for things to work.

Install/Setup

Before you begin, you'll need a twitter dev account as you'll need to be able to interact with the twitter API. Once you have that, you can populate the config file with your access token(s).

To install, you can either download a compiled executable from the releases page, or, if you have go installed, do your typical go get:

go get github.com/esell/twitterMon

NOTE: sqlite is used for storage and the sqlite library I use depends on cgo. sqlite is only needed when starting with no lists.

Currently there are a few manual steps that need to be done for this POS to work. These steps assume you do NOT have any existing lists that you want to use. If you DO have existing lists you want to use, skip to step #5 and just use your existing list IDs in the config.

  1. Create a lists.csv file with the names of each list you want to create. Each name should be on its own line. There is an example in this repo.
  2. Run ./twitterMon -f > out.csv to generate a list of people you follow.
  3. Now the fun part. Open up out.csv and add a third value for each row, this will be the list you want to assign the account to. Again, the repo has an example of this. It is important that you use the same list names from list.csv, otherwise the app won't be able to map everything correctly.
  4. Run ./twitterMon -n -l to create the database structure, create the lists and then add accounts to each list based on the mapping from out.csv.
  5. Now you need to setup your config with the lists you want to display in the app. You'll need the list name and the list ID, which you can dump with ./twitterMon -d. repo == example.
  6. Run /.twitterMon and enjoy.

Keyboard Shortcuts

  • The tab key cycles through the columns, and the typical up/down (or pgup/pgdn) will scroll through the column.
  • ctrl+d will delete the focused column
  • ctrl+a will add a column

twittermon's People

Contributors

esell avatar

Watchers

 avatar  avatar

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.