https://github.com/owengretzinger/server-insights
Discord bot that analyzes your server and generates insights
https://github.com/owengretzinger/server-insights
discord discord-py hackathon python
Last synced: about 2 months ago
JSON representation
Discord bot that analyzes your server and generates insights
- Host: GitHub
- URL: https://github.com/owengretzinger/server-insights
- Owner: owengretzinger
- Created: 2023-01-06T20:06:42.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2023-01-10T16:13:12.000Z (over 3 years ago)
- Last Synced: 2025-02-07T12:39:27.655Z (over 1 year ago)
- Topics: discord, discord-py, hackathon, python
- Language: Python
- Homepage: https://devpost.com/software/server-insights
- Size: 16.6 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Server Insights
A Discord bot that analyzes server message data to provide insights on user activity, channel engagement, and more.
devpost.com/software/server-insights
Table of Contents
## About The Project
Server 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.
### Key Features
- **Message Archiving:** Archives all messages in the server to a CSV file for analysis.
- **Server Breakdown Analysis:** Provides breakdowns of messages sent by users, channels, or based on keyword searches, displayed in various graph types (bar, pie, text).
- **User Overview:** Generates a summary of a specific user's activity, including message count, oldest message, and swear word usage.
- **Random Message Retrieval:** Sends a random message from the archive based on specified filters (swear words, channel, user).
- **Customizable Prefix:** Allows server administrators to change the bot's command prefix.
## Architecture
- **Frontend:**
- Discord client interface via bot commands.
- **Backend:**
- `discord.py` library for bot functionality.
- `matplotlib` for generating graphs.
- `csv` module for reading and writing message archives.
- `json` module for managing bot prefixes.
- `pytz` for timezone conversions.
- **Data Storage:**
- CSV files stored locally in the `server_archives` directory.
- `prefixes.json` file for storing custom prefixes for each guild.
## Getting Started
### Prerequisites
- Python 3.6 or higher
- `discord.py` library
```sh
pip install discord.py
```
- `matplotlib` library
```sh
pip install matplotlib
```
- `pytz` library
```sh
pip install pytz
```
### Installation
Instructions for setting up the bot:
1. Clone the repository:
```sh
git clone https://github.com/owengretzinger/server-insights.git
```
2. Navigate to the project directory:
```sh
cd server-insights
```
3. Install the required packages:
```sh
pip install -r requirements.txt
```
4. Create a `server_archives` directory:
```sh
mkdir server_archives
```
5. Obtain a Discord bot token from the [Discord Developer Portal](https://discord.com/developers/applications).
6. Replace `"insert_token"` in `server_insights.py` with your bot token.
7. Run the bot:
```sh
python server_insights.py
```
## Acknowledgments
- This README was generated with [README Generator](https://github.com/owengretzinger/readme-generator) — an AI tool that understands your entire codebase.