Git Product home page Git Product logo

prawtools's Introduction

BBOE's PRAWtools

PRAWtools is a collection of tools that utilize reddit's API through PRAW. PRAWtools is currently made up of three utillities:

  • modutils
  • reddit_alert
  • subreddit_stats

PRAWtools Installation

Ubuntu/debian installation

sudo apt-get install python-setuptools
sudo easy_install pip
sudo pip install prawtools

Arch Linux installation

sudo pacman -S python-pip
sudo easy_install pip
sudo pip install prawtools

Mac OS X installation (only tested with Lion)

sudo easy_install pip
sudo pip install prawtools

modutils

modutils is a tool to assist reddit community moderators in moderating their community. At present, it is mostly useful for automatically building flair templates from existing user flair, however, it can also be used to quickly list banned users, contributors, and moderators.

modutils examples

Note: all examples require you to be a moderator for the subreddit

  1. List banned users for subreddit foo

     modutils -l banned foo
    
  2. Get current flair for subreddit bar

     modutils -f bar
    
  3. Synchronize flair templates with existing flair for subreddit baz, building non-editable templates for any flair whose flair-text is common among at least 2 users.

     modutils --sync --ignore-css --limit=2 baz
    
  4. Send a message to approved submitters of subreddit blah. You will be prompted for the message, and asked to verify prior to sending the messages.

     modutils --message contributors --subject "The message subject" blah
    

reddit_alert

reddit_alert will notify you when certain keywords are used in comments. For instance, to be notified whenever your username is mentioned you might run it as:

reddit_alert bboe

You can receive multiple alerts by specifying multiple keywords separated by spaces. If you want to be alerted for keyphrases (those containing spaces) you must put quotes around the term:

reddit_alert bboe praw "reddit api"

By default reddit_alert will only provide links to the same terminal screen (or command prompt) it's running in. To be notified via a reddit message specify the -m USER option:

reddit_alert -m bboe bboe praw "reddit_api"

When using the -m USER you will be prompted to login.

By default comments from all subreddits are considered. If you want to restrict the notifications to only a few subreddits use one or more -s SUBREDDIT options:

reddit_alert -m bboe -s redditdev -s learnpython bboe praw "reddit_api"

Finally, you may want to ignore notifications from certain users. You can use the -I USER option to ignore comments from a certain user:

reddit_alert -m bboe -I bizarrobboe bboe

To see a complete set of available options run:

reddit_alert --help

subreddit_stats

subreddit_stats is a tool to provide basic statistics on a subreddit. To see the what sort of output subreddit stats generates check out /r/subreddit_stats.

The tool will only analyze up to 1,000 submissions.

subreddit_stats examples

  1. Generate stats for subreddit foo for the last 30 days with extra verbose output. Post results to subreddit bar as user user.

     subreddit_stats -d30 -vv -R bar -u user foo
    

The -d30 flag will get all submissions from the last 30 days, but will ignore the last three days. As a result, you may experience messages like "No submissions found". To analyze one month, try:

    subreddit_stats -tmonth -vv -R bar -u user foo

Similarly, to analyze one year:

    subreddit_stats -tyear -vv -R bar -u user foo
  1. Generate stats for subreddit blah for the top posts of the year. Post the results to the same subreddit as user resu.

     subreddit_stats --top year -u resu blah
    
  2. To see other possible options

     subreddit_stats --help
    

prawtools's People

Contributors

bboe avatar wtchen avatar kowey avatar

Watchers

James Cloos 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.