ars3niy / tdlib-purple

libpurple Telegram plugin using tdlib
Other
147 stars 32 forks source link

[Spectrum2] Group Chat issues #165

Closed ghost closed 2 years ago

ghost commented 2 years ago

There's a few different issues when trying to utilize Telegram Group Chats from XMPP via Spectrum2

Currently, users are not autojoined to Telegram Group Chats their Telegram Account is connected to, they have to manually add it. If they add it as a MUC bookmark, the participant list is never populated. If it's added to the roster as an user, messages can be sent and Gajim doesn't have issues with it, but incoming messages in the Group Chat show up as incoming messages

When they are joined, any incoming messages show up as direct messages from the user that sent it. If you send a message in the Group Chat, you also receive the message back from the transport.

Tomorrow, I'll remote into my Spectrum2 and get the logs.

v2e commented 2 years ago

Hello! Sorry for spamming, but could you please tell how you join the Telegram group chats in Gajim? I have been struggling for months with prosody+spectrum2+tdlib-purple+Gajim at least to subscribe to Telegram group chats for receiving messages, but I cannot find a way to do that. Am I missing something obvious?

ghost commented 2 years ago

Hello! Sorry for spamming, but could you please tell how you join the Telegram group chats in Gajim? I have been struggling for months with prosody+spectrum2+tdlib-purple+Gajim at least to subscribe to Telegram group chats for receiving messages, but I cannot find a way to do that. Am I missing something obvious?

You need to find the group ID. The easiest way I've found is logging into https://web.telegram.org/z/ and selecting the group you want. The ID will be in the URL. It should have a "#-" before it. For Example, the Tdlib-Purple group's URL would look like https://web.telegram.org/z/#-1355357904 so the ID is 1355357904.

Once you have the ID, just put a "chat-100" at the beginning of it and feed it to your client. For example: chat-1001355357904@example.domain.org would be the XMPP address of it if your transport was using that URL. Make sure you join the group on Telegram first before trying to join from XMPP

vitalyster commented 2 years ago

Actually, all connected groups are displayed on transport JID in the Service Discovery, no need to guess anything. But there was a bug in Spectrum which prevents displaying groups in Gajim, you need to build latest spectrum from the source to see groups in Service Discovery, or use another client. Also, there is nothing to fix in tdlib-purple, this issue should be moved to spectrum issue tracker.

ghost commented 2 years ago

Actually, all connected groups are displayed on transport JID in the Service Discovery, no need to guess anything. But there was a bug in Spectrum which prevents displaying groups in Gajim, you need to build latest spectrum from the source to see groups in Service Discovery, or use another client. Also, there is nothing to fix in tdlib-purple, this issue should be moved to spectrum issue tracker.

Ah okay, I didn't realize it was an issue with Spectrum2. I'm running the debian version from their repository. I'll go a head and close this