Inglés | 简体中文 | 繁體中文 | 日本語 | Español | Français | Русий | Deutsch
¡Bienvenido a Telegram GPT Worker! Este es un bot de telegrama eficiente desarrollado en TypeScript. Admite múltiples idiomas y modelos de IA, implementados en trabajadores de Cloudflare, proporcionando a los usuarios una experiencia de servicio rápida y escalable.
Antes de comenzar, asegúrese de tener lo siguiente:
Para obtener pasos de implementación detallados, consulte el tutorial a continuación.
/start - Comience el bot/language - cambiar el idioma/switchmodel - Modelo de AI Switch/new - Comience una nueva conversación/history - Obtenga el resumen de la historia de la conversación/help - Obtenga información de ayuda/img - Generar imagen (Dall -E)/flux - Generar imagen (Flux de CloudFlare) /GPT-Telegram-Worker
│
├── /src
│ ├── /api
│ │ ├── azure.ts # Handle Azure API interactions
│ │ ├── claude.ts # Handle Claude API interactions
│ │ ├── flux-cf.ts # Handle Cloudflare AI drawing interface
│ │ ├── gemini.ts # Handle Google Gemini API interactions
│ │ ├── groq.ts # Handle Groq API interactions
│ │ ├── image_generation.ts # Handle DALL·E drawing interface
│ │ ├── model_api_interface.ts # Common interface defining model API standard structure
│ │ ├── openai_api.ts # Handle OpenAI API interactions
│ │ ├── openai_compatible.ts # Handles OpenAI compatible API interactions
│ │ └── telegram.ts # Handle Telegram bot logic
│ ├── /config # Configuration files
│ │ └── commands.ts # Telegram bot commands
│ ├── /utils
│ │ └── helpers.ts # Utility functions and tools
│ │ └── i18n.ts # Multilingual functions
│ │ └── redis.ts # Upstash Redis functions
│ │ └── image_analyze.ts # Image upload functions
│ ├── index.ts # Entry file, handling requests and responses
│ └── env.ts # Configure environment variables
├── /types # Type definition files
│ └── telegram.d.ts # Type definitions for Telegram API
├── wrangler.toml # Cloudflare Worker configuration file
├── tsconfig.json # TypeScript configuration file
├── package.json # Project dependency file
└── README.md # Project documentation
Instalar Wrangler CLI:
npm install -g @cloudflare/wranglerInicie sesión en su cuenta de CloudFlare:
wrangler loginCree un nuevo proyecto de trabajadores:
wrangler init telegram-bot Copie el archivo dist/index.js en su proyecto.
Edite el archivo wrangler.toml para configurar su proyecto:
name = " telegram-bot "
type = " javascript "
account_id = " your_account_id "
workers_dev = trueDesplegar a los trabajadores de CloudFlare:
wrangler publishdist/index.js en el editor, luego guarde el archivo.Use la API BOT Telegram para configurar el webhook. Ejemplo de URL:
https://api.telegram.org/bot < YOUR_BOT_TOKEN > /setWebhook ? url=https://your-worker.your-subdomain.workers.dev/webhookhttps://api.telegram.org/bot123456789:abcdefghijklmn/setWebhook ? url=https://gpt-telegram-worker.abcdefg.workers.dev/webhookClon el proyecto:
git clone https://github.com/snakeying/telegram-bot.gitInstalar dependencias:
npm installConfigurar variables de entorno.
Compilar mecanografiar:
npm run buildComience el bot:
npm start| Nombre de variable | Descripción | Valor predeterminado | Ejemplo |
|---|---|---|---|
| OPERAI_API_KEY | Clave de API de OpenAI | - | SK-ABCDEFGHIJKLMNOPQRSTUVWXYZ123456 |
| OPERAI_BASE_URL | URL base de API de OpenAi | https://api.openai.com/v1 | https://your-custom-endpoint.com/v1 |
| OpenAI_Models | Lista de modelos Operai disponibles | - | GPT-3.5-TURBO, GPT-4 |
| Telegram_bot_token | TOKEN DE BOT DE TELEGRAM | - | 123456: ABC-DEF1234GHIKL-PYX57W2V1U123EW1111 |
| Whitelisted_users | Lista de identificaciones de usuario permitidas para usar el bot | - | 12345678,87654321 |
| System_init_message | Mensaje de inicialización del sistema | Eres un asistente útil. | Eres un asistente útil. |
| System_init_message_role | Mensaje de inicialización del sistema | sistema | sistema |
| Default_model | Modelo AI predeterminado para usar | - | GPT-3.5-TURBO |
| Upstash_redis_rest_url | URL de descanso Redis Redis | - | https://your-redis-url.upstash.io |
| Upstash_redis_rest_token | Token de descanso Redis Redis | - | tu-inken-token |
| Dall_e_model | Versión del modelo Dall-E | Dall-E-3 | Dall-E-3 |
| Cloudflare_api_token | Token de API de Cloudflare | - | Tu Cloudflare-Api-Token |
| Cloudflare_account_id | ID de cuenta de CloudFlare | - | Tu Cloudflare-Account-id |
| Flux_steps | Número de pasos de generación de flujo | 4 | 4-8, los pasos máximos son 8 |
| Apurn_optimization | Habilitar optimización rápida | FALSO | verdadero |
| Externo_api_base | URL de base de API externa | - | https://external-api.com |
| Externo_modelo | Nombre del modelo externo | - | nombre de modelo externo |
| Externo_api_key | Clave API externa | - | llave externa |
| Google_model_key | Clave de API del modelo de Google AI | - | tu-google-api-key |
| Google_model_baseurl | URL base de API del modelo de Google AI | https://generativelanguage.googleapis.com/v1beta | https://your-custom-google-endpoint.com |
| Google_models | Lista de modelos disponibles de Google AI | - | gemini-pro, gemini-pro-visión |
| Groq_api_key | Llave de API de Groq | - | tu groq-api-key |
| Anthropic_api_key | Clave de API antrópica | - | tu-antrópico-api-key |
| Anthropic_base_url | URL de base de API antrópica | https://api.anthropic.com | https://your-custom-anthropic-endpoint.com |
| OpenAI_Compatible_Key | Llave de API compatible de OpenAI | - | SK-ABCDEFGHIJKLMNOPQRSTUVWXYZ123456 |
| OPERAI_COMPATIBLE_URL | URL de base de API compatible de OpenAI | - | https://your-custom-endpoint.com/v1 |
Nota: Algunas variables deben configurarse manualmente y no tener valores predeterminados.
Permite a los usuarios cargar imágenes y recibir resultados de análisis de IA. Aquí le mostramos cómo usarlo:
Nota: Asegúrese de que el modelo AI esté utilizando el análisis de imágenes de soporte. Si el modelo actual no lo admite, el bot le pedirá que cambie a un modelo de soporte multimodal.
Cuando la variable de entorno ARD_Pimization se establece en True, la función de generación de imágenes de flujo utiliza una API externa para optimizar las indicaciones. Esta característica funciona a través de los siguientes pasos:
Esta característica puede ayudar a generar imágenes más precisas que se alinean mejor con las características del modelo de flujo. Para usar esta función, asegúrese de que todas las variables de entorno relevantes estén configuradas correctamente.
Este proyecto tiene licencia bajo la licencia MIT.
Copyright (c) 2024 [Snakeying]