vk-io
Version:
Modern VK API SDK for Node.js
143 lines (142 loc) • 4.05 kB
TypeScript
import { Context, ContextFactoryOptions, ContextDefaultState } from './context';
import { Attachmentable } from '../shared/attachmentable';
import { kSerializeData } from '../../utils/constants';
export interface ICommentContextPayload {
id: number;
owner_id: number;
from_id?: number;
user_id?: number;
reply_to_user?: number;
reply_to_comment?: number;
deleter_id?: number;
photo_id?: number;
video_id?: number;
post_id?: number;
item_id?: number;
topic_id?: number;
photo_owner_id?: number;
video_owner_id?: number;
post_owner_id?: number;
topic_owner_id?: number;
market_owner_id?: number;
date?: number;
text?: string;
attachments?: object[];
likes?: object;
}
export type CommentContextOptions<S> = ContextFactoryOptions<ICommentContextPayload, S>;
export type CommentContextType = 'comment';
export type CommentContextSubType = 'photo_comment' | 'video_comment' | 'wall_reply' | 'board_comment' | 'market_comment' | 'photo_comment_new' | 'photo_comment_edit' | 'photo_comment_delete' | 'photo_comment_restore' | 'video_comment_new' | 'video_comment_edit' | 'video_comment_delete' | 'video_comment_restore' | 'wall_reply_new' | 'wall_reply_edit' | 'wall_reply_restore' | 'wall_reply_delete' | 'board_comment_new' | 'board_comment_edit' | 'board_comment_delete' | 'board_comment_restore' | 'market_comment_new' | 'market_comment_edit' | 'market_comment_delete' | 'market_comment_restore';
declare class CommentContext<S = ContextDefaultState> extends Context<ICommentContextPayload, S, CommentContextType, CommentContextSubType> {
constructor(options: CommentContextOptions<S>);
/**
* Checks is new comment
*/
get isNew(): boolean;
/**
* Checks is edit comment
*/
get isEdit(): boolean;
/**
* Checks is delete comment
*/
get isDelete(): boolean;
/**
* Checks is restore comment
*/
get isRestore(): boolean;
/**
* Checks is photo comment
*/
get isPhotoComment(): boolean;
/**
* Checks is wall comment
*/
get isWallComment(): boolean;
/**
* Checks is video comment
*/
get isVideoComment(): boolean;
/**
* Checks is board comment
*/
get isBoardComment(): boolean;
/**
* Checks is board comment
*/
get isMarketComment(): boolean;
/**
* Checks is reply comment
*/
get isReply(): boolean;
/**
* Checks if the user wrote a message
*/
get isUser(): boolean;
/**
* Checks if the group wrote a message
*/
get isGroup(): boolean;
/**
* Returns the identifier comment
*/
get id(): number;
/**
* Returns the identifier reply comment
*/
get replyId(): number | undefined;
/**
* identifier of who wrote the comment
*/
get fromId(): number | undefined;
/**
* Returns the identifier reply user
*/
get replyUserId(): number | undefined;
/**
* Returns the identifier of the user who deleted the comment
*/
get deleterUserId(): number | undefined;
/**
* Returns the identifier of object
*/
get objectId(): number;
/**
* Returns the identifier of owner
*/
get ownerId(): number;
/**
* Returns the date creation action comment
*/
get createdAt(): number | undefined;
/**
* Returns the text comment
*/
get text(): string | undefined;
/**
* Returns the likes
*/
get likes(): Record<string, any> | undefined;
/**
* Includes from subtype
*/
includesFromSubType(type: string): boolean;
/**
* Edits a comment
*/
editComment(options: {
message?: string;
attachments?: any;
}): Promise<number>;
/**
* Removes comment
*/
deleteComment(): Promise<number>;
/**
* Returns the custom data
*/
[kSerializeData](): object;
}
interface CommentContext extends Attachmentable {
}
export { CommentContext };