ptt-client
Version:
A Node client for fetching data from ptt.cc.
78 lines (77 loc) • 2.21 kB
TypeScript
import EventEmitter from 'eventemitter3';
import Config from '../../config';
import { Article, Board } from './model';
declare class Bot extends EventEmitter {
static initialState: {
connect: boolean;
login: boolean;
};
static forwardEvents: string[];
searchCondition: {
conditions: any;
init: () => void;
add: (type: any, criteria: any) => void;
};
private config;
private term;
private _state;
private currentCharset;
private socket;
private preventIdleHandler;
constructor(config?: Config);
init(): Promise<void>;
readonly state: any;
getLine: (n: any) => any;
getLines(): Promise<any[]>;
send(msg: string): Promise<boolean>;
preventIdle(timeout: number): void;
login(username: string, password: string, kick?: boolean): Promise<any>;
logout(): Promise<boolean>;
private checkLogin;
private checkArticleWithHeader;
select(model: any): any;
/**
* @deprecated
*/
setSearchCondition(type: string, criteria: string): void;
/**
* @deprecated
*/
resetSearchCondition(): void;
/**
* @deprecated
*/
isSearchConditionSet(): boolean;
/**
* @deprecated
*/
getArticles(boardname: string, offset?: number): Promise<Article[]>;
/**
* @deprecated
*/
getArticle(boardname: string, id: number, article?: Article): Promise<Article>;
/**
* @deprecated
*/
getFavorite(offsets?: number | number[]): Promise<Board[]>;
getMails(offset?: number): Promise<any[]>;
getMail(sn: number): Promise<{
sn: number;
author: string;
title: string;
timestamp: string;
lines: any[];
}>;
enterIndex(): Promise<boolean>;
readonly currentBoardname: string | undefined;
/**
* @deprecated
*/
enterBoard(boardname: string): Promise<boolean>;
enterBoardByName(boardname: string): Promise<boolean>;
enterByOffset(offsets?: number[]): Promise<boolean>;
enterBoardByOffset(offsets?: number[]): Promise<boolean>;
enterFavorite(offsets?: number[]): Promise<boolean>;
enterMail(): Promise<boolean>;
}
export default Bot;