UNPKG

nodevk-ts

Version:

Simple Node.js module that allows you to interact with the VKontakte API.

38 lines (37 loc) 1.63 kB
import API, { CountingResponse } from "./api.js"; import { IMethodParams } from "./../Session/Session.js"; import { UserObject } from "./users.js"; declare type MembersFilter = "friends" | "unsure" | "managers" | "donut"; declare type MembersSort = "id_asc" | "id_desc" | "time_asc" | "time_desc"; interface GetMembersAdditionalParams extends IMethodParams { count?: number; offset?: number; fields?: string[]; filter?: MembersFilter; sort?: MembersSort; } interface GetMembersAdditionalParamsWithFields extends GetMembersAdditionalParams { fields: string[]; } interface IsMemberInfo { member: 0 | 1; user_id: number; request?: 0 | 1; invitation?: 0 | 1; can_invite?: 0 | 1; can_recall?: 0 | 1; } declare class GroupsAPI extends API { private api_name; getMembers(group_id: number, params: GetMembersAdditionalParamsWithFields): Promise<CountingResponse<UserObject>>; getMembers(group_id: number, params?: GetMembersAdditionalParams): Promise<CountingResponse<number>>; isMembers(group_id: number, user_ids: number, extended: true): Promise<IsMemberInfo>; isMembers(group_id: number, user_ids: number, extended?: false): Promise<number>; isMembers(group_id: number, user_ids: number[], extended: true): Promise<IsMemberInfo[]>; isMembers(group_id: number, user_ids: number[], extended?: false): Promise<number[]>; /** * WARNING! This method uses the getMembers method and goes through ALL users of the group. */ isDonut(group_id: number, users_id: number): Promise<boolean>; } export default GroupsAPI;