A Twitter bot built with ElizaOS and TypeScript that tracks crypto Key Opinion Leaders (KOLs) and market data, posting insights to Twitter. This project auto-posts:
- KOL Token Mentions: Tokens mentioned by crypto KOLs (≥5 mentions) daily at 12:00 PM (noon).
- Market Data: Token and AI agent trends from sentient.market and cookie.fun daily at 2:00 PM.
- Replies: Responds to @-mentions about Solana tokens with basic analysis (planned).
Built for collaboration, this repo integrates Python (ElizaOS) for Twitter interactions and TypeScript for market data scraping and Solana analysis.
- Tracks tweets from a predefined list of crypto KOLs.
- Posts the most-mentioned token (if ≥5 mentions) with sentiment analysis at noon daily.
- Scrapes token prices from sentient.market and AI agent mindshare from cookie.fun.
- Posts a market update (e.g., top token by price) at 2 PM daily.
- Responds to @-mentions with basic Solana token data (e.g., supply) via TypeScript analysis (planned).
Ensure the following tools are installed with these specific versions (or later, if compatible):
- WSL (Ubuntu recommended) on Windows.
- Node.js: v20.18.3
- npm: v10.8.2 (comes with Node.js)
- pnpm: v9.15.0
- Python: v3.12.3 (or compatible version in virtual environment)
- Git: v2.39.2 (or later)
- Twitter API Keys (create an app at developer.x.com)
sudo apt update
sudo apt install -y build-essential libcairo2-dev libpango1.0-dev libjpeg-dev libgif-dev libpng-dev python3-dev g++ python3 python3-pip python3-venv git
sudo ln -s /usr/bin/python3 /usr/bin/python
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt-get install -y nodejs
sudo npm install -g pnpm# Clone the repository
git clone https://github.com/elizaos/eliza.git
pnpm i
pnpm build
pnpm start
# The project iterates fast, sometimes you need to clean the project if you are coming back to the project
pnpm clean
# interact via browser
pnpm start:clientElizaOS AI Agent: Single-agent, multi-actions, Python-based, integrated with a TypeScript agent.
Team Responsibilities: Mandes (Phase 1 & 3), Zhou (Phase 2)
- Assigned: Mandes
- Tasks:
- Environment setup ->
- elizaOs env, connect to twitter, set AI model
- set up Ts Token agent for data analysis
- Steps:
- Clone
https://github.com/ai16z/elizaintoeliza/, install dependencies. - Configure Twitter API in
eliza/.env. - Initialize
token-agent/with TypeScript,@solana/web3.js, etc. - Create
eliza/output/for data handoff.
- Clone
- Assigned: Zhou
- Function:
- Read KOL post and find out the highlight Token
- Auto posting for x times of mentions (text & img)
- Set character (funny, professional, present using data)
- Setup:
pip install tweepy vaderSentiment(for track Twitter KOL post)
- Steps:
- Create posting action for agent (
post_kol_mentions.py) - Configure Character
- Test
- Create posting action for agent (
- Dependencies:
@0glabs/0g-ts-sdk@0.2.1@coinbase/coinbase-sdk@0.10.0@deepgram/sdk@3.11.1@elizaos-plugins/adapter-sqlite@<version>(linked:packages/adapter-sqlite)@injectivelabs/sdk-ts@1.14.41@vitest/eslint-plugin@1.0.1amqplib@0.10.5bs58@5.0.0csv-parse@5.6.0langdetect@0.2.1ollama-ai-provider@0.16.1optional@0.1.4pnpm@9.15.0sharp@0.33.5ws@8.18.0zod@3.24.1
- Dev Dependencies:
@biomejs/biome@1.9.4@commitlint/cli@18.6.1@commitlint/config-conventional@18.6.3@types/jest@29.5.14cli@<version>(linked:packages/cli)concurrently@9.1.0cross-env@7.0.3husky@9.1.7jest@29.7.0lerna@8.1.5nodemon@3.1.7only-allow@1.2.1turbo@2.4.2typedoc@0.26.11typescript@5.6.3viem@2.21.58vite@5.4.12vitest@3.0.5
- Assigned: Mandes
- Data Sources:
- Function:
- Get data from source, like maketcap, token price, trends, AI Agent mind share
- Analyze data
- Steps:
- Find API doc of those webs
- Create posting action for agent (
marketAgent.ts) - Integrate with elizaOs
- Update character config
- Test
- Dependencies:
@solana/web3.js@1.98.0axios@1.8.1canvas@3.1.0ccxt@4.4.62chart.js@3.9.1chartjs-node-canvas@4.1.6cheerio@1.0.0typescript@5.7.3
- Dev Dependencies:
@types/node@22.13.5ts-node@10.9.2
- Function:
- Reply those mentions on Twitter
- Update character to limit the reply topics
- Function:
- Get Token data mentioned by KOL and analyze