Skip to content

Class: ThreadiverseClient ​

Defined in: src/ThreadiverseClient.ts:48

Extends ​

Constructors ​

Constructor ​

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

Defined in: src/ThreadiverseClient.ts:108

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:54

Important: First match wins.

Returns ​

readonly [AnyClient, AnyClient, AnyClient]


mode ​

Get Signature ​

ts
get mode(): ThreadiverseMode;

Defined in: src/ThreadiverseClient.ts:73

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:83

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:114

Parameters ​

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

Returns ​

AnyClient | undefined


connect() ​

ts
connect(): Promise<ClientConnection>;

Defined in: src/ThreadiverseClient.ts:133

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>