# Telegram Bot zur Verwaltung von Inhalten

Dieses Projekt enthält einen Telegram-Bot, der es Benutzern ermöglicht, verschiedene Kategorien von Inhalten wie Filme, Serien, Kinderfilme, Anime und mehr zu durchsuchen und zu verwalten. Der Bot kann mit verschiedenen Befehlen interagieren, um den Inhalt zu durchsuchen, hinzuzufügen und anzuzeigen.

## Features

- Durchsuche eine Vielzahl von Inhalten (Filme, Serien, Kinderfilme, Anime, Anime-Serien und Jahreszeiten-Zauber).
- Fügt neue Inhalte zu verschiedenen Kategorien hinzu.
- Zeigt das Inhaltsverzeichnis für alle Kategorien an.
- Sucht nach Inhalten basierend auf einem angegebenen Stichwort.
- Verwalte Inhalte und kategorisiere sie per Telegram-Bot.

## Voraussetzungen

Stelle sicher, dass du die folgenden Voraussetzungen erfüllst:

- Node.js installiert
- Telegram Bot Token (siehe [Telegram Bot API](https://core.telegram.org/bots/api))

## Installation

1. Klone dieses Repository:

    ```bash
    git clone https://github.com/dein-benutzername/telegram-bot.git
    cd telegram-bot
    ```

2. Installiere die benötigten Pakete:

    ```bash
    npm install
    ```

3. Erstelle eine `.env`-Datei im Projektverzeichnis und füge deinen Bot-Token und die erlaubten Benutzer hinzu:

    ```env
    BOT_TOKEN=dein_bot_token
    ALLOWED_USERS=dein_telegram_user_id
    ```

    - Ersetze `dein_bot_token` mit deinem Bot-Token, das du von [BotFather](https://core.telegram.org/bots#botfather) erhältst.
    - `ALLOWED_USERS` sollte eine durch Kommas getrennte Liste von Telegram-User-IDs sein, die den `/add`-Befehl ausführen dürfen.

4. Starte den Bot:

    ```bash
    node bot.js
    ```

## Verfügbare Befehle

- `/start`: Begrüßungsnachricht und Einführung in den Bot.
- `/help`: Zeigt alle verfügbaren Befehle und eine kurze Anleitung.
- `/index`: Zeigt das Inhaltsverzeichnis mit verschiedenen Kategorien.
- `/info`: Zeigt die Anzahl der Buttons in jeder Kategorie an.
- `/add`: Fügt neue Inhalte zu einer Kategorie hinzu (nur für berechtigte Benutzer).
- `/reload`: Lädt die Button-Daten neu (nur für berechtigte Benutzer).
- `/search`: Ermöglicht es Benutzern, nach Inhalten zu suchen.

## API-Endpunkte

- `/api/categories`: Gibt die Liste aller Kategorien und deren Inhalte zurück.

## Funktionen des Bots

### Inhaltsverzeichnis

Der Bot zeigt verschiedene Kategorien von Inhalten an:

- 🎬 **Filme**
- 📺 **Serien**
- 🧸 **Kinderfilme**
- 🍿 **Anime**
- 🎥 **Anime-Serien**
- 🌸 **Jahreszeiten-Zauber**

### Buttons Hinzufügen

Benutzer, die berechtigt sind (laut `ALLOWED_USERS`), können mit dem `/add`-Befehl neue Inhalte zu einer der Kategorien hinzufügen. Der Bot fordert den Benutzer auf, einen Button-Text und einen Link einzugeben.

### Suche

Benutzer können mit dem `/search`-Befehl nach Inhalten in allen Kategorien suchen. Der Bot wird alle relevanten Inhalte auflisten, die mit dem Suchbegriff übereinstimmen.

### Hilfe und Tipps

- Der Befehl `/help` zeigt eine Übersicht über alle verfügbaren Befehle und deren Funktionalitäten.
- Der Befehl `/info` zeigt eine Übersicht der Inhalte in jeder Kategorie.

## Struktur der Projektdateien

- `bot.js`: Haupt-Datei des Bots, die alle Bot-Funktionen und API-Integration enthält.
- `public/`: Enthält statische Dateien wie HTML und CSS für den Server.
- `.env`: Konfigurationsdatei für geheime API-Token und Benutzer.
- `film.json`, `serien.json`, `kinderfilme.json`, `anime.json`, `animeserien.json`, `jahreszeitenzauber.json`: Dateien, die die Daten der verschiedenen Kategorien speichern.

## Lizenz

Dieses Projekt ist unter der MIT-Lizenz lizenziert. Weitere Informationen findest du in der [LICENSE](LICENSE)-Datei.
