Робот WeChat с простыми функциями и удобством в использовании.
Поддерживаемые функции:
Дополнительные функции:
Использовать предварительные условия
git clone https://github.com/leantli/wc_robot.git
go mod tidy
config.yaml
-> robot_name
и on_contact_nicknames
go run main.go
env GOOS=linux GOARCH=amd64 go build -o wc_robot main.go
в корневом каталоге проекта.wc_robot
и файл конфигурации config.yaml
. Какой каталог загружать на сервер зависит от вас.chmod +x ./wc_robot
дает разрешение на выполнение файлаnohup ./wc_robot > robot.log &
запустите программу в фоновом режиме и выведите журнал в файл robot.log
tail -50f ./robot.log
просмотрите журнал QR-код входа в WeChat также находится в журнале. Отсканируйте код, чтобы войти в систему самостоятельно.2022.11.9 TODO(leantli):
weather_msg_handle.city_code
, сопоставьте соответствующую область города в соответствии с сообщениями других пользователей WeChat для трансляции погоды (☑️)11.11.2022 TODO(leantli):
28.11.2022 TODO(leantli):
2022.12.9 TODO(leantli):
2023.2.23: Мне не следует продолжать обновлять этот проект, я создам новую ветку, чтобы попробовать другие способы использования роботов WeChat. Меня недавно уволили. Давайте проверим это позже, когда у меня будет время.
Следующие изменения конфигурации основаны на
config.yaml
weather_msg_handle.switch_on
Включить ли автоматический ответ для этого ключевого слова, значение по умолчанию — true
covid_msg_handle.switch_on
Включить ли автоматический ответ для этого ключевого слова, значение по умолчанию — true
weather_schedules.switch_on
Включить ли это запланированное задание, по умолчанию установлено значение false
, для параметра Enable установлено значение true
weather_schedules.to_nicknames
Кому следует отправлять прогноз погоды? Заполняемое содержимое — это псевдоним пользователя WeChat. Если необходимо указать несколько человек, разделите их английскими запятыми.weather_schedules.to_remarknames
Кому следует отправлять прогноз погоды? Заполненное содержимое представляет собой комментарии пользователя WeChat. Комментарии группового чата не возвращаются во время обычного общения WeChat и не могут быть распознаны, если это необходимо нескольким людям. заполняется, используйте английскую запятую, разделитеweather_schedules.times
— конкретное время отправки прогнозов погоды каждый день, формат «00:00:00», несколько раз разделяются английскими запятыми ','weather_schedules.city_code
По умолчанию регионом, в котором транслируется этот прогноз погоды, является район Наньшань в Шэньчжэне. Если вам нужно его изменить, см. https://wis.qq.com/city/like?source=pc&city=Nanshan, измените его. последний «Наньшань» самостоятельно и выполните поиск. Получите соответствующий код города. clock_in_schedules.switch_on
Включить ли это запланированное задание, по умолчанию установлено значение false
, для параметра Enable установлено значение true
clock_in_schedules.to_nicknames
Кому отправить это сообщение? Введите псевдоним пользователя WeChat. Поддерживаются псевдонимы группового чата. Если необходимо указать несколько человек, разделите их английскими запятыми.clock_in_schedules.to_remarknames
Кому следует отправить сообщение? Заполненное содержимое представляет собой комментарии пользователя WeChat. Комментарии группового чата не возвращаются во время обычного общения WeChat и не могут быть распознаны, если необходимо, чтобы их было несколько. заполнены, разделите их английскими запятыми ','clock_in_schedules.times
— конкретное время регулярной отправки сообщений каждый день, формат «00:00:00», несколько раз разделяются английскими запятыми ','clock_in_schedules.text
, например «Я так скучаю по жене❤️», «Еще не выходишь с работы?» days_matters.switch_on
Включить ли это запланированное задание, по умолчанию установлено значение false
, для параметра Enable установлено значение true
days_matters.to_nicknames
Кому следует отправить напоминание? Заполняемый контент должен представлять собой псевдоним пользователя WeChat. Если необходимо указать несколько человек, разделите их английскими запятыми.days_matters.to_remarknames
Кому следует отправить напоминание? Заполненное содержимое представляет собой комментарии пользователя WeChat. Комментарии группового чата не возвращаются во время обычного общения WeChat и не могут быть распознаны, если необходимо, чтобы их было несколько. заполнены, разделите их английскими запятыми ','days_matters.times
— конкретное время отправки напоминаний каждый день, формат «00:00:00», несколько раз разделяются английскими запятыми «,»days_matters.date
Конкретные даты важных дней в формате «гггг-ММ-дд», например «2021-4-3».days_matters.content
важные дни, например, «Быть с женой», «Выплата зарплаты»Возьмем, к примеру, «с женой».
Если дата установлена на прошедшее время, сообщение будет отправлено как «%s (с моей женой) прошло %d дней»
Если дата установлена на время суток, сообщение будет отправлено как «Сегодня %s (с моей женой)».
Если дата установлена на будущее время, сообщение будет отправлено как «До %s осталось %d дней (с моей женой)».
alapi.switch_on
Включить ли автоматический ответ для этого ключевого слова, значение по умолчанию — false
. Если включено, настройте его на true
и обратите внимание на настройку token
alapi.token
, для его получения необходимо зарегистрироваться на сайте ALAPI. Бесплатные пользователи API поддерживают вызовы 1qps, чего более чем достаточно для личного использования. openai.api_key
: токен аутентификации open_ai, вам необходимо зарегистрироваться на официальном сайте openai и получить его по адресу https://beta.openai.com/account/api-keys.openai.gpt_text_switch_on
Включить ли функцию текстового ответа GPT, значение по умолчанию — false
openai.gpt_text_is_default_reply
Устанавливать ли текстовый ответ gpt в качестве ответа по умолчанию (то есть автоматически вызывать GPT, когда другие ключевые слова не запускаются), false При закрытии ответ gpt должен запускаться в формате «gpt xxx», включенном по умолчанию;