0.0.5 • Published 9 months ago

ai-tweet-gen v0.0.5

Weekly downloads
-
License
MIT
Repository
-
Last release
9 months ago

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.

0.0.5

9 months ago

0.0.4

9 months ago

0.0.3

9 months ago

0.0.2

9 months ago

0.0.1

9 months ago