{"id":27926033,"url":"https://github.com/squatboy/gemini-discord-summarizer-bot","last_synced_at":"2026-04-25T12:35:58.908Z","repository":{"id":291462384,"uuid":"977694559","full_name":"squatboy/gemini-discord-summarizer-bot","owner":"squatboy","description":"discord bot for summarizing discord channel messages using gemini model","archived":false,"fork":false,"pushed_at":"2025-06-07T05:17:20.000Z","size":40194,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-07T06:20:39.986Z","etag":null,"topics":["discord","discord-bot","discord-py","gemini","gemini-api","python","summarize"],"latest_commit_sha":null,"homepage":"","language":"Python","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/squatboy.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,"zenodo":null}},"created_at":"2025-05-04T19:14:01.000Z","updated_at":"2025-06-07T05:17:25.000Z","dependencies_parsed_at":"2025-06-07T06:29:48.308Z","dependency_job_id":null,"html_url":"https://github.com/squatboy/gemini-discord-summarizer-bot","commit_stats":null,"previous_names":["squatboy/gemini-discord-summary-bot"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/squatboy/gemini-discord-summarizer-bot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/squatboy%2Fgemini-discord-summarizer-bot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/squatboy%2Fgemini-discord-summarizer-bot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/squatboy%2Fgemini-discord-summarizer-bot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/squatboy%2Fgemini-discord-summarizer-bot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/squatboy","download_url":"https://codeload.github.com/squatboy/gemini-discord-summarizer-bot/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/squatboy%2Fgemini-discord-summarizer-bot/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32262801,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-25T09:15:33.318Z","status":"ssl_error","status_checked_at":"2026-04-25T09:15:31.997Z","response_time":59,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["discord","discord-bot","discord-py","gemini","gemini-api","python","summarize"],"created_at":"2025-05-07T00:51:05.020Z","updated_at":"2026-04-25T12:35:58.900Z","avatar_url":"https://github.com/squatboy.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"## 🇰🇷 README [한국어 보기](#한국어)\n\n\u003cbr\u003e\n\n# `discord-channelmessage-summarize-bot`\n\n## Intro\n\na Discord bot that summarizes conversation history in Discord channels using the Google Gemini model. It helps users quickly grasp the essence of long conversations, making it easier to catch up on important information or missed details. It offers both immediate summary via slash commands for specific time ranges and an automatic daily summary feature for a configured channel.\n\n## Deploy\n\n\n\u003cimg width=\"1093\" alt=\"discord-bot-arch\" src=\"https://github.com/user-attachments/assets/4ac5b43c-df22-4937-a9b2-8dab5a9d967e\" /\u003e\n\n\nCan be deployed in a cloud environment like above diagram. For 24/7 hosting \u0026 smaller-scale deployments, it can be easily configured with free tiers or serverless services, similar to my own setup.\n\n```Use it as a reference only. Design an architecture that best suits your service's scale.```\n\n## Features\n\n* **`Conversation Summarization`:** Summarizes Discord channel message content using the Google Gemini API.\n* **`Slash Commands`:** Supports slash commands for instant summarization of messages within specific time ranges (1 hour, 6 hours, 24 hours).\n* **`Automatic Daily Summary`:** Automatically summarizes the previous day's conversation in a designated channel at midnight in the configured timezone.\n* **`Long Message Splitting`:** Automatically splits long summary results into multiple messages to comply with Discord's message length limits.\n* **`Configurable`:** Easy configuration via environment variables for Discord token, Google API key, target channel ID\n\n## Getting Started\n\nThese instructions will get you a copy of the project up and running on your local machine for development and testing purposes.\n\n### Prerequisites\n\n* Python 3.8 or higher installed 🐍\n* A Discord Bot Application created and the Bot Token 🔑\n* Gemini API Key 🔑\n\u003e Enable the **Message Content Intent** for your bot in the Discord Developer Portal (under Bot settings) ✅\n\n### Installation\n\n1.  **Clone the repository:**\n    ```bash\n    git clone https://github.com/squatboy/gemini-discord-summary-bot.git\n    cd gemini-discord-summary-bot\n    ```\n\n2.  **Create a virtual environment (recommended):**\n    ```bash\n    python -m venv venv\n    # Windows\n    .\\venv\\Scripts\\activate\n    # macOS/Linux\n    source venv/bin/activate\n    ```\n\n3.  **Install dependencies:**\n    Install the required libraries. You will need a `requirements.txt` file containing the following:\n    ```txt\n    discord.py\n    google-generativeai\n    python-dotenv\n    pytz\n    ```\n    ```bash\n    pip install -r requirements.txt\n    ```\n\n## Configuration\n\nYou need to create a `.env` file in the project's root directory and set the following environment variables.\n\n### `.env` File Setup\n\n```dotenv\nDISCORD_TOKEN=YOUR_DISCORD_BOT_TOKEN\nGOOGLE_API_KEY=YOUR_GOOGLE_GEMINI_API_KEY\nTARGET_CHANNEL_ID=YOUR_TARGET_CHANNEL_ID_FOR_DAILY_SUMMARY\n```\n\n## Commands\n\u003cimg width=\"469\" alt=\"screenshot\" src=\"https://github.com/user-attachments/assets/33998476-c1e4-4190-aab3-4e4ffb7e0194\" /\u003e\n\n\n\n\u003cbr\u003e\n\n---\n\n\u003cbr\u003e\n\u003cbr\u003e\n\u003cbr\u003e\n\n## 한국어\n\n## 소개\n\nDiscord 채널의 대화 내용을 Google Gemini 모델을 활용하여 요약해 주는 Discord 봇입니다. 긴 대화 내용을 빠르게 파악하여 중요한 정보나 놓친 내용을 쉽게 확인하는 데 도움을 줍니다. 특정 시간 범위의 메시지를 즉시 요약하거나, 설정된 채널에서 매일 자동으로 전날의 대화 내용을 요약하는 기능을 제공합니다.\n\n## 배포\n\u003cimg width=\"1093\" alt=\"discord-bot-arch\" src=\"https://github.com/user-attachments/assets/787a27c3-4c06-4cde-8502-d134af0c17de\" /\u003e\n\n위 다이어그램과 같이 클라우드 환경에서 배포할 수 있으며, 24/7 호스팅 \u0026 소규모의 경우 저랑 비슷하게 free tier들로 구성하거나 serverless 서비스들로 간단하게 구성이 가능합니다\n\n\n## 주요 기능\n\n* **대화 요약:** Google Gemini API를 사용하여 Discord 채널의 메시지 내용을 요약합니다.\n* **슬래시 커맨드:** 특정 시간(1시간, 6시간, 24시간) 동안의 메시지를 즉시 요약하는 슬래시 커맨드를 지원합니다.\n* **자동 일일 요약:** 설정된 시간대의 자정에 특정 채널의 전날 대화 내용을 자동으로 요약하여 전송합니다.\n* **긴 메시지 분할:** 요약 결과가 Discord 메시지 길이 제한을 초과할 경우 자동으로 분할하여 전송합니다.\n\n## 시작하기\n\n프로젝트를 로컬 환경에서 실행하기 위한 설정 방법입니다.\n코드 내부 로직에 대한 설명 및 메세지 요약 언어를 한국어로 원하시면\n프로젝트 내부 디렉토리 `korean-v1` 를 사용하시면 됩니다.\n\n### 필수 조건\n\n* Python 3.8 이상 버전 설치 🐍\n* Discord 봇 애플리케이션 생성 및 봇 토큰 확보 🔑\n* Gemini API 키 🔑\n* Discord 봇의 메시지 내용 인텐트(Message Content Intent) 활성화 (Discord 개발자 포털에서 봇 설정에서 활성화) ✅\n\n### 설치\n\n1.  **저장소 클론:**\n    ```bash\n    git clone [프로젝트 저장소 URL]\n    cd [프로젝트 폴더]\n    ```\n\n2.  **가상 환경 설정 (권장):**\n    ```bash\n    python -m venv venv\n    # Windows\n    .\\venv\\Scripts\\activate\n    # macOS/Linux\n    source venv/bin/activate\n    ```\n\n3.  **종속성 설치:**\n    프로젝트에 필요한 라이브러리를 설치합니다. 아래 내용을 포함하는 `requirements.txt` 파일이 필요합니다.\n    ```txt\n    discord.py\n    google-generativeai\n    python-dotenv\n    pytz\n    ```\n    ```bash\n    pip install -r requirements.txt\n    ```\n\n## 설정\n\n프로젝트 루트 디렉토리에 `.env` 파일을 생성하고 다음 환경 변수를 설정해야 합니다.\n\n### `.env` 파일 설정\n\n```dotenv\nDISCORD_TOKEN=YOUR_DISCORD_BOT_TOKEN\nGOOGLE_API_KEY=YOUR_GOOGLE_GEMINI_API_KEY\nTARGET_CHANNEL_ID=YOUR_TARGET_CHANNEL_ID_FOR_DAILY_SUMMARY\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsquatboy%2Fgemini-discord-summarizer-bot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsquatboy%2Fgemini-discord-summarizer-bot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsquatboy%2Fgemini-discord-summarizer-bot/lists"}