wc_robot
1.0.0
간단한 기능과 쉬운 사용법을 갖춘 위챗 로봇
지원되는 기능:
선택적 기능:
전제 조건 사용
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
로그를 관찰하세요. WeChat 로그인 QR 코드도 로그에 있습니다. 직접 로그인하려면 코드를 스캔하세요.2022.11.9 TODO(린틀리):
weather_msg_handle.city_code
설정할 필요가 없으며, 다른 WeChat 사용자의 날씨 방송 메시지에 따라 해당 도시 지역과 일치합니다.2022.11.11 TODO(린틀리):
2022.11.28 TODO(린틀리):
2022.12.9 TODO(린틀리):
2023.2.23: 이 프로젝트를 계속 업데이트해서는 안 됩니다. 최근에 해고된 다른 방법을 시도하기 위해 새로운 지점을 시작하겠습니다. 나중에 시간이 나면 확인해 보겠습니다.
다음 구성 수정 사항은
config.yaml
기반으로 합니다.
weather_msg_handle.switch_on
이 키워드에 대한 자동 응답 활성화 여부, 기본값은 true
입니다. covid_msg_handle.switch_on
이 키워드에 대한 자동 응답 활성화 여부, 기본값은 true
입니다. weather_schedules.switch_on
이 예약된 작업을 활성화할지 여부, 기본값은 false
, 활성화는 true
로 설정됩니다.weather_schedules.to_nicknames
일기예보를 누구에게 보내야 할까요? 채워진 내용은 위챗 사용자의 닉네임입니다. 여러 사람을 입력해야 하는 경우 영어 쉼표(',')로 구분하여 입력하세요.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을 참조하여 수정하세요. 마지막 "Nanshan"을 직접 검색하고 해당 city_code를 가져옵니다. clock_in_schedules.switch_on
이 예약된 작업을 활성화할지 여부, 기본값은 false
, 활성화는 true
로 설정됩니다.clock_in_schedules.to_nicknames
이 메시지를 보낼 사람은 위챗 사용자의 닉네임을 입력하세요. 그룹 채팅 닉네임이 지원됩니다. 여러 사람을 입력해야 하는 경우 영어 쉼표 ','로 구분하세요.clock_in_schedules.to_remarknames
이 메시지는 누구에게 보내야 합니까? 채워진 내용은 WeChat 사용자의 발언입니다. 그룹 채팅 발언은 WeChat에서 일반적인 통신 중에는 반환되지 않으며 여러 사람이 인식해야 하는 경우에는 반환되지 않습니다. 입력해야 하며, 영문 쉼표 ','로 구분하세요.clock_in_schedules.times
매일 정기적으로 메시지를 보내는 특정 시간으로, 형식은 "00:00:00"이며, 여러 번은 영어 쉼표 ','로 구분됩니다.clock_in_schedules.text
메시지 내용 "아내 너무 보고싶어요❤️", "아직 퇴근 안했어?" days_matters.switch_on
이 예약된 작업을 활성화할지 여부, 기본값은 false
, 활성화는 true
로 설정됩니다.days_matters.to_nicknames
입력 내용은 위챗 사용자의 닉네임이어야 합니다. 여러 사람을 입력해야 하는 경우 영문 쉼표(',')로 구분하세요.days_matters.to_remarknames
입력된 내용은 WeChat 사용자의 발언입니다. 그룹 채팅 발언은 일반적인 WeChat 통신 중에는 반환되지 않으며 여러 사람이 인식되어야 합니다. 입력하고, 영문 쉼표 ','로 구분하세요.days_matters.times
매일 알림을 보내는 특정 시간이며 형식은 "00:00:00"이며 여러 번은 영어 쉼표 ','로 구분됩니다.days_matters.date
"2021-4-3"과 같이 "yyyy-MM-dd" 형식의 중요한 날짜의 특정 날짜입니다.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 xxx" 형식을 통해 gpt 응답을 트리거해야 합니다.