Deep Mind AI
  • Introduction
  • Examples
    • Getting Started with NextJS
    • Telegram Agent
    • Persistent Agent with PostgreSQL
    • AI Guided Market Making Agent
    • Discord Agent Integration
  • Guides
    • Add your own tool
    • Setup locally
    • Test it out
  • Features
    • Transfer Tokens
    • Stake SOL
    • Deploy SPL Token
    • Check Token Balances
    • Token Data Retrieval
    • Deploy NFT Collection
    • Mint NFT
    • Tensor NFT Marketplace
    • Jupiter Exchange Swaps
    • Solana Name Service (SNS)
    • Launch Token on Pump.fun
Powered by GitBook
On this page
  • Quick Start
  • ​Project Structure
  • ​Implementation Steps
  • ​Core Components
  • ​Features
  • ​Deployment
  • ​Security Considerations
  • ​Example Bot Commands
  • ​Development Tips
  • ​Common Issues
  • ​Testing
  • ​Resources
  • ​Support
  1. Examples

Telegram Agent

Build a Solana Agent Kit Telegram Agent

PreviousGetting Started with NextJSNextPersistent Agent with PostgreSQL

Last updated 3 months ago

Create a Telegram bot powered by Solana Agent Kit to interact with Solana blockchain through natural language conversations. This implementation provides a seamless way to execute blockchain operations via Telegram.

Quick Start

1. Agent Setup

# Clone the repository
npm install -g degit
degit sendaifun/solana-agent-kit/tree/main/examples/tg-bot-starter tg-agent
cd tg-agent

# Install dependencies
pnpm install

2. Environment Configuration

Create a .env.local file:

OPENAI_API_KEY=your_openai_key
RPC_URL=your_solana_rpc_url
SOLANA_PRIVATE_KEY=your_wallet_private_key_base58
TELEGRAM_BOT_TOKEN=your_telegram_bot_token
  1. Use /newbot command

  2. Follow instructions to create bot

  3. Save the bot token

├── app/
│   ├── api/
│   │   └── bot/
│   │       └── route.ts    # Telegram webhook handler
│   ├── lib/
│   │   ├── agent.ts       # Solana Agent setup
│   │   └── telegram.ts    # Telegram utilities
│   └── config.ts          # Configuration
├── public/
└── package.json
# Using curl
curl https://api.telegram.org/bot<TELEGRAM_BOT_TOKEN>/setWebhook?url=https://<your-domain>/api/bot

# Or visit in browser
https://api.telegram.org/bot<TELEGRAM_BOT_TOKEN>/setWebhook?url=https://<your-domain>/api/bot
# Start development server
pnpm dev

# Start ngrok tunnel
ngrok http 3000
// app/api/bot/route.ts
export async function POST(req: Request) {
  const body = await req.json();
  
  // Initialize agent
  const agent = new SolanaAgentKit(
    process.env.SOLANA_PRIVATE_KEY!,
    process.env.RPC_URL!,
    process.env.OPENAI_API_KEY
  );

  // Process message
  const response = await processMessage(body, agent);
  
  return new Response(JSON.stringify(response));
}
async function processMessage(message: any, agent: SolanaAgentKit) {
  const { text, chat } = message;
  
  // Generate response using agent
  const response = await agent.chat(text);
  
  // Send response to Telegram
  await sendTelegramMessage(chat.id, response);
}
  1. Chat Interaction

    • Natural language processing

    • Command handling

    • Error responses

    • Message formatting

  2. Blockchain Operations

    • Transaction execution

    • Balance checking

    • Token transfers

    • Price queries

  3. Bot Management

    • User session handling

    • Rate limiting

    • Error handling

    • Logging

  1. Push code to GitHub

  2. Import project in Vercel

  3. Configure environment variables

  4. Deploy

After deployment:

  1. Get your deployment URL

  2. Set webhook using the URL

  3. Verify webhook status

  4. Test bot functionality

  1. Token Security

    • Secure storage of bot token

    • Environment variable protection

    • Access control

    • Rate limiting

  2. Request Validation

    • Validate Telegram updates

    • Check message format

    • Verify user permissions

    • Monitor activity

  3. Error Handling

    • Graceful error messages

    • Transaction failures

    • Network issues

    • API limits

/balance - Check wallet balance
/price SOL - Get SOL price
/transfer 1 SOL address - Transfer SOL
/help - Show available commands
  1. Local Testing

    • Use ngrok for local development

    • Test all commands thoroughly

    • Monitor error logs

    • Check response times

  2. Message Handling

    • Parse commands correctly

    • Format responses properly

    • Handle long messages

    • Implement retry logic

  3. User Experience

    • Clear error messages

    • Progress indicators

    • Command suggestions

    • Help documentation

  1. Webhook Setup

    • Invalid URL format

    • SSL certificate issues

    • Port configuration

    • Domain verification

  2. Bot Responses

    • Slow response times

    • Message formatting

    • Command parsing

    • Error handling

  3. Deployment

    • Environment variables

    • Webhook configuration

    • API access

    • Rate limits

# Start local server
pnpm dev

# Start ngrok
ngrok http 3000

# Set webhook to ngrok URL
curl https://api.telegram.org/bot<token>/setWebhook?url=<ngrok-url>/api/bot
  1. Send test messages

  2. Check transaction execution

  3. Verify responses

  4. Monitor errors

For support and questions:

  • Create GitHub issue

  • Join Telegram support group

  • Check documentation

  • Contact maintainers

3. Create Telegram Bot

Message on Telegram

Project Structure

Implementation Steps

1. Set Up Webhook

2. Local Development

Core Components

Webhook Handler

Message Processing

Features

Deployment

Deploy to Vercel

Set Up Webhook

Security Considerations

Example Bot Commands

Development Tips

Common Issues

Testing

Local Testing

Production Testing

Resources

Support

​
​
​
@BotFather
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
Telegram Bot API
Solana Agent Kit Docs
Vercel Deployment
ngrok Documentation
​