2020-08-02 15:59:25 -04:00
|
|
|
package main
|
|
|
|
|
|
|
|
import (
|
|
|
|
"context"
|
|
|
|
"fmt"
|
|
|
|
"log"
|
|
|
|
|
2021-01-31 20:36:04 -05:00
|
|
|
"github.com/vartanbeno/go-reddit/v2/reddit"
|
2020-08-02 15:59:25 -04:00
|
|
|
)
|
|
|
|
|
|
|
|
var ctx = context.Background()
|
|
|
|
|
|
|
|
func main() {
|
|
|
|
if err := run(); err != nil {
|
|
|
|
log.Fatal(err)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
func run() (err error) {
|
|
|
|
// Let's get the top 200 posts of r/golang.
|
|
|
|
// Reddit returns a maximum of 100 posts at a time,
|
|
|
|
// so we'll need to separate this into 2 requests.
|
2020-11-01 22:25:13 -05:00
|
|
|
posts, resp, err := reddit.DefaultClient().Subreddit.TopPosts(ctx, "golang", &reddit.ListPostOptions{
|
2020-08-05 13:25:09 -04:00
|
|
|
ListOptions: reddit.ListOptions{
|
|
|
|
Limit: 100,
|
|
|
|
},
|
|
|
|
Time: "all",
|
|
|
|
})
|
2020-08-02 15:59:25 -04:00
|
|
|
if err != nil {
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
2020-08-29 14:20:30 -04:00
|
|
|
for _, post := range posts {
|
2020-08-02 15:59:25 -04:00
|
|
|
fmt.Println(post.Title)
|
|
|
|
}
|
|
|
|
|
2020-08-29 14:20:30 -04:00
|
|
|
// The After option sets the id of an item that Reddit
|
2020-08-02 15:59:25 -04:00
|
|
|
// will use as an anchor point for the returned listing.
|
2020-11-01 22:25:13 -05:00
|
|
|
posts, _, err = reddit.DefaultClient().Subreddit.TopPosts(ctx, "golang", &reddit.ListPostOptions{
|
2020-08-05 13:25:09 -04:00
|
|
|
ListOptions: reddit.ListOptions{
|
|
|
|
Limit: 100,
|
2020-08-29 14:20:30 -04:00
|
|
|
After: resp.After,
|
2020-08-05 13:25:09 -04:00
|
|
|
},
|
|
|
|
Time: "all",
|
|
|
|
})
|
2020-08-02 15:59:25 -04:00
|
|
|
if err != nil {
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
2020-08-29 14:20:30 -04:00
|
|
|
for _, post := range posts {
|
2020-08-02 15:59:25 -04:00
|
|
|
fmt.Println(post.Title)
|
|
|
|
}
|
|
|
|
|
|
|
|
return
|
|
|
|
}
|