Skip to content

Class: ThreadiverseClient

Defined in: src/ThreadiverseClient.ts:49

Extends

Constructors

Constructor

ts
new ThreadiverseClient(hostname, options?): ThreadiverseClient;

Defined in: src/ThreadiverseClient.ts:109

Parameters

ParameterType
hostnamestring
optionsThreadiverseClientOptions

Returns

ThreadiverseClient

Inherited from

BaseClient.constructor

Accessors

supportedSoftware

Get Signature

ts
get static supportedSoftware(): readonly [AnyClient, AnyClient, AnyClient];

Defined in: src/ThreadiverseClient.ts:55

Important: First match wins.

Returns

readonly [AnyClient, AnyClient, AnyClient]


mode

Get Signature

ts
get mode(): ThreadiverseMode;

Defined in: src/ThreadiverseClient.ts:74

Which compat mode the client selected. Sync — requires an established connection (await connect(), or any resolved API call).

Returns

ThreadiverseMode


software

Get Signature

ts
get software(): ProviderInfo;

Defined in: src/ThreadiverseClient.ts:84

The instance's software as reported by nodeinfo. Sync — requires an established connection (await connect(), or any resolved API call).

Returns

ProviderInfo

Methods

banFromCommunity()

ts
abstract banFromCommunity(payload, options?): Promise<void>;

Defined in: src/BaseClient.ts:27

Parameters

ParameterType
payloadBanFromCommunity
options?RequestOptions

Returns

Promise<void>

Inherited from

BaseClient.banFromCommunity


blockCommunity()

ts
abstract blockCommunity(payload, options?): Promise<{
  community_view: CommunityView;
}>;

Defined in: src/BaseClient.ts:32

Parameters

ParameterType
payload{ block: boolean; community_id: number; }
payload.blockboolean
payload.community_id?number
options?RequestOptions

Returns

Promise<{ community_view: CommunityView; }>

Inherited from

BaseClient.blockCommunity


blockInstance()

ts
abstract blockInstance(payload, options?): Promise<void>;

Defined in: src/BaseClient.ts:37

Parameters

ParameterType
payload{ block: boolean; instance_id: number; }
payload.blockboolean
payload.instance_id?number
options?RequestOptions

Returns

Promise<void>

Inherited from

BaseClient.blockInstance


blockPerson()

ts
abstract blockPerson(payload, options?): Promise<{
  person_view: PersonView;
}>;

Defined in: src/BaseClient.ts:42

Parameters

ParameterType
payload{ block: boolean; person_id: number; }
payload.blockboolean
payload.person_id?number
options?RequestOptions

Returns

Promise<{ person_view: PersonView; }>

Inherited from

BaseClient.blockPerson


createComment()

ts
abstract createComment(payload, options?): Promise<{
  comment_view: CommentView;
}>;

Defined in: src/BaseClient.ts:47

Parameters

ParameterType
payloadCreateComment
options?RequestOptions

Returns

Promise<{ comment_view: CommentView; }>

Inherited from

BaseClient.createComment


createCommentReport()

ts
abstract createCommentReport(payload, options?): Promise<void>;

Defined in: src/BaseClient.ts:52

Parameters

ParameterType
payload{ comment_id: number; reason: string; }
payload.comment_idnumber
payload.reason?string
options?RequestOptions

Returns

Promise<void>

Inherited from

BaseClient.createCommentReport


createPost()

ts
abstract createPost(payload, options?): Promise<{
  post_view: PostView;
}>;

Defined in: src/BaseClient.ts:57

Parameters

ParameterType
payloadCreatePost
options?RequestOptions

Returns

Promise<{ post_view: PostView; }>

Inherited from

BaseClient.createPost


createPostReport()

ts
abstract createPostReport(payload, options?): Promise<void>;

Defined in: src/BaseClient.ts:62

Parameters

ParameterType
payload{ post_id: number; reason: string; }
payload.post_idnumber
payload.reason?string
options?RequestOptions

Returns

Promise<void>

Inherited from

BaseClient.createPostReport


createPrivateMessage()

ts
abstract createPrivateMessage(payload, options?): Promise<{
  private_message_view: PrivateMessageView;
}>;

Defined in: src/BaseClient.ts:67

Parameters

ParameterType
payload{ content: string; recipient_id: number; }
payload.contentstring
payload.recipient_id?number
options?RequestOptions

Returns

Promise<{ private_message_view: PrivateMessageView; }>

Inherited from

BaseClient.createPrivateMessage


createPrivateMessageReport()

ts
abstract createPrivateMessageReport(payload, options?): Promise<void>;

Defined in: src/BaseClient.ts:72

Parameters

ParameterType
payload{ private_message_id: number; reason: string; }
payload.private_message_idnumber
payload.reason?string
options?RequestOptions

Returns

Promise<void>

Inherited from

BaseClient.createPrivateMessageReport


deleteComment()

ts
abstract deleteComment(payload, options?): Promise<{
  comment_view: CommentView;
}>;

Defined in: src/BaseClient.ts:77

Parameters

ParameterType
payload{ comment_id: number; deleted: boolean; }
payload.comment_idnumber
payload.deleted?boolean
options?RequestOptions

Returns

Promise<{ comment_view: CommentView; }>

Inherited from

BaseClient.deleteComment


deleteImage()

ts
abstract deleteImage(payload, options?): Promise<void>;

Defined in: src/BaseClient.ts:82

Parameters

ParameterType
payload{ delete_token: string; url: string; }
payload.delete_tokenstring
payload.url?string
options?RequestOptions

Returns

Promise<void>

Inherited from

BaseClient.deleteImage


deletePost()

ts
abstract deletePost(payload, options?): Promise<{
  post_view: PostView;
}>;

Defined in: src/BaseClient.ts:87

Parameters

ParameterType
payload{ deleted: boolean; post_id: number; }
payload.deletedboolean
payload.post_id?number
options?RequestOptions

Returns

Promise<{ post_view: PostView; }>

Inherited from

BaseClient.deletePost


distinguishComment()

ts
abstract distinguishComment(payload, options?): Promise<{
  comment_view: CommentView;
}>;

Defined in: src/BaseClient.ts:92

Parameters

ParameterType
payload{ comment_id: number; distinguished: boolean; }
payload.comment_idnumber
payload.distinguished?boolean
options?RequestOptions

Returns

Promise<{ comment_view: CommentView; }>

Inherited from

BaseClient.distinguishComment


editComment()

ts
abstract editComment(payload, options?): Promise<{
  comment_view: CommentView;
}>;

Defined in: src/BaseClient.ts:97

Parameters

ParameterType
payloadEditComment
options?RequestOptions

Returns

Promise<{ comment_view: CommentView; }>

Inherited from

BaseClient.editComment


editCommunityNotifications()

ts
abstract editCommunityNotifications(payload, options?): Promise<void>;

Defined in: src/BaseClient.ts:102

Parameters

ParameterType
payloadEditCommunityNotifications
options?RequestOptions

Returns

Promise<void>

Inherited from

BaseClient.editCommunityNotifications


editPost()

ts
abstract editPost(payload, options?): Promise<{
  post_view: PostView;
}>;

Defined in: src/BaseClient.ts:107

Parameters

ParameterType
payloadEditPost
options?RequestOptions

Returns

Promise<{ post_view: PostView; }>

Inherited from

BaseClient.editPost


editPostNotifications()

ts
abstract editPostNotifications(payload, options?): Promise<void>;

Defined in: src/BaseClient.ts:112

Parameters

ParameterType
payloadEditPostNotifications
options?RequestOptions

Returns

Promise<void>

Inherited from

BaseClient.editPostNotifications


featurePost()

ts
abstract featurePost(payload, options?): Promise<{
  post_view: PostView;
}>;

Defined in: src/BaseClient.ts:117

Parameters

ParameterType
payload{ feature_type: "local" | "community"; featured: boolean; post_id: number; }
payload.feature_type"local" | "community"
payload.featured?boolean
payload.post_id?number
options?RequestOptions

Returns

Promise<{ post_view: PostView; }>

Inherited from

BaseClient.featurePost


followCommunity()

ts
abstract followCommunity(payload, options?): Promise<{
  community_view: CommunityView;
}>;

Defined in: src/BaseClient.ts:126

Parameters

ParameterType
payload{ community_id: number; follow: boolean; }
payload.community_idnumber
payload.follow?boolean
options?RequestOptions

Returns

Promise<{ community_view: CommunityView; }>

Inherited from

BaseClient.followCommunity


getCaptcha()

ts
abstract getCaptcha(options?): Promise<GetCaptchaResponse>;

Defined in: src/BaseClient.ts:131

Parameters

ParameterType
options?RequestOptions

Returns

Promise<GetCaptchaResponse>

Inherited from

BaseClient.getCaptcha


getComments()

ts
abstract getComments(payload, options?): Promise<ListCommentsResponse>;

Defined in: src/BaseClient.ts:135

Parameters

ParameterType
payloadGetComments
options?RequestOptions

Returns

Promise<ListCommentsResponse>

Inherited from

BaseClient.getComments


getCommunity()

ts
abstract getCommunity(payload, options?): Promise<GetCommunityResponse>;

Defined in: src/BaseClient.ts:140

Parameters

ParameterType
payloadGetCommunity
options?RequestOptions

Returns

Promise<GetCommunityResponse>

Inherited from

BaseClient.getCommunity


getFederatedInstances()

ts
abstract getFederatedInstances(options?): Promise<{
  federated_instances?: FederatedInstances;
}>;

Defined in: src/BaseClient.ts:145

Parameters

ParameterType
options?RequestOptions

Returns

Promise<{ federated_instances?: FederatedInstances; }>

Inherited from

BaseClient.getFederatedInstances


getModlog()

ts
abstract getModlog(payload, options?): Promise<ListModlogResponse>;

Defined in: src/BaseClient.ts:149

Parameters

ParameterType
payloadGetModlog
options?RequestOptions

Returns

Promise<ListModlogResponse>

Inherited from

BaseClient.getModlog


getNotifications()

ts
abstract getNotifications(payload, options?): Promise<ListNotificationsResponse>;

Defined in: src/BaseClient.ts:154

Parameters

ParameterType
payloadGetNotifications
options?RequestOptions

Returns

Promise<ListNotificationsResponse>

Inherited from

BaseClient.getNotifications


getPersonDetails()

ts
abstract getPersonDetails(payload, options?): Promise<GetPersonDetailsResponse>;

Defined in: src/BaseClient.ts:159

Parameters

ParameterType
payload| { person_id: number; } | { username: string; }
options?RequestOptions

Returns

Promise<GetPersonDetailsResponse>

Inherited from

BaseClient.getPersonDetails


getPost()

ts
abstract getPost(payload, options?): Promise<{
  post_view: PostView;
}>;

Defined in: src/BaseClient.ts:164

Parameters

ParameterType
payloadGetPost
options?RequestOptions

Returns

Promise<{ post_view: PostView; }>

Inherited from

BaseClient.getPost


getPosts()

ts
abstract getPosts(payload, options?): Promise<ListPostsResponse>;

Defined in: src/BaseClient.ts:169

Parameters

ParameterType
payloadGetPosts
options?RequestOptions

Returns

Promise<ListPostsResponse>

Inherited from

BaseClient.getPosts


getRandomCommunity()

ts
abstract getRandomCommunity(payload, options?): Promise<{
  community_view: CommunityView;
}>;

Defined in: src/BaseClient.ts:174

Parameters

ParameterType
payload{ type_: "local" | "subscribed" | "all" | "moderator_view"; }
payload.type_"local" | "subscribed" | "all" | "moderator_view"
options?RequestOptions

Returns

Promise<{ community_view: CommunityView; }>

Inherited from

BaseClient.getRandomCommunity


getSite()

ts
abstract getSite(options?): Promise<GetSiteResponse>;

Defined in: src/BaseClient.ts:179

Parameters

ParameterType
options?RequestOptions

Returns

Promise<GetSiteResponse>

Inherited from

BaseClient.getSite


getSiteMetadata()

ts
abstract getSiteMetadata(payload, options?): Promise<GetSiteMetadataResponse>;

Defined in: src/BaseClient.ts:181

Parameters

ParameterType
payload{ url: string; }
payload.urlstring
options?RequestOptions

Returns

Promise<GetSiteMetadataResponse>

Inherited from

BaseClient.getSiteMetadata


getUnreadCount()

ts
abstract getUnreadCount(options?): Promise<GetUnreadCountResponse>;

Defined in: src/BaseClient.ts:186

Parameters

ParameterType
options?RequestOptions

Returns

Promise<GetUnreadCountResponse>

Inherited from

BaseClient.getUnreadCount


likeComment()

ts
abstract likeComment(payload, options?): Promise<{
  comment_view: CommentView;
}>;

Defined in: src/BaseClient.ts:190

Parameters

ParameterType
payload{ comment_id: number; is_upvote?: boolean; }
payload.comment_idnumber
payload.is_upvote?boolean
options?RequestOptions

Returns

Promise<{ comment_view: CommentView; }>

Inherited from

BaseClient.likeComment


likePost()

ts
abstract likePost(payload, options?): Promise<{
  post_view: PostView;
}>;

Defined in: src/BaseClient.ts:195

Parameters

ParameterType
payload{ is_upvote?: boolean; post_id: number; }
payload.is_upvote?boolean
payload.post_id?number
options?RequestOptions

Returns

Promise<{ post_view: PostView; }>

Inherited from

BaseClient.likePost


listCommentReports()

ts
abstract listCommentReports(payload, options?): Promise<ListCommentReportsResponse>;

Defined in: src/BaseClient.ts:200

Parameters

ParameterType
payloadPageParams & object
options?RequestOptions

Returns

Promise<ListCommentReportsResponse>

Inherited from

BaseClient.listCommentReports


listCommunities()

ts
abstract listCommunities(payload, options?): Promise<ListCommunitiesResponse>;

Defined in: src/BaseClient.ts:205

Parameters

ParameterType
payloadListCommunities
options?RequestOptions

Returns

Promise<ListCommunitiesResponse>

Inherited from

BaseClient.listCommunities


listPersonContent()

ts
abstract listPersonContent(payload, options?): Promise<ListPersonContentResponse>;

Defined in: src/BaseClient.ts:210

Parameters

ParameterType
payloadListPersonContent
options?RequestOptions

Returns

Promise<ListPersonContentResponse>

Inherited from

BaseClient.listPersonContent


listPersonLiked()

ts
abstract listPersonLiked(payload, options?): Promise<ListPersonLikedResponse>;

Defined in: src/BaseClient.ts:215

Parameters

ParameterType
payloadPageParams & object
options?RequestOptions

Returns

Promise<ListPersonLikedResponse>

Inherited from

BaseClient.listPersonLiked


listPersonSaved()

ts
abstract listPersonSaved(payload, options?): Promise<ListPersonContentResponse>;

Defined in: src/BaseClient.ts:220

Parameters

ParameterType
payloadPageParams & object
options?RequestOptions

Returns

Promise<ListPersonContentResponse>

Inherited from

BaseClient.listPersonSaved


listPostReports()

ts
abstract listPostReports(payload, options?): Promise<ListPostReportsResponse>;

Defined in: src/BaseClient.ts:225

Parameters

ParameterType
payloadPageParams & object
options?RequestOptions

Returns

Promise<ListPostReportsResponse>

Inherited from

BaseClient.listPostReports


listReports()

ts
abstract listReports(payload, options?): Promise<ListReportsResponse>;

Defined in: src/BaseClient.ts:230

Parameters

ParameterType
payloadListReports
options?RequestOptions

Returns

Promise<ListReportsResponse>

Inherited from

BaseClient.listReports


lockPost()

ts
abstract lockPost(payload, options?): Promise<{
  post_view: PostView;
}>;

Defined in: src/BaseClient.ts:235

Parameters

ParameterType
payload{ locked: boolean; post_id: number; }
payload.lockedboolean
payload.post_id?number
options?RequestOptions

Returns

Promise<{ post_view: PostView; }>

Inherited from

BaseClient.lockPost


login()

ts
abstract login(payload, options?): Promise<{
  jwt?: string;
}>;

Defined in: src/BaseClient.ts:240

Parameters

ParameterType
payload{ password: string; totp_2fa_token?: string; username_or_email: string; }
payload.passwordstring
payload.totp_2fa_token?string
payload.username_or_email?string
options?RequestOptions

Returns

Promise<{ jwt?: string; }>

Inherited from

BaseClient.login


logout()

ts
abstract logout(options?): Promise<void>;

Defined in: src/BaseClient.ts:249

Parameters

ParameterType
options?RequestOptions

Returns

Promise<void>

Inherited from

BaseClient.logout


markAllAsRead()

ts
abstract markAllAsRead(options?): Promise<void>;

Defined in: src/BaseClient.ts:251

Parameters

ParameterType
options?RequestOptions

Returns

Promise<void>

Inherited from

BaseClient.markAllAsRead


markNotificationAsRead()

ts
abstract markNotificationAsRead(payload, options?): Promise<void>;

Defined in: src/BaseClient.ts:253

Parameters

ParameterType
payload{ kind: "subscribed" | "reply" | "mention" | "private_message" | "mod_action"; notification_id: number; read: boolean; }
payload.kind"subscribed" | "reply" | "mention" | "private_message" | "mod_action"
payload.notification_id?number
payload.read?boolean
options?RequestOptions

Returns

Promise<void>

Inherited from

BaseClient.markNotificationAsRead


markPostAsRead()

ts
abstract markPostAsRead(payload, options?): Promise<void>;

Defined in: src/BaseClient.ts:262

Parameters

ParameterType
payload{ post_ids: number[]; read: boolean; }
payload.post_idsnumber[]
payload.read?boolean
options?RequestOptions

Returns

Promise<void>

Inherited from

BaseClient.markPostAsRead


register()

ts
abstract register(payload, options?): Promise<LoginResponse>;

Defined in: src/BaseClient.ts:267

Parameters

ParameterType
payloadRegister
options?RequestOptions

Returns

Promise<LoginResponse>

Inherited from

BaseClient.register


removeComment()

ts
abstract removeComment(payload, options?): Promise<{
  comment_view: CommentView;
}>;

Defined in: src/BaseClient.ts:272

Parameters

ParameterType
payload{ comment_id: number; reason?: string; removed: boolean; }
payload.comment_idnumber
payload.reason?string
payload.removed?boolean
options?RequestOptions

Returns

Promise<{ comment_view: CommentView; }>

Inherited from

BaseClient.removeComment


removePost()

ts
abstract removePost(payload, options?): Promise<{
  post_view: PostView;
}>;

Defined in: src/BaseClient.ts:277

Parameters

ParameterType
payload{ post_id: number; reason?: string; removed: boolean; }
payload.post_idnumber
payload.reason?string
payload.removed?boolean
options?RequestOptions

Returns

Promise<{ post_view: PostView; }>

Inherited from

BaseClient.removePost


resolveCommentReport()

ts
abstract resolveCommentReport(payload, options?): Promise<void>;

Defined in: src/BaseClient.ts:282

Parameters

ParameterType
payload{ report_id: number; resolved: boolean; }
payload.report_idnumber
payload.resolved?boolean
options?RequestOptions

Returns

Promise<void>

Inherited from

BaseClient.resolveCommentReport


resolveObject()

ts
abstract resolveObject(payload, options?): Promise<ResolveObjectResponse>;

Defined in: src/BaseClient.ts:287

Parameters

ParameterType
payload{ q: string; }
payload.qstring
options?RequestOptions

Returns

Promise<ResolveObjectResponse>

Inherited from

BaseClient.resolveObject


resolvePostReport()

ts
abstract resolvePostReport(payload, options?): Promise<void>;

Defined in: src/BaseClient.ts:294

Parameters

ParameterType
payload{ report_id: number; resolved: boolean; }
payload.report_idnumber
payload.resolved?boolean
options?RequestOptions

Returns

Promise<void>

Inherited from

BaseClient.resolvePostReport


saveComment()

ts
abstract saveComment(payload, options?): Promise<{
  comment_view: CommentView;
}>;

Defined in: src/BaseClient.ts:299

Parameters

ParameterType
payload{ comment_id: number; save: boolean; }
payload.comment_idnumber
payload.save?boolean
options?RequestOptions

Returns

Promise<{ comment_view: CommentView; }>

Inherited from

BaseClient.saveComment


savePost()

ts
abstract savePost(payload, options?): Promise<{
  post_view: PostView;
}>;

Defined in: src/BaseClient.ts:304

Parameters

ParameterType
payload{ post_id: number; save: boolean; }
payload.post_idnumber
payload.save?boolean
options?RequestOptions

Returns

Promise<{ post_view: PostView; }>

Inherited from

BaseClient.savePost


saveUserSettings()

ts
abstract saveUserSettings(payload, options?): Promise<void>;

Defined in: src/BaseClient.ts:309

Parameters

ParameterType
payload{ show_nsfw: boolean; }
payload.show_nsfwboolean
options?RequestOptions

Returns

Promise<void>

Inherited from

BaseClient.saveUserSettings


ts
abstract search(payload, options?): Promise<ListSearchResponse>;

Defined in: src/BaseClient.ts:314

Parameters

ParameterType
payloadSearch
options?RequestOptions

Returns

Promise<ListSearchResponse>

Inherited from

BaseClient.search


uploadImage()

ts
abstract uploadImage(payload, options?): Promise<UploadImageResponse>;

Defined in: src/BaseClient.ts:319

Parameters

ParameterType
payload{ image: File; }
payload.imageFile
options?RequestOptions

Returns

Promise<UploadImageResponse>

Inherited from

BaseClient.uploadImage


resolveClient()

ts
static resolveClient(software): AnyClient | undefined;

Defined in: src/ThreadiverseClient.ts:115

Parameters

ParameterType
software{ name: string; version: string; }
software.namestring
software.versionstring

Returns

AnyClient | undefined


connect()

ts
connect(): Promise<ClientConnection>;

Defined in: src/ThreadiverseClient.ts:134

Resolve the instance's software (cached nodeinfo discovery) and prepare the underlying provider. Idempotent; after it resolves, the sync mode and software getters work. Any API call connects implicitly — use this when you need introspection before (or without) making requests.

Returns

Promise<ClientConnection>