gocqhttp-twitter-bot
Version:
GoCQHTTP Twitter Bot
71 lines (70 loc) • 2.18 kB
TypeScript
import TwitterTypes from 'twitter-d';
import QQBot from './koishi';
interface IWorkerOption {
lock: ILock;
lockfile: string;
bot: QQBot;
workInterval: number;
webshotDelay: number;
consumerKey: string;
consumerSecret: string;
accessTokenKey: string;
accessTokenSecret: string;
mode: number;
wsUrl: string;
redis?: IRedisConfig;
}
export declare class ScreenNameNormalizer {
static _queryUser: (username: string) => Promise<string>;
static normalize: (username: string) => string;
static normalizeLive(username: string): Promise<string>;
}
export declare let sendTweet: (id: string, receiver: IChat) => void;
export interface ITimelineQueryConfig {
username: string;
count?: number;
since?: string;
until?: string;
noreps?: boolean;
norts?: boolean;
}
export declare let sendTimeline: (conf: {
username: string;
count?: string;
since?: string;
until?: string;
noreps?: string;
norts?: string;
}, receiver: IChat) => void;
export declare type FullUser = TwitterTypes.FullUser;
export declare type Entities = TwitterTypes.Entities;
export declare type ExtendedEntities = TwitterTypes.ExtendedEntities;
export declare type MediaEntity = TwitterTypes.MediaEntity;
interface ITweet extends TwitterTypes.Status {
user: FullUser;
retweeted_status?: Tweet;
}
export declare type Tweet = ITweet;
export declare type Tweets = ITweet[];
export default class {
private client;
private lock;
private lockfile;
private workInterval;
private bot;
private webshotDelay;
private webshot;
private mode;
private wsUrl;
private redis;
constructor(opt: IWorkerOption);
launch: () => void;
queryUser: (username: string) => Promise<string>;
queryTimelineReverse: (conf: ITimelineQueryConfig) => Promise<ITweet[]>;
queryTimeline: ({ username, count, since, until, noreps, norts }: ITimelineQueryConfig) => Promise<ITweet[]>;
private workOnTweets;
getTweet: (id: string, sender: (id: string, msg: string, text: string, author: string) => void) => Promise<void[]>;
private sendTweets;
work: () => void;
}
export {};