Skip to content

A Node.js library for the Threads API

License

Notifications You must be signed in to change notification settings

digiageltd/threads.js

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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 • Installation and updating • Usage • Methods

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!" })

You can attach a link if you want Threads to show preview of it using:

await client.posts.create(1, { contents: "Hello World!", data: {link: "https://your-link.com"} })

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")

About

A Node.js library for the Threads API

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 100.0%