Slack에서 공개 채널 발언을 한 곳에 모으는 방법
소개
SlackBot 설정
OAuth & Permissions 설정에 다음을 추가합니다.
Event Subscriptions 설정에 다음을 추가합니다.
Botkit 코드
.env
timelineChannelId=Cxxxxxxxxx
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; }
});
});
});
}
슬랙 이미지
Reference
이 문제에 관하여(Slack에서 공개 채널 발언을 한 곳에 모으는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/ishihamat/items/c58a2c3d60f3149e42d6텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)