mirror of
https://github.com/lockin-bot/react-telegram.git
synced 2026-01-12 15:13:56 +08:00
- 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>
@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 handlerstart(botToken: string)- Start the botsendReactMessage(chatId: number | string, app: ReactElement)- Send a React-powered messagegetClient()- Get the underlying MTCute clientgetDispatcher()- Get the MTCute dispatcher
License
MIT