Slack에서 공개 채널 발언을 한 곳에 모으는 방법

소개


  • 정보 점키이므로 채널에 게시물이 있다고 보지 않아도됩니다.
  • 하지만 채널 수가 많으면 여러 채널을 오가거나 해서 대단히
  • 그래서 timeline 채널을 만들어 모두 거기에 모아 버리면 좋다고 생각 Botkit에서 해 보았습니다.
  • Botkit을 Slack에서 사용하는 방법은 이 기사이 도움이 될 수 있습니다

  • SlackBot 설정



  • OAuth & Permissions 설정에 다음을 추가합니다.
  • users:read
  • chat:write:bot
  • chat:write:user(이것은 필요 없을지도?)
  • channels:history


  • Event Subscriptions 설정에 다음을 추가합니다.
  • message.channels


  • Botkit 코드


  • .env 파일에 타임라인 채널의 ID를 설정합니다.
  • 채널 ID를 알려면 슬랙 메시지를 마우스 오른쪽 버튼으로 클릭하고 복사하는 것이 쉽다고 생각합니다.
  • C로 시작하는 사람은 채널 ID입니다


  • .env
    timelineChannelId=Cxxxxxxxxx
    
  • 세 가지 이벤트에 반응하도록 합니다.
  • ambient
  • direct_mention
  • mention
  • 이벤트에 대해서는 여기에 여기 자세히 써 있습니다


  • users.info 및 chat.postMessage를 사용하여 타임라인 채널에 게시
  • users.info의 사양은 여기에 기록되어 있습니다
  • chat.postMessage의 사양은 여기에 기록되어 있습니다


  • skills/timeline.js
    module.exports = function(controller) {
      controller.on('ambient,direct_mention,mention', function(bot, message) {
    
          // ユーザトークンを使っているためボット作成者が参照できるプライベートチャンネルなどの発言も拾ってしまう
          // そのためchannel(パブリックチャンネル)でない場合は処理を終了する(そもそもPermissionsを与えなければ良いのですが念の為)
          const channel_type = message.event.channel_type;
          if(channel_type !== "channel"){ return }
    
          // 発言者の情報を取得する
          bot.api.users.info({user: message.event.user}, function(err, res){
              if(err) { console.log("err: ", err); return; }
              // timelineに発言するテキストを作成する(#チャンネル名 発言内容)
              const text = '<#' + message.event.channel + '> ' + message.event.text
              // チャンネル、テキスト、ユーザ名、ユーザアイコンを設定してtimelineチャンネルに投稿
              bot.api.chat.postMessage({ text: text, channel: process.env.timelineChannelId, as_user: false, username: res.user.profile.real_name, icon_url: res.user.profile.image_48}, function(err, res){
                  if(err) { console.log("err: ", err); return; }
              });
          });
      });
    }
    

    슬랙 이미지




  • 여러 Public 채널의 발언이 모여서 좋은 느낌이군요
  • 더 이상 공개 채널은 여기에서만 볼 수 있습니다
  • 그건 그렇고, 우리는 송년회에서 돌아 오는 맛있는 도라 야키가 배달되었습니다.
  • 좋은 웹페이지 즐겨찾기