<commit_before>purple-line
===========

libpurple (Pidgin, Finch) protocol plugin for LINE (http://line.naver.jp/en/) by Naver / NHN Japan. It's not quite featureful and stable enough to be used as a primary client for Line yet, but it's under heavy development.

The LINE protocol is closed, proprietary and there is no public API nor a truly cross-platform client (how lame!), so this repository shall also serve as unofficial documentation for the LINE protocol.

Screen shot
-----------

Here's Pidgin logged in to LINE. The plugin is still at an early stage, so simple IM and group chats is all it can do for the moment.

![Screenshot](http://virkkunen.net/b/pidgin-line.png)

Implemented
-----------

* Logging in
* Fetching user profile
* Initial friend list synchronization
* Sending and receiving text IMs
* Synchronizing groups
* Talking in groups
* Group member list
* Fetching recent messages when opening a group chat
* Synchronize buddy list on the fly
  * Add/block implemented as add/remove
* Buddy icons
* Account icon
* Handle exceptions from all thrift methods (especially AUTHENTICATION_DIVESTED_BY_OTHER_DEVICE)<commit_msg>Added a screen shot.<commit_after>purple-line
===========

libpurple (Pidgin, Finch) protocol plugin for LINE (http://line.naver.jp/en/) by Naver / NHN Japan. It's not quite featureful and stable enough to be used as a primary client for Line yet, but it's under heavy development.

The LINE protocol is closed, proprietary and there is no public API nor a truly cross-platform client (how lame!), so this repository shall also serve as unofficial documentation for the LINE protocol.

Screen shot
-----------

Here's Pidgin logged in to LINE. The plugin is still at an early stage, so simple IM and group chats is all it can do for the moment.

![Screenshot](http://virkkunen.net/b/pidgin-line2.png)

Implemented
-----------

* Logging in
* Fetching user profile
* Initial friend list synchronization
* Sending and receiving text IMs
* Synchronizing groups
* Talking in groups
* Group member list
* Fetching recent messages when opening a group chat
* Synchronize buddy list on the fly
  * Add/block implemented as add/remove
* Buddy icons
* Account icon
* Handle exceptions from all thrift methods (especially AUTHENTICATION_DIVESTED_BY_OTHER_DEVICE)
{'fraction_non_alphanumeric': 0.08405923344947736, 'fraction_numerical': 0.00043554006968641115, 'mean_word_length': 4.138702460850112, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4274169', 'n_tokens_mistral': 655, 'n_tokens_neox': 615, 'n_words': 304}