turnage / graw Goto Github PK
View Code? Open in Web Editor NEWGolang Reddit API Wrapper
License: MIT License
Golang Reddit API Wrapper
License: MIT License
I've tried in a few different ways. Like for example:
mp := make(map[string]string)
harvest, err := bot.ListingWithParams("/" + rippingType + "/" + rippingIdentifier, mp)
mp["after"] = lastPostId
mp["sort"] = "newest" (as well as "new")
then saw in the rsort package there is a Sorter struct then tried this:
type Sorter interface {
Sort(h reddit.Harvest) []string
}
var p Sorter
newHarvest := Sorter.Sort(p, harvest)
and
type Sorter interface {
Sort(h reddit.Harvest) []string
}
newSorter := reddit.Sorter.New()
newHarvest := Sorter.Sort(newSorter, harvest)
but of course i'm missing something here as well. Unless you can't sort a listing?
Line 46 in a177df1
I should define and export error vars for common errors such as Reddit being temporarily unavailable so bots that implement Failer can compare against them and make better decisions about whether to stop.
Hey so, I think there is another problem because my bot is still continually crashing (every 16 hours instead of every 3 hours now). I have a feeling there is a similar kind of leak, but I am unable to find it for some reason and might have to debug my code more systematically than I am. I wanted to create the issue just in case you were aware of something that might be causing this that I'm not seeing.
Using the current GetPostSelf
I've run into problems when sending large (over 6k chars) payloads since payloads get encoded and added to the URL. I've run into two different times where this has raised an issue.
Once just a random 400
error (reproducible) and the second time -with a larger payload- it gave me a 414
URI too long error (reproducible as well)
This could be fixed by sending the body in the actual body of the request.
I've started some changes here that should be non-breaking, but would like to know if you're also working on something like this?
It is impossible to replace that client or alter it in any way as it is private.
Hello,
I'm using graw for an application that parses all posts and comments of a subreddit (/r/soccerstreams). Additionally, when a post is created it is getting polled for updates every 5 minutes (in order to check comment updates). The graw Rate
is set to 15 seconds.
It seems like the event stream stops for me for no reason I can think of for ~1 hour and then gives me a batch of events when it resumes. I've set up some monitoring on my application that checks the time when a comment/post was created vs. when my application received it:
You can see that I received a ton of Comment updates at around 18:45 with the difference between the comment being created and the comment being handled in graw higher than 90 seconds.
You can find my code on my GitHub, here are the most relevant links:
If you need more information, please do not hesitate to get back here.
As a side note, it seems like graw doesn't log much, I'm trying to set the graw logger but I don't think I've ever seen it output anything.
Thank you for even reading this already!
I want to stream comments, yet the default 25 comments per call of
https://www.reddit.com/r/redditdev/comments.json
is not enough. Reddit does have an option to extend the size fo the return by doing
https://www.reddit.com/r/redditdev/comments.json?limit=100
,
but I am not aware that graw implements this yet.
What I had in mind:
harvest, _ := bot.Listing("/r/bottesting", "")
for _, comment := range harvest.Comments[:30] {
// Do stuff with comment.Body
}
What you currently have to do to access them doesn't work exactly. (Or at least I can't figure it out. I'm not sure if I'm doing it wrong.)
// At least in my testing, this doesn't work.
harvest, _ := bot.Listing("/r/bottesting", "")
for _, post := range harvest.Posts[:5] {
for _, reply := range post.Replies[:5] {
// Do stuff with reply.Body
}
}
Hi I trying use this package to stream all mentions of one user
package main
import (
"fmt"
"log"
"github.com/turnage/graw/reddit"
"github.com/turnage/graw/streams"
)
func main() {
bot, err := reddit.NewBotFromAgentFile("file.bot", 0)
if err != nil {
fmt.Println("Failed to create bot handle: ", err)
return
}
kill := make(chan bool)
errorChanel := make(chan error)
resp, err := streams.Mentions(bot, kill, errorChanel)
comment := <-resp
if err != nil {
log.Fatal(err)
}
fmt.Printf("%s", comment.Body)
}
This code works to get the mention but dont stream all the news whow can make that? I search for documentation and cant found
Thanks
Just tried to set up mention monitoring and such, and I've started getting:
panic: runtime error: index out of range
goroutine 39 [running]:
panic(0x8407e0, 0xc42000c100)
/usr/local/go/src/runtime/panic.go:500 +0x1a1
github.com/turnage/graw/streams/internal/monitor.(*monitor).fixTip(0xc4203d9c80, 0x0, 0x0)
/home/vendan/go/src/github.com/turnage/graw/streams/internal/monitor/monitor.go:128 +0x4ed
github.com/turnage/graw/streams/internal/monitor.(*monitor).Update(0xc4203d9c80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
/home/vendan/go/src/github.com/turnage/graw/streams/internal/monitor/monitor.go:80 +0x33e
github.com/turnage/graw/streams.flow(0xaa7280, 0xc4203d9c80, 0xc420134120, 0xc420134180, 0xc420294720, 0xc420294780, 0xc4202947e0)
/home/vendan/go/src/github.com/turnage/graw/streams/streams.go:230 +0x7c
created by github.com/turnage/graw/streams.stream
/home/vendan/go/src/github.com/turnage/graw/streams/streams.go:207 +0xe9
whenever I mention my bot
https://www.reddit.com/user/{user}/m/{feed_name}/top.json
I was getting 401s when getting started and it took me some time to notice that I should have selected Script rather than Web App when registering my app. This is shown in the screenshot of the registered app, but not specifically called out so it's easy to miss.
I am able to subscribe to subreddits and do actions based on posts using the documentation but I am having a hard time figuring out how to do the same based on a user. Say I post in subreddit A and i want to check that users post history to see if they posted the same thing in subreddit B.
are there resources or an example that I can view?
Hey, I'm not sure if this is at all my fault, but I got this stack trace today. I can't figure out what happened wrong and was wondering if you had seen anything like it before or knew something that I didn't. Thanks!
fatal error: fault
[signal SIGSEGV: segmentation violation code=0x80 addr=0x0 pc=0x4a82e8]
goroutine 212813943 [running]:
runtime.throw(0xb9e8b4, 0x5)
/usr/local/go/src/runtime/panic.go:605 +0x95 fp=0xc422f0e970 sp=0xc422f0e950 pc=0x42bc15
runtime.sigpanic()
/usr/local/go/src/runtime/signal_unix.go:374 +0x227 fp=0xc422f0e9c0 sp=0xc422f0e970 pc=0x4424c7
reflect.StructTag.Lookup(0x646465722e777777, 0x6d6f632e7469, 0xba451f, 0xc, 0xc422f0ee90, 0xfc0e50, 0xc4201b5030)
/usr/local/go/src/reflect/type.go:1165 +0x38 fp=0xc422f0ea20 sp=0xc422f0e9c0 pc=0x4a82e8
reflect.StructTag.Get(0x646465722e777777, 0x6d6f632e7469, 0xba451f, 0xc, 0x0, 0xa6b9c0)
/usr/local/go/src/reflect/type.go:1148 +0x49 fp=0xc422f0ea68 sp=0xc422f0ea20 pc=0x4a8289
vendor/github.com/mitchellh/mapstructure.(*Decoder).decodeStruct(0xc421a01370, 0x0, 0x0, 0xaac580, 0xc425d207b0, 0xb92040, 0xc4236cec00, 0x199, 0xc422f0f4e8, 0x4109d2)
/go/src/vendor/github.com/mitchellh/mapstructure/mapstructure.go:706 +0xe26 fp=0xc422f0f400 sp=0xc422f0ea68 pc=0x6ec176
vendor/github.com/mitchellh/mapstructure.(*Decoder).decode(0xc421a01370, 0x0, 0x0, 0xaac580, 0xc425d207b0, 0xb92040, 0xc4236cec00, 0x199, 0x1, 0xc42956a380)
/go/src/vendor/github.com/mitchellh/mapstructure/mapstructure.go:225 +0x6c3 fp=0xc422f0f518 sp=0xc422f0f400 pc=0x6e64d3
vendor/github.com/mitchellh/mapstructure.(*Decoder).Decode(0xc421a01370, 0xaac580, 0xc425d207b0, 0x0, 0x1)
/go/src/vendor/github.com/mitchellh/mapstructure/mapstructure.go:180 +0xb3 fp=0xc422f0f578 sp=0xc422f0f518 pc=0x6e5de3
vendor/github.com/mitchellh/mapstructure.Decode(0xaac580, 0xc425d207b0, 0xa51900, 0xc4236cec00, 0x0, 0x0)
/go/src/vendor/github.com/mitchellh/mapstructure/mapstructure.go:122 +0xa4 fp=0xc422f0f5b8 sp=0xc422f0f578 pc=0x6e59b4
vendor/github.com/turnage/graw/reddit.parsePost(0xc422f0f728, 0xc425d207b0, 0xba3d68, 0xb)
/go/src/vendor/github.com/turnage/graw/reddit/parse.go:183 +0x6a fp=0xc422f0f600 sp=0xc422f0f5b8 pc=0x6f125a
vendor/github.com/turnage/graw/reddit.parseListing(0xc422a6eea0, 0x1a1e2, 0x1fe00, 0xa51b00, 0xc422a6eea0, 0x0, 0x0, 0x0, 0x0, 0xc423979810, ...)
/go/src/vendor/github.com/turnage/graw/reddit/parse.go:147 +0x559 fp=0xc422f0f750 sp=0xc422f0f600 pc=0x6f0b39
vendor/github.com/turnage/graw/reddit.parseRawListing(0xc4230c8000, 0x1a1e2, 0x1fe00, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
/go/src/vendor/github.com/turnage/graw/reddit/parse.go:79 +0x11b fp=0xc422f0f7c8 sp=0xc422f0f750 pc=0x6f027b
vendor/github.com/turnage/graw/reddit.(*parserImpl).parse(0xfea8d8, 0xc4230c8000, 0x1a1e2, 0x1fe00, 0x1fe00, 0x0, 0x0, 0x411200, 0x120, 0xb1fda0, ...)
/go/src/vendor/github.com/turnage/graw/reddit/parse.go:54 +0x5a fp=0xc422f0f888 sp=0xc422f0f7c8 pc=0x6efe1a
vendor/github.com/turnage/graw/reddit.(*reaperImpl).reap(0xc420b32780, 0xc4227f4b00, 0xa, 0xc4272b6a20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
/go/src/vendor/github.com/turnage/graw/reddit/reaper.go:76 +0x239 fp=0xc422f0f978 sp=0xc422f0f888 pc=0x6f16e9
vendor/github.com/turnage/graw/reddit.(*scanner).Listing(0xc4203a0400, 0xc4227f4b00, 0xa, 0xc423962de0, 0x9, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
/go/src/vendor/github.com/turnage/graw/reddit/scanner.go:42 +0x1f1 fp=0xc422f0fa98 sp=0xc422f0f978 pc=0x6f21b1
vendor/github.com/turnage/graw/reddit.(*bot).Listing(0xc420b35140, 0xc4227f4b00, 0xa, 0xc423962de0, 0x9, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
<autogenerated>:1 +0xde fp=0xc422f0fbb8 sp=0xc422f0fa98 pc=0x6f312e
vendor/github.com/turnage/graw/streams/internal/monitor.(*monitor).harvest(0xc429fe9c80, 0xc423962de0, 0x9, 0x14, 0xc424068000, 0x14, 0x0, 0x0, 0x0, 0x0, ...)
/go/src/vendor/github.com/turnage/graw/streams/internal/monitor/monitor.go:96 +0xc9 fp=0xc422f0fce8 sp=0xc422f0fbb8 pc=0x9c9bc9
vendor/github.com/turnage/graw/streams/internal/monitor.(*monitor).Update(0xc429fe9c80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
/go/src/vendor/github.com/turnage/graw/streams/internal/monitor/monitor.go:87 +0xd2 fp=0xc422f0fe58 sp=0xc422f0fce8 pc=0x9c97c2
vendor/github.com/turnage/graw/streams.flow(0xf6ea20, 0xc429fe9c80, 0xc422708cc0, 0xc422708d20, 0xc4236d57a0, 0xc4236d5800, 0xc4236d5860)
/go/src/vendor/github.com/turnage/graw/streams/streams.go:253 +0x1c7 fp=0xc422f0ffa8 sp=0xc422f0fe58 pc=0x9cb2b7
runtime.goexit()
/usr/local/go/src/runtime/asm_amd64.s:2337 +0x1 fp=0xc422f0ffb0 sp=0xc422f0ffa8 pc=0x45c131
created by vendor/github.com/turnage/graw/streams.stream
/go/src/vendor/github.com/turnage/graw/streams/streams.go:230 +0xe9
As a Reddit mod, having new modmail stream functionality would be very helpful. It's API endpoints are a bit different from a normal listing, so it's a bit more of a PITA to implement
Trying something simple like,
package main
import (
"fmt"
"github.com/turnage/graw/reddit"
)
func main() {
bot, err := reddit.NewBotFromAgentFile("buysale.agent", 0)
if err != nil {
fmt.Println("Failed to create bot handle: ", err)
return
}
harvest, err := bot.Thread("https://www.reddit.com/r/hai_test/comments/9qa4wo/buyselltrade_102033/?ref=share&ref_source=link")
if err != nil {
fmt.Println("fail: ", err)
return
}
fmt.Println(harvest.Title)
}
receiving,
fail: Get https://oauth.reddit.com/https://www.reddit.com/r/hai_test/comments/9qa4wo/buyselltrade_102033/%3Fref=share&ref_source=link.json?raw_json=1: invalid request :path "https://www.reddit.com/r/hai_test/comments/9qa4wo/buyselltrade_102033/%3Fref=share&ref_source=link.json?raw_json=1"
I'm trying to do something very simple... sending out simple direct messages to a bulk of users.
My problem is that the examples only showcase how to write bots that react to certain events...
The way I see it graw is the most complete reddit api implementation in Go but can I use it for something like this?
Edit:
In Python this would be a 4 line script but I would like to do this in Go because the processing that needs to be done before is already happening there
import praw
r = praw.Reddit(user_agent='...')
r.login()
r.send_message('user', 'subject', 'subject')
There should be a documented guideline for contributions for external contributors. It should outline:
At first, a CONTRIBUTING.md would certainly suffice in laying out the ground principles for contribution.
Is there any way we could set up monitoring for every comment in a subreddit? I can get the list of all comments at a url like https://www.reddit.com/r/generalsio/comments.json
Using the snippet provided in the doc for a logged out user (https://godoc.org/github.com/turnage/graw/reddit) I am getting the following error:
"runtime error: invalid memory address or nil pointer dereference"
Link to the go sandbox with this error: https://play.golang.org/p/_UCIn3ClpzF
Any ideas whats wrong? I'm fairly new to Go so I'm hoping it is a simple mistake.
Clarify whether implementers of the internal client interface should be responsible for checking http return codes as baseClient
does.
reaper
will now depend on this behavior through the interface after #64
Commit 2b1f1db breaks trivial script implementations.
E.g.
package main
import (
"fmt"
"github.com/turnage/graw/reddit"
)
const (
UserAgent = "darwin:grawtest:0.0.1 (by /u/iwinulose)"
)
func main() {
script, err := reddit.NewScript(UserAgent, 0)
if err != nil {
fmt.Println("Unable to create script:", err)
return
}
h, err := script.Listing("/u/iwinulose", "")
if err != nil {
fmt.Println("Listing err", err)
return
}
for _, p := range h.Posts {
fmt.Println("Got post", p.Title)
}
}
$ go run test.go
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x18 pc=0x72018f]
goroutine 1 [running]:
github.com/turnage/graw/reddit.(*agentForwarder).RoundTrip(0xc00000e280, 0xc000148100, 0xc00000e280, 0x0, 0x0)
/home/charlesduyk/go/src/github.com/turnage/graw/reddit/agentforwarder.go:17 +0xcf
net/http.send(0xc000148000, 0x8587a0, 0xc00000e280, 0x0, 0x0, 0x0, 0xc000010040, 0xffffffffffffffff, 0x1, 0x0)
/usr/local/go/src/net/http/client.go:252 +0x43e
net/http.(*Client).send(0xc00007cea0, 0xc000148000, 0x0, 0x0, 0x0, 0xc000010040, 0x0, 0x1, 0x7ff6b0dca400)
/usr/local/go/src/net/http/client.go:176 +0xfa
net/http.(*Client).do(0xc00007cea0, 0xc000148000, 0x0, 0x0, 0x0)
/usr/local/go/src/net/http/client.go:699 +0x44a
net/http.(*Client).Do(...)
/usr/local/go/src/net/http/client.go:567
github.com/turnage/graw/reddit.(*baseClient).Do(0xc000010030, 0xc000148000, 0x0, 0x0, 0x0, 0x0, 0x0)
/home/charlesduyk/go/src/github.com/turnage/graw/reddit/client.go:36 +0x7c
github.com/turnage/graw/reddit.(*reaperImpl).reap(0xc000146000, 0x7d8aa8, 0xc, 0xc00007ced0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
/home/charlesduyk/go/src/github.com/turnage/graw/reddit/reaper.go:68 +0x17e
github.com/turnage/graw/reddit.(*scanner).Listing(0xc000012d50, 0x7d8aa8, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
/home/charlesduyk/go/src/github.com/turnage/graw/reddit/scanner.go:42 +0x1a2
main.main()
/home/charlesduyk/versionControl/dedup.git/cmd/dedup/dedup.go:20 +0x135
Checkout 2b1f1db^ to return to a working state.
Any time a post is saved as the current "tip", it renders the bot engine vulnerable to having its sync with the subreddit(s) it monitors derailed by an inconsiderate user deleting their post.
I'm trying to get all the posts from a subreddit/user page.
Notice that, for instance, listing #94 is the same in all four iterations of listing posts and also with each new iteration the listing gets decreased by one post.
I think my issue is with the infinite loop but I'm not sure.
My code:
package main
import (
"fmt"
"github.com/turnage/graw/reddit"
)
var ripType = "r"
var identifier = "yogapants"
var lastPostID string
func main(){
bot, err := reddit.NewBotFromAgentFile("creds", 0)
if err != nil {
fmt.Println("Failed to fetch credentials ", err)
return
}
for {
harvest, err := bot.Listing("/" + ripType + "/" + identifier, lastPostID)
if err != nil {
fmt.Printf("Failed to fetch /%s/%s: %v\n", ripType, identifier, err)
return
}
for i := 0; i < len(harvest.Posts); i++ {
post := harvest.Posts[i]
fmt.Printf("[%d] Current post: %s, title: %s, last post: %s\n", i, post.Name, post.URL, lastPostID)
}
lastPostID = harvest.Posts[len(harvest.Posts)-1].Name
}
}
My output:
[1] Current post: t3_e07mgl, title: https://i.redd.it/95ice5022b041.jpg, last post:
[2] Current post: t3_e08il8, title: https://gfycat.com/impassionedopulentislandwhistler, last post:
[3] Current post: t3_e080nb, title: https://i.imgur.com/czPRzsT.jpg, last post:
[4] Current post: t3_e04e6s, title: https://i.redd.it/0l5gdxj5y9041.jpg, last post:
[5] Current post: t3_dzywqv, title: https://i.redd.it/tpdcrf3ym7041.jpg, last post:
[6] Current post: t3_e04a78, title: https://gfycat.com/richangelicarabianoryx, last post:
[7] Current post: t3_e02t7k, title: https://i.imgur.com/IprundK.jpg, last post:
[8] Current post: t3_e0471b, title: https://i.imgur.com/2TizHCb.jpg, last post:
[9] Current post: t3_dzs07u, title: https://i.imgur.com/Ezmhov1.jpg, last post:
[10] Current post: t3_dzyip6, title: https://i.redd.it/bxksuggke7041.jpg, last post:
[11] Current post: t3_e023p8, title: https://i.imgur.com/8himz7r.gifv, last post:
[12] Current post: t3_dzmg5h, title: https://i.imgur.com/eReHtQt.jpg, last post:
[13] Current post: t3_dzpn1v, title: https://i.redd.it/eu1bgb3vqxz31.jpg, last post:
[14] Current post: t3_dzkmk7, title: https://i.redd.it/rylueoul22041.jpg, last post:
[15] Current post: t3_e019lv, title: https://i.redd.it/n9rsav1ot8041.jpg, last post:
[16] Current post: t3_dzrtl8, title: https://i.imgur.com/Yo0Y9Nd.jpg, last post:
[17] Current post: t3_dzwoqr, title: https://i.imgur.com/RPz7Vbv.jpg, last post:
[18] Current post: t3_dzkrys, title: https://i.redd.it/8exlwv8j42041.jpg, last post:
[19] Current post: t3_dznwzx, title: https://i.redd.it/7t09sw1763041.jpg, last post:
[20] Current post: t3_dzkmt0, title: https://i.redd.it/ckup7u5o22041.jpg, last post:
[21] Current post: t3_dzuqv2, title: https://i.imgur.com/KiLCGIo.jpg, last post:
[22] Current post: t3_dzssq5, title: https://i.redd.it/r3p844bzs4041.jpg, last post:
[23] Current post: t3_dzsn3b, title: https://i.imgur.com/IqXDFaO.jpg, last post:
[24] Current post: t3_dzmuq7, title: https://i.redd.it/cjzlx6fit2041.jpg, last post:
[25] Current post: t3_dzk164, title: https://i.redd.it/sgn485wju1041.jpg, last post:
[26] Current post: t3_dzklsx, title: https://i.redd.it/yorr8kwa22041.jpg, last post:
[27] Current post: t3_dzgjym, title: https://i.redd.it/jvpbfty680041.jpg, last post:
[28] Current post: t3_dzukqt, title: https://i.imgur.com/u3vmUI3.jpg, last post:
[29] Current post: t3_dzkywu, title: https://i.redd.it/a3k9tdet62041.jpg, last post:
[30] Current post: t3_dz6wy4, title: https://gfycat.com/bleakfatcurassow, last post:
[31] Current post: t3_dz9xc9, title: https://i.redd.it/5nyji9hhaxz31.jpg, last post:
[32] Current post: t3_dzk5q6, title: https://i.imgur.com/Ijc9QzJ.jpg, last post:
[33] Current post: t3_dzlwsm, title: https://i.redd.it/5nj29rd3i2041.jpg, last post:
[34] Current post: t3_dz8sz6, title: https://gfycat.com/violetuncommonalbacoretuna, last post:
[35] Current post: t3_dz8qi7, title: https://i.imgur.com/eHjUY9W.jpg, last post:
[36] Current post: t3_dzcfoe, title: https://i.imgur.com/4CuYn7q.jpg, last post:
[37] Current post: t3_dzbb9f, title: https://i.imgur.com/T1lVKLg.jpg, last post:
[38] Current post: t3_dyzca4, title: https://i.imgur.com/pGRIwiJ.jpg, last post:
[39] Current post: t3_dz5gd6, title: https://i.redd.it/i52ltr50pvz31.jpg, last post:
[40] Current post: t3_dz5w14, title: https://i.redd.it/9k74vx5juvz31.jpg, last post:
[41] Current post: t3_dz46n4, title: https://i.redd.it/gkhgboeq8vz31.jpg, last post:
[42] Current post: t3_dzb3sa, title: https://gfycat.com/warmheartedboldkillerwhale, last post:
[43] Current post: t3_dz6259, title: https://i.imgur.com/Qd0WnQD.jpg, last post:
[44] Current post: t3_dz263d, title: https://i.imgur.com/Js3e3G1.jpg, last post:
[45] Current post: t3_dywlrd, title: https://gfycat.com/thickdistortedethiopianwolf, last post:
[46] Current post: t3_dz2zra, title: https://i.imgur.com/1IpoanE.jpg, last post:
[47] Current post: t3_dysttb, title: https://i.imgur.com/3GtCVKS.jpg, last post:
[48] Current post: t3_dyqp86, title: https://i.redd.it/a2ganho0jpz31.jpg, last post:
[49] Current post: t3_dyjtsq, title: https://i.imgur.com/1dwSIZl.jpg, last post:
[50] Current post: t3_dyqpek, title: https://gfycat.com/safeunfoldeddaddylonglegs, last post:
[51] Current post: t3_dyz49p, title: https://i.redd.it/xq9ba4riwsz31.jpg, last post:
[52] Current post: t3_dyq4bd, title: https://imgur.com/Mh1sfgq.jpeg, last post:
[53] Current post: t3_dz1nkq, title: https://i.redd.it/jxg9nstt8uz31.jpg, last post:
[54] Current post: t3_dyml70, title: https://i.redd.it/i5xrqtn05oz31.jpg, last post:
[55] Current post: t3_dytaid, title: https://gfycat.com/gloriousimpartialharvestmouse, last post:
[56] Current post: t3_dyk3vn, title: https://imgur.com/ibHocTs, last post:
[57] Current post: t3_dyl6tf, title: https://i.imgur.com/reHFldi.jpg, last post:
[58] Current post: t3_dyl75d, title: https://i.imgur.com/odmsWUx.jpg, last post:
[59] Current post: t3_dy5amo, title: https://i.redd.it/b62oldukzgz31.jpg, last post:
[60] Current post: t3_dyh1dc, title: https://i.imgur.com/dgBfmWO.jpg, last post:
[61] Current post: t3_dygb38, title: https://i.redd.it/i66uilyt0lz31.jpg, last post:
[62] Current post: t3_dyitpe, title: https://i.redd.it/zo6zb205hmz31.jpg, last post:
[63] Current post: t3_dye2gp, title: https://gfycat.com/vacantbogusjellyfish, last post:
[64] Current post: t3_dyjrws, title: https://i.redd.it/r7jtika8xmz31.png, last post:
[65] Current post: t3_dyc0u0, title: https://i.redd.it/lxa1770bajz31.jpg, last post:
[66] Current post: t3_dyeq0f, title: https://i.redd.it/qx4y4hjtakz31.jpg, last post:
[67] Current post: t3_dyckl9, title: https://i.imgur.com/wSZzU83.jpg, last post:
[68] Current post: t3_dyw2jv, title: https://i.redd.it/jvg5mwnsgrz31.jpg, last post:
[69] Current post: t3_dy1yv2, title: https://i.redd.it/i363ge2pjfz31.jpg, last post:
[70] Current post: t3_dy47fc, title: https://i.imgur.com/jpb3Iq3.jpg, last post:
[71] Current post: t3_dy3x2c, title: https://gfycat.com/shimmeringsnoopybactrian, last post:
[72] Current post: t3_dy748h, title: https://i.imgur.com/GBiT8xR.jpg, last post:
[73] Current post: t3_dy2s2i, title: https://i.redd.it/fvy9dlgsyfz31.jpg, last post:
[74] Current post: t3_dxtyoo, title: https://i.imgur.com/NPvGhDi.png, last post:
[75] Current post: t3_dxtx6f, title: https://i.redd.it/3kgib4t9rbz31.jpg, last post:
[76] Current post: t3_dxqwwy, title: https://gfycat.com/watchfulshorttermiaerismetalmark, last post:
[77] Current post: t3_dxzivh, title: https://i.imgur.com/rYcAfur.jpg, last post:
[78] Current post: t3_dxwhl3, title: https://i.imgur.com/Vyx2OQW.jpg, last post:
[79] Current post: t3_dxr7oc, title: https://i.imgur.com/qCEvBys.jpg, last post:
[80] Current post: t3_dxpklr, title: https://gfycat.com/happygoluckyflusteredfoal, last post:
[81] Current post: t3_dxg1ld, title: https://gfycat.com/shadowyanguishedcopepod, last post:
[82] Current post: t3_dxkhdc, title: https://imgur.com/0TDmoAO, last post:
[83] Current post: t3_dxfcgz, title: https://gfycat.com/downrightsmoggyguineapig, last post:
[84] Current post: t3_dxi30j, title: https://gfycat.com/blueregalinchworm, last post:
[85] Current post: t3_dx9fxs, title: https://i.redd.it/nqohnn1zx2z31.jpg, last post:
[86] Current post: t3_dxf95x, title: https://i.imgur.com/RTFDc73.jpg, last post:
[87] Current post: t3_dxcijg, title: https://i.redd.it/me8mnznt24z31.jpg, last post:
[88] Current post: t3_dx6xt7, title: https://i.redd.it/ygfromxfw1z31.png, last post:
[89] Current post: t3_dxapki, title: https://gfycat.com/jovialjoyousfalcon, last post:
[90] Current post: t3_dx4zl8, title: https://imgur.com/ucZWADq, last post:
[91] Current post: t3_dxfwb2, title: https://i.redd.it/v58362gxd5z31.jpg, last post:
[92] Current post: t3_dxd309, title: https://i.imgur.com/Kv1ievf.jpg, last post:
[93] Current post: t3_dx8qyt, title: https://i.imgur.com/rzXrhNl.jpg, last post:
[94] Current post: t3_dwvb6m, title: https://i.redd.it/gc2j7529fwy31.jpg, last post:
[95] Current post: t3_dx2par, title: https://i.imgur.com/PXXWdiU.jpg, last post:
[96] Current post: t3_dwz9lj, title: https://i.imgur.com/X6SLSUO.gifv, last post:
[97] Current post: t3_dx282q, title: https://i.redd.it/fh9jqgrr7zy31.jpg, last post:
[98] Current post: t3_dx0apk, title: https://i.redd.it/bfjh93y5cyy31.jpg, last post:
[99] Current post: t3_dx1ull, title: https://i.redd.it/7skrb7tuguy31.jpg, last post:
[0] Current post: t3_e04b7u, title: https://gfycat.com/impassionedopulentislandwhistler, last post: t3_dx1ull
[1] Current post: t3_e07mgl, title: https://i.redd.it/95ice5022b041.jpg, last post: t3_dx1ull
[2] Current post: t3_e08il8, title: https://gfycat.com/impassionedopulentislandwhistler, last post: t3_dx1ull
[3] Current post: t3_e080nb, title: https://i.imgur.com/czPRzsT.jpg, last post: t3_dx1ull
[4] Current post: t3_e04e6s, title: https://i.redd.it/0l5gdxj5y9041.jpg, last post: t3_dx1ull
[5] Current post: t3_dzywqv, title: https://i.redd.it/tpdcrf3ym7041.jpg, last post: t3_dx1ull
[6] Current post: t3_e04a78, title: https://gfycat.com/richangelicarabianoryx, last post: t3_dx1ull
[7] Current post: t3_e02t7k, title: https://i.imgur.com/IprundK.jpg, last post: t3_dx1ull
[8] Current post: t3_e0471b, title: https://i.imgur.com/2TizHCb.jpg, last post: t3_dx1ull
[9] Current post: t3_dzs07u, title: https://i.imgur.com/Ezmhov1.jpg, last post: t3_dx1ull
[10] Current post: t3_dzyip6, title: https://i.redd.it/bxksuggke7041.jpg, last post: t3_dx1ull
[11] Current post: t3_e023p8, title: https://i.imgur.com/8himz7r.gifv, last post: t3_dx1ull
[12] Current post: t3_dzmg5h, title: https://i.imgur.com/eReHtQt.jpg, last post: t3_dx1ull
[13] Current post: t3_dzpn1v, title: https://i.redd.it/eu1bgb3vqxz31.jpg, last post: t3_dx1ull
[14] Current post: t3_dzkmk7, title: https://i.redd.it/rylueoul22041.jpg, last post: t3_dx1ull
[15] Current post: t3_e019lv, title: https://i.redd.it/n9rsav1ot8041.jpg, last post: t3_dx1ull
[16] Current post: t3_dzrtl8, title: https://i.imgur.com/Yo0Y9Nd.jpg, last post: t3_dx1ull
[17] Current post: t3_dzwoqr, title: https://i.imgur.com/RPz7Vbv.jpg, last post: t3_dx1ull
[18] Current post: t3_dzkrys, title: https://i.redd.it/8exlwv8j42041.jpg, last post: t3_dx1ull
[19] Current post: t3_dznwzx, title: https://i.redd.it/7t09sw1763041.jpg, last post: t3_dx1ull
[20] Current post: t3_dzkmt0, title: https://i.redd.it/ckup7u5o22041.jpg, last post: t3_dx1ull
[21] Current post: t3_dzuqv2, title: https://i.imgur.com/KiLCGIo.jpg, last post: t3_dx1ull
[22] Current post: t3_dzssq5, title: https://i.redd.it/r3p844bzs4041.jpg, last post: t3_dx1ull
[23] Current post: t3_dzsn3b, title: https://i.imgur.com/IqXDFaO.jpg, last post: t3_dx1ull
[24] Current post: t3_dzmuq7, title: https://i.redd.it/cjzlx6fit2041.jpg, last post: t3_dx1ull
[25] Current post: t3_dzk164, title: https://i.redd.it/sgn485wju1041.jpg, last post: t3_dx1ull
[26] Current post: t3_dzklsx, title: https://i.redd.it/yorr8kwa22041.jpg, last post: t3_dx1ull
[27] Current post: t3_dzgjym, title: https://i.redd.it/jvpbfty680041.jpg, last post: t3_dx1ull
[28] Current post: t3_dzukqt, title: https://i.imgur.com/u3vmUI3.jpg, last post: t3_dx1ull
[29] Current post: t3_dzkywu, title: https://i.redd.it/a3k9tdet62041.jpg, last post: t3_dx1ull
[30] Current post: t3_dz6wy4, title: https://gfycat.com/bleakfatcurassow, last post: t3_dx1ull
[31] Current post: t3_dz9xc9, title: https://i.redd.it/5nyji9hhaxz31.jpg, last post: t3_dx1ull
[32] Current post: t3_dzk5q6, title: https://i.imgur.com/Ijc9QzJ.jpg, last post: t3_dx1ull
[33] Current post: t3_dzlwsm, title: https://i.redd.it/5nj29rd3i2041.jpg, last post: t3_dx1ull
[34] Current post: t3_dz8sz6, title: https://gfycat.com/violetuncommonalbacoretuna, last post: t3_dx1ull
[35] Current post: t3_dz8qi7, title: https://i.imgur.com/eHjUY9W.jpg, last post: t3_dx1ull
[36] Current post: t3_dzcfoe, title: https://i.imgur.com/4CuYn7q.jpg, last post: t3_dx1ull
[37] Current post: t3_dzbb9f, title: https://i.imgur.com/T1lVKLg.jpg, last post: t3_dx1ull
[38] Current post: t3_dyzca4, title: https://i.imgur.com/pGRIwiJ.jpg, last post: t3_dx1ull
[39] Current post: t3_dz5gd6, title: https://i.redd.it/i52ltr50pvz31.jpg, last post: t3_dx1ull
[40] Current post: t3_dz5w14, title: https://i.redd.it/9k74vx5juvz31.jpg, last post: t3_dx1ull
[41] Current post: t3_dz46n4, title: https://i.redd.it/gkhgboeq8vz31.jpg, last post: t3_dx1ull
[42] Current post: t3_dzb3sa, title: https://gfycat.com/warmheartedboldkillerwhale, last post: t3_dx1ull
[43] Current post: t3_dz6259, title: https://i.imgur.com/Qd0WnQD.jpg, last post: t3_dx1ull
[44] Current post: t3_dz263d, title: https://i.imgur.com/Js3e3G1.jpg, last post: t3_dx1ull
[45] Current post: t3_dywlrd, title: https://gfycat.com/thickdistortedethiopianwolf, last post: t3_dx1ull
[46] Current post: t3_dz2zra, title: https://i.imgur.com/1IpoanE.jpg, last post: t3_dx1ull
[47] Current post: t3_dysttb, title: https://i.imgur.com/3GtCVKS.jpg, last post: t3_dx1ull
[48] Current post: t3_dyqp86, title: https://i.redd.it/a2ganho0jpz31.jpg, last post: t3_dx1ull
[49] Current post: t3_dyjtsq, title: https://i.imgur.com/1dwSIZl.jpg, last post: t3_dx1ull
[50] Current post: t3_dyqpek, title: https://gfycat.com/safeunfoldeddaddylonglegs, last post: t3_dx1ull
[51] Current post: t3_dyz49p, title: https://i.redd.it/xq9ba4riwsz31.jpg, last post: t3_dx1ull
[52] Current post: t3_dyq4bd, title: https://imgur.com/Mh1sfgq.jpeg, last post: t3_dx1ull
[53] Current post: t3_dz1nkq, title: https://i.redd.it/jxg9nstt8uz31.jpg, last post: t3_dx1ull
[54] Current post: t3_dyml70, title: https://i.redd.it/i5xrqtn05oz31.jpg, last post: t3_dx1ull
[55] Current post: t3_dytaid, title: https://gfycat.com/gloriousimpartialharvestmouse, last post: t3_dx1ull
[56] Current post: t3_dyk3vn, title: https://imgur.com/ibHocTs, last post: t3_dx1ull
[57] Current post: t3_dyl6tf, title: https://i.imgur.com/reHFldi.jpg, last post: t3_dx1ull
[58] Current post: t3_dyl75d, title: https://i.imgur.com/odmsWUx.jpg, last post: t3_dx1ull
[59] Current post: t3_dy5amo, title: https://i.redd.it/b62oldukzgz31.jpg, last post: t3_dx1ull
[60] Current post: t3_dyh1dc, title: https://i.imgur.com/dgBfmWO.jpg, last post: t3_dx1ull
[61] Current post: t3_dygb38, title: https://i.redd.it/i66uilyt0lz31.jpg, last post: t3_dx1ull
[62] Current post: t3_dyitpe, title: https://i.redd.it/zo6zb205hmz31.jpg, last post: t3_dx1ull
[63] Current post: t3_dye2gp, title: https://gfycat.com/vacantbogusjellyfish, last post: t3_dx1ull
[64] Current post: t3_dyjrws, title: https://i.redd.it/r7jtika8xmz31.png, last post: t3_dx1ull
[65] Current post: t3_dyc0u0, title: https://i.redd.it/lxa1770bajz31.jpg, last post: t3_dx1ull
[66] Current post: t3_dyeq0f, title: https://i.redd.it/qx4y4hjtakz31.jpg, last post: t3_dx1ull
[67] Current post: t3_dyckl9, title: https://i.imgur.com/wSZzU83.jpg, last post: t3_dx1ull
[68] Current post: t3_dyw2jv, title: https://i.redd.it/jvg5mwnsgrz31.jpg, last post: t3_dx1ull
[69] Current post: t3_dy1yv2, title: https://i.redd.it/i363ge2pjfz31.jpg, last post: t3_dx1ull
[70] Current post: t3_dy47fc, title: https://i.imgur.com/jpb3Iq3.jpg, last post: t3_dx1ull
[71] Current post: t3_dy3x2c, title: https://gfycat.com/shimmeringsnoopybactrian, last post: t3_dx1ull
[72] Current post: t3_dy748h, title: https://i.imgur.com/GBiT8xR.jpg, last post: t3_dx1ull
[73] Current post: t3_dy2s2i, title: https://i.redd.it/fvy9dlgsyfz31.jpg, last post: t3_dx1ull
[74] Current post: t3_dxtyoo, title: https://i.imgur.com/NPvGhDi.png, last post: t3_dx1ull
[75] Current post: t3_dxtx6f, title: https://i.redd.it/3kgib4t9rbz31.jpg, last post: t3_dx1ull
[76] Current post: t3_dxqwwy, title: https://gfycat.com/watchfulshorttermiaerismetalmark, last post: t3_dx1ull
[77] Current post: t3_dxzivh, title: https://i.imgur.com/rYcAfur.jpg, last post: t3_dx1ull
[78] Current post: t3_dxwhl3, title: https://i.imgur.com/Vyx2OQW.jpg, last post: t3_dx1ull
[79] Current post: t3_dxr7oc, title: https://i.imgur.com/qCEvBys.jpg, last post: t3_dx1ull
[80] Current post: t3_dxpklr, title: https://gfycat.com/happygoluckyflusteredfoal, last post: t3_dx1ull
[81] Current post: t3_dxg1ld, title: https://gfycat.com/shadowyanguishedcopepod, last post: t3_dx1ull
[82] Current post: t3_dxkhdc, title: https://imgur.com/0TDmoAO, last post: t3_dx1ull
[83] Current post: t3_dxfcgz, title: https://gfycat.com/downrightsmoggyguineapig, last post: t3_dx1ull
[84] Current post: t3_dxi30j, title: https://gfycat.com/blueregalinchworm, last post: t3_dx1ull
[85] Current post: t3_dx9fxs, title: https://i.redd.it/nqohnn1zx2z31.jpg, last post: t3_dx1ull
[86] Current post: t3_dxf95x, title: https://i.imgur.com/RTFDc73.jpg, last post: t3_dx1ull
[87] Current post: t3_dxcijg, title: https://i.redd.it/me8mnznt24z31.jpg, last post: t3_dx1ull
[88] Current post: t3_dx6xt7, title: https://i.redd.it/ygfromxfw1z31.png, last post: t3_dx1ull
[89] Current post: t3_dxapki, title: https://gfycat.com/jovialjoyousfalcon, last post: t3_dx1ull
[90] Current post: t3_dx4zl8, title: https://imgur.com/ucZWADq, last post: t3_dx1ull
[91] Current post: t3_dxfwb2, title: https://i.redd.it/v58362gxd5z31.jpg, last post: t3_dx1ull
[92] Current post: t3_dxd309, title: https://i.imgur.com/Kv1ievf.jpg, last post: t3_dx1ull
[93] Current post: t3_dx8qyt, title: https://i.imgur.com/rzXrhNl.jpg, last post: t3_dx1ull
[94] Current post: t3_dwvb6m, title: https://i.redd.it/gc2j7529fwy31.jpg, last post: t3_dx1ull
[95] Current post: t3_dx2par, title: https://i.imgur.com/PXXWdiU.jpg, last post: t3_dx1ull
[96] Current post: t3_dwz9lj, title: https://i.imgur.com/X6SLSUO.gifv, last post: t3_dx1ull
[97] Current post: t3_dx282q, title: https://i.redd.it/fh9jqgrr7zy31.jpg, last post: t3_dx1ull
[98] Current post: t3_dx0apk, title: https://i.redd.it/bfjh93y5cyy31.jpg, last post: t3_dx1ull
[0] Current post: t3_e04b7u, title: https://gfycat.com/impassionedopulentislandwhistler, last post: t3_dx0apk
[1] Current post: t3_e07mgl, title: https://i.redd.it/95ice5022b041.jpg, last post: t3_dx0apk
[2] Current post: t3_e08il8, title: https://gfycat.com/impassionedopulentislandwhistler, last post: t3_dx0apk
[3] Current post: t3_e080nb, title: https://i.imgur.com/czPRzsT.jpg, last post: t3_dx0apk
[4] Current post: t3_e04e6s, title: https://i.redd.it/0l5gdxj5y9041.jpg, last post: t3_dx0apk
[5] Current post: t3_dzywqv, title: https://i.redd.it/tpdcrf3ym7041.jpg, last post: t3_dx0apk
[6] Current post: t3_e04a78, title: https://gfycat.com/richangelicarabianoryx, last post: t3_dx0apk
[7] Current post: t3_e02t7k, title: https://i.imgur.com/IprundK.jpg, last post: t3_dx0apk
[8] Current post: t3_e0471b, title: https://i.imgur.com/2TizHCb.jpg, last post: t3_dx0apk
[9] Current post: t3_dzs07u, title: https://i.imgur.com/Ezmhov1.jpg, last post: t3_dx0apk
[10] Current post: t3_dzyip6, title: https://i.redd.it/bxksuggke7041.jpg, last post: t3_dx0apk
[11] Current post: t3_e023p8, title: https://i.imgur.com/8himz7r.gifv, last post: t3_dx0apk
[12] Current post: t3_dzmg5h, title: https://i.imgur.com/eReHtQt.jpg, last post: t3_dx0apk
[13] Current post: t3_dzpn1v, title: https://i.redd.it/eu1bgb3vqxz31.jpg, last post: t3_dx0apk
[14] Current post: t3_dzkmk7, title: https://i.redd.it/rylueoul22041.jpg, last post: t3_dx0apk
[15] Current post: t3_e019lv, title: https://i.redd.it/n9rsav1ot8041.jpg, last post: t3_dx0apk
[16] Current post: t3_dzrtl8, title: https://i.imgur.com/Yo0Y9Nd.jpg, last post: t3_dx0apk
[17] Current post: t3_dzwoqr, title: https://i.imgur.com/RPz7Vbv.jpg, last post: t3_dx0apk
[18] Current post: t3_dzkrys, title: https://i.redd.it/8exlwv8j42041.jpg, last post: t3_dx0apk
[19] Current post: t3_dznwzx, title: https://i.redd.it/7t09sw1763041.jpg, last post: t3_dx0apk
[20] Current post: t3_dzkmt0, title: https://i.redd.it/ckup7u5o22041.jpg, last post: t3_dx0apk
[21] Current post: t3_dzuqv2, title: https://i.imgur.com/KiLCGIo.jpg, last post: t3_dx0apk
[22] Current post: t3_dzssq5, title: https://i.redd.it/r3p844bzs4041.jpg, last post: t3_dx0apk
[23] Current post: t3_dzsn3b, title: https://i.imgur.com/IqXDFaO.jpg, last post: t3_dx0apk
[24] Current post: t3_dzmuq7, title: https://i.redd.it/cjzlx6fit2041.jpg, last post: t3_dx0apk
[25] Current post: t3_dzk164, title: https://i.redd.it/sgn485wju1041.jpg, last post: t3_dx0apk
[26] Current post: t3_dzklsx, title: https://i.redd.it/yorr8kwa22041.jpg, last post: t3_dx0apk
[27] Current post: t3_dzgjym, title: https://i.redd.it/jvpbfty680041.jpg, last post: t3_dx0apk
[28] Current post: t3_dzukqt, title: https://i.imgur.com/u3vmUI3.jpg, last post: t3_dx0apk
[29] Current post: t3_dzkywu, title: https://i.redd.it/a3k9tdet62041.jpg, last post: t3_dx0apk
[30] Current post: t3_dz6wy4, title: https://gfycat.com/bleakfatcurassow, last post: t3_dx0apk
[31] Current post: t3_dz9xc9, title: https://i.redd.it/5nyji9hhaxz31.jpg, last post: t3_dx0apk
[32] Current post: t3_dzk5q6, title: https://i.imgur.com/Ijc9QzJ.jpg, last post: t3_dx0apk
[33] Current post: t3_dzlwsm, title: https://i.redd.it/5nj29rd3i2041.jpg, last post: t3_dx0apk
[34] Current post: t3_dz8sz6, title: https://gfycat.com/violetuncommonalbacoretuna, last post: t3_dx0apk
[35] Current post: t3_dz8qi7, title: https://i.imgur.com/eHjUY9W.jpg, last post: t3_dx0apk
[36] Current post: t3_dzcfoe, title: https://i.imgur.com/4CuYn7q.jpg, last post: t3_dx0apk
[37] Current post: t3_dzbb9f, title: https://i.imgur.com/T1lVKLg.jpg, last post: t3_dx0apk
[38] Current post: t3_dyzca4, title: https://i.imgur.com/pGRIwiJ.jpg, last post: t3_dx0apk
[39] Current post: t3_dz5gd6, title: https://i.redd.it/i52ltr50pvz31.jpg, last post: t3_dx0apk
[40] Current post: t3_dz5w14, title: https://i.redd.it/9k74vx5juvz31.jpg, last post: t3_dx0apk
[41] Current post: t3_dz46n4, title: https://i.redd.it/gkhgboeq8vz31.jpg, last post: t3_dx0apk
[42] Current post: t3_dzb3sa, title: https://gfycat.com/warmheartedboldkillerwhale, last post: t3_dx0apk
[43] Current post: t3_dz6259, title: https://i.imgur.com/Qd0WnQD.jpg, last post: t3_dx0apk
[44] Current post: t3_dz263d, title: https://i.imgur.com/Js3e3G1.jpg, last post: t3_dx0apk
[45] Current post: t3_dywlrd, title: https://gfycat.com/thickdistortedethiopianwolf, last post: t3_dx0apk
[46] Current post: t3_dz2zra, title: https://i.imgur.com/1IpoanE.jpg, last post: t3_dx0apk
[47] Current post: t3_dysttb, title: https://i.imgur.com/3GtCVKS.jpg, last post: t3_dx0apk
[48] Current post: t3_dyqp86, title: https://i.redd.it/a2ganho0jpz31.jpg, last post: t3_dx0apk
[49] Current post: t3_dyjtsq, title: https://i.imgur.com/1dwSIZl.jpg, last post: t3_dx0apk
[50] Current post: t3_dyqpek, title: https://gfycat.com/safeunfoldeddaddylonglegs, last post: t3_dx0apk
[51] Current post: t3_dyz49p, title: https://i.redd.it/xq9ba4riwsz31.jpg, last post: t3_dx0apk
[52] Current post: t3_dyq4bd, title: https://imgur.com/Mh1sfgq.jpeg, last post: t3_dx0apk
[53] Current post: t3_dz1nkq, title: https://i.redd.it/jxg9nstt8uz31.jpg, last post: t3_dx0apk
[54] Current post: t3_dyml70, title: https://i.redd.it/i5xrqtn05oz31.jpg, last post: t3_dx0apk
[55] Current post: t3_dytaid, title: https://gfycat.com/gloriousimpartialharvestmouse, last post: t3_dx0apk
[56] Current post: t3_dyk3vn, title: https://imgur.com/ibHocTs, last post: t3_dx0apk
[57] Current post: t3_dyl6tf, title: https://i.imgur.com/reHFldi.jpg, last post: t3_dx0apk
[58] Current post: t3_dyl75d, title: https://i.imgur.com/odmsWUx.jpg, last post: t3_dx0apk
[59] Current post: t3_dy5amo, title: https://i.redd.it/b62oldukzgz31.jpg, last post: t3_dx0apk
[60] Current post: t3_dyh1dc, title: https://i.imgur.com/dgBfmWO.jpg, last post: t3_dx0apk
[61] Current post: t3_dygb38, title: https://i.redd.it/i66uilyt0lz31.jpg, last post: t3_dx0apk
[62] Current post: t3_dyitpe, title: https://i.redd.it/zo6zb205hmz31.jpg, last post: t3_dx0apk
[63] Current post: t3_dye2gp, title: https://gfycat.com/vacantbogusjellyfish, last post: t3_dx0apk
[64] Current post: t3_dyjrws, title: https://i.redd.it/r7jtika8xmz31.png, last post: t3_dx0apk
[65] Current post: t3_dyc0u0, title: https://i.redd.it/lxa1770bajz31.jpg, last post: t3_dx0apk
[66] Current post: t3_dyeq0f, title: https://i.redd.it/qx4y4hjtakz31.jpg, last post: t3_dx0apk
[67] Current post: t3_dyckl9, title: https://i.imgur.com/wSZzU83.jpg, last post: t3_dx0apk
[68] Current post: t3_dyw2jv, title: https://i.redd.it/jvg5mwnsgrz31.jpg, last post: t3_dx0apk
[69] Current post: t3_dy1yv2, title: https://i.redd.it/i363ge2pjfz31.jpg, last post: t3_dx0apk
[70] Current post: t3_dy47fc, title: https://i.imgur.com/jpb3Iq3.jpg, last post: t3_dx0apk
[71] Current post: t3_dy3x2c, title: https://gfycat.com/shimmeringsnoopybactrian, last post: t3_dx0apk
[72] Current post: t3_dy748h, title: https://i.imgur.com/GBiT8xR.jpg, last post: t3_dx0apk
[73] Current post: t3_dy2s2i, title: https://i.redd.it/fvy9dlgsyfz31.jpg, last post: t3_dx0apk
[74] Current post: t3_dxtyoo, title: https://i.imgur.com/NPvGhDi.png, last post: t3_dx0apk
[75] Current post: t3_dxtx6f, title: https://i.redd.it/3kgib4t9rbz31.jpg, last post: t3_dx0apk
[76] Current post: t3_dxqwwy, title: https://gfycat.com/watchfulshorttermiaerismetalmark, last post: t3_dx0apk
[77] Current post: t3_dxzivh, title: https://i.imgur.com/rYcAfur.jpg, last post: t3_dx0apk
[78] Current post: t3_dxwhl3, title: https://i.imgur.com/Vyx2OQW.jpg, last post: t3_dx0apk
[79] Current post: t3_dxr7oc, title: https://i.imgur.com/qCEvBys.jpg, last post: t3_dx0apk
[80] Current post: t3_dxpklr, title: https://gfycat.com/happygoluckyflusteredfoal, last post: t3_dx0apk
[81] Current post: t3_dxg1ld, title: https://gfycat.com/shadowyanguishedcopepod, last post: t3_dx0apk
[82] Current post: t3_dxkhdc, title: https://imgur.com/0TDmoAO, last post: t3_dx0apk
[83] Current post: t3_dxfcgz, title: https://gfycat.com/downrightsmoggyguineapig, last post: t3_dx0apk
[84] Current post: t3_dxi30j, title: https://gfycat.com/blueregalinchworm, last post: t3_dx0apk
[85] Current post: t3_dx9fxs, title: https://i.redd.it/nqohnn1zx2z31.jpg, last post: t3_dx0apk
[86] Current post: t3_dxf95x, title: https://i.imgur.com/RTFDc73.jpg, last post: t3_dx0apk
[87] Current post: t3_dxcijg, title: https://i.redd.it/me8mnznt24z31.jpg, last post: t3_dx0apk
[88] Current post: t3_dx6xt7, title: https://i.redd.it/ygfromxfw1z31.png, last post: t3_dx0apk
[89] Current post: t3_dxapki, title: https://gfycat.com/jovialjoyousfalcon, last post: t3_dx0apk
[90] Current post: t3_dx4zl8, title: https://imgur.com/ucZWADq, last post: t3_dx0apk
[91] Current post: t3_dxfwb2, title: https://i.redd.it/v58362gxd5z31.jpg, last post: t3_dx0apk
[92] Current post: t3_dxd309, title: https://i.imgur.com/Kv1ievf.jpg, last post: t3_dx0apk
[93] Current post: t3_dx8qyt, title: https://i.imgur.com/rzXrhNl.jpg, last post: t3_dx0apk
[94] Current post: t3_dwvb6m, title: https://i.redd.it/gc2j7529fwy31.jpg, last post: t3_dx0apk
[95] Current post: t3_dx2par, title: https://i.imgur.com/PXXWdiU.jpg, last post: t3_dx0apk
[96] Current post: t3_dwz9lj, title: https://i.imgur.com/X6SLSUO.gifv, last post: t3_dx0apk
[97] Current post: t3_dx282q, title: https://i.redd.it/fh9jqgrr7zy31.jpg, last post: t3_dx0apk
[0] Current post: t3_e04b7u, title: https://gfycat.com/impassionedopulentislandwhistler, last post: t3_dx282q
[1] Current post: t3_e07mgl, title: https://i.redd.it/95ice5022b041.jpg, last post: t3_dx282q
[2] Current post: t3_e08il8, title: https://gfycat.com/impassionedopulentislandwhistler, last post: t3_dx282q
[3] Current post: t3_e080nb, title: https://i.imgur.com/czPRzsT.jpg, last post: t3_dx282q
[4] Current post: t3_e04e6s, title: https://i.redd.it/0l5gdxj5y9041.jpg, last post: t3_dx282q
[5] Current post: t3_dzywqv, title: https://i.redd.it/tpdcrf3ym7041.jpg, last post: t3_dx282q
[6] Current post: t3_e04a78, title: https://gfycat.com/richangelicarabianoryx, last post: t3_dx282q
[7] Current post: t3_e02t7k, title: https://i.imgur.com/IprundK.jpg, last post: t3_dx282q
[8] Current post: t3_e0471b, title: https://i.imgur.com/2TizHCb.jpg, last post: t3_dx282q
[9] Current post: t3_dzs07u, title: https://i.imgur.com/Ezmhov1.jpg, last post: t3_dx282q
[10] Current post: t3_dzyip6, title: https://i.redd.it/bxksuggke7041.jpg, last post: t3_dx282q
[11] Current post: t3_e023p8, title: https://i.imgur.com/8himz7r.gifv, last post: t3_dx282q
[12] Current post: t3_dzmg5h, title: https://i.imgur.com/eReHtQt.jpg, last post: t3_dx282q
[13] Current post: t3_dzpn1v, title: https://i.redd.it/eu1bgb3vqxz31.jpg, last post: t3_dx282q
[14] Current post: t3_dzkmk7, title: https://i.redd.it/rylueoul22041.jpg, last post: t3_dx282q
[15] Current post: t3_e019lv, title: https://i.redd.it/n9rsav1ot8041.jpg, last post: t3_dx282q
[16] Current post: t3_dzrtl8, title: https://i.imgur.com/Yo0Y9Nd.jpg, last post: t3_dx282q
[17] Current post: t3_dzwoqr, title: https://i.imgur.com/RPz7Vbv.jpg, last post: t3_dx282q
[18] Current post: t3_dzkrys, title: https://i.redd.it/8exlwv8j42041.jpg, last post: t3_dx282q
[19] Current post: t3_dznwzx, title: https://i.redd.it/7t09sw1763041.jpg, last post: t3_dx282q
[20] Current post: t3_dzkmt0, title: https://i.redd.it/ckup7u5o22041.jpg, last post: t3_dx282q
[21] Current post: t3_dzuqv2, title: https://i.imgur.com/KiLCGIo.jpg, last post: t3_dx282q
[22] Current post: t3_dzssq5, title: https://i.redd.it/r3p844bzs4041.jpg, last post: t3_dx282q
[23] Current post: t3_dzsn3b, title: https://i.imgur.com/IqXDFaO.jpg, last post: t3_dx282q
[24] Current post: t3_dzmuq7, title: https://i.redd.it/cjzlx6fit2041.jpg, last post: t3_dx282q
[25] Current post: t3_dzk164, title: https://i.redd.it/sgn485wju1041.jpg, last post: t3_dx282q
[26] Current post: t3_dzklsx, title: https://i.redd.it/yorr8kwa22041.jpg, last post: t3_dx282q
[27] Current post: t3_dzgjym, title: https://i.redd.it/jvpbfty680041.jpg, last post: t3_dx282q
[28] Current post: t3_dzukqt, title: https://i.imgur.com/u3vmUI3.jpg, last post: t3_dx282q
[29] Current post: t3_dzkywu, title: https://i.redd.it/a3k9tdet62041.jpg, last post: t3_dx282q
[30] Current post: t3_dz6wy4, title: https://gfycat.com/bleakfatcurassow, last post: t3_dx282q
[31] Current post: t3_dz9xc9, title: https://i.redd.it/5nyji9hhaxz31.jpg, last post: t3_dx282q
[32] Current post: t3_dzk5q6, title: https://i.imgur.com/Ijc9QzJ.jpg, last post: t3_dx282q
[33] Current post: t3_dzlwsm, title: https://i.redd.it/5nj29rd3i2041.jpg, last post: t3_dx282q
[34] Current post: t3_dz8sz6, title: https://gfycat.com/violetuncommonalbacoretuna, last post: t3_dx282q
[35] Current post: t3_dz8qi7, title: https://i.imgur.com/eHjUY9W.jpg, last post: t3_dx282q
[36] Current post: t3_dzcfoe, title: https://i.imgur.com/4CuYn7q.jpg, last post: t3_dx282q
[37] Current post: t3_dzbb9f, title: https://i.imgur.com/T1lVKLg.jpg, last post: t3_dx282q
[38] Current post: t3_dyzca4, title: https://i.imgur.com/pGRIwiJ.jpg, last post: t3_dx282q
[39] Current post: t3_dz5gd6, title: https://i.redd.it/i52ltr50pvz31.jpg, last post: t3_dx282q
[40] Current post: t3_dz5w14, title: https://i.redd.it/9k74vx5juvz31.jpg, last post: t3_dx282q
[41] Current post: t3_dz46n4, title: https://i.redd.it/gkhgboeq8vz31.jpg, last post: t3_dx282q
[42] Current post: t3_dzb3sa, title: https://gfycat.com/warmheartedboldkillerwhale, last post: t3_dx282q
[43] Current post: t3_dz6259, title: https://i.imgur.com/Qd0WnQD.jpg, last post: t3_dx282q
[44] Current post: t3_dz263d, title: https://i.imgur.com/Js3e3G1.jpg, last post: t3_dx282q
[45] Current post: t3_dywlrd, title: https://gfycat.com/thickdistortedethiopianwolf, last post: t3_dx282q
[46] Current post: t3_dz2zra, title: https://i.imgur.com/1IpoanE.jpg, last post: t3_dx282q
[47] Current post: t3_dysttb, title: https://i.imgur.com/3GtCVKS.jpg, last post: t3_dx282q
[48] Current post: t3_dyqp86, title: https://i.redd.it/a2ganho0jpz31.jpg, last post: t3_dx282q
[49] Current post: t3_dyjtsq, title: https://i.imgur.com/1dwSIZl.jpg, last post: t3_dx282q
[50] Current post: t3_dyqpek, title: https://gfycat.com/safeunfoldeddaddylonglegs, last post: t3_dx282q
[51] Current post: t3_dyz49p, title: https://i.redd.it/xq9ba4riwsz31.jpg, last post: t3_dx282q
[52] Current post: t3_dyq4bd, title: https://imgur.com/Mh1sfgq.jpeg, last post: t3_dx282q
[53] Current post: t3_dz1nkq, title: https://i.redd.it/jxg9nstt8uz31.jpg, last post: t3_dx282q
[54] Current post: t3_dyml70, title: https://i.redd.it/i5xrqtn05oz31.jpg, last post: t3_dx282q
[55] Current post: t3_dytaid, title: https://gfycat.com/gloriousimpartialharvestmouse, last post: t3_dx282q
[56] Current post: t3_dyk3vn, title: https://imgur.com/ibHocTs, last post: t3_dx282q
[57] Current post: t3_dyl6tf, title: https://i.imgur.com/reHFldi.jpg, last post: t3_dx282q
[58] Current post: t3_dyl75d, title: https://i.imgur.com/odmsWUx.jpg, last post: t3_dx282q
[59] Current post: t3_dy5amo, title: https://i.redd.it/b62oldukzgz31.jpg, last post: t3_dx282q
[60] Current post: t3_dyh1dc, title: https://i.imgur.com/dgBfmWO.jpg, last post: t3_dx282q
[61] Current post: t3_dygb38, title: https://i.redd.it/i66uilyt0lz31.jpg, last post: t3_dx282q
[62] Current post: t3_dyitpe, title: https://i.redd.it/zo6zb205hmz31.jpg, last post: t3_dx282q
[63] Current post: t3_dye2gp, title: https://gfycat.com/vacantbogusjellyfish, last post: t3_dx282q
[64] Current post: t3_dyjrws, title: https://i.redd.it/r7jtika8xmz31.png, last post: t3_dx282q
[65] Current post: t3_dyc0u0, title: https://i.redd.it/lxa1770bajz31.jpg, last post: t3_dx282q
[66] Current post: t3_dyeq0f, title: https://i.redd.it/qx4y4hjtakz31.jpg, last post: t3_dx282q
[67] Current post: t3_dyckl9, title: https://i.imgur.com/wSZzU83.jpg, last post: t3_dx282q
[68] Current post: t3_dyw2jv, title: https://i.redd.it/jvg5mwnsgrz31.jpg, last post: t3_dx282q
[69] Current post: t3_dy1yv2, title: https://i.redd.it/i363ge2pjfz31.jpg, last post: t3_dx282q
[70] Current post: t3_dy47fc, title: https://i.imgur.com/jpb3Iq3.jpg, last post: t3_dx282q
[71] Current post: t3_dy3x2c, title: https://gfycat.com/shimmeringsnoopybactrian, last post: t3_dx282q
[72] Current post: t3_dy748h, title: https://i.imgur.com/GBiT8xR.jpg, last post: t3_dx282q
[73] Current post: t3_dy2s2i, title: https://i.redd.it/fvy9dlgsyfz31.jpg, last post: t3_dx282q
[74] Current post: t3_dxtyoo, title: https://i.imgur.com/NPvGhDi.png, last post: t3_dx282q
[75] Current post: t3_dxtx6f, title: https://i.redd.it/3kgib4t9rbz31.jpg, last post: t3_dx282q
[76] Current post: t3_dxqwwy, title: https://gfycat.com/watchfulshorttermiaerismetalmark, last post: t3_dx282q
[77] Current post: t3_dxzivh, title: https://i.imgur.com/rYcAfur.jpg, last post: t3_dx282q
[78] Current post: t3_dxwhl3, title: https://i.imgur.com/Vyx2OQW.jpg, last post: t3_dx282q
[79] Current post: t3_dxr7oc, title: https://i.imgur.com/qCEvBys.jpg, last post: t3_dx282q
[80] Current post: t3_dxpklr, title: https://gfycat.com/happygoluckyflusteredfoal, last post: t3_dx282q
[81] Current post: t3_dxg1ld, title: https://gfycat.com/shadowyanguishedcopepod, last post: t3_dx282q
[82] Current post: t3_dxkhdc, title: https://imgur.com/0TDmoAO, last post: t3_dx282q
[83] Current post: t3_dxfcgz, title: https://gfycat.com/downrightsmoggyguineapig, last post: t3_dx282q
[84] Current post: t3_dxi30j, title: https://gfycat.com/blueregalinchworm, last post: t3_dx282q
[85] Current post: t3_dx9fxs, title: https://i.redd.it/nqohnn1zx2z31.jpg, last post: t3_dx282q
[86] Current post: t3_dxf95x, title: https://i.imgur.com/RTFDc73.jpg, last post: t3_dx282q
[87] Current post: t3_dxcijg, title: https://i.redd.it/me8mnznt24z31.jpg, last post: t3_dx282q
[88] Current post: t3_dx6xt7, title: https://i.redd.it/ygfromxfw1z31.png, last post: t3_dx282q
[89] Current post: t3_dxapki, title: https://gfycat.com/jovialjoyousfalcon, last post: t3_dx282q
[90] Current post: t3_dx4zl8, title: https://imgur.com/ucZWADq, last post: t3_dx282q
[91] Current post: t3_dxfwb2, title: https://i.redd.it/v58362gxd5z31.jpg, last post: t3_dx282q
[92] Current post: t3_dxd309, title: https://i.imgur.com/Kv1ievf.jpg, last post: t3_dx282q
[93] Current post: t3_dx8qyt, title: https://i.imgur.com/rzXrhNl.jpg, last post: t3_dx282q
[94] Current post: t3_dwvb6m, title: https://i.redd.it/gc2j7529fwy31.jpg, last post: t3_dx282q
[95] Current post: t3_dx2par, title: https://i.imgur.com/PXXWdiU.jpg, last post: t3_dx282q
[96] Current post: t3_dwz9lj, title: https://i.imgur.com/X6SLSUO.gifv, last post: t3_dx282q
Heyo, since you're using the default user agent when fetching the token reddit will 429's a lot. Normally i have to retry around 3 times to get it running.
Hello everyone,
for 2 weeks now, I have this issue where the token expires after 1 hour (as it is described in the reddit documentation) and the token isn't refreshed.
I'm not sure of what happened.
I don't think something changed, else a release of this package would have been made following the changes.
On my end, the only thing that changed is domain name.
I subscribed to the Reddit API using my secret_id. I also changed the redirect_uri to follow the new domain name (not sure it's of any effect but sometimes things get esoteric).
How does this work inside the package ? I didn't find any code about token refreshing and it used to work perfectly fine before.
I use this cool package for a long time now and I would be glad to make a PR about token refresh if needed.
Here is a small piece of code that yields back
<nil> Get "https://reddit.com/r/investing.json?raw_json=1": invalid request :path "r/investing.json?raw_json=1"
every time I run it. Weird thing is that https://reddit.com/r/investing.json?raw_json=1 does exist. Any ideas
import (
"fmt"
"time"
"github.com/turnage/graw/reddit"
)
func main() {
userAgent := "graw:doc_demo_bot:0.3.1 by /u/datlolbot"
script, _ := reddit.NewScript(userAgent, time.Second)
fmt.Println(script.Thread("r/investing"))
}
I would like to be able to query /api/morechildren to get full comment trees from submissions. Currently there are functions like Lurker.Thread() or Scanner.ListingWithParams() on a submission link which get truncated comment trees. But I don't see a good way to get the full comment tree.
When using a Thread() call, there is a child with a "more" kind returned last in the list of comments, and it is being discarded from the comment list during parsing. This happens in parse.parseListing (since graw does not currently support the more type).
Here is an example of the raw json for this more kind from the children list of a Thread() call
{"kind": "more", "data": {"count": 1224, "name": "t1_fvand39", "id": "fvand39", "parent_id": "t3_hbo4a7", "depth": 0, "children": ["fvand39", ... "fvadr0f"]}}], "after": null, "before": null}}]
Or if there is an easier way to get the full comment tree from a submission like, I would love to know.
Failed to fetch /r/golang: Get https://oauth.reddit.com/r/golang?before=&limit=100&raw_json=1: oauth2: token expired and refresh token is not set
I'm sure this is some easy mistake I'm making but I can't seem to spot why I keep getting this error. Any help?
I tried setting up the .agent file with the different examples, no dice.
my redirect_uri is set to http://127.0.0.1
Hello,
I'm trying to run the example from the book, I have my own credentials, but when I run it I have a 500 error:
Failed to fetch /r/golang: bad response code: 500
I don't even know where to start investigation, what caused it, what is the request, etc... Any idea how I can start digging into it ?
It says:
Sorry, this post has been removed by the moderators of r/wallstreetbets.
Moderators remove posts from feeds for a variety of reasons, including keeping communities safe, civil, and true to their purpose.
if I use bot.Thread(post.Permalink)
I get Hidden
, Locked
, Deleted
and NSFW
but they are all false.
Is it a bug or am I considering the wrong fields to understand if it is removed?
Thanks :)
Indeed similar to #55 but I'm super confused as to what I'm doing wrong here, since as far as I can see I'm doing everything as normal.
Code is here: https://play.golang.org/p/vKbxsbNLSa9
I get the following error:
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x40 pc=0x132cb6a]
goroutine 1 [running]:
github.com/turnage/graw/reddit.(*appClient).authorize(0xc0000d0090, 0xc0000d0090, 0xc0001040b4)
/Users/joseph/go/src/github.com/turnage/graw/reddit/appclient.go:59 +0x24a
github.com/turnage/graw/reddit.newAppClient(0xc00010600d, 0x2a, 0xc000106045, 0xf, 0xc000106066, 0x1b, 0xc00010608e, 0xa, 0xc0001060a5, 0xd, ...)
/Users/joseph/go/src/github.com/turnage/graw/reddit/appclient.go:79 +0xff
github.com/turnage/graw/reddit.newClient(0xc00010600d, 0x2a, 0xc000106045, 0xf, 0xc000106066, 0x1b, 0xc00010608e, 0xa, 0xc0001060a5, 0xd, ...)
/Users/joseph/go/src/github.com/turnage/graw/reddit/client.go:79 +0x15a
github.com/turnage/graw/reddit.NewBot(0xc00010600d, 0x2a, 0xc000106045, 0xf, 0xc000106066, 0x1b, 0xc00010608e, 0xa, 0xc0001060a5, 0xd, ...)
/Users/joseph/go/src/github.com/turnage/graw/reddit/bot.go:38 +0xba
github.com/turnage/graw/reddit.NewBotFromAgentFile(0x13f7db3, 0xd, 0x0, 0xc000044e88, 0xa3d9af05b49f4c1d, 0x10, 0x13715e0)
/Users/joseph/go/src/github.com/turnage/graw/reddit/bot.go:64 +0x156
main.main()
/Users/joseph/golang-reddit/main.go:8 +0x54
exit status 2
Which seems to point back to it being an error in NewBotFromAgentFile but I'm not sure what I've done wrong.
graw doesn't seem to support Application Only OAuth (as described in the reddit OAuth doc) for "read-only" "user-less" access to the reddit API.
This should be made possible by allowing empty username and password in the reddit.App
struct and using golang.org/x/oauth2/clientcredentials for 2-legged OAuth authentication in appClient
's authorize method if the Username
and/or Password
fields are not provided.
I can make a pull request if you agree this feature should be added. I will probably fork graw anyway because I need this feature for a project.
Thanks
in reddit scanner.go you have the after var getting set to before. This is breaking pagination
func (s *scanner) Listing(path, after string) (Harvest, error) {
return s.r.reap(
path, map[string]string{
"raw_json": "1",
"limit": "100",
"before": after,
},
)
}
I couldn't see an easy way to access the reaper instance, since it seems instanced and thrown into Account, Lurker, and Scanner.
I need a way to do API calls on my own with the same rate limiting variables. The endpoints I'm looking for is fetch moderator list, accept moderator invitation, new modmail actions, approve and remove posts.
Since the package seems to focus on streams rather than full a API wrapper, it would be nice to be able to get the reaper instance to stay in line with the rate limiting
After browsing how the underlying authentication mechanism works in this library, it does not appear that there is a way to get a Bot (or Lurker or Scanner) without an actual username and password.
In my use case, users have already authenticated my application, and I just store the retrieved tokens and refresh them as needed.
Would you be interested in a PR that adds the ability to create an authenticated client using an existing OAuth2 token, skipping the internal authorization request?
The pilot program is ending. I have received feedback from most of the pilot users. Based on that feedback I will be making some changes which may break existing graw bots. If I do, I will log those changes in this issue.
Until the pilot is over and graw has a version number, there are no promises of api stability.
Once graw has a version number, I will close this issue, and there will be an api promise, though I haven't decided exactly what it will guarantee (I will link to it in the closing comment).
Thank you to everyone who took the time to use and provide feedback! I appreciate it!
Reddit's api/comment call accepts t1_ and t3_ parent ids from graw, but not t4_. The effect is that replying to private messages does not work; requests receive 403.
For t1_ and t3_ types, submit scope is required. For t4_ types, privatemessages scope is required. graw should have '*' scope.
Some threads in /r/redditdev imply this "happens sometimes". Issue opened to look into.
Does this library have a way of modifying the flair of an existing post? I can't see anything in the code that would suggest as much with a peruse, though I wanted to find out if it was possible
Currently, readerImpl.sow
only will make GET requests to Reddit. Because Reddit will return a fully sow
able response for POSTing replies/comments, this method should be modified to accept an argument method
. Without this it is necessary to use a different method that behaves in the same way for getting a bot's comment when posted
Looking at method reddit.Bot.PostLink
that just returns an error, I don't see an obvious way to create a post and then get an instance of that created post. Looking at the Reddit api docs for submitting posts it seems like that information is returned at post time.
Is there a way to get that information with this library?
I once wrote a reddit bot in Kotlin that reads every comment on reddit and responds to the comments that match certain patterns. It worked like this: https://github.com/glatteis/kotlinjrawstreaming/blob/master/jrawstreaming.kt (The limit=200 actually resets to 100).
This bot was successfully able to loop through every comment on reddit, and respond to virtually every comment that matched my patterns.
A few days ago I rewrote that bot in go because it's much more portable and hassle-free than the JVM, but for some reason the graw bot is only able to loop through some, not all comments on reddit. I looked through the implementation and there does not seem to be anything different than from my implementation
Do you have any clue why this might be? Thanks for your time reading this :)
Hey, as far as I can tell, there is no way to pass query params like "t=hour" through the Listing API. The only way that I can see of doing this is to have my own Scanner implementation that does which would have been easier if you had exported your reaper interface and implementation. What would you suggest I do?
This would probably be a feature request since I'd love the ability to fetch historical data (( e.g. all posts newer than 1 day, or something like that ))
If it's possible doing it with graw I'd like to know how, since don't see it right now.
Any intention to support fetching posts via the other sort-orders? Or pulling on /new
was intentional?
Using an account with 2FA enabled will result in 401 errors.
Workaround was to create a brand new account.
I run a Discord bot using graw to get content from Reddit. To minimize API calls to Reddit, 100 posts from the most popular subreddits are cached on the server running the bot, also gotten with graw. After an hour the posts expire and graw retrieves 100 more posts per subreddit. I am having an issue that after one or two refreshes of the post cache, bot.Listing
completely locks up the bot. Sometimes, it isn't after an hour or two, its as soon as I start the bot and it attempts to populate the post cache, to which nothing happens as bot.Listing
has locked up. This just started happening a few days ago, and I was immediately notified of the issue by my users who apparently use the bot as their method of Reddit content consumption. This issue happens whenever the bot calls graw, either when populating the cache, or when a user requests content from a subreddit that is not usually cached.
The API keys are valid, I just regenerated them a few days ago. It doesn't seem to be a memory issue, memory use doesn't build over time nor does any sort of error appear. I have proper error handling, but because bot.Listing
is hanging, no error returns at all. Restarting the bot a few times fixes the issue, but this is not a permanent fix, especially since occasionally restarting doesn't fix the issue. The bot is currently built using a Go 1.13 Docker container, which will soon be updated to 1.15. In testing the problem, I tried using both 1.13 and 1.15 but neither made a difference.
Does anyone have any insight on what could possibly be causing the issue?
I can't quite figure out what is required for
user_agent: ":: (by /u/)"
When I created the app it asked if it was web/installed/personal use not sure if that is platform?
It also doesn't explicitly say if which id is client id but I have to imagine the first id listed under my personal app name is the client id.
Hello,
Great library !
One small note if I may: In my opinion the internal/engine/provider.go file needs an extra line around line 33
from:
e := &Engine{
op: op,
bot: bot,
dir: dir,
monitors: list.New(),
userMonitors: make(map[string]*list.Element),
}
to:
e := &Engine{
op: op,
bot: bot,
dir: dir,
monitors: list.New(),
userMonitors: make(map[string]*list.Element),
stopSig: make(chan bool),
}
Otherwise the uninitialized channel blocks forever and calling Stop on the Engine will never reach the code to trigger e.stop = true in the Run method
for !e.stop {
select {
case <-e.stopSig:
e.stop = true
My regards again, and all the best,
Silviu
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.