npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@jsc666/threadsjs

v1.0.6

Published

A simple library to create and manage threads in Node.js

Downloads

24

Readme

threads.js

thread.js is a Node.js library that allows you to interact with the Threads API

npm version Downloads Average time to resolve an issue Percentage of issues still open

Features

  • Object-oriented
  • Performant
  • Authenticated
  • 100% coverage

Installation and updating

npm install @threadsjs/threads.js

Usage

const { Client } = require('@threadsjs/threads.js');

(async () => {
	const client = new Client();
	// You can also specify a token: const client = new Client({ token: 'token' });
	await client.login('username', 'password');

	await client.users.fetch(25025320).then(user => {
		console.log(user);
	});
})();

Methods

client.users.fetch

In the parameters, pass the user id (supported as string and number) of the user whose information you want to get.

await client.users.fetch(1)

client.users.search

Pass the query as the first parameter, and the number of objects in the response as the second parameter (by default - 30). The minimum is 30.

await client.users.search("zuck", 10)

client.restrictions.restrict

In the parameters, pass the user id (supported as string and number) of the user you want to restrict.

await client.users.restrict(1)

client.restrictions.unrestrict

In the parameters, pass the user id (supported as string and number) of the user you want to unrestrict.

await client.users.unrestrict(1)

client.friendships.show

In the parameters, pass the user id (supported as string and number) of the user whose friendship status information you want to get.

await client.friendships.show(1)

client.friendships.follow

Pass the user id (supported as string and number) of the user you want to subscribe to in the parameters

await client.friendships.follow(1)

client.friendships.unfollow

Pass the user id (supported as string and number) of the user you want to unsubscribe from in the parameters

await client.friendships.unfollow(1)

client.friendships.followers

In the parameters, pass the user id (supported as string and number) of the user whose followers you want to get.

await client.friendships.followers(1)

client.friendships.following

In the parameters, pass the user id (supported as string and number) of the user whose followings you want to get.

await client.friendships.following(1)

client.friendships.mute

In the parameters, pass the user id (supported as string and number) of the user you want to mute.

await client.friendships.mute(1)

client.friendships.unmute

In the parameters, pass the user id (supported as string and number) of the user you want to unmute.

await client.friendships.unmute(1)

client.friendships.block

In the parameters, pass the user id (supported as string and number) of the user you want to block.

await client.friendships.block(1)

client.friendships.unblock

In the parameters, pass the user id (supported as string and number) of the user you want to unblock.

await client.friendships.unblock(1)

client.feeds.fetch

Gets the default feed. In the parameters, pass the optional max_id of the previous response's next_max_id.

await client.feeds.fetch()
await client.feeds.fetch("aAaAAAaaa")

client.feeds.fetchThreads

In the parameters, pass the user id (supported as string and number) of the user whose threads you want to get, and an optional max_id of the previous response's next_max_id.

await client.feeds.fetchThreads(1),
await client.feeds.fetchThreads(1, "aAaAAAaaa")

client.feeds.fetchReplies

In the parameters, pass the user id (supported as string and number) of the user whose replies you want to get, and an optional max_id of the previous response's next_max_id.

await client.feeds.fetchReplies(1)
await client.feeds.fetchReplies(1, "aAaAAAaaa")

client.feeds.recommended

Getting a list of recommendations. In the parameters, pass the optional paging_token of the previous response.

await client.feeds.recommended()
await client.feeds.recommended(15)

client.feeds.notifications

Getting a list of recommendations. In the parameters, pass an optional filter type and an optional pagination object with max_id and pagination_first_record_timestamp from the previous response. Valid filter types:

  • text_post_app_replies
  • text_post_app_mentions
  • verified
let pagination = {
	max_id: "1688921943.766884",
	pagination_first_record_timestamp: "1689094189.845912"
}

await client.feeds.notifications()
await client.feeds.notifications(null, pagination)

await client.feeds.notifications("text_post_app_replies")
await client.feeds.notifications("text_post_app_replies", pagination)

client.feeds.notificationseen

Clears all notifications. You might want to do this after client.feeds.notifications() and checking new_stories for what wasn't seen.

await client.feeds.notificationseen()

client.posts.fetch

In the parameters pass the id of the post you want to get information about, and an optional pagination token from the previous request.

await client.posts.fetch("aAaAAAaaa")
await client.posts.fetch("aAaAAAaaa", "aAaAAAaaa")

client.posts.likers

In the parameters pass the id of the post whose likes you want to get

await client.posts.likers("aAaAAAaaa")

client.posts.create

The method is used to create a thread. Pass the text of the thread as the first parameter, and the user id (supported as string and number) as the second

await client.posts.create(1, { contents: "Hello World!" })

client.posts.reply

The method is used to create reply to a thread. Pass the text of the reply as the first parameter, the user id (supported as string and number) as the second, and post id as the third

await client.posts.reply(1, { contents: "Hello World!", post: "aAaAAAaaa" })

client.posts.quote

The method is used to create a quote thread. Pass the text of the quote comment as the first parameter, the user id as the second, and post id as the third

await client.posts.quote(1, { contents: "Hello World!", post: "aAaAAAaaa" })

client.posts.delete

The method is used to delete a thread. Pass the post id as the first parameter, and the user id (supported as string and number) as the second

await client.posts.delete("aAaAAAaaa", 1)

client.posts.like

The method is used to like a thread. Pass the post id as the first parameter, and the user id (supported as string and number) as the second

await client.posts.like("aAaAAAaaa", 1)

client.posts.unlike

The method is used to unlike a thread. Pass the post id as the first parameter, and the user id (supported as string and number) as the second

await client.posts.unlike("aAaAAAaaa", 1)

client.posts.repost

The method is used to repost a thread. Pass the post id as the only parameter

await client.posts.repost("aAaAAAaaa")

client.posts.unrepost

The method is used to un-repost a thread. Pass the post id as the only parameter

await client.posts.unrepost("aAaAAAaaa")