แพ็คเกจ Rhymen/Go-Whatsapp ใช้ whatsapp Web API เพื่อให้อินเทอร์เฟซที่สะอาดสำหรับนักพัฒนา ขอบคุณมากสำหรับผู้มีส่วนร่วมทุกคนของโครงการ Sigalor/Whatsapp-Web-Web-Reveng API ธุรกิจ WhatsApp อย่างเป็นทางการเปิดตัวในเดือนสิงหาคม 2561 คุณสามารถตรวจสอบได้ที่นี่
แพ็คเกจนี้ไม่ได้รับการดูแลอย่างแข็งขันในปัจจุบันและในไม่ช้าจะไม่สามารถใช้งานได้ในไม่ช้าเนื่องจาก WhatsApp อัปเดตเป็นหลายอุปกรณ์ โปรดดูที่ Tulir/WhatsMeow สำหรับ GO WhatsApp Web API ที่ได้รับการดูแลอย่างแข็งขันและสนับสนุน WhatsApp Multi-Device
go get github.com/Rhymen/go-whatsapp import (
whatsapp "github.com/Rhymen/go-whatsapp"
)
wac , err := whatsapp . NewConn ( 20 * time . Second )ระยะเวลาที่ส่งผ่านไปยังฟังก์ชั่น newConn ใช้ในการร้องขอการเข้าสู่ระบบหมดเวลา หากคุณมีการเชื่อมต่ออินเทอร์เน็ตที่ไม่ดีใช้ค่าการหมดเวลาที่สูงขึ้น ฟังก์ชั่นนี้สร้างการเชื่อมต่อ WebSocket เท่านั้น แต่ไม่สามารถจัดการการรับรองความถูกต้อง
qrChan := make ( chan string )
go func () {
fmt . Printf ( "qr code: %v n " , <- qrChan )
//show qr code or save it somewhere to scan
}()
sess , err := wac . Login ( qrChan )กระบวนการตรวจสอบความถูกต้องต้องการให้คุณสแกนรหัส QR ที่ส่งผ่านช่องทางพร้อมอุปกรณ์ที่คุณใช้ WhatsApp โครงสร้างเซสชันที่ส่งคืนสามารถบันทึกและใช้เพื่อกู้คืนการเข้าสู่ระบบโดยไม่ต้องสแกนรหัส QR อีกครั้ง รหัส QR มี TTL 20 วินาทีและฟังก์ชั่นการเข้าสู่ระบบจะส่งผลผิดพลาดหากเวลาผ่านไปหรือคำขออื่น ๆ ล้มเหลว
newSess , err := wac . RestoreWithSession ( sess )ฟังก์ชั่นการกู้คืนต้องการเซสชันที่ถูกต้องและส่งคืนเซสชันใหม่ที่สร้างขึ้น
type myHandler struct {}
func ( myHandler ) HandleError ( err error ) {
fmt . Fprintf ( os . Stderr , "%v" , err )
}
func ( myHandler ) HandleTextMessage ( message whatsapp. TextMessage ) {
fmt . Println ( message )
}
func ( myHandler ) HandleImageMessage ( message whatsapp. ImageMessage ) {
fmt . Println ( message )
}
func ( myHandler ) HandleDocumentMessage ( message whatsapp. DocumentMessage ) {
fmt . Println ( message )
}
func ( myHandler ) HandleVideoMessage ( message whatsapp. VideoMessage ) {
fmt . Println ( message )
}
func ( myHandler ) HandleAudioMessage ( message whatsapp. AudioMessage ){
fmt . Println ( message )
}
func ( myHandler ) HandleJsonMessage ( message string ) {
fmt . Println ( message )
}
func ( myHandler ) HandleContactMessage ( message whatsapp. ContactMessage ) {
fmt . Println ( message )
}
func ( myHandler ) HandleBatteryMessage ( message whatsapp. BatteryMessage ) {
fmt . Println ( message )
}
func ( myHandler ) HandleNewContact ( contact whatsapp. Contact ) {
fmt . Println ( contact )
}
wac . AddHandler ( myHandler {})ตัวจัดการข้อความเป็นทางเลือกทั้งหมดคุณไม่จำเป็นต้องใช้อะไรเลยนอกจากตัวจัดการข้อผิดพลาดในการใช้งานอินเทอร์เฟซ ImageMessage, VideoMessage, Audiomessage และ DocumentMessage มีฟังก์ชั่นดาวน์โหลดเพื่อรับข้อมูลสื่อ
text := whatsapp. TextMessage {
Info : whatsapp. MessageInfo {
RemoteJid : "[email protected]" ,
},
Text : "Hello Whatsapp" ,
}
err := wac . Send ( text ) contactMessage := whatsapp. ContactMessage {
Info : whatsapp. MessageInfo {
RemoteJid : "[email protected]" ,
},
DisplayName : "Luke Skylwallker" ,
Vcard : "BEGIN:VCARD n VERSION:3.0 n N:Skyllwalker;Luke;; n FN:Luke Skywallker n item1.TEL;waid=0123456789:+1 23 456789789 n item1.X-ABLabel:Mobile n END:VCARD" ,
}
id , error := client . WaConn . Send ( contactMessage )ข้อความจะถูกส่งผ่าน WebSocket คุณลักษณะที่เห็นข้างต้นเป็นตัวเลือกที่จำเป็น แอตทริบิวต์อื่น ๆ ที่เกี่ยวข้องทั้งหมด (ID, การประทับเวลา, FromMe, สถานะ) ถูกตั้งค่าหากพวกเขาหายไปในโครงสร้าง ในขณะนี้เราสนับสนุนข้อความเท่านั้น แต่มีการวางแผนประเภทอื่น ๆ สำหรับอนาคตอันใกล้นี้
รหัสนี้ไม่มีส่วนเกี่ยวข้องกับได้รับอนุญาตดูแลรักษาหรือรับรองโดย WhatsApp หรือ บริษัท ในเครือหรือ บริษัท ย่อยใด ๆ นี่คือซอฟต์แวร์อิสระและไม่เป็นทางการ ใช้ความเสี่ยงของคุณเอง
ใบอนุญาต MIT (MIT)
ลิขสิทธิ์ (c) 2018
ได้รับอนุญาตโดยไม่ต้องเสียค่าใช้จ่ายสำหรับบุคคลใด ๆ ที่ได้รับสำเนาซอฟต์แวร์นี้และไฟล์เอกสารที่เกี่ยวข้อง ("ซอฟต์แวร์") เพื่อจัดการในซอฟต์แวร์โดยไม่มีการ จำกัด รวมถึง แต่ไม่ จำกัด เฉพาะสิทธิ์ในการใช้สำเนาดัดแปลงผสานเผยแพร่เผยแพร่
ประกาศลิขสิทธิ์ข้างต้นและประกาศการอนุญาตนี้จะรวมอยู่ในสำเนาทั้งหมดหรือส่วนสำคัญของซอฟต์แวร์
ซอฟต์แวร์มีให้ "ตามสภาพ" โดยไม่มีการรับประกันใด ๆ ไม่ว่าโดยชัดแจ้งหรือโดยนัยรวมถึง แต่ไม่ จำกัด เฉพาะการรับประกันความสามารถในการค้าการออกกำลังกายสำหรับวัตถุประสงค์เฉพาะและการไม่เข้าร่วม ไม่ว่าในกรณีใดผู้เขียนหรือผู้ถือลิขสิทธิ์จะต้องรับผิดชอบต่อการเรียกร้องความเสียหายหรือความรับผิดอื่น ๆ ไม่ว่าจะเป็นการกระทำของสัญญาการละเมิดหรืออื่น ๆ ที่เกิดขึ้นจากหรือเกี่ยวข้องกับซอฟต์แวร์หรือการใช้งานหรือการติดต่ออื่น ๆ ในซอฟต์แวร์