Skip to content
Go to file
This branch is 221 commits ahead of necrosis:master.


Failed to load latest commit information.
Latest commit message
Commit time
Jan 28, 2020

slack-libpurple Build Status

A Slack protocol plugin for libpurple IM clients.



  1. Install libpurple (pidgin, finch, etc.), including necessary development components on binary distros (libpurple-devel, libpurple-dev, etc.);
  2. Clone this repository with git clone, run cd slack-libpurple, then run sudo make install or make install-user.


@EionRobb is kindly providing windows builds here.


To login enter your email address as the username and <workspace> as the host. You can also optionally enter your password and have it saved.

For use with Bitlbee set username to<workspace>

Legacy Authentication

Earlier versions of this plugin used Slack's legacy tokens for authentication. This feature is still supported, but as Slack will be stopping the creation of legacy tokens on May 5th 2020, it is highly advised that you migrate to the username/password authentication from above.

  1. Issue a Slack API token for yourself
  2. Add your slack account to your libpurple program and enter this token under (Advanced) API token (do not enter your slack password; username/hostname are optional but can be set to

If you're using a front-end (like Adium or Spectrum2) that does not let you set the API token, you can enter your token as the account password instead.


Here's how slack concepts are mapped to purple:

  • Your "open" channels (on the slack bar) are mapped to the buddy list: joining a channel is equivalent to creating a buddy;
  • Which conversations are open in purple is up to you, and has no effect on slack;
  • For bitlbee IRC connections, Slack channels are "chat channels" that can be added to your configuration with "chat add <account id> #<channel>"

Available Commands

  • /edit <new message> will edit the last message you sent in a channel/chat to whatever you write.
  • /delete will delete the last message you sent in a channel/chat.

Known issues

  • Handling of messages while not connected or not open is not great.
  • The history branch has some optional features for fetching history (thanks to @kacf) and dealing with large slacks (lazy_load option).
  • Threads are only partially supported (see #118).
  • 2FA and other authentication methods are not supported (#115).
  • The author (@dylex) has only sporadic attention available and is often slow in responding, so community support and contributions are welcome and encouraged (much thanks to @EionRobb, @klali, @zoltan-dulac, @kacf, and others)!
You can’t perform that action at this time.