หุ่นยนต์ WeChat ที่ใช้ wechatbot-webhook รองรับ GPT Q&A, พุชการค้นหายอดนิยม, พยากรณ์อากาศ, การส่งต่อข้อความ, มินิเกม, การแจ้งเตือน Webhook และฟังก์ชั่นอื่น ๆ
WeChatter รองรับการปรับใช้ Docker Compose, Docker และการปรับใช้งานภายในเครื่อง
เคล็ดลับ
ขอแนะนำให้ใช้ Docker-compose ในการปรับใช้
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
ใช้ WeChat เพื่อสแกนเอาต์พุตโค้ด QR จากเทอร์มินัลเพื่อเข้าสู่ระบบ WeChat
ใช้บัญชี WeChat อื่นเพื่อพยายามตบหุ่นยนต์หรือส่งคำสั่ง /help
ไปยังหุ่นยนต์
เคล็ดลับ
สำหรับความช่วยเหลือเกี่ยวกับคำสั่ง โปรดใช้คำสั่ง /help
เพื่อสอบถามหรือดูการแสดงฟังก์ชันคำสั่ง
การแจ้งเตือนแบบออฟไลน์ : เมื่อหุ่นยนต์ออฟไลน์ ข้อความเตือนจะถูกผลักผ่าน Bark
สามารถอ้างอิงข้อความและตอบกลับได้ : ผู้ใช้สามารถรับเนื้อหาข้อความเพิ่มเติมได้โดยการอ้างอิงและตอบกลับข้อความคำสั่ง ข้อความบอทที่มี (可引用:***)
เป็นข้อความที่สามารถอ้างอิงได้ซึ่งสามารถโต้ตอบเพิ่มเติมได้
การส่งต่อข้อความ : ส่งต่อข้อความจากผู้ใช้หรือกลุ่มไปยังผู้ใช้หรือกลุ่มอื่น และรองรับการส่งต่อข้อความตอบกลับใบเสนอราคา จำเป็นต้องมีการกำหนดค่า
การแจ้งเตือนบัญชีสาธารณะ : เมื่อบัญชีสาธารณะที่กำหนดเผยแพร่บทความใหม่ หุ่นยนต์จะส่งการแจ้งเตือนไปยังผู้ใช้หรือกลุ่มที่กำหนด จำเป็นต้องมีการกำหนดค่า
งานที่กำหนดเวลาไว้ : คำสั่งส่วนใหญ่รองรับงานที่กำหนดเวลาไว้ จำเป็นต้องมีการกำหนดค่า
การส่งต่อข้อความ Discord : ขึ้นอยู่กับ Discord Webhook ส่งต่อข้อความ WeChat ไปยังช่อง Discord จำเป็นต้องมีการกำหนดค่า
เคล็ดลับ
หากต้องการความช่วยเหลือเกี่ยวกับคำสั่งที่เกี่ยวข้องกับเกม โปรดใช้ ดูคำสั่งเกมพื้นฐาน
config.yaml.example
ในไดเรกทอรีรากของโปรเจ็กต์คือเทมเพลตไฟล์การกำหนดค่า ก่อนที่จะเริ่มโปรเจ็กต์เป็นครั้งแรก คุณต้องคัดลอกไฟล์การกำหนดค่าและตั้งชื่อเป็น config.yaml
แก้ไข config.yaml
ตารางต่อไปนี้อธิบายรายการการกำหนดค่า:
รายการการกำหนดค่า | อธิบาย | หมายเหตุ |
---|---|---|
wechatter_port | พอร์ตของเซิร์ฟเวอร์ WeChatter พอร์ตสำหรับรับข้อความ | ค่าเริ่มต้นคือ 4000 ซึ่งจะต้องสอดคล้องกับพอร์ตของพารามิเตอร์ RECV_MSG_API ของ wxbotwebhook Docker |
รายการการกำหนดค่า | อธิบาย | หมายเหตุ |
---|---|---|
wx_webhook_base_api | BaseAPI สำหรับการส่งข้อความ | ค่าเริ่มต้นคือ http://localhost:3001 ซึ่งเป็นที่อยู่ของ wxBotWebhook Docker ค่าเริ่มต้นสำหรับการปรับใช้ Docker Compose คือ http://wxbotwebhook:3001 |
wx_webhook_recv_api_path | เส้นทางอินเทอร์เฟซสำหรับการรับข้อความ | ค่าเริ่มต้นคือ /receive_msg เส้นทางนี้เป็นเส้นทางของพารามิเตอร์ Docker RECVD_MSG_API |
wx_webhook_token | โทเค็นของ wxBotWebhook | Docker Compose มีค่าเริ่มต้นเป็น wechatter เมื่อใช้งาน |
รายการการกำหนดค่า | อธิบาย | หมายเหตุ |
---|---|---|
admin_list | ตั้งค่าผู้ดูแลระบบเพื่อรับการแจ้งเตือนการเปลี่ยนแปลงสถานะหุ่นยนต์ | กรอกชื่อ WeChat ของผู้ดูแลระบบ (ไม่ใช่หมายเหตุ) |
admin_group_list | คล้ายกับ admin_list รับการแจ้งเตือนการเปลี่ยนแปลงสถานะหุ่นยนต์ | กรอกชื่อกลุ่ม (ไม่ใช่หมายเหตุกลุ่ม) |
bark_url | เห่า URL เพื่อรับการแจ้งเตือนการเปลี่ยนแปลงสถานะหุ่นยนต์ | Bark ใช้งานได้บน iOS และ iPadOS เท่านั้น |
รายการการกำหนดค่า | อธิบาย | หมายเหตุ |
---|---|---|
bot_name | ชื่อหุ่นยนต์ WeChat | ชื่อ WeChat ไม่ใช่ WeChat ID |
รายการการกำหนดค่า | อธิบาย | หมายเหตุ |
---|---|---|
command_prefix | คำนำหน้าคำสั่งหุ่นยนต์ | ค่าเริ่มต้นคือ / ซึ่งสามารถตั้งค่าเป็นอักขระใดก็ได้ เช่น >> , ! ฯลฯ และสามารถเว้นว่างได้ เมื่อรายการนี้ว่างเปล่า ไม่จำเป็นต้องมีคำนำหน้าคำสั่งเพื่อทริกเกอร์คำสั่ง |
need_mentioned | คำสั่งในการแชทกลุ่มต้องใช้ @bot หรือไม่ | ค่าเริ่มต้นเป็น False |
ban_person_list | รายชื่อผู้ใช้บัญชีดำ | บอทจะไม่ตอบสนองต่อข้อความจากผู้ใช้ที่อยู่ในบัญชีดำ |
ban_group_list | รายชื่อกลุ่มบัญชีดำ | บอทจะไม่ตอบสนองต่อข้อความจากกลุ่มที่อยู่ในบัญชีดำ |
รายการการกำหนดค่า | อธิบาย | หมายเหตุ |
---|---|---|
openai_base_api | BaseAPI ของบริการ OpenAI | ค่าเริ่มต้นคือ https://api.openai.com |
openai_token | โทเค็น OpenAI (คีย์) | สตริงคีย์ที่ขึ้นต้นด้วย sk_ |
วิธีการเข้าถึง: iFlytek Spark Model - AI Large Language Model - Spark Model - iFlytek
รายการการกำหนดค่า | อธิบาย | หมายเหตุ |
---|---|---|
spark_api | BaseAPI ของบริการ Spark Big Model | ค่าเริ่มต้นคือ https://spark-api-open.xf-yun.com/v1/chat/completions |
spark_model | ระบุรุ่นรุ่นที่จะเข้าถึง | lite ชี้ไปที่เวอร์ชัน Lite; 4.0Ultra ชี้ไปที่เวอร์ชัน 4.0 Ultra; |
spark_token | Token of Spark รุ่นใหญ่ | คีย์สตริง |
วิธีการเข้าถึง: https://console.x.ai/
รายการการกำหนดค่า | อธิบาย | หมายเหตุ |
---|---|---|
grok_api | BaseAPI สำหรับบริการ Grok | ค่าเริ่มต้นคือ https://api.x.ai/v1/chat/completions |
grok_model | ระบุรุ่นรุ่นที่จะเข้าถึง | ค่าเริ่มต้นคือ grok-beta |
grok_token | โทเค็นของ Grok | คีย์สตริง |
รายการการกำหนดค่า | อธิบาย | หมายเหตุ |
---|---|---|
github_webhook_enabled | สวิตช์ฟังก์ชันว่าจะยอมรับ GitHub Webhook หรือไม่ | ค่าเริ่มต้นเป็น False |
github_webhook_api_path | รับเส้นทางอินเทอร์เฟซของ GitHub Webhook | ค่าเริ่มต้นคือ /webhook/github |
github_webhook_receiver_list | ผู้ใช้ WeChat ที่ได้รับ GitHub Webhook | |
github_webhook_receive_group_list | รับกลุ่ม GitHub Webhook WeChat |
รายการการกำหนดค่า | เด็ก | อธิบาย | หมายเหตุ |
---|---|---|---|
message_forwarding_enabled | สวิตช์ฟังก์ชั่นไม่ว่าจะเปิดใช้งานการส่งต่อข้อความหรือไม่ | ค่าเริ่มต้นเป็น False | |
message_forwarding_rule_list | รายการกฎข้อความ แต่ละกฎประกอบด้วยสี่ช่อง: from_list , from_list_exclude , to_person_list และ to_group_list | ||
from_list | รายชื่อแหล่งที่มาของการส่งต่อข้อความ นั่นคือ ผู้ส่งข้อความ | คุณสามารถกรอกชื่อผู้ใช้หรือชื่อกลุ่มได้หลายชื่อ หากคุณต้องการส่งต่อข้อความทั้งหมด ให้ใช้ ["%ALL"] | |
from_list_exclude | รายการยกเว้นแหล่งที่มาของการส่งต่อข้อความ ผู้ใช้และกลุ่มในรายการนี้จะไม่ได้รับการส่งต่อ | จะมีผลเฉพาะเมื่อ from_list เป็น ["%ALL"] | |
to_person_list | รายชื่อผู้ใช้เป้าหมายการส่งต่อข้อความ ได้แก่ ผู้ใช้รับข้อความ | คุณสามารถกรอกชื่อผู้ใช้หลายชื่อหรือรายการว่างได้ | |
to_group_list | รายชื่อกลุ่มเป้าหมายการส่งต่อข้อความ ได้แก่ กลุ่มที่ได้รับข้อความ | คุณสามารถกรอกชื่อกลุ่มได้หลายชื่อหรือรายการว่าง |
รายการการกำหนดค่า | เด็ก | อธิบาย | หมายเหตุ |
---|---|---|---|
official_account_reminder_enabled | สวิตช์ฟังก์ชั่นไม่ว่าจะเปิดใช้งานการส่งต่อข้อความหรือไม่ | ค่าเริ่มต้นคือ True | |
official_account_reminder_rule_list | รายการกฎข้อความ แต่ละกฎประกอบด้วยสามฟิลด์: oa_name_list , to_person_list และ to_group_list | ||
oa_name_list | รายชื่อบัญชีอย่างเป็นทางการ | คุณสามารถกรอกชื่อบัญชีอย่างเป็นทางการได้หลายชื่อ | |
to_person_list | รายชื่อผู้ใช้เป้าหมายการส่งต่อข้อความ ได้แก่ ผู้ใช้รับข้อความ | คุณสามารถกรอกชื่อผู้ใช้หลายชื่อหรือรายการว่างได้ | |
to_group_list | รายชื่อกลุ่มเป้าหมายการส่งต่อข้อความ ได้แก่ กลุ่มที่ได้รับข้อความ | คุณสามารถกรอกชื่อกลุ่มได้หลายชื่อหรือรายการว่าง |
รายการการกำหนดค่า | อธิบาย | หมายเหตุ |
---|---|---|
all_task_cron_enabled | สวิตช์หลักสำหรับงานตามกำหนดการทั้งหมด | ค่าเริ่มต้นคือ True |
task_cron_list | รายการงานที่กำหนดเวลาไว้ แต่ละงานประกอบด้วยสี่ฟิลด์: task , enabled , cron และ commands |
สำหรับรายละเอียดเกี่ยวกับการกำหนดค่างานที่กำหนดเวลาไว้ โปรดดูรายละเอียดการกำหนดค่างานที่กำหนดเวลาไว้
รายการการกำหนดค่า | อธิบาย | หมายเหตุ |
---|---|---|
custom_command_key_dict | พจนานุกรมคีย์เวิร์ดคำสั่งแบบกำหนดเอง รูปแบบคือ command: [key1, key2, ...] โดยที่ command คือชื่อคำสั่ง key1 และ key2 เป็นคีย์เวิร์ดคำสั่งแบบกำหนดเอง |
สำหรับค่าทางเลือกของชื่อคำสั่ง โปรดดูรายละเอียดการกำหนดค่าคีย์เวิร์ดคำสั่งที่กำหนดเอง
รายการการกำหนดค่า | เด็ก | อธิบาย | หมายเหตุ |
---|---|---|---|
discord_message_forwarding_enabled | สวิตช์ฟังก์ชั่น ไม่ว่าจะเปิดใช้งานการส่งต่อข้อความ Discord หรือไม่ | ค่าเริ่มต้นเป็น False | |
discord_message_forwarding_rule_list | รายการกฎข้อความ แต่ละกฎประกอบด้วยสามฟิลด์: from_list , to_discord_webhook_url และ to_discord_webhook_name | ||
from_list | รายชื่อแหล่งที่มาของการส่งต่อข้อความ นั่นคือ ผู้ส่งข้อความ | คุณสามารถกรอกชื่อผู้ใช้หรือชื่อกลุ่มได้หลายชื่อ หากคุณต้องการส่งต่อข้อความทั้งหมด ให้ใช้ ["%ALL"] | |
from_list_exclude | รายการยกเว้นแหล่งที่มาของการส่งต่อข้อความ ผู้ใช้และกลุ่มในรายการนี้จะไม่ได้รับการส่งต่อ | จะมีผลเฉพาะเมื่อ from_list เป็น ["%ALL"] | |
discord_webhook_url | เป้าหมายการส่งต่อข้อความ Discord Webhook URL |
รายการการกำหนดค่า | อธิบาย | หมายเหตุ |
---|---|---|
gpt_mode_person_list | รายชื่อผู้ใช้เริ่มต้นสำหรับโหมดถาม & ตอบ GPT | นั่นคือ ข้อความที่มีคีย์เวิร์ดคำสั่งจะทริกเกอร์คำสั่งที่เกี่ยวข้องตามปกติ และข้อความอื่นๆ จะถูกตัดสินว่าเป็นคำสั่ง GPT |
gpt_model | โมเดลถามตอบ GPT เริ่มต้น | ค่าตัวเลือกคือ gpt35 , gpt4 |
ไฟล์บันทึกจะถูกจัดเก็บไว้ในโฟลเดอร์ logs/
ในไดเร็กทอรีรากของโปรเจ็กต์
ระดับการบันทึกเริ่มต้นคือ INFO
และค่าระดับการบันทึกเพิ่มเติมได้แก่ DEBUG
, INFO
, WARNING
, ERROR
และ CRITICAL
หากคุณต้องการปรับระดับการบันทึก โปรดแก้ไขตัวแปรสภาพแวดล้อม WECHATTER_LOG_LEVEL
ในไฟล์ docker-compose.yml
โปรดแก้ไขตัวแปรสภาพแวดล้อม WECHATTER_LOG_LEVEL
ในคำสั่ง docker run
โปรดแก้ไขตัวแปรสภาพแวดล้อมของระบบ WECHATTER_LOG_LEVEL
export WECHATTER_LOG_LEVEL=DEBUG
ขอขอบคุณบุคคลต่อไปนี้ที่มีส่วนร่วมในโครงการนี้:
บันทึก
อยู่ระหว่างการพัฒนา...
คำเตือน
โครงการนี้ยังอยู่ระหว่างการพัฒนา และยินดีรับข้อเสนอแนะและความคิดเห็น