slack.interface.ts•2.31 kB
import {
AddReactionRequest,
GetChannelHistoryRequest,
GetThreadRepliesRequest,
GetUserProfileRequest,
GetUsersRequest,
ListChannelsRequest,
PostMessageRequest,
ReplyToThreadRequest,
SlackChannel,
SlackMessage,
SlackOperationResult,
SlackUser,
SlackUserProfile,
} from "../types/slack.types.js";
export interface ISlackClient {
listChannels(request: ListChannelsRequest): Promise<
SlackOperationResult<{
channels: SlackChannel[];
next_cursor?: string;
}>
>;
postMessage(
request: PostMessageRequest
): Promise<SlackOperationResult<SlackMessage>>;
replyToThread(
request: ReplyToThreadRequest
): Promise<SlackOperationResult<SlackMessage>>;
addReaction(request: AddReactionRequest): Promise<SlackOperationResult<void>>;
getChannelHistory(request: GetChannelHistoryRequest): Promise<
SlackOperationResult<{
messages: SlackMessage[];
}>
>;
getThreadReplies(request: GetThreadRepliesRequest): Promise<
SlackOperationResult<{
messages: SlackMessage[];
}>
>;
getUsers(request: GetUsersRequest): Promise<
SlackOperationResult<{
users: SlackUser[];
next_cursor?: string;
}>
>;
getUserProfile(
request: GetUserProfileRequest
): Promise<SlackOperationResult<SlackUserProfile>>;
}
export interface ISlackService {
listChannels(request: ListChannelsRequest): Promise<
SlackOperationResult<{
channels: SlackChannel[];
next_cursor?: string;
}>
>;
postMessage(
request: PostMessageRequest
): Promise<SlackOperationResult<SlackMessage>>;
replyToThread(
request: ReplyToThreadRequest
): Promise<SlackOperationResult<SlackMessage>>;
addReaction(request: AddReactionRequest): Promise<SlackOperationResult<void>>;
getChannelHistory(request: GetChannelHistoryRequest): Promise<
SlackOperationResult<{
messages: SlackMessage[];
}>
>;
getThreadReplies(request: GetThreadRepliesRequest): Promise<
SlackOperationResult<{
messages: SlackMessage[];
}>
>;
getUsers(request: GetUsersRequest): Promise<
SlackOperationResult<{
users: SlackUser[];
next_cursor?: string;
}>
>;
getUserProfile(
request: GetUserProfileRequest
): Promise<SlackOperationResult<SlackUserProfile>>;
}