Ein WeChat-Roboter basierend auf Wechatbot-Webhook, der GPT Q&A, Hot Search Push, Wettervorhersage, Nachrichtenweiterleitung, Minispiele, Webhook-Erinnerung und andere Funktionen unterstützt.
WeChatter unterstützt die Docker Compose-Bereitstellung, die Docker-Bereitstellung und die lokale Bereitstellung.
Tipp
Es wird empfohlen, Docker-Compose für die Bereitstellung zu verwenden.
mkdir WeChatter && cd WeChatter
wget -O config_cps.yaml https://cdn.jsdelivr.net/gh/cassius0924/wechatter@master/config_cps.yaml.example
config_cps.yaml
vim config_cps.yaml
wget https://cdn.jsdelivr.net/gh/cassius0924/wechatter@master/docker-compose.yml
docker-compose -f docker-compose.yml up
Verwenden Sie WeChat, um den vom Terminal ausgegebenen QR-Code zu scannen und sich bei WeChat anzumelden.
Versuchen Sie mit einem anderen WeChat-Konto, den Roboter zu streicheln oder senden Sie den Befehl /help
an den Roboter.
Tipp
Für Befehlshilfe verwenden Sie bitte den Befehl /help
, um die Befehlsfunktionsanzeige abzufragen oder anzuzeigen.
Offline-Erinnerung : Wenn der Roboter offline geht, wird eine Erinnerungsnachricht über Bark gesendet.
Nachrichten können zitiert und beantwortet werden : Benutzer können den Nachrichteninhalt weiter abrufen, indem sie Befehlsnachrichten zitieren und darauf antworten. Bot-Nachrichten mit (可引用:***)
sind zitierfähige Nachrichten, mit denen weiter interagiert werden kann.
Nachrichtenweiterleitung : Leiten Sie Nachrichten von einem Benutzer oder einer Gruppe an andere Benutzer oder Gruppen weiter und unterstützen Sie die Weiterleitung von Zitatantwortnachrichten. Konfiguration ist erforderlich.
Erinnerung an öffentliches Konto : Wenn das angegebene öffentliche Konto einen neuen Artikel veröffentlicht, sendet der Roboter eine Erinnerung an den angegebenen Benutzer oder die angegebene Gruppe. Konfiguration ist erforderlich.
Geplante Aufgaben : Die meisten Befehle unterstützen geplante Aufgaben. Konfiguration ist erforderlich.
Weiterleitung von Discord-Nachrichten : Leiten Sie WeChat-Nachrichten basierend auf Discord Webhook an Discord-Kanäle weiter. Konfiguration ist erforderlich.
Tipp
Wenn Sie Hilfe zu spielbezogenen Befehlen benötigen, verwenden Sie bitte „Grundlegende Spielbefehle anzeigen“.
config.yaml.example
im Projektstammverzeichnis ist die Konfigurationsdateivorlage. Bevor Sie das Projekt zum ersten Mal starten, müssen Sie eine Konfigurationsdatei kopieren und sie config.yaml
nennen. Bearbeiten Sie config.yaml
.
In der folgenden Tabelle werden die Konfigurationselemente erläutert:
Konfigurationselemente | erklären | Bemerkung |
---|---|---|
wechatter_port | Der Port des WeChatter-Servers, der Port zum Empfangen von Nachrichten | Der Standardwert ist 4000 und muss mit dem Port des RECV_MSG_API -Parameters von wxbotwebhook Docker übereinstimmen |
Konfigurationselemente | erklären | Bemerkung |
---|---|---|
wx_webhook_base_api | BaseAPI zum Versenden von Nachrichten | Der Standardwert ist http://localhost:3001 , die Adresse von wxBotWebhook Docker. Der Standardwert für die Docker Compose-Bereitstellung ist http://wxbotwebhook:3001 |
wx_webhook_recv_api_path | Schnittstellenpfad zum Empfangen von Nachrichten | Der Standardwert ist /receive_msg . Dieser Pfad ist der Pfad des Docker-Parameters RECVD_MSG_API |
wx_webhook_token | Token von wxBotWebhook | Docker Compose verwendet bei der Bereitstellung standardmäßig wechatter |
Konfigurationselemente | erklären | Bemerkung |
---|---|---|
admin_list | Richten Sie einen Administrator ein, um Benachrichtigungen über Roboterstatusänderungen zu erhalten | Geben Sie den WeChat-Namen des Administrators ein (keine Bemerkungen). |
admin_group_list | Ähnlich wie bei admin_list erhalten Sie Benachrichtigungen über Roboterstatusänderungen | Geben Sie den Gruppennamen ein (keine Gruppenbemerkungen). |
bark_url | Bark-URL zum Empfangen von Benachrichtigungen über Roboterstatusänderungen | Bark ist nur auf iOS und iPadOS verfügbar |
Konfigurationselemente | erklären | Bemerkung |
---|---|---|
bot_name | Name des WeChat-Roboters | WeChat-Name, nicht WeChat-ID |
Konfigurationselemente | erklären | Bemerkung |
---|---|---|
command_prefix | Roboterbefehlspräfix | Der Standardwert ist / , der auf ein beliebiges Zeichen wie >> ! usw. gesetzt werden kann und leer sein kann. Wenn dieses Element leer ist, ist das Befehlspräfix nicht erforderlich, um den Befehl auszulösen. |
need_mentioned | Erfordern Befehle im Gruppenchat @bot? | Der Standardwert ist False |
ban_person_list | Benutzerliste auf die schwarze Liste setzen | Bots antworten nicht auf Nachrichten von Benutzern, die auf der schwarzen Liste stehen |
ban_group_list | Blacklist-Gruppenliste | Bots antworten nicht auf Nachrichten von Gruppen, die auf der schwarzen Liste stehen |
Konfigurationselemente | erklären | Bemerkung |
---|---|---|
openai_base_api | BaseAPI des OpenAI-Dienstes | Der Standardwert ist https://api.openai.com |
openai_token | OpenAI-Token (Schlüssel) | Zeichenfolgenschlüssel beginnend mit sk_ |
Zugriffsmethode: iFlytek Spark Model – AI Large Language Model – Spark Model – iFlytek
Konfigurationselemente | erklären | Bemerkung |
---|---|---|
spark_api | BaseAPI des Spark Big Model Service | Der Standardwert ist https://spark-api-open.xf-yun.com/v1/chat/completions |
spark_model | Geben Sie die Modellversion an, auf die zugegriffen werden soll | lite verweist auf die Lite-Version; 4.0Ultra verweist auf die 4.0 Ultra-Version; |
spark_token | Token of Spark, großes Modell | Zeichenfolgenschlüssel |
Zugriffsmethode: https://console.x.ai/
Konfigurationselemente | erklären | Bemerkung |
---|---|---|
grok_api | BaseAPI für den Grok-Dienst | Der Standardwert ist https://api.x.ai/v1/chat/completions |
grok_model | Geben Sie die Modellversion an, auf die zugegriffen werden soll | Der Standardwert ist grok-beta |
grok_token | Groks Token | Zeichenfolgenschlüssel |
Konfigurationselemente | erklären | Bemerkung |
---|---|---|
github_webhook_enabled | Funktionsschalter, ob GitHub Webhook akzeptiert werden soll | Der Standardwert ist False |
github_webhook_api_path | Erhalten Sie den Schnittstellenpfad von GitHub Webhook | Der Standardwert ist /webhook/github |
github_webhook_receiver_list | WeChat-Benutzer, die GitHub Webhook erhalten | |
github_webhook_receive_group_list | Empfangen Sie die GitHub Webhook WeChat-Gruppe |
Konfigurationselemente | Kind | erklären | Bemerkung |
---|---|---|---|
message_forwarding_enabled | Funktionsschalter, ob die Nachrichtenweiterleitung aktiviert werden soll | Der Standardwert ist False | |
message_forwarding_rule_list | Liste der Nachrichtenregeln. Jede Regel enthält vier Felder: from_list , from_list_exclude , to_person_list und to_group_list | ||
from_list | Liste der Nachrichtenweiterleitungsquellen, d. h. des Absenders der Nachricht | Sie können mehrere Benutzernamen oder Gruppennamen eingeben. Wenn Sie alle Nachrichten weiterleiten möchten, verwenden Sie ["%ALL"] | |
from_list_exclude | Ausschlussliste für Nachrichtenweiterleitungsquellen. Benutzer und Gruppen in dieser Liste werden nicht weitergeleitet | Es wird nur wirksam, wenn from_list ["%ALL"] ist. | |
to_person_list | Liste der Zielbenutzer für die Nachrichtenweiterleitung, also der Benutzer, die Nachrichten empfangen | Sie können mehrere Benutzernamen oder eine leere Liste eingeben | |
to_group_list | Zielgruppenliste für die Nachrichtenweiterleitung, d. h. Nachrichtenempfangsgruppe | Sie können mehrere Gruppennamen oder eine leere Liste eingeben |
Konfigurationselemente | Kind | erklären | Bemerkung |
---|---|---|---|
official_account_reminder_enabled | Funktionsschalter, ob die Nachrichtenweiterleitung aktiviert werden soll | Der Standardwert ist True | |
official_account_reminder_rule_list | Liste der Nachrichtenregeln. Jede Regel enthält drei Felder: oa_name_list , to_person_list und to_group_list | ||
oa_name_list | Offizielle Liste der Kontonamen | Sie können mehrere offizielle Kontonamen eingeben | |
to_person_list | Liste der Zielbenutzer für die Nachrichtenweiterleitung, also der Benutzer, die Nachrichten empfangen | Sie können mehrere Benutzernamen oder eine leere Liste eingeben | |
to_group_list | Zielgruppenliste für die Nachrichtenweiterleitung, d. h. Nachrichtenempfangsgruppe | Sie können mehrere Gruppennamen oder eine leere Liste eingeben |
Konfigurationselemente | erklären | Bemerkung |
---|---|---|
all_task_cron_enabled | Hauptschalter für alle geplanten Aufgaben | Der Standardwert ist True |
task_cron_list | Geplante Aufgabenliste, jede Aufgabe enthält vier Felder: task , enabled , cron und commands |
Einzelheiten zur Konfiguration geplanter Aufgaben finden Sie unter Konfigurationsdetails geplanter Aufgaben.
Konfigurationselemente | erklären | Bemerkung |
---|---|---|
custom_command_key_dict | Benutzerdefiniertes Befehlsschlüsselwortwörterbuch, das Format ist command: [key1, key2, ...] , wobei command der Befehlsname ist und key1 und key2 benutzerdefinierte Befehlsschlüsselwörter sind |
Informationen zu den optionalen Werten des Befehlsnamens finden Sie in den Konfigurationsdetails für benutzerdefinierte Befehlsschlüsselwörter.
Konfigurationselemente | Kind | erklären | Bemerkung |
---|---|---|---|
discord_message_forwarding_enabled | Funktionsschalter, ob die Weiterleitung von Discord-Nachrichten aktiviert werden soll | Der Standardwert ist False | |
discord_message_forwarding_rule_list | Liste der Nachrichtenregeln. Jede Regel enthält drei Felder: from_list , to_discord_webhook_url und to_discord_webhook_name | ||
from_list | Liste der Nachrichtenweiterleitungsquellen, d. h. des Absenders der Nachricht | Sie können mehrere Benutzernamen oder Gruppennamen eingeben. Wenn Sie alle Nachrichten weiterleiten möchten, verwenden Sie ["%ALL"] | |
from_list_exclude | Ausschlussliste für Nachrichtenweiterleitungsquellen. Benutzer und Gruppen in dieser Liste werden nicht weitergeleitet | Es wird nur wirksam, wenn from_list ["%ALL"] ist. | |
discord_webhook_url | Discord-Webhook-URL für das Nachrichtenweiterleitungsziel |
Konfigurationselemente | erklären | Bemerkung |
---|---|---|
gpt_mode_person_list | Standardbenutzerliste für den GPT-Q&A-Modus | Das heißt, Nachrichten mit Befehlsschlüsselwörtern lösen normalerweise die entsprechenden Befehle aus, während andere Nachrichten als GPT-Befehle beurteilt werden. |
gpt_model | Standard-GPT-Q&A-Modell | Optionale Werte sind gpt35 , gpt4 |
Protokolldateien werden im Ordner logs/
im Projektstammverzeichnis gespeichert.
Die Standardprotokollierungsebene ist INFO
und die optionalen Protokollierungsebenenwerte sind DEBUG
, INFO
, WARNING
, ERROR
und CRITICAL
.
Wenn Sie die Protokollierungsebene anpassen müssen, ändern Sie bitte die Umgebungsvariable WECHATTER_LOG_LEVEL
in der Datei docker-compose.yml
.
Bitte ändern Sie die Umgebungsvariable WECHATTER_LOG_LEVEL
im docker run
Befehl.
Bitte ändern Sie die Systemumgebungsvariable WECHATTER_LOG_LEVEL
.
export WECHATTER_LOG_LEVEL=DEBUG
Vielen Dank an die folgenden Personen, die zu diesem Projekt beigetragen haben:
Notiz
In Entwicklung...
Warnung
Dieses Projekt befindet sich noch in der Entwicklung und Vorschläge und Kommentare sind willkommen.