Files
react-telegram/packages/mtcute-adapter
Kyle Fang f83027e79d feat: add comprehensive CI/CD pipeline with GitHub Actions
- Add CI workflow for testing, type checking, and building
- Add publish workflow for npm releases
- Add automated release workflow with changesets
- Add PR checks for changesets and formatting
- Add security scanning workflow
- Add documentation validation workflow
- Configure changesets for version management
- Add Prettier for code formatting
- Add unit tests for core and adapter packages
- Add contributing guidelines and release documentation
- Configure Dependabot for dependency updates
- Update README with CI badges

This establishes a complete CI/CD pipeline for automated testing,
versioning, and publishing of the React Telegram packages.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-01 10:10:22 +08:00
..

@react-telegram/mtcute-adapter

MTCute adapter for React Telegram bots. This package provides the integration between React Telegram's core reconciler and the MTCute Telegram client library.

Installation

bun add @react-telegram/mtcute-adapter @react-telegram/core react

Usage

import React from 'react';
import { MtcuteAdapter } from '@react-telegram/mtcute-adapter';

const Bot = () => (
  <>
    <b>Hello from React Telegram!</b>
    <br />
    <br />
    <row>
      <button onClick={() => console.log('clicked!')}>Click me</button>
    </row>
  </>
);

async function main() {
  const adapter = new MtcuteAdapter({
    apiId: parseInt(process.env.API_ID!),
    apiHash: process.env.API_HASH!,
    botToken: process.env.BOT_TOKEN!
  });

  adapter.onCommand('start', () => <Bot />);
  
  await adapter.start(process.env.BOT_TOKEN!);
  console.log('Bot is running!');
}

main().catch(console.error);

Features

  • Full React component support for Telegram messages
  • Automatic message updates when state changes
  • Button click handling
  • Text input support with auto-delete option
  • Command handling
  • TypeScript support

API

MtcuteAdapter

const adapter = new MtcuteAdapter({
  apiId: number,
  apiHash: string,
  botToken: string,
  storage?: string // Default: '.mtcute'
});

Methods

  • onCommand(command: string, handler: (ctx) => ReactElement) - Register a command handler
  • start(botToken: string) - Start the bot
  • sendReactMessage(chatId: number | string, app: ReactElement) - Send a React-powered message
  • getClient() - Get the underlying MTCute client
  • getDispatcher() - Get the MTCute dispatcher

License

MIT