2016-06-15 31 views
0

私はスラックチャネルに通知を送信するためにスラック通知機能のgemを使用しています。slackの動作が動作しない

notifier = Slack::Notifier.new "https://hooks.slack.com/services/ABC1234567890" 
    notifier.ping "Text <@user1>" 

これはレールの一般的な設定です。

@ user1(私の同僚)に送信すると、すべてが問題ありません。

しかし、@ user2(自分自身)に送信すると、通知が作成されるか、クリック可能なリンクであるとは言わずにテキストが表示されます。

また、ユーザーグループに送信すると、@my_teamのテキストは上記と同じです。

私も!my_team<@user1|user1>を試しました。スラックチャンネルへの出力は、<my_team>または@user1のようになります。だから、それは正しく解析されていないようです。

なぜこのようなことが起こる可能性がありますか?

+0

フレンドリ名(例:<@smarx>)またはユーザーID(例:<@U12345>)を使用していますか? [ドキュメンテーション](https://api.slack.com/docs/formatting)は前者について言及していませんが、実際にはうまくいくようです。 – smarx

+0

フレンドリーな名前を使用していますが、どのようにIDを見つけることができますか?これが最終目標であるため、特にユーザーグループのために。 私はちょうどテストを行い、文字列内の<>タグを省略していますが、それは成功していますが、理由はわかりません。通知は発生しませんが、名前は黄色で強調表示されます... – Japes

+0

'notifier.ping" Text @ user1 "、" full "を解析します。 'parse = full'を使うと、物事のためにIDを取得する必要がなくなり、手動でSlackクライアントに入力することで通常期待される解析動作を得ることができます。 – smarx

答えて

2

(答えに私のコメントを移動します。)

私はこれをお勧めしたい: "フル" 解析モードを使用すると、@usernameの自動リンクを買ってあげる意味

notifier.ping "Text @user1", parse: "full" 

を、#channelname、スラックウェブサイト/クライアントに入力するときと同じように、

関連する問題