はじめに
などエンジニアのSlackコミュニティで結構、あるんですけど、大学にもあったらいいなと思って、東京理科大学のSlackつくりました!入ってください
登録は理科大のメールアドレスがあれば入れます。OBのアドレスでもOKです!
参考
作ったもの
Tokyo University of Science Slack Team
https://github.com/funabashi800/slack-auto-invitation
開発環境
- node: v10.15.0
- nuxt: v2.4.3
- semantic-ui: v2.4.2
Slack API
今回は新規ユーザーへのメールアドレスによる招待と、ワークスペースへの登録者人数と現在のステータスがオンラインのユーザーの数をカウントするため、以下を使用
users.list (登録者数とオンラインユーザーのカウント)
async asyncData(){
let {data} = await axios.get('https://slack.com/api/users.list', {
params: {
token: process.env.SLACK_TOKEN,
presence: true
}
})
let total = data.members.length;
let active = data.members.filter(user => {
return user.presence === 'active'
}).length
return {
info: {
total: total,
active: active
}
}
users.admin.invite (ユーザーへの招待メール送信)
async sendEmail() {
try{
let params = new URLSearchParams();
params.append('token', process.env.SLACK_TOKEN);
params.append('email', this.email);
let {data} = await axios.post('https://slack.com/api/users.admin.invite', params);
}
catch(err){
......
}
Deploy
デプロイはNowを使いました。
now.json
{
"name": "dist",
"version": 1,
"alias": "rikadai-slack"
}
# 環境変数(SlackのToken)の登録
$ now -e SLACK_TOKEN="your_slack_workspace_token"
# サブドメイン名の変更(早いもの勝ち)
$ now alias
参考
- [nowで構築するSlack自動招待(slackin)]
(https://qiita.com/hiro93n/items
/fd42484e696a223935ae) - Environment Variables and Secrets
さいごに
もし理科大の方でこの記事見てる人いたらシェアお願いします!
チャンネルは自由につくってもらっていいので、たくさんつくってください!
開発仲間を見つけたり、勉強会とかができればいいなと思ってます!
一応、アプリのインテグレーションだけは管理者権限にしてます!それ以外はたぶん自由!
勝手に坊っちゃん使ってごめんなさい