<!-- Badges -->
<a href="https://rubygems.org/gems/redd">
<img src="http://img.shields.io/gem/v/redd.svg?style=flat-square" alt="Gem Version">
</a>
<a href="https://travis-ci.org/avinashbot/redd">
<img src="http://img.shields.io/travis/avinashbot/redd.svg?style=flat-square" alt="Build Status">
</a>
<a href="https://rubygems.org/gems/redd">
<img src="http://img.shields.io/gem/dt/redd.svg?style=flat-square" alt="Gem Downloads">
</a>
Redd is a batteries-included API wrapper for reddit.
- Supports most of the reddit API, including live threads and the beta mod-mail.
- Includes support for streaming new posts and comments.
- Built-in rate limiting and error handling.
- Automatic retrying of failed requests.
require 'redd'
session = Redd.it(
user_agent: 'Redd:RandomBot:v1.0.0 (by /u/Mustermind)',
client_id: 'PQgS0UaX9l70oQ',
secret: 'PsF_kVZrW8nSVCG5kNsIgl-AaXE',
username: 'RandomBot',
password: 'hunter2'
)
session.subreddit('all').comment_stream do |comment|
if comment.body.include?('roll a dice')
comment.reply("I just rolled a dice! It's a #{rand(1..6)}!")
elsif comment.body.include?('flip a coin')
comment.reply("I just flipped a coin! It's a #{%w(heads tails).sample}!")
end
end
Yes, that's all there is to it! You don't need to handle rate-limiting, refresh access tokens or protect against issues on reddit's end (like 5xx errors).
- The quickest way to get a feature into Redd is to raise a GitHub issue.
- Pull requests are also appreciated!
- Don't hesitate! There are no stupid questions!
This project is available under the MIT License. See LICENSE.txt for more details.
The Redd logo uses the FARRAY font by Coquet Adrien.
The Redd logo uses the FARRAY font by Coquet Adrien.