@defikitdotnet/x-ai-combat
Version:
XCombatAI - Social Media Engagement Template for the Agent Framework
43 lines • 1.68 kB
TypeScript
export interface QueuedReply {
tweetId: string;
userId: string;
}
export declare class RedisService {
private client;
private redisKeyPrefix;
constructor(agentId: string);
private get repliedTweetsKey();
private get replyQueueKey();
private get lastCheckTimeKey();
private get lastProcessingTweetIdKey();
ping(): Promise<string>;
quit(): Promise<void>;
isTweetReplied(tweetId: string): Promise<boolean>;
addRepliedTweet(tweetId: string): Promise<number>;
addRepliedTweets(tweetIds: string[]): Promise<number>;
getRepliedTweetCount(): Promise<number>;
addToReplyQueue(reply: QueuedReply): Promise<number>;
getReplyQueue(): Promise<QueuedReply[]>;
clearReplyQueue(): Promise<number>;
/**
* Remove the first item from the reply queue
* @returns Number of items removed (0 or 1)
*/
removeFromReplyQueue(): Promise<number>;
requeueFailedReplies(replies: QueuedReply[]): Promise<number>;
setLastCheckTime(time: Date): Promise<'OK'>;
getLastCheckTime(): Promise<Date | null>;
setLastProcessingTweetId(tweetId: string): Promise<'OK'>;
getLastProcessingTweetId(): Promise<string | null>;
clearLastProcessingTweetId(): Promise<number>;
private getLeaderboardKey;
cacheLeaderboard(period: string, limit: number, data: any, agentId?: string): Promise<'OK'>;
getCachedLeaderboard(period: string, limit: number, agentId?: string): Promise<any | null>;
getKeys(): {
repliedTweetsKey: string;
replyQueueKey: string;
lastCheckTimeKey: string;
lastProcessingTweetIdKey: string;
};
}
//# sourceMappingURL=redis-service.d.ts.map