Welcome to the snoots documentation!
Helpful links:
To get started making a bot with snoots:
const client = new Client({
userAgent: "<the user agent>",
creds: {
clientId: "<the client id>",
clientSecret: "<the client secret>",
},
auth: {
username: "<the reddit account username>",
password: "<the reddit account password>",
},
});
If you just want to retreive information from the Reddit api without controlling a user account you can do that!
const client = new Client({
userAgent: "<the user agent>",
creds: {
clientId: "<the client id>",
clientSecret: "<the client secret>",
},
});
1 If you really don't want to make an application you can skip this
step and leave off the creds
parameter, but note that performing requests
without an application means you have a much lower ratelimit.
Print a comment tree to stdout.
async function printTree(cmt: Comment, indent: string = "") {
const body = cmt.body.replace(/\n/g, "\n" + indent);
console.log(`${indent}(${cmt.id}) ${cmt.author}: ${body}`);
for await (const reply of cmt.replies) {
await printTree(reply, index + " ");
}
}
(async () => {
const comment = await client.comments.fetch("gqe92yr");
await printTree(comment);
})();
More examples will come as snoots evolves!
There are some major differences between snoots and snoowrap. Here are some of the largest:
for await
.Post
and Comment
's author
). In
snoowrap the author
field is a user object, but in snoots it's just a
username.What does this mean in practice? Here are some examples:
// snoowrap
client.getSubreddit("funny").getRandomSubmission().title; // Promise<string>
// snoots (literal translation)
const sub = await client.subreddits.fetch("funny");
const post = await sub.getRandomPost();
const title = post.title;
// snoots (preferred method, 1 fewer api call)
const post = await client.subreddits.getRandomPost("funny");
const title = post.title;
// snoowrap
const posts = await client.getSubreddit("funny").getNew().fetchAll();
for (const post of posts) {
console.log(post.author.name);
}
// snoots (literal translation)
const sub = await client.subreddits.fetch("funny");
const posts = sub.getNewPosts();
for await (const post of posts) {
console.log(p.author);
}
// snoots (preferred method, 1 fewer api call)
const posts = client.subreddits.getNewPosts("funny");
for await (const post of posts) {
console.log(p.author);
}
Generated using TypeDoc