UNPKG

node-groupme

Version:

The only GroupMe API library that isn't a million years old.

47 lines 1.53 kB
import type { APIChat, APIGroup } from 'groupme-api-types'; import type { Attachment, Client, Message, MessageManager } from '..'; import { Base } from '..'; export declare enum ChannelType { Chat = "chat", Group = "group", FormerGroup = "former_group" } declare type MessagePreview = { id: string | null; user: UserPreview; createdAt: number | null; text: string | null; attachments: Attachment[]; }; declare type UserPreview = { nickname: string | null; image_url: string | null; }; interface ChannelData { readonly id: string; messageCount: number; lastMessage: MessagePreview; createdAt: number; updatedAt: number; messageDeletionMode?: string[]; messageDeletionPeriod?: number; } export default abstract class Channel extends Base implements ChannelData { abstract readonly type: ChannelType; messageCount: number; lastMessage: MessagePreview; createdAt: number; updatedAt: number; messageDeletionMode?: string[]; messageDeletionPeriod?: number; constructor(client: Client, data: ChannelData); static _patch(self: Channel, data: Partial<ChannelData>): typeof self; static dataFromGroup(data: APIGroup): ChannelData; static dataFromChat(data: APIChat): ChannelData; } export interface SendableChannelInterface { messages: MessageManager<Channel, Message<Channel>, new (...args: any[]) => Message<Channel>>; send(text: string): Promise<Message<Channel>>; } export {}; //# sourceMappingURL=Channel.d.ts.map