diff --git a/README.md b/README.md index 4198fa9d..abde57b8 100644 --- a/README.md +++ b/README.md @@ -22,6 +22,7 @@ Letting people be where they want to be.
[Zulip][mb-zulip] | [Telegram][mb-telegram] | [Keybase][mb-keybase] | +[MSTeams][mb-msteams] | And more... @@ -95,6 +96,7 @@ And more... - [Telegram](https://telegram.org) - [Rocket.chat](https://rocket.chat) - [Matrix](https://matrix.org) +- [Microsoft Teams](https://teams.microsoft.com) - [Steam](https://store.steampowered.com/) - [Twitch](https://twitch.tv) - [Ssh-chat](https://github.com/shazow/ssh-chat) @@ -333,6 +335,7 @@ Matterbridge wouldn't exist without these libraries: - zulip - https://github.com/ifo/gozulipbot - tengo - https://github.com/d5/tengo - keybase - https://github.com/keybase/go-keybase-chat-bot +- msgraph.go - https://github.com/yaegashi/msgraph.go @@ -349,3 +352,4 @@ Matterbridge wouldn't exist without these libraries: [mb-keybase]: https://keybase.io/team/matterbridge [mb-zulip]: https://matterbridge.zulipchat.com/register/ [mb-telegram]: https://t.me/Matterbridge +[mb-msteams]: https://teams.microsoft.com/join/hj92x75gd3y7 diff --git a/matterbridge.toml.sample b/matterbridge.toml.sample index bd609857..af050700 100644 --- a/matterbridge.toml.sample +++ b/matterbridge.toml.sample @@ -545,6 +545,96 @@ Label="" # REQUIRED Team="myteam" +################################################################### +# Microsoft teams section +# See https://github.com/42wim/matterbridge/wiki/MS-Teams-setup +################################################################### + +[msteams.myteam] + +# TenantID +# See https://github.com/42wim/matterbridge/wiki/MS-Teams-setup#get-necessary-ids-for-matterbridge +TenantID="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + +# ClientID +# See https://github.com/42wim/matterbridge/wiki/MS-Teams-setup#get-necessary-ids-for-matterbridge +ClientID="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + +# TeamID +# See https://github.com/42wim/matterbridge/wiki/MS-Teams-setup#get-necessary-ids-for-matterbridge +TeamID="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + +## RELOADABLE SETTINGS +## Settings below can be reloaded by editing the file + +#Nicks you want to ignore. +#Regular expressions supported +#Messages from those users will not be sent to other bridges. +#OPTIONAL +IgnoreNicks="ircspammer1 ircspammer2" + +#Messages you want to ignore. +#Messages matching these regexp will be ignored and not sent to other bridges +#See https://regex-golang.appspot.com/assets/html/index.html for more regex info +#OPTIONAL (example below ignores messages starting with ~~ or messages containing badword +IgnoreMessages="^~~ badword" + +#messages you want to replace. +#it replaces outgoing messages from the bridge. +#so you need to place it by the sending bridge definition. +#regular expressions supported +#some examples: +#this replaces cat => dog and sleep => awake +#replacemessages=[ ["cat","dog"], ["sleep","awake"] ] +#this replaces every number with number. 123 => numbernumbernumber +#replacemessages=[ ["[0-9]","number"] ] +#optional (default empty) +ReplaceMessages=[ ["cat","dog"] ] + +#nicks you want to replace. +#see replacemessages for syntaxa +#optional (default empty) +ReplaceNicks=[ ["user--","user"] ] + +#Extractnicks is used to for example rewrite messages from other relaybots +#See https://github.com/42wim/matterbridge/issues/713 and https://github.com/42wim/matterbridge/issues/466 +#some examples: +#this replaces a message like "Relaybot: something interesting" to "relayeduser: something interesting" +#ExtractNicks=[ [ "Relaybot", "<(.*?)>\\s+" ] ] +#you can use multiple entries for multiplebots +#this also replaces a message like "otherbot: (relayeduser) something else" to "relayeduser: something else" +#ExtractNicks=[ [ "Relaybot", "<(.*?)>\\s+" ],[ "otherbot","\\((.*?)\\)\\s+" ] +#OPTIONAL (default empty) +ExtractNicks=[ ["otherbot","<(.*?)>\\s+" ] ] + +#extra label that can be used in the RemoteNickFormat +#optional (default empty) +Label="" + +#RemoteNickFormat defines how remote users appear on this bridge +#See [general] config section for default options +RemoteNickFormat="[{PROTOCOL}] <{NICK}> " + +#Enable to show users joins/parts from other bridges +#Currently works for messages from the following bridges: irc, mattermost, slack, discord +#OPTIONAL (default false) +ShowJoinPart=false + +#StripNick only allows alphanumerical nicks. See https://github.com/42wim/matterbridge/issues/285 +#It will strip other characters from the nick +#OPTIONAL (default false) +StripNick=false + +#Enable to show topic changes from other bridges +#Only works hiding/show topic changes from slack bridge for now +#OPTIONAL (default false) +ShowTopicChange=false + +#Opportunistically preserve threaded replies between bridges +#that support threading +#OPTIONAL (default false) +PreserveThreading=false + ################################################################### #slack section ################################################################### @@ -1608,6 +1698,8 @@ enable=true # rocketchat - #channel (# is required (also needed for private channels!) # matrix - #channel:server (eg #yourchannel:matrix.org) # - encrypted rooms are not supported in matrix + # msteams - 19:xxxxxxxxxxxxxxxxxxxxxxxxxx@thread.skype + # - You'll find the channel ID in the URL in the threadId=19:82abcxxxxxxxxx@thread.skype # steam - chatid (a large number). # The number in the URL when you click "enter chat room" in the browser # whatsapp - 48111222333-123455678999@g.us A unique group JID;