Skip to content

EionRobb/purple-teams

Folders and files

NameName
Last commit message
Last commit date

Latest commit

abe2b6a Β· Mar 11, 2025
Jan 16, 2025
Feb 9, 2024
Jun 17, 2024
Feb 17, 2025
Jun 2, 2024
May 30, 2024
Feb 11, 2024
Jun 17, 2024
Mar 11, 2025
Apr 20, 2022
Apr 10, 2022
Feb 20, 2025
Jan 26, 2025
Jun 2, 2024
Apr 28, 2024
Jun 2, 2024
Jan 7, 2024
Jan 8, 2024
Aug 27, 2024
May 9, 2024
Apr 28, 2024
Mar 9, 2025
Apr 10, 2022
Feb 20, 2025
Jan 21, 2024
Jul 18, 2024
Feb 18, 2024
Feb 20, 2025
Feb 19, 2024
Jul 10, 2024
Apr 26, 2024
Jan 10, 2024
Jan 10, 2024

Repository files navigation

MS Teams Plugin for Pidgin

A third-party alternative for the Microsoft Teams client - in development since April 2022, with no Electron/Webview!

Comparasion to regular Teams client:

Pros

πŸ‘ Uses less than 1/4 the RAM (when including the webview2 processes commit size)

πŸ‘ Allows being logged into multiple tenants and accounts at the same time, without any switching

πŸ‘ Shows all contacts in the buddy list, not just the most recent

πŸ‘ Won't send idle/auto-away status, unless you tell it to

πŸ‘ Has a shorter cache-time for contact names and pictures

Cons

πŸ‘Ž Doesn't support calls, provides direct links to the Teams website

πŸ‘Ž Threaded conversations are not Pidgin's strong point

πŸ‘Ž Message reactions are not Pidgin's strong point either

Windows Users

Download from GitHub Actions (or from my server), copy to C:\Program Files (x86)\Pidgin\plugins\. You may also need libjson-glib in your C:\Program Files (x86)\Pidgin\ folder (not the plugins folder)

Latest Windows build

Compiling

You'll need libjson-glib-dev, libpurple-dev and glib-2.0-dev packages from your distro, then simply

git clone https://github.com/EionRobb/purple-teams
cd purple-teams
make
sudo make install

to install.

Latest Linux build

FAQ

What should I use for the 'username' field?

When creating a new account in Pidgin, the username field in purple-teams don't mean too much, they just need to be unique if you plan on signing into multiple servers/tenants at the same time (eg, eion.robb@tenant1 eion.robb@tenant2). Authentication is done through the browser (including username) so this is just a placeholder that libpurple requires. Leave the 'Tenant' field on the Advanced tab blank, unless you're following the instructions below for 'logging in as a guest'.

Logging in as a guest

If you're like me and need to connect to multiple servers/tenants, then you'll need to set the 'Tenant' on the Advanced tab of the connection. These are generally in the form of 'fancynamegoeshere.onmicrosoft.com' you can leave off the '.onmicrosoft.com' bit and the plugin should add that on automatically. Hopefully in the future I come up with an easier way to work that out.

You can also use a GUID/ID, eg using https://www.whatismytenantid.com

Leave the 'Tenant' field blank if you don't need it

Sometimes users show as orgid:...

If the plugin hasn't seen that person before, it might take a few seconds to grab their info, until then Pidgin will show the message with the Teams internal ID. For deleted contacts, this is a bit trickier as there's not a good source of info for people that no longer exist. Sometimes, right clicking on a contact and choosing "Get Info" will forcibly download new info.

Sometimes group chats show as 19:... or 48:...

If the plugin hasn't seen that chat before, it'll show the internal ID of the chat. Pidgin (well, more libpurple) doesn't have a great way of dealing with group chats that aren't saved to the buddy list yet. It might take a few seconds to download the name of the chat and save it to the buddy list. Switching away from that tab/window and back again may cause Pidgin to redisplay it.

When I click on an image to "view full version" it has a 401 error

Unfortunately, the web browser needs to be recently logged in to Teams on the web to display these. Open a new tab to teams.microsoft.com then reload the origional tab and it should show up.

I'm on Windows and can't see emoji

The best workaround is to try one of the emoji smiley themes from here. Personally, I use Emoji One

I can't paste images into chat

Try the Pidgin Paste Images plugin

Toast notifications

Thats not really a question! Maybe you want to try one of the notification plugins at https://pidgin.im/plugins/

Something else!

Feel free to open an issue and hopefully find a reasonable outcome :)

Say thanks

Did this plugin bring you joy? If so, send $1 to say thanks :)