Zurück zur Startseite

Green-API für MAX: Userbots und Automatisierung

Das Material beschreibt die Nutzung von Green-API zur Erstellung von Userbots in MAX. Es deckt Methoden zum Senden von Nachrichten, Parsen des Verlaufs, Gruppenadministration mit Code-Beispielen und Limits ab. Praktische Fälle: Moderation, Einladungen, Berichte.

Userbots MAX mit Green-API: Code und Limits
Advertisement 728x90

MAX mit Green-API automatisieren: Methoden, Limits und Userbot-Code

Ein Userbot in MAX ist ein Client-Konto mit verifizierter Telefonnummer, das per Skript gesteuert wird – ohne offizielle API. Green-API stellt eine HTTP-Schnittstelle für das Versenden von Nachrichten, das Auslesen von Chat-Verläufen und die Gruppenverwaltung bereit. Wichtige Limits: 50 Nachrichten/Sekunde, 1 Anfrage/Sekunde für Verläufe und Gruppen. Rate-Limiting ist essenziell, um Bans zu vermeiden.

Kernmethoden für Nachrichtenverarbeitung

Versenden unterstützt Text bis 4000 Zeichen, Dateien per URL oder Upload, Standorte und vCard-Kontakte.

  • SendMessage: Einfaches Textversenden mit Emojis.
  • SendFileByUrl: Medien aus externen Links.
  • SendFileByUpload: Lokale Dateien via multipart/form-data.
  • SendLocation: Breiten- und Längengrad plus Ortsname.
  • SendContact: Kontaktkarte.

Dateien aus Chats herunterladen: DownloadFile für Bilder, Dokumente, Audio und Video.

Google AdInline article slot

Chat-Verlauf auslesen: GetChatHistory holt bis zu 5000 Nachrichten aus den letzten 3 Monaten mit Datumsfiltern.

POST {{apiUrl}}/waInstance{{idInstance}}/getChatHistory/{{apiTokenInstance}}

Parameter:

url = "https://3100.api.green-api.com/waInstance{id}/getChatHistory/{token}"
payload = {
    "chatId": "-730*******5943", 
    "count": 500
}
headers = {
    'Content-Type': 'application/json'
}

Antwort enthält Nachrichtentyp (eingehend/ausgehend), idMessage, timestamp, textMessage und Details zu extendedTextMessage.

Google AdInline article slot
[
    {
        "type": "outgoing",
        "idMessage": "1763115112345",
        "timestamp": 1754999812,
        "typeMessage": "extendedTextMessage",
        "chatId": "10000000",
        "textMessage": "Ich nutze GREEN-API, um diese Nachricht zu senden!",
        "extendedTextMessage": {
            "text": "Ich nutze GREEN-API, um diese Nachricht zu senden!",
            "description": "",
            "title": "",
            "jpegThumbnail": "",
            "forwardingScore": 0,
            "isForwarded": false
        },
        "statusMessage": "",
        "sendByApi": true
    }
]

Zusätzlich: GetMessage per ID, LastIncomingMessages, LastOutgoingMessages.

Nachrichtenlimits:

  • Versenden von Nachrichten/Dateien/Standorten/Kontakten: ≤50/Sek..
  • Dateidownloads, Chat-Verläufe, Gruppen: ≤1/Sek..
  • Bearbeiten: ≤50/Sek..

Gruppenverwaltung

Erstellen: CreateGroup mit sofortigem Hinzufügen von Teilnehmern (AddGroupParticipant) und Avatar-Setup (SetGroupPicture).

Google AdInline article slot

Aktualisieren: UpdateGroupName, UpdateGroupSettings für Berechtigungen.

{
  "chatId": "-10000000000000",
  "allowParticipantsAddMembers": true,
  "allowParticipantsEditGroupSettings": false,
  "allowParticipantsPinMessages": true
}

GetGroupData liefert:

  • chatId, Eigentümer, Betreff, Beschreibung.
  • Erstellungsdatum (Unix-Timestamp).
  • groupInviteLink (falls verfügbar).
  • Berechtigungen: Mitglieder hinzufügen, Einstellungen ändern, Nachrichten anheften.
  • size (Teilnehmerzahl).
  • participants (Admins; volle Liste bei <100 Mitgliedern).
{
  "chatId": "-10000000000000",
  "owner": "79001234567",
  "subject": "Gruppenname",
  "description": "Gruppenbeschreibung",
  "creation": 1764637936,
  "groupInviteLink": "https://invite.link/abc123",
  "allowParticipantsAddMembers": true,
  "allowParticipantsEditGroupSettings": false,
  "allowParticipantsPinMessages": true,
  "size": 150,
  "participants": [
    {
      "chatId": "79001234567",
      "isAdmin": true,
      "isSuperAdmin": true
    }
  ]
}

Teilnehmer verwalten: AddGroupParticipant, RemoveGroupParticipant, SetGroupAdmin, RemoveAdmin.

Hilfsmethoden

  • GetChats: Liste der Chats (Gruppen haben chatId <0, phoneNumber=0).
[
  {
    "chatId": "-10000000000000",
    "phoneNumber": 0
  },
  {
    "chatId": "79001234567",
    "phoneNumber": 79001234567
  }
]
  • CheckAccount: Registrierungsstatus (exist, chatId). Strenges Limit – hohes Ban-Risiko.
  • GetContacts: Telefonbuch-Kontakte.
[
  {
    "chatId": "79001234567",
    "name": "Max Mustermann",
    "contactName": "Max",
    "type": "user",
    "phoneNumber": 79001234567
  }
]

Praktische Umsetzungen

Gruppenmoderation: Benachrichtigungen auslesen, auf Sperrwörter prüfen, löschen und antworten.

def moderate_group_messages():
    notifications = client.receive_notification()
    
    for notification in notifications:
        if notification['type'] == 'incomingMessageReceived':
            message = notification['messageData']['textMessage']
            chat_id = notification['senderData']['chatId']
            
            if is_spam(message):
                client.delete_message(chat_id, message_id)
                client.send_message(
                    chat_id, 
                    "⚠️ Verstoß gegen Chat-Regeln"
                )

Auto-Einlader: Nach Abteilungen verteilen.

def add_employee_to_groups(phone, department):
    groups = get_groups_by_department(department)
    
    for group in groups:
        client.add_group_participant(
            chat_id=group['chatId'],
            participant_chat_id=phone
        )

Berichtsgenerator: Aus CRM ziehen, in Chat pushen.

def send_daily_report():
    stats = get_daily_statistics()
    
    report = f"📊 Tagesbericht für {date.today()}:\n"
    report += f"Neue Bestellungen: {stats['orders']}\n"
    report += f"Umsatz: {stats['revenue']} €\n"
    
    client.send_message(report_target_chat, report)

Wichtige Erkenntnisse

  • Limits einhalten: 50/Sek. für Versand, 1/Sek. für Gruppen/Verläufe – Überschreitung führt zu Bans.
  • GetChatHistory: max. 5000 Nachrichten/3 Monate, Datumsfilter für große Chats nutzen.
  • Gruppen >100 Mitglieder: API zeigt nur Bot-Rollen, keine volle Teilnehmerliste.
  • CheckAccount sparsam einsetzen – Risiko für 2-Wochen-Ban.
  • PyMax als Alternative: Open-Source, kein SLA, selbst gehostet.

— Editorial Team

Advertisement 728x90

Weiterlesen