Giter Site home page Giter Site logo

chaerulchas / purple-gowhatsapp Goto Github PK

View Code? Open in Web Editor NEW

This project forked from hoehermann/purple-gowhatsapp

0.0 0.0 0.0 417 KB

Pidgin/libpurple plugin for WhatsApp Web.

License: GNU General Public License v3.0

Makefile 1.51% C 86.32% Go 12.18%

purple-gowhatsapp's Introduction

purple-gowhatsapp

A libpurple/Pidgin plugin for WhatsApp Web.

Powered by go-whatsapp, which is written by Lucas Engelke.

Being developed on Ubuntu 18.04.
Last seen working with go-whatsapp 5e33cb4.

Building

  • Build using the supplied Makefile.
    Optional: Try make update-dep for the most recent go-whatsapp version.

Pre-Built Binaries

Installation

  • Place the binary in your Pidgin's plugin directory (~/.purple/plugins on Linux).

Set-up

  • Create a new account
    You can enter an arbitrary username. However, it is recommended to use your own internationalized number, followed by @s.whatsapp.net.
    Example: 123456789 from Germany would use [email protected].
    This way, Pidgin's logs look sane.
  • Upon login, a fake conversation should pop up, showing a link to a QR code.
    Using your phone's camera, scan the code within 20 seconds โ€“ just like you would do with the browser-based WhatsApp Web.
  • Note: Some settings only take effect after a re-connect.

Please also notice the wiki page regarding common problems.

spectrum2 specifics

Spectrum 2 users must set this plug-in's option system-messages-are-ordinary-messages to true. By default, the log-in message is a system message and Spectrum 2 ignores system messages.

Features

  • Receive text messages.
  • Sending text messages.
  • Download files from image, audio, media, and document messages.
    Files are downloaded to ~/.pidgin/gowhatsapp.
  • Under the hood: Reasonable callback mechanism thanks to Eiron Robb.
  • Fetch contacts from phone, keep track of time last seen, download of user profile pictures courtesy of Markus Gothe.

Note: You may need to force the TLS version to 1.2 using the NSS plug-in for download of user profile pictures to work on some systems.

Instant Message

Missing Features

  • Anything beyond simple messaging, really

What could be done next

From approximate most important to approximate least interesting.

  • Find memory leak.
  • Support stickers.
  • Add proxy support.
  • Use a callback for getting current preferences everywhere consistently.
  • Have purple handle the message, then conditionally request download where appropriate.
  • Add option to ignore invalid message IDs silently.
  • Sanitize invalid message IDs (e.g. I/fb36).
  • Support group conversations properly.
  • Sort old messages by date.
  • Improve spectrum support:
    • Make online status work.
    • Handle incoming files the way purple-skypeweb does.
  • Support sending document messages.
  • Find out how whatsapp represents newlines.
  • Wait for server message received acknowledgement before displaying sent message locally.
  • Do not block while sending message.
  • Defer logging debug messages from go-whatsapp to purple_debug_info().
  • Refactor the file-handling code as it is really ugly.
  • Be compatible with the "Autoreply" plug-in by having an "Away" state.
  • Be compatible with the "Conversation Colors" plug-in.
  • Find spurious segfault.
  • Consistently use dashes in key names.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.