All Projects → matrix-hacks → matrix-puppet-slack

matrix-hacks / matrix-puppet-slack

Licence: other
puppet style slack bridge for matrix

Programming Languages

javascript
184084 projects - #8 most used programming language
Dockerfile
14818 projects

Projects that are alternatives of or similar to matrix-puppet-slack

Matterbridge
bridge between mattermost, IRC, gitter, xmpp, slack, discord, telegram, rocketchat, twitch, ssh-chat, zulip, whatsapp, keybase, matrix, microsoft teams, nextcloud, mumble, vk and more with REST API (mattermost not required!)
Stars: ✭ 4,452 (+9578.26%)
Mutual labels:  matrix, bridge
twitter
A Matrix-Twitter DM puppeting bridge
Stars: ✭ 48 (+4.35%)
Mutual labels:  matrix, bridge
Mautrix Whatsapp
A Matrix-WhatsApp puppeting bridge
Stars: ✭ 484 (+952.17%)
Mutual labels:  matrix, bridge
telematrix
Bridge between Telegram and Matrix
Stars: ✭ 95 (+106.52%)
Mutual labels:  matrix, bridge
matrix-sms-bridge
Matrix bridge, that allows you to bridge matrix rooms to SMS with one telephone number only.
Stars: ✭ 62 (+34.78%)
Mutual labels:  matrix, bridge
matrix-puppet-facebook
a puppetted facebook bridge
Stars: ✭ 90 (+95.65%)
Mutual labels:  matrix, bridge
Mautrix Hangouts
A Matrix-Hangouts puppeting bridge
Stars: ✭ 29 (-36.96%)
Mutual labels:  matrix, bridge
Mautrix Telegram
A Matrix-Telegram hybrid puppeting/relaybot bridge
Stars: ✭ 508 (+1004.35%)
Mutual labels:  matrix, bridge
Mautrix Facebook
A Matrix-Facebook Messenger puppeting bridge
Stars: ✭ 172 (+273.91%)
Mutual labels:  matrix, bridge
Matrix Appservice Slack
A Matrix <--> Slack bridge
Stars: ✭ 164 (+256.52%)
Mutual labels:  matrix, bridge
instagram
A Matrix-Instagram DM puppeting bridge
Stars: ✭ 69 (+50%)
Mutual labels:  matrix, bridge
Matrix-EmailBridge
A bridge written in Golang to receive and write emails in matrix
Stars: ✭ 101 (+119.57%)
Mutual labels:  matrix, bridge
matrix-appservice-bridge
Bridging infrastructure for Application Services
Stars: ✭ 119 (+158.7%)
Mutual labels:  matrix, bridge
Matrix Appservice Discord
A bridge between Matrix and Discord.
Stars: ✭ 383 (+732.61%)
Mutual labels:  matrix, bridge
matrix-pstn-bridge
☎️ A Matrix Puppet bridge for the public telephone network that supports a number of VoIP providers (Twillo, Vonage, etc.). Sends and receives voice and SMS.
Stars: ✭ 25 (-45.65%)
Mutual labels:  matrix, bridge
Matrix Puppet Imessage
A two-way puppeted Matrix bridge for Apple iMessage / Messages
Stars: ✭ 109 (+136.96%)
Mutual labels:  matrix, bridge
ligh7hau5
A Matrix (https://matrix.org/docs/spec/) to Fediverse / ActivityPub client / bridge. Also, some media proxying.
Stars: ✭ 26 (-43.48%)
Mutual labels:  matrix, bridge
telegram
A Matrix-Telegram hybrid puppeting/relaybot bridge
Stars: ✭ 914 (+1886.96%)
Mutual labels:  matrix, bridge
sygnal
Sygnal: reference Push Gateway for Matrix
Stars: ✭ 114 (+147.83%)
Mutual labels:  matrix
nuke-colortools
A collection of tools for Nuke related to color science and the Academy Color Encoding System (ACES).
Stars: ✭ 66 (+43.48%)
Mutual labels:  matrix

matrix-puppet-slack #matrix-puppet-bridge:matrix.org

This is an unofficial matrix slack bridge that works by means of user puppetting.

Get your user_access_token from here:

https://api.slack.com/docs/oauth-test-tokens

The bridge uses that access token to connect as a client using the slack RTM API.

This technique does not require admin on the slack team; instead, the bridge is simply a custom slack client.

The bridge supports multiple teams at once, see the config.sample.json

installation

clone this repo

cd into the directory

run npm install

configure

Copy config.sample.json to config.json and update it to match your setup. Add as many teams as you like by adding them to the array.

If you are running another bridge that uses the default slack prefix, change the prefix now. You cannot change this value after the bridge has created rooms and ghost users.

register the app service

Generate an slack-registration.yaml file with node index.js -r -u "http://your-bridge-server:8090"

Note: The 'registration' setting in the config.json needs to set to the path of this file. By default, it already is.

Copy this slack-registration.yaml file to your home server. Make sure that from the perspective of the homeserver, the url is correctly pointing to your bridge server. e.g. url: 'http://your-bridge-server.example.org:8090' and is reachable.

Edit your homeserver.yaml file and update the app_service_config_files with the path to the slack-registration.yaml file.

Launch the bridge with node index.js.

Restart your HS.

docker

Build the docker image with docker build -t matrix-puppet-slack ..

Copy config.sample.json to config.json and update it to match your setup. You can work in any directory you want as you have the docker image now. Set the registrationPath in the config.json to /data/slack-registration.yaml.

Generate the slack-registration.yaml file in the data volume with docker run --rm -it -v `pwd`/data:/data -v `pwd`/config.json:/usr/src/app/config.json matrix-puppet-slack node index.js -r -u "http://your-bridge-server:8090".

As discribed in register the app service copy the registration file to your homeserver and add it to your homeserver.yaml file.

Launch the bridge with docker run -v `pwd`/data:/data -v `pwd`/config.json:/usr/src/app/config.json matrix-puppet-slack or via docker-compose.

Discussion, Help and Support

Join us in the Matrix Puppet Bridge room

Features and Roadmap

  • Multi-team
  • Channel messages
  • Direct messages
  • Recieving
  • Initiating (#50)
  • Matrix -> Slack
    • Text content
    • Formatted Text content
    • Image content (m.image msgtype events)
    • Generic file uploads (m.file msgtype events)
    • Audio (m.audio msgtype events) (#66)
    • Video content (m.video msgtype events) (#67)
    • Typing notifications
    • Editing messages
    • Redacting/deleting messages (#52)
    • User Profiles
    • /me emotes (#17)
    • @-mentions
    • @room, as @channel
  • Slack -> Matrix
    • Text content
    • Formatted Text content
    • Image/Audio/Video content as protected link to slack
    • Image/Audio/Video content as upload & embed to matrix
    • Image/Audio/Video content message text
    • Typing notifications
    • Emoji reactions (#60)
    • Thread replies, as ordinary messages
    • Thread replies, as Matrix replies (#58)
    • Editing messages
    • Redacting/deleting messages
    • User Profiles
    • /me emotes (#17)
    • Presence
    • @-mentions
    • @channel/@here, as @room (Slack users' Matrix ghost users must have permission to @room notify in the Slack channel's Matrix ghost room; converting is not enough)
  • Third Party Lookup
  • Rooms
  • Users
  • Puppet a user's real Slack account.
  • Rooms react to Slack updates
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].