@@ -9,6 +9,45 @@ The app has three main parts:
992 . ** Discord Bot** : Sends messages to Discord and responds to commands
10103 . ** Background Worker** : Handles tasks in the background without blocking the web app
1111
12+ Besides handling webhooks, the bot can also:
13+ - Respond to user commands (like ` !ping ` )
14+ - Answer questions in channels and threads
15+ - React to messages and reactions from users
16+
17+ The bot code and supported commands can be found in ` intbot/core/bot/main.py ` .
18+
19+ ## Project Structure
20+
21+ The codebase is organized as follows:
22+
23+ ```
24+ deploy/ # Deployment configuration
25+ ├── playbooks/ # Ansible playbooks
26+ └── templates/ # Templates for Docker Compose and Makefiles
27+
28+ docs/ # Project documentation
29+ ├── architecture.md # System design and structure
30+ └── deployment.md # Deployment guide
31+
32+ intbot/
33+ ├── core/ # Main Django app with all the business logic
34+ │ ├── bot/ # Discord bot implementation
35+ │ ├── endpoints/ # API endpoints for webhooks
36+ │ ├── integrations/ # Integration modules (GitHub, Zammad)
37+ │ ├── management/ # Django management commands
38+ │ └── models.py # Database models
39+ ├── intbot/ # Django project settings
40+ │ ├── settings.py # Configuration
41+ │ └── urls.py # URL routing
42+ └── tests/ # Test suite (mirrors the application structure)
43+ ```
44+
45+ This structure was chosen because:
46+ - It's simple and has a single ` core ` app instead of many small apps
47+ - It clearly separates the integration logic from the bot logic
48+ - Tests mirror the application structure, making them easy to find
49+ - It supports multiple entry points (web server, bot, worker) from one codebase
50+
1251## System Architecture
1352
1453```
0 commit comments