Un robot WeChat basado en wechatbot-webhook, que admite preguntas y respuestas de GPT, búsqueda activa, pronóstico del tiempo, reenvío de mensajes, minijuegos, recordatorio de Webhook y otras funciones.
WeChatter admite la implementación de Docker Compose, la implementación de Docker y la implementación local.
Consejo
Se recomienda utilizar Docker-compose para la implementación.
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
Utilice WeChat para escanear el código QR resultante del terminal para iniciar sesión en WeChat.
Utilice otra cuenta de WeChat para intentar acariciar al robot o enviar el comando /help
al robot.
Consejo
Para obtener ayuda con el comando, utilice el comando /help
para consultar o ver la pantalla de la función del comando.
Recordatorio sin conexión : cuando el robot se desconecta, se enviará un mensaje recordatorio a través de Bark.
Los mensajes se pueden citar y responder : los usuarios pueden obtener aún más el contenido del mensaje citando y respondiendo mensajes de comando. Los mensajes de bot con (可引用:***)
son mensajes que se pueden citar con los que se puede interactuar más.
Reenvío de mensajes : reenvíe mensajes de un usuario o grupo a otros usuarios o grupos, y admita el reenvío de mensajes de respuesta a cotizaciones. Se requiere configuración.
Recordatorio de cuenta pública : cuando la cuenta pública designada publica un nuevo artículo, el robot enviará un recordatorio al usuario o grupo designado. Se requiere configuración.
Tareas programadas : la mayoría de los comandos admiten tareas programadas. Se requiere configuración.
Reenvío de mensajes de Discord : basado en Discord Webhook, reenvía mensajes de WeChat a los canales de Discord. Se requiere configuración.
Consejo
Para obtener ayuda con los comandos relacionados con el juego, utilice Ver comandos básicos del juego.
config.yaml.example
en el directorio raíz del proyecto es la plantilla del archivo de configuración. Antes de iniciar el proyecto por primera vez, debe copiar un archivo de configuración y nombrarlo config.yaml
. Edite config.yaml
.
La siguiente tabla explica los elementos de configuración:
Elementos de configuración | explicar | Observación |
---|---|---|
wechatter_port | El puerto del servidor WeChatter, el puerto para recibir mensajes. | El valor predeterminado es 4000 , que debe ser coherente con el puerto del parámetro RECV_MSG_API de wxbotwebhook Docker |
Elementos de configuración | explicar | Observación |
---|---|---|
wx_webhook_base_api | BaseAPI para enviar mensajes | El valor predeterminado es http://localhost:3001 , que es la dirección de wxBotWebhook Docker. El valor predeterminado para la implementación de Docker Compose es http://wxbotwebhook:3001 |
wx_webhook_recv_api_path | Ruta de interfaz para recibir mensajes | El valor predeterminado es /receive_msg , esta ruta es la ruta del parámetro Docker RECVD_MSG_API |
wx_webhook_token | Ficha de wxBotWebhook | Docker Compose utiliza de forma predeterminada wechatter cuando se implementa |
Elementos de configuración | explicar | Observación |
---|---|---|
admin_list | Configure un administrador para recibir notificaciones de cambios de estado del robot | Complete el nombre de WeChat del administrador (sin comentarios) |
admin_group_list | Similar a admin_list , recibe notificaciones de cambio de estado del robot | Complete el nombre del grupo (no los comentarios del grupo) |
bark_url | URL de corteza para recibir notificaciones de cambio de estado del robot | Bark solo está disponible en iOS y iPadOS |
Elementos de configuración | explicar | Observación |
---|---|---|
bot_name | Nombre del robot WeChat | Nombre de WeChat, no ID de WeChat |
Elementos de configuración | explicar | Observación |
---|---|---|
command_prefix | Prefijo de comando del robot | El valor predeterminado es / , que se puede configurar en cualquier carácter como >> , ! etc., y puede estar vacío. Cuando este elemento está vacío, no se requiere el prefijo de comando para activar el comando. |
need_mentioned | ¿Los comandos en el chat grupal requieren @bot? | El valor predeterminado es False |
ban_person_list | Lista negra de usuarios | Los bots no responderán a los mensajes de los usuarios incluidos en la lista negra |
ban_group_list | Lista de grupos de lista negra | Los bots no responderán a los mensajes de los grupos incluidos en la lista negra |
Elementos de configuración | explicar | Observación |
---|---|---|
openai_base_api | BaseAPI del servicio OpenAI | El valor predeterminado es https://api.openai.com |
openai_token | Token OpenAI (clave) | Clave de cadena que comienza con sk_ |
Método de acceso: iFlytek Spark Model - AI Large Language Model - Spark Model - iFlytek
Elementos de configuración | explicar | Observación |
---|---|---|
spark_api | BaseAPI del servicio Spark Big Model | El valor predeterminado es https://spark-api-open.xf-yun.com/v1/chat/completions |
spark_model | Especifique la versión del modelo para acceder | lite apunta a la versión Lite; 4.0Ultra apunta a la versión 4.0 Ultra; |
spark_token | Token of Spark modelo grande | clave de cadena |
Método de acceso: https://console.x.ai/
Elementos de configuración | explicar | Observación |
---|---|---|
grok_api | BaseAPI para el servicio Grok | El valor predeterminado es https://api.x.ai/v1/chat/completions |
grok_model | Especifique la versión del modelo para acceder | El valor predeterminado es grok-beta |
grok_token | La ficha de Grok | clave de cadena |
Elementos de configuración | explicar | Observación |
---|---|---|
github_webhook_enabled | Cambio de función, si se acepta GitHub Webhook | El valor predeterminado es False |
github_webhook_api_path | Reciba la ruta de la interfaz de GitHub Webhook | El valor predeterminado es /webhook/github |
github_webhook_receiver_list | Usuarios de WeChat que reciben GitHub Webhook | |
github_webhook_receive_group_list | Reciba el grupo WeChat de GitHub Webhook |
Elementos de configuración | niño | explicar | Observación |
---|---|---|---|
message_forwarding_enabled | Interruptor de función, si se debe habilitar el reenvío de mensajes | El valor predeterminado es False | |
message_forwarding_rule_list | Lista de reglas de mensajes, cada regla contiene cuatro campos: from_list , from_list_exclude , to_person_list y to_group_list | ||
from_list | Lista de fuentes de reenvío de mensajes, es decir, el remitente del mensaje | Puede completar varios nombres de usuario o nombres de grupos. Si desea reenviar todos los mensajes, utilice ["%ALL"] | |
from_list_exclude | Lista de exclusión de fuentes de reenvío de mensajes, los usuarios y grupos de esta lista no serán reenviados | Sólo tiene efecto cuando from_list es ["%ALL"] | |
to_person_list | Lista de usuarios objetivo de reenvío de mensajes, es decir, usuarios receptores de mensajes | Puede completar varios nombres de usuario o una lista vacía | |
to_group_list | Lista de grupos objetivo de reenvío de mensajes, es decir, grupo de recepción de mensajes | Puede completar varios nombres de grupos o una lista vacía |
Elementos de configuración | niño | explicar | Observación |
---|---|---|---|
official_account_reminder_enabled | Interruptor de función, si se debe habilitar el reenvío de mensajes | El valor predeterminado es True | |
official_account_reminder_rule_list | Lista de reglas de mensajes, cada regla contiene tres campos: oa_name_list , to_person_list y to_group_list | ||
oa_name_list | Lista oficial de nombres de cuentas | Puede completar varios nombres de cuentas oficiales | |
to_person_list | Lista de usuarios objetivo de reenvío de mensajes, es decir, usuarios receptores de mensajes | Puede completar varios nombres de usuario o una lista vacía | |
to_group_list | Lista de grupos objetivo de reenvío de mensajes, es decir, grupo de recepción de mensajes | Puede completar varios nombres de grupos o una lista vacía |
Elementos de configuración | explicar | Observación |
---|---|---|
all_task_cron_enabled | Interruptor maestro para todas las tareas programadas | El valor predeterminado es True |
task_cron_list | Lista de tareas programadas, cada tarea contiene cuatro campos: task , enabled , cron y commands |
Para obtener detalles sobre la configuración de tareas programadas, consulte Detalles de configuración de tareas programadas.
Elementos de configuración | explicar | Observación |
---|---|---|
custom_command_key_dict | Diccionario de palabras clave de comando personalizado, el formato es command: [key1, key2, ...] , donde command es el nombre del comando, key1 y key2 son palabras clave de comando personalizadas |
Para conocer los valores opcionales del nombre del comando, consulte los detalles de configuración de la palabra clave del comando personalizado.
Elementos de configuración | niño | explicar | Observación |
---|---|---|---|
discord_message_forwarding_enabled | Cambio de función, si se debe habilitar el reenvío de mensajes de Discord | El valor predeterminado es False | |
discord_message_forwarding_rule_list | Lista de reglas de mensajes, cada regla contiene tres campos: from_list , to_discord_webhook_url y to_discord_webhook_name | ||
from_list | Lista de fuentes de reenvío de mensajes, es decir, el remitente del mensaje | Puede completar varios nombres de usuario o nombres de grupos. Si desea reenviar todos los mensajes, utilice ["%ALL"] | |
from_list_exclude | Lista de exclusión de fuentes de reenvío de mensajes, los usuarios y grupos de esta lista no serán reenviados | Sólo tiene efecto cuando from_list es ["%ALL"] | |
discord_webhook_url | URL del webhook de Discord de destino de reenvío de mensajes |
Elementos de configuración | explicar | Observación |
---|---|---|
gpt_mode_person_list | Lista de usuarios predeterminada para el modo Preguntas y respuestas de GPT | Es decir, los mensajes con palabras clave de comando activarán normalmente los comandos correspondientes, y otros mensajes se consideran comandos GPT. |
gpt_model | Modelo de preguntas y respuestas de GPT predeterminado | Los valores opcionales son gpt35 , gpt4 |
Los archivos de registro se almacenan en la carpeta logs/
en el directorio raíz del proyecto.
El nivel de registro predeterminado es INFO
y los valores de nivel de registro opcionales son DEBUG
, INFO
, WARNING
, ERROR
y CRITICAL
.
Si necesita ajustar el nivel de registro, modifique la variable de entorno WECHATTER_LOG_LEVEL
en el archivo docker-compose.yml
.
Modifique la variable de entorno WECHATTER_LOG_LEVEL
en el comando docker run
.
Modifique la variable de entorno del sistema WECHATTER_LOG_LEVEL
.
export WECHATTER_LOG_LEVEL=DEBUG
Gracias a las siguientes personas que han contribuido a este proyecto:
Nota
En desarrollo...
Advertencia
Este proyecto aún está en desarrollo y se aceptan sugerencias y comentarios.