슬랙의 가시성 향상을 위해 "아이콘 이미지 설정"을 일괄 적으로 촉구
Slack에서 아이콘의 의미
들어있는 채널의 수가 증가하면,
모든 게시물을 보는 것만으로도 상당한 노력이 됩니다.
아이콘 이미지는 발언의 중요성과 긴급성을 인식하는 「시인성」을 구성하는 중요한 요소가 됩니다.
기본 아이콘 폐해
아이콘 설정에 심리적 장애
애초에 왜 아이콘을 설정하지 않는 사람이 있습니까?
시인성을 낮춰준다! 라는 생각으로 아이콘을 미설정으로 하는 사람은 없다고 생각합니다.
대부분은 다음과 같은 이유라고 생각합니다.
특히 팀에 조인했을 때,
"아이콘 이미지 따위 설정하고 장난스럽다"고 생각되는 것은? 라고 생각하는 사람도 있을 것입니다.
아이콘 설정을 촉구합니다.
「slack아이콘 설정 부탁합니다」라고 한마디 멘션을 날려주면 만사 해결입니다.
하지만 멤버가 늘어날 때마다 멘션을 보내는 건 그리워하지 않습니다.
「아이콘 이미지 미설정 유저 일람」을 취득하는 방법은 없습니까?
slackAPI Users.list 사용
Users.list 에서 사용자에 대한 정보를 얻을 수 있습니다.
아이콘을 설정한 사용자는 profile
안에 is_custom_image
라는 속성을 갖게 됩니다.
즉
1. users.list
에서 모든 사용자 정보 얻기
2. bot 및 게스트 사용자 제외
3. is_custom_image
없는 사용자의 ID 추출
4. 추출한 유저들에게 멘션을 붙여 메시지를 투고한다.
라는 흐름으로 해결할 수 있습니다.
※이것보다 아래는 구체적인 코드의 이야기가 됩니다.
※사용하는 코드의 전문은 github 에 공개하고 있습니다.
※ 실행 환경으로 Google AppsScript를 사용합니다.
GAS에 대한 자세한 설명은 생략하므로 라이브러리나 스크립트의 설정 순서 등은 다른 기사을 참조하십시오.
구현 방법
1. 일람 취득
var token = PropertiesService.getScriptProperties().getProperty('OAuth_token');
var slackapp = SlackApp.create(token);
var membersList = slackapp.usersList().members;
앞서 소개한 Users.list
를 사용하기만 하면 됩니다.
2. bot 및 손님 제외
membersList.forEach(function(m) {
// is_restricted 以外にすることで multi-channel guest を除外
// is_ultra_restricted 以外にすることで single channel guest を除外
// 詳細は https://api.slack.com/types/user を参照
if (!m.deleted && !m.is_bot && m.id !== "USLACKBOT" && !m.profile.is_custom_image
&& !m.is_restricted && !m.is_ultra_restricted) {
defaultIconUsers.push(m.id)
};
})
코멘트에도 기재하고 있습니다만, is_restricted
및 is_ultra_restricted
를 참조하는 것으로 게스트 유저를 제외할 수가 있습니다.
이 근처의 판정 조건은 실정에 따라 적절히 변경해 주십시오.
3. 게시 메시지 만들기
var message = ""
if (defaultIconUsers.length > 0) {
message = "視認性向上のためアイコン画像の設定をお願いします\n"
defaultIconUsers.forEach(function(d) {
message += "<@" + d + ">"
})} else {
message = "アイコン画像を設定していないユーザーは居ません"
}
slackapp.postMessage(channelId, message);
판정 결과에 따라 조건 분기 후 메시지를 작성하여 게시라는 흐름입니다.
Users.list 에서 사용자에 대한 정보를 얻을 수 있습니다.
아이콘을 설정한 사용자는
profile
안에 is_custom_image
라는 속성을 갖게 됩니다.즉
1.
users.list
에서 모든 사용자 정보 얻기2. bot 및 게스트 사용자 제외
3.
is_custom_image
없는 사용자의 ID 추출4. 추출한 유저들에게 멘션을 붙여 메시지를 투고한다.
라는 흐름으로 해결할 수 있습니다.
※이것보다 아래는 구체적인 코드의 이야기가 됩니다.
※사용하는 코드의 전문은 github 에 공개하고 있습니다.
※ 실행 환경으로 Google AppsScript를 사용합니다.
GAS에 대한 자세한 설명은 생략하므로 라이브러리나 스크립트의 설정 순서 등은 다른 기사을 참조하십시오.
구현 방법
1. 일람 취득
var token = PropertiesService.getScriptProperties().getProperty('OAuth_token');
var slackapp = SlackApp.create(token);
var membersList = slackapp.usersList().members;
앞서 소개한 Users.list
를 사용하기만 하면 됩니다.
2. bot 및 손님 제외
membersList.forEach(function(m) {
// is_restricted 以外にすることで multi-channel guest を除外
// is_ultra_restricted 以外にすることで single channel guest を除外
// 詳細は https://api.slack.com/types/user を参照
if (!m.deleted && !m.is_bot && m.id !== "USLACKBOT" && !m.profile.is_custom_image
&& !m.is_restricted && !m.is_ultra_restricted) {
defaultIconUsers.push(m.id)
};
})
코멘트에도 기재하고 있습니다만, is_restricted
및 is_ultra_restricted
를 참조하는 것으로 게스트 유저를 제외할 수가 있습니다.
이 근처의 판정 조건은 실정에 따라 적절히 변경해 주십시오.
3. 게시 메시지 만들기
var message = ""
if (defaultIconUsers.length > 0) {
message = "視認性向上のためアイコン画像の設定をお願いします\n"
defaultIconUsers.forEach(function(d) {
message += "<@" + d + ">"
})} else {
message = "アイコン画像を設定していないユーザーは居ません"
}
slackapp.postMessage(channelId, message);
판정 결과에 따라 조건 분기 후 메시지를 작성하여 게시라는 흐름입니다.
var token = PropertiesService.getScriptProperties().getProperty('OAuth_token');
var slackapp = SlackApp.create(token);
var membersList = slackapp.usersList().members;
membersList.forEach(function(m) {
// is_restricted 以外にすることで multi-channel guest を除外
// is_ultra_restricted 以外にすることで single channel guest を除外
// 詳細は https://api.slack.com/types/user を参照
if (!m.deleted && !m.is_bot && m.id !== "USLACKBOT" && !m.profile.is_custom_image
&& !m.is_restricted && !m.is_ultra_restricted) {
defaultIconUsers.push(m.id)
};
})
var message = ""
if (defaultIconUsers.length > 0) {
message = "視認性向上のためアイコン画像の設定をお願いします\n"
defaultIconUsers.forEach(function(d) {
message += "<@" + d + ">"
})} else {
message = "アイコン画像を設定していないユーザーは居ません"
}
slackapp.postMessage(channelId, message);
구현 순서는 이상입니다.
덤
slack상에서 외부의 고객(관련회사)과의 교환이 많은 회사에서는,
아이콘 이미지의 설정이 매우 중요하고, 설정할 때까지 주의 환기되어 계속된다는 곳도 있는 것 같습니다.
몇 달에 한 번 이 스크립트를 정기 실행하는 것만으로도, slack의 시인성이 향상해 주는 것이라고 생각하고 있습니다.
정독 해 주셔서 감사합니다.
Reference
이 문제에 관하여(슬랙의 가시성 향상을 위해 "아이콘 이미지 설정"을 일괄 적으로 촉구), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/marogoma/items/bd720291f9f01d50f4ff
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(슬랙의 가시성 향상을 위해 "아이콘 이미지 설정"을 일괄 적으로 촉구), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/marogoma/items/bd720291f9f01d50f4ff텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)