turt2live / matrix-wishlist

Bridges, bots, and other tooling requested by community members
55 stars 2 forks source link

LINE bridge #111

Open turt2live opened 6 years ago

turt2live commented 6 years ago

Unknown compatibility

homebeach commented 6 years ago

Here is LINE developers page. They have Messaging API. Here is LINE Github page.

homebeach commented 5 years ago

There seems to be a plugin for libpurple. According to that site, LINE Corporation seems to be banning 3rd party clients though.

homebeach commented 5 years ago

According to these statistics, LINE is the most popular mobile instant messenger in Japan, Taiwan and Thailand. Worth to bridge if you want to make Matrix more popular.

Legogris commented 3 years ago

Agreed. Of mainstream IM services, this should by far be the biggest one that currently lacks a Matrix bridge implementation. Can confirm that in these countries (+South Korea), LINE has the position of WhatsApp/Facebook/Instagram in Western countries.

yasurok commented 3 years ago

I second this. In Japan, everything is done over Line, e.g., payment, streaming music, etc., but most importantly, instant messaging. Over here, Line is the de facto instant messaging service and if you do not use Line, you will get left out of any online social interaction. Some might use Instagram and/or Twitter, but few use Facebook Messenger and practically nobody has ever heard of WhatsApp.

You can use their Messaging API for free, but only up to 1,000 messages per month, and you'll have to create a Line for Business account for free. https://www.linebiz.com/jp/service/line-official-account/plan/

refeed commented 3 years ago

Agreed, I can confirm that most students in Indonesia are also using LINE, it's quite popular here.

supersonictw commented 3 years ago

I have a web client of LINE https://github.com/supersonictw/xia based on Vue.js that using their private API (Non-Messaging API, aka LEGY API) allows normal users getting access from LINE Talk Service. Maybe it can help the project.

supersonictw commented 3 years ago

I have received the warning because LINE Corporation is afraid of the third-party application might stolen their user token and information. So, it might to be the important concern to be worried.

In the past, there were a lot of third-party plugins or client, but they were shutdown by LINE with DMCA until they start to publish their Developer Platform.

Legogris commented 3 years ago

@supersonictw My guess is that they will especially take issue with any hosted service offering acting on behalf of users (which is why your web service got shut down), while they won't bother with open-source projects made for self-hosting. Especially if there are no point-and-click installer binaries for download but takes a bit of setup.

Which would be a similar stance to Facebook et al.

That being said, depending on what your goals are, if I were you I would not try to contact them further to get clarity - if they have to take a stance they're not unlikely to respond "it breaks the ToS, please cease and desist".

While frustrating, it's probably in the interest of both Naver and ourselves to keep it ambiguous for the time being.

Legogris commented 3 years ago

BTW, just curious since I guess you looked at it closer; do you see any good reason to not use their Messaging API?

supersonictw commented 3 years ago

Umm... The Messaging API is used to help users create their BOT, and the API only accept to control the account they specific which created by the developer platform. So, if you're using Messaging API, you will suffering a lot of limit and something out of excepted. Example: The account of Messaging API can't join any chat group by itself.

Legogris commented 3 years ago

Ah, so you can't even use it with a "normal" personal account? I'm not surprised I guess, but it does make it uninteresting/useless as a Matrix bridge.

supersonictw commented 3 years ago

I think it might to be useless.

supersonictw commented 3 years ago

The details of LINE Messaging API https://linecorp.com/en/pr/news/en/2016/1517

By the way, LINE Messaging API is non-free while you over the starter's quota.

supersonictw commented 3 years ago

I revert what I said, to create a bridge for Matrix with LINE is possible.

I will trying to create the prototype one for testing with the idea I thought.

There's a simple API might help the bridge https://github.com/supersonictw/line-bot-sdk-php-tiny

Anyway, maybe it can be done.

supersonictw commented 3 years ago

I am working on the prototype one https://github.com/supersonictw/matrix-line-bridge

If it works, I hope someone can help me to keep updating the application, so I will transfer or giving the permission of maintenance.

Wish Matrix getting better.

huan commented 3 years ago

@supersonictw It's so great to see that you are working on a prototype for the line bridge!

I would expect a JavaScript version instead of Python because it will be more fit for the JS ecosystem.

supersonictw commented 3 years ago

That's OK to create a JavaScript version, but I'm new to Matrix, so I need to read some documents for understanding the system structure and environment. I'm trying my best!

supersonictw commented 3 years ago

Oh my! The limit of 1000 messages make the bridge is useless, though the prototype is almost finished. There are still some bug exists but my quota is reached.

(The one which is using Messaging API)

supersonictw commented 3 years ago

I will contact LINE Corporation, if it not works, I will try the private API(LEGY API) one.

LecrisUT commented 3 years ago

Any response from LINE?

daktak commented 3 years ago

Hoping @supersonictw is using April monthly message limit to continue dev ;-)

supersonictw commented 3 years ago

1) In fact, https://github.com/web-tech-tw/matrix-line-bridge already works. As the prototype one of bridge between LINE and Matrix, though there is a quota problem with LINE Messaging API.

2) I still have not received any response from LINE.

daktak commented 3 years ago

500 messages per month, per bot. Perhaps you could cycle through them.

This function now for 1 room bridging.

daktak commented 3 years ago

You can run multiple instances on sperate ports for each room you want to bridge.

supersonictw commented 3 years ago

But I think that to use router for different room is better than the using port one... It will make the bridge more flexible

AndrewFerr commented 3 years ago

Most of the people in this discussion are aware of this already, but I've been working on a Puppeteer-based bridge for LINE: https://src.miscworks.net/fair/matrix-puppeteer-line

LINE doesn't have a webapp, but it does have a Chrome extension (officially titled "LINE for Chrome" in LINE's documentation) that can be manipulated by Puppeteer just like any other webpage.

As such, my bridge doesn't use any LINE APIs, and instead uses only basic client-side manipulation like DOM scraping and Javascript injection. This should mean that the only way for LINE Corp to block it is by upgrading their extension to detect if it's being manipulated by a bot. But even then, older versions of the extension without any such hypothetical bot-detection would still work, unless LINE changes their servers to reject connections from outdated extensions.

With that said, there are many limitations to this approach, but its tradeoffs are different than those of @supersonictw's bridge. Having both bridges available as alternatives should hopefully cover enough usescases the Matrix community comes across.

supersonictw commented 2 years ago

@supersonictw It's so great to see that you are working on a prototype for the line bridge!

I would expect a JavaScript version instead of Python because it will be more fit for the JS ecosystem.

Oh, yes! The bridge which converted to TypeScript from Python is ready. (with Messaging API)

And it supports push api (paid) and notify api to send messages. 🚀

But the E2EE is not ready yet. 😢

https://github.com/web-tech-tw/matrix-line-bridge