Skip to content

Commit e0f9c1b

Browse files
committed
update README.md to enhance project description and features overview
1 parent 6d5ce01 commit e0f9c1b

1 file changed

Lines changed: 351 additions & 15 deletions

File tree

README.md

Lines changed: 351 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,356 @@
1-
# WIP - LIVCK - Discord Bot for the self-hosted statuspage
1+
# LIVCK Discord Bot
22

3-
The bot can soon be added to your own discord server, it is currently still under development. The bot is intended to provide information about the status of your services and to inform you about news.
3+
> **Beam your LIVCK statuspage directly into Discord**
44
5-
IMPORTANT NOTE:
6-
- Private Page Feature currently not supported (later with api tokens useable)
7-
- Cloudflare Bot Shield / Cloudflare Tunnel not supported (generally some proxies with bot protection not supported)
8-
- Design Layout only in German / Command Output in English (Translation Support coming soon)
9-
- No customizations possible (coming soon)
5+
Seamlessly integrate your [LIVCK](https://livck.com) statuspage into your Discord server. Display the complete status of all your services in a Discord channel and keep your community instantly informed about incidents, maintenance, and updates - without ever leaving Discord.
106

11-
# Sneak Peek
7+
**Works exclusively with LIVCK statuspages** - the self-hosted statuspage and communication platform.
128

13-
## Status
14-
![News Image](resources/monitors.png)
15-
## News
16-
![News Image](resources/news.png)
9+
[![Add to Discord](https://img.shields.io/badge/Add%20to-Discord-5865F2?style=for-the-badge&logo=discord&logoColor=white)](https://discord.com/oauth2/authorize?client_id=1315761064520188005)
10+
[![LIVCK Website](https://img.shields.io/badge/LIVCK-Website-blue?style=for-the-badge)](https://livck.com)
1711

18-
# TODO
19-
- [ ] Translation Support
20-
- [ ] Custom Config (Emoji, Texts etc.) (config by statuspage -> e.g. statuspage/api/discord/config)
12+
---
13+
14+
## 💡 What is LIVCK?
15+
16+
[LIVCK](https://livck.com) is a self-hosted statuspage and communication software that enables transparent, real-time monitoring and communication. Perfect for:
17+
- **Businesses & SaaS** - Keep customers informed about service availability
18+
- **Gaming Communities** - Share server status and updates
19+
- **Development Teams** - Internal service monitoring and incident management
20+
- **Any Organization** - That values transparent communication with stakeholders
21+
22+
### LIVCK Features:
23+
-**Forever Free Plan** - 20 monitors, 5 categories, 1 member
24+
- 🏠 **Self-Hosted** - Full control over your data (Linux, Windows, macOS)
25+
- 📊 **Real-time Monitoring** - Track service status and uptime
26+
- 📢 **Incident Management** - Communicate outages and maintenance
27+
- 🔔 **Announcements** - Share updates and product changes
28+
29+
This Discord bot extends LIVCK by bringing your entire statuspage directly into Discord, making it even easier to keep your community informed in real-time.
30+
31+
---
32+
33+
## 📋 Table of Contents
34+
35+
- [What is LIVCK?](#-what-is-livck)
36+
- [Features](#-features)
37+
- [Quick Start](#-quick-start)
38+
- [Step-by-Step Guide](#-step-by-step-guide)
39+
- [1. Add Bot to Server](#1-add-bot-to-your-server)
40+
- [2. Subscribe to Statuspage](#2-subscribe-to-a-statuspage)
41+
- [3. Manage Subscriptions](#3-manage-your-subscriptions)
42+
- [4. Customize Your Setup](#4-customize-your-setup)
43+
- [Features in Detail](#-features-in-detail)
44+
- [Commands](#-commands)
45+
- [Self-Hosting](#-self-hosting)
46+
- [Limitations](#-limitations)
47+
- [Support](#-support)
48+
49+
---
50+
51+
## ✨ Features
52+
53+
### 📊 **Complete Statuspage Integration**
54+
- Display your entire LIVCK statuspage in a Discord channel
55+
- Continuous monitoring with regular status updates
56+
- Persistent messages (edits instead of spam)
57+
- All your public services and categories visible at a glance
58+
59+
### 🚨 **Community Notifications**
60+
Keep your community instantly informed:
61+
- **Incidents** - Automatic notifications when issues occur
62+
- **Maintenance Windows** - Advance notice of planned maintenance
63+
- **Updates** - Real-time status changes posted as threaded replies
64+
- **Announcements** - Important news delivered directly to Discord
65+
66+
Choose what to display:
67+
- Status page only
68+
- Incidents & announcements only
69+
- Both combined
70+
71+
### 🎨 **Layout Customization**
72+
Choose how your status page appears in Discord with 4 different layouts:
73+
- **Detailed** - Full service information with categories (best for comprehensive overview)
74+
- **Compact** - Condensed view for space-saving
75+
- **Overview** - Quick status summary
76+
- **Minimal** - Ultra-compact single-line view
77+
78+
### 🌐 **Multi-Language Support**
79+
Display your statuspage in your community's language:
80+
- 🇩🇪 German (Deutsch)
81+
- 🇬🇧 English
82+
- 🌍 **More languages coming soon** via [Crowdin](https://crowdin.com) - we're building a community-driven translation platform for this open-source project!
83+
84+
Switch languages anytime - all messages update instantly!
85+
86+
### 🔗 **Custom Links**
87+
Add custom buttons to your status messages for quick access:
88+
- Homepage links
89+
- Documentation portals
90+
- Support channels
91+
- Status page link
92+
- Any custom URL with emoji support
93+
94+
### ⚙️ **Flexible Subscriptions**
95+
- Multiple status pages per Discord server
96+
- Different channels for different status pages
97+
- Choose specific event types per channel
98+
- Easy management through Discord commands
99+
100+
---
101+
102+
## 🚀 Quick Start
103+
104+
1. **[Invite the bot](https://discord.com/oauth2/authorize?client_id=1315761064520188005)** to your Discord server
105+
2. Run `/livck subscribe` in the channel where you want your statuspage
106+
3. Enter your LIVCK statuspage URL (e.g., `status.livck.com`)
107+
4. Choose what to display (statuspage, incidents, or both)
108+
5. Select your preferred language and layout
109+
6. Done! Your complete statuspage is now live in Discord and updates automatically
110+
111+
---
112+
113+
## 📖 Step-by-Step Guide
114+
115+
### 1. Add Bot to Your Server
116+
117+
Click the invite link and select your Discord server:
118+
119+
[![Add to Discord](https://img.shields.io/badge/Add%20to-Discord-5865F2?style=for-the-badge&logo=discord&logoColor=white)](https://discord.com/oauth2/authorize?client_id=1315761064520188005)
120+
121+
**Required Permissions:**
122+
- View Channels
123+
- Send Messages
124+
- Embed Links
125+
- Read Message History
126+
127+
---
128+
129+
### 2. Subscribe to a Statuspage
130+
131+
Use the `/livck subscribe` command to add a statuspage to your Discord channel.
132+
133+
![Subscribe Modal](resources/subscribe_modal.png)
134+
135+
**Enter the required information:**
136+
- **Statuspage URL**: Your LIVCK statuspage (e.g., `status.livck.com` or `https://status.yourdomain.com`)
137+
- **Event Types**:
138+
- `All` - Status updates + News/Incidents
139+
- `Status Only` - Only service status
140+
- `News Only` - Only incidents and maintenance
141+
- **Language**: German (🇩🇪) or English (🇬🇧)
142+
- **Layout**: Choose from Detailed, Compact, Overview, or Minimal
143+
144+
![Successfully Subscribed](resources/subscribed_successfully.png)
145+
146+
---
147+
148+
### 3. Manage Your Subscriptions
149+
150+
#### View All Subscriptions
151+
Use `/livck list` to see all active subscriptions in your server.
152+
153+
#### Edit a Subscription
154+
Click the **Edit** button in the list to modify:
155+
- Language (DE/EN)
156+
- Layout style
157+
- Manage custom links
158+
159+
#### Delete a Subscription
160+
Click the **Delete** button to remove a subscription from a channel.
161+
162+
---
163+
164+
### 4. Customize Your Setup
165+
166+
#### Add Custom Links
167+
168+
Enhance your status messages with custom buttons:
169+
170+
1. Run `/livck list` and click **Edit** on your subscription
171+
2. Click **Manage Links**
172+
3. Click **Add Link**
173+
174+
![Custom Link Modal](resources/custom_link_modal.png)
175+
176+
**Enter link details:**
177+
- **Label**: Button text (e.g., "Homepage", "Support")
178+
- **URL**: Full URL (e.g., `https://livck.com`)
179+
- **Emoji** (optional): Unicode emoji (e.g., 🏠, 📖) or custom Discord emoji
180+
181+
![Custom Link Created](resources/custom_link_created.png)
182+
183+
**Features:**
184+
- Up to 25 custom links per subscription
185+
- Reorder links with Move Up/Down buttons
186+
- Edit or delete existing links
187+
- Links appear as buttons below your status message
188+
189+
---
190+
191+
## 🎯 Features in Detail
192+
193+
### Complete Statuspage in Discord
194+
195+
Your entire LIVCK statuspage is displayed directly in Discord with continuous monitoring:
196+
197+
- **All Public Services**: Every public service from your statuspage visible in Discord
198+
- **Public Categories**: Organized view matching your statuspage structure
199+
- **Real-Time Status**: Color-coded indicators showing operational status
200+
- **Continuous Updates**: Changes on your statuspage appear in Discord automatically
201+
202+
**Note:** Private monitors and categories are not displayed in Discord - only public content is synchronized.
203+
204+
This means your community can check your service status without leaving Discord - perfect for gaming servers, SaaS communities, or any project with a Discord presence.
205+
206+
![Status and Alerts](resources/status_and_alerts_channel.png)
207+
208+
### Layout Comparison
209+
210+
| Layout | Best For | Features |
211+
|--------|----------|----------|
212+
| **Detailed** | Full information | Categories, all services, detailed status |
213+
| **Compact** | Space-saving | Condensed view, essential info only |
214+
| **Overview** | Quick glance | Summary of overall status |
215+
| **Minimal** | Minimal footprint | Single-line ultra-compact display |
216+
217+
### Keeping Your Community Informed
218+
219+
When incidents, maintenance, or announcements occur on your status page:
220+
221+
1. **Instant Notifications**: Automatically posted to your Discord channel
222+
2. **Incident Updates**: New updates are posted as threaded replies to keep everything organized
223+
3. **Automatic Cleanup**: Alerts older than 3 days are automatically archived
224+
4. **No Spam**: Updates edit existing messages instead of creating duplicates
225+
226+
This ensures your community is always up-to-date without cluttering your Discord channels.
227+
228+
### Language System
229+
230+
Serve international communities by switching between German and English:
231+
- All status messages instantly update to the new language
232+
- Perfect for bilingual communities or international projects
233+
- Complete translation of all status information and UI elements
234+
235+
---
236+
237+
## 💬 Commands
238+
239+
| Command | Description |
240+
|---------|-------------|
241+
| `/livck subscribe` | Subscribe a channel to a LIVCK statuspage |
242+
| `/livck list` | View all subscriptions and manage them |
243+
| `/livck unsubscribe` | Remove a subscription (also available via list) |
244+
| `/ping` | Check bot response time |
245+
246+
---
247+
248+
## 🏠 Self-Hosting
249+
250+
While we provide a hosted version, you're free to self-host the bot.
251+
252+
### Requirements
253+
254+
- **Node.js** 22.9.0 or higher
255+
- **MariaDB** / MySQL database
256+
- **Redis** server
257+
- **Discord Bot Token**
258+
259+
### Quick Setup
260+
261+
1. **Clone the repository:**
262+
```bash
263+
git clone https://github.com/yourusername/livck-discord-bot.git
264+
cd livck-discord-bot
265+
```
266+
267+
2. **Install dependencies:**
268+
```bash
269+
npm install
270+
```
271+
272+
3. **Configure environment:**
273+
```bash
274+
cp .env.example .env
275+
# Edit .env with your credentials
276+
```
277+
278+
4. **Run database migrations:**
279+
```bash
280+
node migrate.js
281+
```
282+
283+
5. **Start the bot:**
284+
```bash
285+
node server.js
286+
```
287+
288+
### Environment Variables
289+
290+
See `.env.example` for all required configuration options:
291+
292+
- `DISCORD_CLIENT_ID`, `DISCORD_CLIENT_SECRET`, `DISCORD_BOT_TOKEN`
293+
- `DB_HOST`, `DB_DATABASE`, `DB_USERNAME`, `DB_PASSWORD`
294+
- `REDIS_HOST`, `REDIS_PORT`, `REDIS_PASSWORD`
295+
- Optional custom emoji IDs for status indicators
296+
297+
---
298+
299+
## ⚠️ Limitations
300+
301+
### Current Restrictions
302+
303+
- **Private Statuspages**: Not yet supported - planned for future releases
304+
- **Private Monitors/Categories**: Not displayed in Discord - only public content is synchronized
305+
- **Cloudflare Protection**: Bot shield and tunnels may block the bot
306+
- **Proxy Compatibility**: Some proxies with aggressive bot protection not supported
307+
308+
### Workarounds
309+
310+
If your statuspage is behind Cloudflare or similar protection:
311+
1. Whitelist the bot's IP address
312+
2. Disable bot protection for the statuspage API endpoints
313+
3. Use a self-hosted instance with custom IP
314+
315+
---
316+
317+
## 💡 Support
318+
319+
### Need Help?
320+
321+
- **Discord Community**: [discord.livck.com](https://discord.livck.com)
322+
- **Email Support**: [support@livck.com](mailto:support@livck.com)
323+
- **Documentation**: [LIVCK Documentation](https://help.livck.com)
324+
- **LIVCK Website**: [livck.com](https://livck.com)
325+
326+
### Found a Bug?
327+
328+
Please report bugs via GitHub Issues with:
329+
- Steps to reproduce
330+
- Expected vs actual behavior
331+
- Screenshots if applicable
332+
- Your statuspage URL (if public)
333+
334+
---
335+
336+
## 📜 License
337+
338+
This project is licensed under the **MIT License** - see the LICENSE file for details.
339+
340+
Feel free to contribute or fork for your own needs!
341+
342+
---
343+
344+
## 🙏 Credits
345+
346+
Built with ❤️ for the LIVCK community.
347+
348+
- **LIVCK**: [livck.com](https://livck.com)
349+
- **Discord.js**: Powerful Discord bot framework
350+
- **Node.js**: JavaScript runtime
351+
352+
---
353+
354+
**Ready to get started?**
355+
356+
[![Add to Discord](https://img.shields.io/badge/Add%20to-Discord-5865F2?style=for-the-badge&logo=discord&logoColor=white)](https://discord.com/oauth2/authorize?client_id=1315761064520188005)

0 commit comments

Comments
 (0)