ai-tweet-gen
v0.0.5
Published
A simple AI tweet generator
Downloads
5
Readme
ai-tweet-gen
Generate tweets using a gemini and llma models and post to twitter/x.
Docs
Installation
npm install ai-tweet-gen
Prerequisites
Required API Key
API_KEY=YOUR_TWITTER_API_KEY
API_SECRET=YOUR_TWITTER_API_SECRET
ACCESS_TOKEN=YOUR_TWITTER_ACCESS_TOKEN
ACCESS_TOKEN_SECRET=YOUR_TWITTER_ACCESS_TOKEN_SECRET
GEMINI_API_KEY=YOUR_GOOGLE_GEMINI_API_KEY
GROQ_API_KEY=GROQ_API_KEY
Usage
1.Importing the package
import {
generatePostGemini,
generatePostLlma,
postToX,
selectPostToPublish,
GeminiModel,
LlamaModel,
GeneratedBy,
MASTER_PROMPT,
} from 'twitter-post-generator';
2.Generating Posts
Using Gemini Model
const geminiPost = await generatePostGemini({ prompt: 'Your prompt here' });
console.log(geminiPost);
Using LLMA Model
const llmaPost = await generatePostLlma({ prompt: 'Your prompt here' });
console.log(llmaPost);
3.Posting to Twitter/X
import { TwitterApiTokens } from 'twitter-api-v2';
const twitterClientConfigs: TwitterApiTokens = {
appKey: 'your-app-key',
appSecret: 'your-app-secret',
accessToken: 'your-access-token',
accessSecret: 'your-access-secret',
};
const postParams = {
postContent: 'Your post content here',
twitterClientConfigs,
};
const response = await postToX(postParams);
console.log(response);
4.Randomly select a post to publish
const selectedPost = await selectPostToPublish();
console.log(selectedPost);
API Reference
Enums
GeminiModel
GEMINI_1_0_PRO
GEMINI_1_5_PRO
LlamaModel
LLMA3_8B_8192
GeneratedBy
GEMINI
LLMA
Interfaces
GeneratePostParams
prompt?: string
XConfigs
appKey: string
appSecret: string
accessToken: string
accessSecret: string
XPostParams
postContent: string
twitterClientConfigs:
Required<TwitterApiTokens>
CreatePostResponse
edit_history_tweet_ids?: Array<string>
id: string
text: string
Functions
Generates a post using the Gemini model.
generatePostGemini(params: GeneratePostParams): Promise<string | null>
Generates a post using the LLMA model.
generatePostLlma(params: GeneratePostParams): Promise<string | null>
Posts content to Twitter.
postToX(params: XPostParams): Promise<CreatePostResponse | null>
Randomly selects a post to publish.
selectPostToPublish(params: SelectPostToPublishParams): Promise<string | null>
License
This project is licensed under the MIT License.