nodevk-ts
Version:
Simple Node.js module that allows you to interact with the VKontakte API.
38 lines (37 loc) • 1.63 kB
TypeScript
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;