Neoclassical Programming Multitude

    snoostorm
    TypeScript icon, indicating that this package has built-in type declarations

    1.5.2 • Public • Published

    SnooStorm

    Event-based wrapper around snoowrap

    Usage

    Basic Usage:

    import { InboxStream, CommentStream, SubmissionStream } from "snoostorm";
    import Snoowrap from "snoowrap";
     
    const creds = require("./credentials.json");
     
    const client = new Snoowrap(creds);
     
    // Options object is a Snoowrap Listing object, but with subreddit and pollTime options
    const comments = new CommentStream(client, {
      subreddit: "AskReddit",
      limit: 10,
      pollTime: 2000,
    });
    comments.on("item", console.log);
     
    const submissions = new SubmissionStream(client, {
      subreddit: "AskReddit",
      limit: 10,
      pollTime: 2000,
    });
    submissions.on("item", console.log);
     
    const inbox = new InboxStream(client);
    inbox.on("item", console.log);
     
    inbox.end();
    inbox.on("end", () => console.log("And now my watch has ended"));

    Custom Polls

    Out of the box, snoostorm supports the following objects:

    • Comments
    • Submissions
    • Inbox
    • Modmail

    If you would like to poll another object in snoowrap, you can implement your own Poll easily. For example, here is an implementation that will poll for new friends:

     
    import { Poll } from "snoostorm"
     
    export interface FriendStreamOptions {
      pollTime?: number;
    }
     
    export class FriendStream extends Poll<Snoowrap.RedditUser> {
      constructor(
        client: Snoowrap,
        options: FriendStreamOptions = { pollTime: 2000 }
      ) {
        super({
          frequency: options.pollTime,
          get: () => client.getFriends(),
          identifier: "name",
        });
      }
    }
     
    const friends = new FriendStream(client);
     
    friends.on("item", (item) => {
      console.log("New Friend!", item.name);
    });
     
     

      This feature is exclusive to Teams

      Illustration of wombats

      The package file explorer is only available for Teams at the moment.

      We may support exploring this package in the future. Check back soon.

      Install

      npm i snoostorm

      DownloadsWeekly Downloads

      303

      Version

      1.5.2

      License

      MIT

      Unpacked Size

      393 kB

      Total Files

      22

      Last publish

      Collaborators

      • mayormonty