Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[TODO] create a nim slack team #7418

Closed
timotheecour opened this issue Mar 26, 2018 · 17 comments
Closed

[TODO] create a nim slack team #7418

timotheecour opened this issue Mar 26, 2018 · 17 comments
Labels

Comments

@timotheecour
Copy link
Member

(also asked on https://www.reddit.com/r/nim/comments/6jqsjx/anyone_interested_in_having_a_nim_slack_team/ but that question was closed for commens)

In D we have a forum and IRC, but after slack was added it became very popular and a lot of discussions happen there now.
In particular the channels and threads are a neat way to organize discussions as opposed to having a single channel and single thread. Also slack can support IRC integration IIRC

Lots of people use slack (eg at work) and would make switching back and forth bw nim slack and other team slacks easy.

@data-man
Copy link
Contributor

Welcome to gitter.im/nim-lang/Nim ! :)

@timotheecour
Copy link
Member Author

timotheecour commented Mar 27, 2018

I'm aware of that; however I miss many of the functionalities in the more popular, widely used slack:

  • anyone can create channels, they're low friction and good to organize conversations around themes; having just 1 chat room just results in noise and doesn't scale when there are too many ppl
  • threads: likewise, allows threaded conversations to easily scope discussions and make them easy to follow
  • allows private channels for quick 1:1 (or more ppl)

take a look at the D slack to see how well these work (I can send invite if needed)

@data-man
Copy link
Contributor

Why all your proposals look like "do as in D"?

@timotheecour
Copy link
Member Author

timotheecour commented Mar 27, 2018

I'm much more familiar with D and interested in seeing whether nim would be a good fit for my next projects instead of D ; besides it's always a good idea to borrow/steal features and tools from other languages (see also https://github.com/timotheecour/D_vs_nim/ to track these)

@mratsim
Copy link
Collaborator

mratsim commented Mar 27, 2018

Unfortunately Slack will close its IRC integration on May 15th: https://get.slack.help/hc/en-us/articles/201727913-Connect-to-Slack-over-IRC-and-XMPP.

Also, we already have Discord, Gitter and Matrix bridges with IRC. We can also add #nim-foo, #nim-games, #nim-embedded like what was done for #nim-offtopic (though it's not as easily discoverable as on Slack).

On another note, Sketch, Bootstrap, React, Node discussion are also happening a lot on Spectrum.

In any case, whatever we do I think the first requirement is a Gitter, IRC, Matrix and Discord bridge.

@ghost
Copy link

ghost commented Mar 27, 2018

@mratsim matterbridge is on of the best (if not the best) solutions for making bridges between different networks. It supports Gitter, IRC, Telegram, XMPP, Matrix, Discord and much more

@dom96
Copy link
Contributor

dom96 commented Mar 27, 2018

We already have a Slack team. It's just a case of providing a way for anyone to join and a bridge between Slack<->IRC

@timotheecour
Copy link
Member Author

timotheecour commented Mar 27, 2018

@dom96 do you mind sending me an invite for slack at timothee DOT cour2 AT gmail DOT com ?
thanks!

@dom96
Copy link
Contributor

dom96 commented Mar 27, 2018

It's just me, @Araq and @zah in there currently. It's our little chat room so I'll have to discuss it with them first.

@alehander92
Copy link
Contributor

alehander92 commented Mar 30, 2018

@timotheecour Slack is not bad, but it has some problems:

Too many threads can also lead to fragmentation, you have a limited history for unpaid customers, and I can't see how easy would the slack threads map to gitter/irc

@timotheecour
Copy link
Member Author

timotheecour commented Apr 28, 2018

limited history for unpaid customers is a strong argument.

I recently discovered Keybase (eg https://keybase.io/) (which launched slack-like product in sept 2017) and been trying it, advantages (for this use case) are:

  • open source
  • very similar to slack (eg channels, etc)
  • free, regardless team size
  • has a cmd line interface

plus:

  • encryption (but not very relevant here...)

cons:

So, once chat search is implemented, this could be a viable option

@krux02
Copy link
Contributor

krux02 commented Oct 29, 2018

Well I close this as rejected, slack seems to be the wrong solution for open source projects. A slack bridge is still very welcome as all other forms of bridges to other chat platforms.

@krux02 krux02 closed this as completed Oct 29, 2018
@genotrance
Copy link
Contributor

I have my own personal slack bridge I use for my account using matterbridge. It would be nice to have an official bridge.

I had proposed bridging the Telegram group in the past but everyone wasn't as receptive to the proliferation of bridges. I don't see the difference in 3 vs 8 but that's just me.

@timotheecour
Copy link
Member Author

  • @genotrance could you please share some details on how to set it up?
    can I read/write to nim IRC channel using slack?
    can I search nim IRC channel msgs using slack?

  • channels and lack of threads is the number 1 thing I'm missing when using gitter compared to slack; it results in very fragmented threads, harder to follow / search, and overall it's less efficient to use. Is there any way to use channels with the tools we're using?

@timotheecour timotheecour changed the title create a nim slack team [TODO] create a nim slack team Oct 29, 2018
@genotrance
Copy link
Contributor

To answer your questions:-

  • Yes, you can read/write - messages flow back and forth and appear as from you.
  • Yes, you can search depending on how much history your workspace saves.
  • You need to map each IRC channel to a Slack channel, as done below. That way, things are organized just as if using IRC directly.
  • There's no threads capability since IRC/Gitter have no such concept.

Here's a simple matterbridge.toml config file to bridge from IRC to Slack. Put it in a directory, download a release binary (or build on your own if you prefer) and run. You can add multiple IRC, Slack or Gitter servers/workspaces and bridge everything in one file. I could add your accounts to my instance but would need to know your tokens ;)

# IRC connection details
[irc]
  [irc.freenode]
  Server="chat.freenode.net:7000"
  Password=""
  UseTLS=true
  Nick="IRCNICK"                  # <= set as needed

  UseSASL=true
  NickServNick="IRCNICK"          # <= set as needed
  NickServPassword="IRCPASSWORD"  # <= set as needed

# Slack connection details
[slack]
  [slack.workspace]
  Token="SLACKTOKEN"              # <= set as needed
  RemoteNickFormat="{NICK}"

# Gitter connection details if preferred
[gitter]
  [gitter.name]
  Token="GITTERTOKEN"             # <= set as needed

# Bridges

# Create channels nim, nim-offtopic and nim-nologs
# in your Slack workspace

[[gateway]]
name="nim-irc"
enable=true
  [[gateway.inout]]
  account="irc.freenode"
  channel="#nim"

  [[gateway.inout]]
  account="slack.workspace"
  channel="nim"

[[gateway]]
name="nim-offopic"
enable=true
  [[gateway.inout]]
  account="irc.freenode"
  channel="#nim-offtopic"

  [[gateway.inout]]
  account="slack.workspace"
  channel="nim-offtopic"

[[gateway]]
name="nim-nologs"
enable=true
  [[gateway.inout]]
  account="irc.freenode"
  channel="#nim-nologs"

  [[gateway.inout]]
  account="slack.workspace"
  channel="nim-nologs"

# Bridging from Gitter to Slack if you prefer that
# Routed to nim-gitter channel in Slack workspace
# I have both so that I can see Gitter snippets quickly

[[gateway]]
name="nim-gitter"
enable=true
  [[gateway.inout]]
  account="slack.workspace"
  channel="nim-gitter"

  [[gateway.inout]]
  account="gitter.name"
  channel="nim-lang/Nim"

@timotheecour
Copy link
Member Author

@genotrance thanks! I'm running into issues, eg:

[0000] INFO irc: Connecting chat.freenode.net:7000
[0002] ERROR irc: disconnect: error: closing connection: SASL authentication failed

I try putting the username and password I use when connecting to https://webchat.freenode.net/?channels=nim
eg: if I populate fields nickname and username with bob, and password with myawesomepassword here:
image

putting these 3 fields in Nick, NickServNick and NickServPassword results in disconnect: error: closing connection: SASL authentication failed

  • is Password="" correct above?
  • are the only fields I need to change marked as set as needed ?

@genotrance
Copy link
Contributor

Makes no sense why it doesn't work. Probably try removing the password=""?

Anyway, best to check out the sample toml for guidance.

https://github.com/42wim/matterbridge/blob/master/matterbridge.toml.sample

You could also just try nickserv auth rather than sasl. That's what I used to do until I ran into the following issue.

42wim/matterbridge#482

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

8 participants