{"id":27108583,"url":"https://github.com/timurkafff/telegram-bot-google-gemini-ai","last_synced_at":"2025-04-06T22:18:52.708Z","repository":{"id":267768039,"uuid":"902293270","full_name":"timurkafff/Telegram-bot-Google-Gemini-Ai","owner":"timurkafff","description":"Telegram bot created to use Google Gemini Ai","archived":false,"fork":false,"pushed_at":"2024-12-12T09:40:31.000Z","size":17,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-06T22:18:51.151Z","etag":null,"topics":["chatbot","gemeni","google","google-api","google-chat","google-gemeni-api","telegram-bot"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/timurkafff.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-12-12T09:34:55.000Z","updated_at":"2024-12-12T09:40:35.000Z","dependencies_parsed_at":"2024-12-12T10:39:36.572Z","dependency_job_id":null,"html_url":"https://github.com/timurkafff/Telegram-bot-Google-Gemini-Ai","commit_stats":null,"previous_names":["timurkaff/telegram-bot-google-gemini-ai","timurkafff/telegram-bot-google-gemini-ai"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timurkafff%2FTelegram-bot-Google-Gemini-Ai","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timurkafff%2FTelegram-bot-Google-Gemini-Ai/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timurkafff%2FTelegram-bot-Google-Gemini-Ai/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timurkafff%2FTelegram-bot-Google-Gemini-Ai/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/timurkafff","download_url":"https://codeload.github.com/timurkafff/Telegram-bot-Google-Gemini-Ai/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247557834,"owners_count":20958059,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["chatbot","gemeni","google","google-api","google-chat","google-gemeni-api","telegram-bot"],"created_at":"2025-04-06T22:18:51.768Z","updated_at":"2025-04-06T22:18:52.702Z","avatar_url":"https://github.com/timurkafff.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Telegram-бот на основе Google Gemini\n\nЭтот бот предоставляет доступ к возможностям Google Gemini прямо в Telegram. Он позволяет общаться с искусственным интеллектом, генерировать текст, анализировать изображения, документы и аудиофайлы.\n\n## Возможности\n\n-   **Текстовые запросы:**  Задавайте вопросы, генерируйте идеи, пишите тексты - всё, что может Gemini, доступно через текстовый чат.\n-   **Обработка изображений:**  Отправляйте боту изображения и получайте их описание или ответы на вопросы, связанные с ними.\n-   **Обработка документов:**  Загружайте документы в поддерживаемых форматах (текстовые файлы, PDF, изображения, CSV) и задавайте вопросы об их содержимом.\n-   **Обработка аудио:**  Отправляйте голосовые сообщения, и бот проанализирует их содержание.\n-   **Потоковая генерация ответа:**  Бот отвечает на сообщения по частям, что позволяет видеть результат генерации в реальном времени.\n-   **Автоматическая очистка истории:**  История диалога автоматически очищается через 5 минут неактивности для экономии ресурсов и повышения производительности.\n\n## Используемые технологии\n\n-   **Google Gemini API:**  Используется последняя версия модели `gemini-1.5-flash` для генерации текста и анализа данных.\n-   **Node.js:**  Бот написан на языке JavaScript с использованием платформы Node.js.\n-   **Telegraf.js:**  Библиотека для создания Telegram-ботов.\n-   **`@google/generative-ai`:**  Официальный SDK от Google для работы с Gemini API.\n\n## Установка и запуск\n\n1. **Клонируйте репозиторий:**\n\n    ```bash\n    git clone https://github.com/timurkaff/Telegram-bot-Google-Gemini-Ai.git\n    cd \u003cTelegram-bot-Google-Gemini-Ai\u003e\n    ```\n\n2. **Установите зависимости:**\n\n    ```bash\n    npm install\n    ```\n\n3. **Настройте переменные окружения:**\n\n    -   Создайте файл `.env` в корневой директории проекта.\n    -   Добавьте в него следующие переменные:\n\n        ```\n        API_KEY=\u003cваш API ключ Google Gemini\u003e\n        BOT_TOKEN=\u003cтокен вашего Telegram бота\u003e\n        ALLOWED_USER_ID=\u003cваш Telegram ID\u003e\n        ```\n\n        -   **`API_KEY`:**  Ключ API для доступа к Google Gemini. Получить его можно на [странице Google AI Studio](https://makersuite.google.com/app/apikey).\n        -   **`BOT_TOKEN`:**  Токен Telegram-бота. Создать бота и получить токен можно с помощью [@BotFather](https://telegram.me/BotFather).\n        -   **`ALLOWED_USER_ID`:**  Ваш Telegram ID. Узнать его можно с помощью [@userinfobot](https://telegram.me/userinfobot). Бот будет отвечать только пользователю с этим ID.\n\n4. **Запустите бота:**\n\n    ```bash\n    node index.js\n    ```\n\n## Смена модели\n\nМодель, используемая ботом, задаётся в файле `index.js` в строке:\n\n```javascript\nconst model = genAI.getGenerativeModel({ model: \"gemini-1.5-flash\" });\n```\n\nЧтобы сменить модель, замените `\"gemini-1.5-flash\"` на название другой модели, например:\n\n-   `\"gemini-pro\"` - модель для текстовых задач.\n-   `\"gemini-1.5-pro\"` - более новая версия модели, чем `gemini-pro`\n\n**Важно:** Убедитесь, что выбранная модель поддерживает нужные вам функции. Например, `\"gemini-pro\"` не поддерживает работу с аудио. Актуальный список моделей и их возможностей можно найти в [документации Google AI](https://ai.google.dev/models/gemini).\nТакже можешь натсроить ответ модели для этого найди код \n```javascript\nconst generationConfig = {\n      //настройки безопасности\n      safetySettings: [\n        {\n          category: HarmCategory.HARM_CATEGORY_HARASSMENT,\n          threshold: HarmBlockThreshold.BLOCK_NONE,\n        },\n        {\n          category: HarmCategory.HARM_CATEGORY_HATE_SPEECH,\n          threshold: HarmBlockThreshold.BLOCK_NONE,\n        },\n        {\n          category: HarmCategory.HARM_CATEGORY_SEXUALLY_EXPLICIT,\n          threshold: HarmBlockThreshold.BLOCK_NONE,\n        },\n        {\n          category: HarmCategory.HARM_CATEGORY_DANGEROUS_CONTENT,\n          threshold: HarmBlockThreshold.BLOCK_NONE,\n        },\n      ],\n    };\n```\nи замени `BLOCK_NONE` на `BLOCK_LOW_AND_ABOVE`, `BLOCK_MEDIUM_AND_ABOVE`\n\n## Ограничения\n\n-   **Бесплатный тариф:**  В бесплатном тарифе Google Gemini API есть ограничения на количество запросов в минуту и в месяц.\n-   **Поддерживаемые форматы файлов:**  Список поддерживаемых MIME-типов для документов можно найти в коде бота в переменной `supportedMimeTypes`.\n-   **Размер файлов:**  Существуют ограничения на размер загружаемых файлов. Подробности можно найти в документации к Google Gemini API.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftimurkafff%2Ftelegram-bot-google-gemini-ai","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftimurkafff%2Ftelegram-bot-google-gemini-ai","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftimurkafff%2Ftelegram-bot-google-gemini-ai/lists"}