Set up Slack notifications using the discourse-chat-integration plugin


(RK) #22

Is this only limited to public channels or can it work with private Slack channels?

UPDATE: I got it to work by treating the private channels as public channels and prefixing its name with #. Slash commands still don’t work on private channels though.


(RK) #23

I set up rules for private Slack channels using the Discourse interface and I can receive the post notifications just fine. However, I can’t use slash commands on those private channels. They work just fine on public channels. I was hoping to use /discourse post for the transcripts. Is this a bug?


(David Taylor) #24

Yes, it sounds like a bug - I don’t think you are the only one with this problem.


(RK) #25

Got it. I thought there was something wrong with my setup. I’m using the latest version of Discourse (v2.0.0.beta5+149).


(David Taylor) #26

I’ve just created a PR to fix slash commands in private channels, and add support for transcripts in private channels and direct messages:

This will require adding two new ‘scopes’ to the slack app, which I’ve added to the #howto above:

  • groups:history
  • im:history

(RK) #27

Awesome! Looking forward to testing it :slight_smile: We actually use wisemonk on our Slack as well but we never could trigger it no matter how busy our channels get.


(RK) #28

Just noticed that there’s a new version of the chat integration plugin but this fix isn’t included. Will this be merged anytime soon?


(Jeremy M) #29

From what I can tell on the settings, it doesn’t look like there’s a way to send a notifications as a slack PM… is that possible? Or does that need to be developed/implemented?


(David Taylor) #30

You should be able to send notifications as a PM by specifying the channel name as something like @jerdog.

Slash commands do not currently work within private channels or private messages, but will do once this PR is merged by the team:


(Heroic Eric) #31

Is there any way to configure this so that the messages posted in slack are posted by a Bot (other than slackbot)?


(David Taylor) #32

Messages are posted by a bot. You can configure the name and picture of the bot in your slack app settings. Notifications look something like this:


(Heroic Eric) #33

Hmm, maybe this is just some kind of caching issue with Slack?

Our slack community is called “Envoy”. I can see the correct name when I click on “Envoy” there but ideally the message comes in appearing from “Discourse”.

I will wait a bit and see if it resolves itself.


#34

Hi all,

I’ve tried to add slack integration on my Discourse self-hosted app but I’m encountering an error when a new topic is created on a category … When I run a test on my channel rule, I get a “500 error” …

Here is the log I’ve received :
URI::InvalidURIError (can not set host with registry or opaque) /usr/local/lib/ruby/2.4.0/uri/generic.rb:592:in 'check_host'

And here is an extract of the error backtrace :

/usr/local/lib/ruby/2.4.0/uri/generic.rb:592:in 'check_host'
/usr/local/lib/ruby/2.4.0/uri/generic.rb:636:in 'host='
/var/www/discourse/plugins/discourse-chat-integration/lib/discourse_chat/provider/slack/slack_message_formatter.rb:44:in 'absolute_url'
/var/www/discourse/plugins/discourse-chat-integration/lib/discourse_chat/provider/slack/slack_message_formatter.rb:21:in 'start_element'
/var/www/discourse/vendor/bundle/ruby/2.4.0/gems/nokogiri-1.8.2/lib/nokogiri/html/sax/parser.rb:36:in 'parse_with' [...]

Has anyone ever had this error?


(Nick Shearer) #35

when i used the slash command from a private channel i.e
#my-special-channel -> /discourse watch site-feedback

the entry in the discourse plugins settings had the channel #privategroup

i.e

works fine if i go and edit the channel name, but this isn’t ideal for users who aren’t also discourse admins :-[


(Sakshi Gupta) #36

A few issues i have had -

  • This gets posted in a channel with name as sakshi. Have I missed some configuration here ?
  • slash commands aren’t working for me. The redirect urls that you have told above

/chat-integration/slack/interactive and command do not seem to be valid :confused:

 curl -vL localhost/chat-integration/slack/command > /dev/null
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0*   Trying ::1...
* connect to ::1 port 80 failed: Connection refused
*   Trying 127.0.0.1...
* Connected to localhost (127.0.0.1) port 80 (#0)
> GET /chat-integration/slack/command HTTP/1.1
> Host: localhost
> User-Agent: curl/7.47.0
> Accept: */*
>
< HTTP/1.1 404 Not Found
< Server: nginx
< Date: Thu, 23 Aug 2018 16:57:58 GMT
< Content-Type: text/html; charset=utf-8
< Transfer-Encoding: chunked
< Connection: keep-alive
< Vary: Accept-Encoding
< X-Request-Id: cf210d9f-4e18-465e-bec5-77f656095a3f
< X-Runtime: 0.027693
<
{ [4703 bytes data]
100  4695    0  4695    0     0   124k      0 --:--:-- --:--:-- --:--:--  127k
* Connection #0 to host localhost left intact

(Sakshi Gupta) #37

Sorry, the issue was with our server, it is accessible only through our vpn. As slack could not contact the server it raised 503_service_error.


(Pooja) #38

when i use slash command on slack channel /discourse status i got error ‘Peer certificate cannot be authenticated with the given CA certificate’ . Kindle provide suggestions asap.


(David Taylor) #39

It sounds like Slack doesn’t like the SSL certificate of your Discourse server. Can you share your Discourse URL here?


#40

Hi!

I advertise Discourse using your plugin on our company Slack. :+1:

However I noticed, that unlisted topics are also mentioned by the bot. Could you tweak it to not blurt those without explicit command?

And the same thoughts about not public categories.

Thanks


(David Taylor) #41

Having an option to prevent posting of unlisted topics sounds like a good idea.

For private categories, you can already control that. See the “Security/Permissions” section of this topic: Chatroom Integration Plugin (discourse-chat-integration)