package main import ( "context" "encoding/json" "log/slog" "os" "github.com/vartanbeno/go-reddit/v2/reddit" ) type Post struct { reddit.Post } var ctx = context.Background() func main() { handler := slog.NewJSONHandler(os.Stdout, &slog.HandlerOptions{Level: slog.LevelDebug}) logger := slog.New(handler) slog.SetDefault(logger) if err := run(logger); err != nil { logger.Error("Failed", "error", err) } } func run(logger *slog.Logger) error { client, err := reddit.NewReadonlyClient() if err != nil { return err } subs, _, err := client.Subreddit.Search(ctx, "hentai", nil) if err != nil { return err } logger.Info("Searching subreddits successful", "subreddits", subs) posts, _, err := client.Subreddit.SearchPosts(ctx, "psylocke", "hentai", nil) if err != nil { return err } logger.Info("Searching posts successful", "posts", posts, "count", len(posts)) data, err := json.Marshal(posts) if err != nil { return err } var new_posts []*Post err = json.Unmarshal(data, &new_posts) if err != nil { return err } logger.Info("Unmarshalled post subclass", "posts", new_posts) return nil }