Version 1.1.0 - Multi-Device Support
Ein modularer Discord-Bot zur Überwachung von System-Informationen. Zeigt Daten wie TeamViewer ID, CPU-Auslastung und mehr in einem Discord-Channel an.
- ✅ Multi-Device Support - Mehrere Geräte gleichzeitig im selben Channel
- ✅ TeamViewer Integration - Zeigt aktuelle TeamViewer ID an
- ✅ Modulares System - Einfach erweiterbar mit neuen Monitor-Modulen
- ✅ Discord Embeds - Jedes Gerät hat sein eigenes ansprechendes Embed
- ✅ Automatische Updates - Konfigurierbare Update-Intervalle
- ✅ Embed-Wiederverwendung - Bei Neustart wird bestehendes Embed gefunden
- Python 3.8+
- Discord Bot Token (siehe Discord Developer Portal)
- Git (optional, für Versionskontrolle)
- pywin32 (für TeamViewer Registry-Zugriff)
- psutil (für CPU Monitor)
git clone https://github.com/B0rbor4d/Informer.git
cd Informerpip install -r requirements.txt# Windows
copy config.example.json config.json
# Linux/Mac
cp config.example.json config.jsonÖffne config.json und trage ein:
{
"discord_token": "DEIN_BOT_TOKEN",
"channel_id": "DEINE_CHANNEL_ID",
"device_alias": "Mein PC",
"update_interval": 60,
"modules": {
"teamviewer": {
"enabled": true,
"name": "TeamViewer ID",
"icon": "🖥️"
}
}
}1. Application erstellen
- Gehe zu Discord Developer Portal
- Klicke "New Application"
- Gib einen Namen ein (z.B. "Informer")
- Klicke "Create"
2. Bot hinzufügen
- Klicke im linken Menü auf "Bot"
- Klicke "Add Bot" → "Yes, do it!"
3. Bot Token kopieren
- Unter "TOKEN" klicke "Reset Token"
- Klicke "Copy" und speichere den Token sicher
⚠️ Token wird nur einmal angezeigt!
4. Privileged Gateway Intents aktivieren
- Scrolle zu "Privileged Gateway Intents"
- Aktiviere: ✅ Message Content Intent (ERFORDERLICH!)
- Klicke "Save Changes"
Ohne Message Content Intent kann der Bot nicht funktionieren!
5. Bot-Berechtigungen festlegen
- Gehe zu "OAuth2" → "URL Generator"
- Scopes: ✅
bot - Bot Permissions:
- ✅ Send Messages - Nachrichten senden
- ✅ Embed Links - Embeds erstellen
- ✅ Read Message History - Nachrichten lesen (für Embed-Wiederverwendung)
Minimale Berechtigungen: 18432 (dezimal) oder 0x4800 (hex)
6. Bot einladen
- Kopiere die generierte URL
- Öffne URL im Browser
- Wähle deinen Server
- Klicke "Authorize"
- Discord: Einstellungen → Erweitert → Entwicklermodus aktivieren
- Rechtsklick auf Channel → "ID kopieren"
# Direkt mit Python
python discord_bot.py
# Oder mit Windows Batch-Datei
start_bot.batInformer/
├── discord_bot.py # Haupt-Bot mit Multi-Device Logic
├── config.example.json # Config-Template
├── requirements.txt # Python Dependencies
├── LICENSE # MIT License
├── .gitignore # Git Ignore Rules
│
├── monitors/ # Monitor-Module
│ ├── __init__.py # Modul-Registry
│ ├── base_monitor.py # Abstract Base Class
│ ├── teamviewer_monitor.py # TeamViewer ID Monitor
│ ├── rustdesk_monitor.py # RustDesk ID Monitor
│ └── cpu_monitor.py # CPU Monitor (Beispiel)
│
└── docs/ # Dokumentation
└── README.md
| Parameter | Typ | Beschreibung | Beispiel |
|---|---|---|---|
discord_token |
String | Bot-Token von Discord Developer Portal | "MTA1N..." |
channel_id |
String | ID des Discord-Channels | "123456789" |
device_alias |
String | Optionaler Name für das Gerät (leer = Hostname) | "Haupt-PC" |
update_interval |
Number | Sekunden zwischen Updates (min. 30 empfohlen) | 60 |
modules |
Object | Dictionary mit aktivierten Modulen | siehe unten |
{
"modules": {
"module_key": {
"enabled": true,
"name": "Anzeige-Name",
"icon": "📊"
}
}
}teamviewer - TeamViewer ID anzeigen
"teamviewer": {
"enabled": true,
"name": "TeamViewer ID",
"icon": "🖥️"
}rustdesk - RustDesk ID anzeigen
"rustdesk": {
"enabled": true,
"name": "RustDesk ID",
"icon": "🖥️"
}cpu - CPU-Auslastung (benötigt psutil)
"cpu": {
"enabled": true,
"name": "CPU Auslastung",
"icon": "💻"
}Um mehrere Geräte gleichzeitig zu überwachen:
-
Gleiche Konfiguration auf allen Geräten:
- Gleicher
discord_token - Gleiche
channel_id
- Gleicher
-
Unterschiedliche Namen pro Gerät:
- Setze
device_aliasauf einen eindeutigen Namen - Oder lasse leer für automatischen Hostname
- Setze
-
Bot auf jedem Gerät starten
Beispiel:
// Gerät 1 - PC
{
"device_alias": "Haupt-PC",
...
}
// Gerät 2 - Laptop
{
"device_alias": "🖥️ Laptop",
...
}
// Gerät 3 - Server
{
"device_alias": "", // Verwendet Hostname
...
}# monitors/mein_modul.py
from typing import Optional
from monitors.base_monitor import BaseMonitor
class MeinModul(BaseMonitor):
"""Beschreibung deines Moduls"""
async def get_value(self) -> Optional[str]:
"""Hauptlogik - gibt aktuellen Wert zurück"""
try:
# Deine Logik hier
wert = "Beispiel-Wert"
return wert
except Exception as e:
print(f"Fehler: {e}")
return None
def format_value(self, value: Optional[str]) -> str:
"""Optional: Custom Formatierung"""
if value is None:
return '❌ Nicht verfügbar'
return f'**{value}**'from monitors.mein_modul import MeinModul
AVAILABLE_MONITORS = {
'teamviewer': TeamViewerMonitor,
'cpu': CPUMonitor,
'mein_modul': MeinModul, # NEU
}{
"modules": {
"mein_modul": {
"enabled": true,
"name": "Mein Custom Modul",
"icon": "🔥"
}
}
}Ursache: Python ist nur für deinen Benutzer installiert, nicht systemweit.
Lösung: Führe install_service.bat als Administrator aus und konfiguriere das Service-Konto.
Siehe: TROUBLESHOOTING.md - Service startet nicht
Ursache: Message Content Intent nicht aktiviert.
Lösung:
- https://discord.com/developers/applications/
- Bot → Privileged Gateway Intents
- ✅ Message Content Intent aktivieren
Siehe: TROUBLESHOOTING.md - Discord Fehler
TeamViewer (Windows):
- Als Administrator starten
- TeamViewer muss gestartet sein
RustDesk:
- RustDesk muss installiert sein
- Modul in config.json aktivieren
Siehe: TROUBLESHOOTING.md - Monitor zeigt keine Daten
# Service-Logs (Windows)
type Z:\Coding\claude\projects\Informer\informer.log
type Z:\Coding\claude\projects\Informer\informer-error.log
# Service-Status
nssm status Informer
# Bot manuell testen
python discord_bot.py- TROUBLESHOOTING.md - Ausführliche Fehlerbehebung und Lösungen
- CHANGELOG.md - Alle Änderungen und Versionen
- docs/ - Erweiterte Dokumentation und Guides
Beiträge sind willkommen!
- Fork das Repository
- Erstelle einen Feature Branch (
git checkout -b feature/MeinFeature) - Commit deine Änderungen (
git commit -m 'Füge MeinFeature hinzu') - Push zum Branch (
git push origin feature/MeinFeature) - Erstelle einen Pull Request
MIT License - siehe LICENSE Datei
- GitHub Repository: https://github.com/B0rbor4d/Informer
- Discord Developer Portal: https://discord.com/developers/applications
- Python Download: https://www.python.org/downloads/
- Git Download: https://git-scm.com/downloads
Bei Fragen oder Problemen:
- Erstelle ein GitHub Issue
- Prüfe die Dokumentation in
docs/
Erstellt mit ❤️ für Multi-Device System Monitoring