{"id":22937917,"url":"https://github.com/owengretzinger/server-insights","last_synced_at":"2026-05-16T17:02:48.230Z","repository":{"id":170433978,"uuid":"586050654","full_name":"owengretzinger/server-insights","owner":"owengretzinger","description":"Discord bot that analyzes your server and generates insights","archived":false,"fork":false,"pushed_at":"2023-01-10T16:13:12.000Z","size":17,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-02-07T12:39:27.655Z","etag":null,"topics":["discord","discord-py","hackathon","python"],"latest_commit_sha":null,"homepage":"https://devpost.com/software/server-insights","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/owengretzinger.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":"2023-01-06T20:06:42.000Z","updated_at":"2024-07-04T12:12:14.000Z","dependencies_parsed_at":null,"dependency_job_id":"71633eac-6d8b-400c-9742-960a0ea79229","html_url":"https://github.com/owengretzinger/server-insights","commit_stats":null,"previous_names":["owengretzinger/server-insights"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/owengretzinger%2Fserver-insights","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/owengretzinger%2Fserver-insights/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/owengretzinger%2Fserver-insights/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/owengretzinger%2Fserver-insights/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/owengretzinger","download_url":"https://codeload.github.com/owengretzinger/server-insights/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246700245,"owners_count":20819844,"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":["discord","discord-py","hackathon","python"],"created_at":"2024-12-14T12:15:06.011Z","updated_at":"2026-05-16T17:02:48.152Z","avatar_url":"https://github.com/owengretzinger.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003ca href=\"https://github\n\u003cdiv align=\"center\"\u003e\n  \u003ca href=\"https://devpost.com/software/server-insights\"\u003e\n    \u003cimg src=\"https://github.com/user-attachments/assets/a6678e6d-d6ec-4326-ab10-7efa77a64d33\" alt=\"Logo\" width=\"80\" height=\"80\"\u003e\n  \u003c/a\u003e\n\n\u003ch3 align=\"center\"\u003eServer Insights\u003c/h3\u003e\n  \u003cp align=\"center\"\u003e\n    A Discord bot that analyzes server message data to provide insights on user activity, channel engagement, and more.\n    \u003cbr /\u003e\n     \u003ca href=\"https://devpost.com/software/server-insights\"\u003edevpost.com/software/server-insights\u003c/a\u003e\n  \u003c/p\u003e\n\u003c/div\u003e\n\n\u003c!-- TABLE OF CONTENTS --\u003e\n\u003cdetails\u003e\n  \u003csummary\u003eTable of Contents\u003c/summary\u003e\n  \u003col\u003e\n    \u003cli\u003e\n      \u003ca href=\"#about-the-project\"\u003eAbout The Project\u003c/a\u003e\n      \u003cul\u003e\n        \u003cli\u003e\u003ca href=\"#key-features\"\u003eKey Features\u003c/a\u003e\u003c/li\u003e\n      \u003c/ul\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#architecture\"\u003eArchitecture\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\n      \u003ca href=\"#getting-started\"\u003eGetting Started\u003c/a\u003e\n      \u003cul\u003e\n        \u003cli\u003e\u003ca href=\"#prerequisites\"\u003ePrerequisites\u003c/a\u003e\u003c/li\u003e\n        \u003cli\u003e\u003ca href=\"#installation\"\u003eInstallation\u003c/a\u003e\u003c/li\u003e\n      \u003c/ul\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#acknowledgments\"\u003eAcknowledgments\u003c/a\u003e\u003c/li\u003e\n  \u003c/ol\u003e\n\u003c/details\u003e\n\n## About The Project\n\nServer Insights is a Discord bot designed to provide server administrators and members with valuable insights into server activity. By archiving and analyzing message data, the bot can generate various reports and visualizations to help understand user engagement, channel usage, and communication patterns.\n\n### Key Features\n\n- **Message Archiving:** Archives all messages in the server to a CSV file for analysis.\n- **Server Breakdown Analysis:** Provides breakdowns of messages sent by users, channels, or based on keyword searches, displayed in various graph types (bar, pie, text).\n- **User Overview:** Generates a summary of a specific user's activity, including message count, oldest message, and swear word usage.\n- **Random Message Retrieval:** Sends a random message from the archive based on specified filters (swear words, channel, user).\n- **Customizable Prefix:** Allows server administrators to change the bot's command prefix.\n\n## Architecture\n\n- **Frontend:**\n  - Discord client interface via bot commands.\n- **Backend:**\n  - `discord.py` library for bot functionality.\n  - `matplotlib` for generating graphs.\n  - `csv` module for reading and writing message archives.\n  - `json` module for managing bot prefixes.\n  - `pytz` for timezone conversions.\n- **Data Storage:**\n  - CSV files stored locally in the `server_archives` directory.\n  - `prefixes.json` file for storing custom prefixes for each guild.\n\n## Getting Started\n\n### Prerequisites\n\n- Python 3.6 or higher\n- `discord.py` library\n  ```sh\n  pip install discord.py\n  ```\n- `matplotlib` library\n  ```sh\n  pip install matplotlib\n  ```\n- `pytz` library\n  ```sh\n  pip install pytz\n  ```\n\n### Installation\n\nInstructions for setting up the bot:\n\n1. Clone the repository:\n   ```sh\n   git clone https://github.com/owengretzinger/server-insights.git\n   ```\n2. Navigate to the project directory:\n   ```sh\n   cd server-insights\n   ```\n3. Install the required packages:\n   ```sh\n   pip install -r requirements.txt\n   ```\n4. Create a `server_archives` directory:\n   ```sh\n   mkdir server_archives\n   ```\n5. Obtain a Discord bot token from the [Discord Developer Portal](https://discord.com/developers/applications).\n6. Replace `\"insert_token\"` in `server_insights.py` with your bot token.\n7. Run the bot:\n   ```sh\n   python server_insights.py\n   ```\n\n## Acknowledgments\n\n- This README was generated with [README Generator](https://github.com/owengretzinger/readme-generator) — an AI tool that understands your entire codebase.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fowengretzinger%2Fserver-insights","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fowengretzinger%2Fserver-insights","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fowengretzinger%2Fserver-insights/lists"}