Un robot WeChat avec des fonctions simples et une utilisation facile
Fonctions prises en charge :
Fonctionnalités optionnelles :
Utiliser des conditions préalables
git clone https://github.com/leantli/wc_robot.git
go mod tidy
config.yaml
-> robot_name
et on_contact_nicknames
go run main.go
env GOOS=linux GOARCH=amd64 go build -o wc_robot main.go
dans le répertoire racine du projetwc_robot
et le fichier de configuration config.yaml
sur le serveur Cela dépend du répertoire à télécharger sur le serveur.chmod +x ./wc_robot
donne l'autorisation d'exécution au fichiernohup ./wc_robot > robot.log &
exécutez le programme en arrière-plan et affichez le journal dans le fichier robot.log
tail -50f ./robot.log
observez le journal. Le code QR de connexion WeChat est également dans le journal. Scannez le code pour vous connecter par vous-même.2022.11.9 TODO(leantli) :
weather_msg_handle.city_code
, correspond à la zone de la ville correspondante en fonction des messages des autres utilisateurs de WeChat pour la diffusion météo (☑️)2022.11.11 TODO(leantli):
2022.11.28 TODO(leantli):
2022.12.9 À FAIRE (leantli) :
2023.2.23 : Je ne devrais pas continuer à mettre à jour ce projet. Je vais démarrer une nouvelle branche pour essayer d'autres méthodes de robots WeChat. J'ai été licencié récemment, vérifions-le plus tard quand j'aurai le temps.
Les modifications de configuration suivantes sont basées sur
config.yaml
weather_msg_handle.switch_on
S'il faut activer la réponse automatique pour ce mot-clé, la valeur par défaut est true
covid_msg_handle.switch_on
S'il faut activer la réponse automatique pour ce mot-clé, la valeur par défaut est true
weather_schedules.switch_on
S'il faut activer cette tâche planifiée, la valeur par défaut est false
, l'activation est définie sur true
weather_schedules.to_nicknames
À qui les prévisions météo doivent-elles être envoyées ? Le contenu renseigné est le surnom de l'utilisateur WeChat. Les surnoms de discussion de groupe sont pris en charge. Si plusieurs personnes doivent être renseignées, séparez-les par des virgules anglaises ','.weather_schedules.to_remarknames
À qui les prévisions météorologiques doivent-elles être envoyées ? Le contenu renseigné correspond aux remarques de l'utilisateur WeChat. Les remarques du chat de groupe ne sont pas renvoyées lors de la communication normale de WeChat et ne peuvent pas être reconnues si plusieurs personnes doivent le faire. être rempli, utilisez des virgules anglaises ',' séparéesweather_schedules.times
est l'heure précise pour l'envoi régulier des prévisions météorologiques chaque jour, le format est "00:00:00", plusieurs heures sont séparées par des virgules anglaises ','weather_schedules.city_code
La zone dans laquelle ces prévisions météorologiques sont diffusées est par défaut la région de Nanshan à Shenzhen. Si vous devez la modifier, voir https://wis.qq.com/city/like?source=pc&city=Nanshan, modifiez-la. le dernier "Nanshan" par vous-même, et recherchez Obtenez le city_code correspondant clock_in_schedules.switch_on
S'il faut activer cette tâche planifiée, la valeur par défaut est false
, l'activation est définie sur true
clock_in_schedules.to_nicknames
À qui envoyer ce message ? Remplissez le pseudo de l'utilisateur WeChat. Les surnoms de discussion de groupe sont pris en charge. Si plusieurs personnes doivent être renseignées, séparez-les par des virgules anglaises ','.clock_in_schedules.to_remarknames
À qui ce message doit-il être envoyé ? Le contenu renseigné correspond aux remarques de l'utilisateur WeChat. Les remarques du chat de groupe ne sont pas prises en charge lors d'une communication normale sur WeChat et ne peuvent pas être reconnues si plusieurs personnes doivent le faire. être rempli, séparez-les par des virgules anglaises ','clock_in_schedules.times
est l'heure spécifique pour envoyer des messages régulièrement chaque jour, le format est "00:00:00", plusieurs heures sont séparées par des virgules anglaises ','clock_in_schedules.text
, tel que « Ma femme me manque tellement❤️ », « Vous ne quittez pas encore le travail ? days_matters.switch_on
S'il faut activer cette tâche planifiée, la valeur par défaut est false
, l'activation est définie sur true
days_matters.to_nicknames
À qui le rappel doit-il être envoyé ? Le contenu rempli doit être le surnom de l'utilisateur WeChat. Les surnoms de discussion de groupe sont pris en charge. Si plusieurs personnes doivent être renseignées, séparez-les par des virgules anglaises ','.days_matters.to_remarknames
À qui le rappel doit-il être envoyé ? Le contenu renseigné correspond aux remarques de l'utilisateur WeChat. Les remarques du chat de groupe ne sont pas prises en charge lors d'une communication WeChat normale et ne peuvent pas être reconnues. remplis, séparez-les par des virgules anglaises ','days_matters.times
est l'heure précise pour envoyer des rappels chaque jour, le format est "00:00:00", plusieurs heures sont séparées par des virgules anglaises ','days_matters.date
Les dates spécifiques des jours importants, au format « aaaa-MM-jj », comme « 2021-4-3 »days_matters.content
sont les jours importants, tels que "Être avec ma femme", "Payer le salaire"Prenons l'exemple de "avec ma femme"
Si la date est définie sur l'heure passée, le message sera envoyé sous la forme "%s (avec ma femme) cela fait %d jours"
Si la date est réglée sur l'heure du jour, le message sera envoyé comme "Aujourd'hui, nous sommes %s (avec ma femme)"
Si la date est définie sur une heure future, le message sera envoyé comme suit : "Il reste %d jours avant %s (avec ma femme)"
alapi.switch_on
S'il faut activer la réponse automatique pour ce mot-clé, la valeur par défaut est false
, si elle est activée, configurez-la sur true
et faites attention à la configuration token
alapi.token
, vous devez vous inscrire sur le site ALAPI pour l'obtenir. Les utilisateurs gratuits de l'API prennent en charge les appels 1qps, ce qui est largement suffisant pour un usage personnel. openai.api_key
: jeton d'authentification d'open_ai, vous devez vous inscrire sur le site officiel d'openai et l'obtenir sur https://beta.openai.com/account/api-keysopenai.gpt_text_switch_on
S'il faut activer la fonction de réponse texte GPT, la valeur par défaut est false
openai.gpt_text_is_default_reply
S'il faut définir la réponse texte gpt comme réponse par défaut (c'est-à-dire appeler automatiquement GPT lorsque d'autres mots-clés ne sont pas déclenchés), false Une fois fermée, la réponse gpt doit être déclenchée via le format « gpt xxx » activé par défaut ;