Giter VIP home page Giter VIP logo

reddit-cloud's Introduction

This repository has been moved to gitlab.com/paul-nechifor/reddit-cloud.

Old readme:

Reddit Cloud

This is a Reddit bot which generates word clouds for comments in submissions. I'm running it on user WordCloudBot2. You can read a longer description on my blog. Skip down to the instructions to run it by yourself.

Reddit Cloud Cover

Frequent questions and suggestions

  1. How does the bot operate?
    It gets submissions from /r/all ordered by hot. It reads all the comments in a submission, eliminates the common words, generates a word cloud, posts it to Imgur and posts the link in that submission.

  2. Do the images update?
    No. It would be impractical to revisit posts.

  3. The fonts are horrible and unreadable.
    It's supposed to be more artistic than readable.

  4. This bot is bad. Does anybody like this?
    Yes. Some people think it's nice. Please don't ban the bot if you're a mod.

  5. How are the word clouds generated? Where is that code?
    That's not in the bot source. It uses my fork of Andreas Mueller's word_cloud. It basically draws all words to a black and white canvas and when a new word is added it checks if writing it there would intersect other written pixels. You can imagine that intersecting complex font paths would be way more intensive.

  6. Do you take requests?
    I haven't written that do be done automatically, I probably should.

Instructions

Installation

I am going to go on a limb and suggest that you should probably use virtualenv in order to use this script.

Install the script's dependencies:

pip install cython # Need this first.
pip install -r requirements.txt

Configuration

Copy the sample configuration file:

cp config-sample.json config.json

You need to register a new Reddit account to use for your bot and change the username and password fields in config.json.

Get an Imgur account and then register for an application. Put the client ID you get in clientId.

Fonts

Place any OTF or TTF font files in fonts/. Fonts are randomly chosen from there when a word cloud is generated. Open Sans is included by default.

Usage

You normally start the bot by running:

python2 bot.py hot

To post a word cloud of somebody's comments as a reply to a post do:

python2 bot.py user-hist <username> <full-permalink-of-the-comment>

To view the help run:

python2 bot.py -h

Notes

If you are using Mac OS X, you might have to install a Fortran compiler in order to fulfill some of the dependencies.

License

MIT

reddit-cloud's People

Contributors

paul-nechifor avatar rudisimo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

reddit-cloud's Issues

Add more Stop Words

I personally think you should ignore more words than you are currently. For example: know, might, actually, use, edit, etc, etc.

A nice list of stop words can be found on this page under "A Very Long List"

I think you would get a better feeling for the topic of the tread if more of these words were ignored.

Please switch to a more readable typeface

I know you've covered this in your FAQ, but I strongly suggest considering a switch to something like Helvetica/Arial.

I know that you prefer the aesthetics of the current font and I respect your preference - taste is a highly subjective issue. But it's detrimental to the (ostensible) purpose of a word cloud, which is to indicate the relative frequency of each word. For the larger words it isn't a problem, but the smaller ones quickly become unreadable.

I could have an aesthetic preference for flipping the words upside-down and backwards, and that would be my subjective choice. But it would force the users to tilt their head and expend more effort than necessary to use the word cloud.

Effective design serves a purpose. The typeface that you've chosen actively works against the purpose of a word cloud.

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.