/ go-whatsapp

Пакет rhymen/go-whatsapp реализует WhatsApp Web API, чтобы обеспечить понятный интерфейс для разработчиков. Большое спасибо всем участникам проекта sigalor/whatsapp-web-reveng. Официальный WhatsApp Business API был выпущен в августе 2018 года. Вы можете проверить его здесь.

Установка

 перейдите и получите github.com/Rhymen/go-whatsapp

Usage

Создание соединения

 import (whatsapp "github.com/Rhymen/go-whatsapp")wac, err: = whatsapp.NewConn (20 * time.Second)  

Продолжительность, передаваемая в функцию NewConn, используется для тайм-аута запросов входа в систему. Если у вас плохое интернет-соединение, используйте большее значение тайм-аута. Эта функция создает только соединение с веб-сокетом, она не обрабатывает аутентификацию.

Login

 qrChan: =  make (chan string) go func () {fmt.Printf ("qr code:% v  n",  

Процесс аутентификации требует, чтобы вы отсканировали qr-код, который отправляется по каналу, с устройством, на котором вы используете WhatsApp. Возвращенную структуру сеанса можно сохранить и использовать для восстановления входа в систему без повторного сканирования qr-кода. Код qr имеет ttl, равный 20 секундам, и функция входа в систему выдает ошибку тайм-аута, если время прошло или любой другой запрос не прошел.

Restore

 newSess, err: = wac.RestoreWithSession (sessions) 

Функция восстановления требует действительного сеанса и возвращает новый сеанс, который был создан .

Добавить обработчики сообщений

 type myHandler struct {} func (myHandler) HandleError (err error)  {fmt.Fprintf (os.Stderr, "% v", err)} func (myHandler) HandleTextMessage (сообщение whatsapp.TextMessage) {fmt.Println (message)} func (myHandler) HandleImageMessage (сообщение whatsapp.ImageMessage.) {fmt.Println (message)} func (myHandler) HandleImageMessage (message whatsapp.ImageMessage.) {f  Println (сообщение)} func (myHandler) HandleDocumentMessage (сообщение whatsapp.DocumentMessage) {fmt.Println (сообщение)} func (myHandler) HandleVideoMessage (сообщение whatsapp.VideoMessage) {fmt.Println (сообщение)} func (myHandlerMessage)  whatsapp.AudioMessage) {fmt.Println (сообщение)} func (myHandler) HandleJsonMessage (строка сообщения) {f  mt.Println (сообщение)} func (myHandler) HandleContactMessage (сообщение whatsapp.ContactMessage) {fmt.Println (message)} func (myHandler) HandleBatteryMessage (msg whatsapp.BatteryMessage) {fmt.Println (myNewactler) func  (свяжитесь с whatsapp.Contact) {fmt.Println (contact)} wac.AddHandler (myHandler {}) 

Все обработчики сообщений являются необязательными, вам не нужно ничего реализовывать но обработчик ошибок для реализации интерфейса. ImageMessage, VideoMessage, AudioMessage и DocumentMessage предоставляют функцию загрузки для получения мультимедийных данных.

Отправка текстовых сообщений

 text: = whatsapp.TextMessage {Информация: whatsapp. MessageInfo {RemoteJid: "0123456789@s.whatsapp.net",}, текст: "Привет, Whatsapp",} err: = wac.Send (текст) 

Отправка контактных сообщений

 contactMessage: = whatsapp.ContactMessage {Информация: whatsapp.MessageInfo {RemoteJid: "0123456789@s.whatsapp.net",}, DisplayName  : "Люк Скайволлкер", Vcard: "НАЧАЛО: VCARD  nВЕРСИЯ: 3.0  nN: Скайлуокер; Люк ;;  nFN: Люк Скайволлкер  nitem1.TEL; waid = 0123456789: +1 23 456789789  nitem1.X-ABLabel: Mobile   nEND: VCARD ",} id, error: = client.WaConn.Send (contactMessage) 

Сообщение будет отправлено через веб-сокет. Приведенные выше атрибуты являются обязательными. Все остальные соответствующие атрибуты (id, timestamp, fromMe, status) устанавливаются, если они отсутствуют в структуре. В настоящее время мы поддерживаем только текстовые сообщения, но в ближайшем будущем запланированы другие типы.

Этот код никоим образом не связан, не авторизован, не поддерживается, не спонсируется или не одобряется WhatsApp или любыми его аффилированными или дочерними компаниями. Это независимое и неофициальное программное обеспечение. Используйте на свой страх и риск.

Лицензия

Лицензия MIT (MIT)

Авторские права (c) 2018

Настоящим предоставляется бесплатное разрешение любому лицу, получающему копию этого программного обеспечения и связанных файлов документации («Программное обеспечение»), на использование Программного обеспечения без ограничений, в том числе без ограничение прав на использование, копирование, изменение, объединение, публикацию, распространение, сублицензирование и/или продажу копий Программного обеспечения, а также разрешение лицам, которым предоставляется Программное обеспечение, делать это при соблюдении следующих условий:

Приведенное выше уведомление об авторских правах и это уведомление о разрешении должны быть включены во все копии или существенные части Программного обеспечения.

ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРЕДОСТАВЛЯЕТСЯ «КАК ЕСТЬ», БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ, ЯВНО ПОДРАЗУМЕВАЕМЫХ, ВКЛЮЧАЯ, НО НЕ ОГРАНИЧИВАЯСЬ ​​ГАРАНТИЯМИ КОММЕРЧЕСКОЙ ЦЕННОСТИ, ПРИГОДНОСТИ ДЛЯ КОНКРЕТНОЙ ЦЕЛИ И НЕЗАЩИТЫ ОТ ПРАВА. НИ ПРИ КАКИХ ОБСТОЯТЕЛЬСТВАХ АВТОРЫ ИЛИ ВЛАДЕЛЬЦЫ АВТОРСКИХ ПРАВ НЕ НЕСЕТ ОТВЕТСТВЕННОСТИ ЗА ЛЮБЫЕ ПРЕТЕНЗИИ, УБЫТКИ ИЛИ ДРУГИЕ ОБЯЗАТЕЛЬСТВА, ПРОИЗВОДИМЫЕ В РЕЗУЛЬТАТЕ КОНТРАКТА, ПРАКТИЧЕСКИХ ПРАВ ИЛИ ИНЫХ СЛУЧАЙНЫХ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ, ИЛИ ИЛИ В СВЯЗИ С ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ ИЛИ ИСПОЛЬЗОВАНИЕМ ИЛИ ДРУГИМ ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ. /p>

Оцените статью
Botgadget.ru
Добавить комментарий