LoginSignup
5
4

More than 5 years have passed since last update.

理科大生のためのSlackつくった

Last updated at Posted at 2019-02-11

はじめに

などエンジニアのSlackコミュニティで結構、あるんですけど、大学にもあったらいいなと思って、東京理科大学のSlackつくりました!入ってください:bow:
登録は理科大のメールアドレスがあれば入れます。OBのアドレスでもOKです!

参考

作ったもの

Tokyo University of Science Slack Team
https://github.com/funabashi800/slack-auto-invitation

スクリーンショット 2019-02-11 16.28.51.png

開発環境

  • 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を使いました。:sunglasses:

now.json
{
    "name": "dist",
    "version": 1,
    "alias": "rikadai-slack"
}
# 環境変数(SlackのToken)の登録
$ now -e SLACK_TOKEN="your_slack_workspace_token"

# サブドメイン名の変更(早いもの勝ち)
$ now alias

参考

さいごに

もし理科大の方でこの記事見てる人いたらシェアお願いします!
チャンネルは自由につくってもらっていいので、たくさんつくってください!
開発仲間を見つけたり、勉強会とかができればいいなと思ってます!

一応、アプリのインテグレーションだけは管理者権限にしてます!それ以外はたぶん自由!
スクリーンショット 2019-02-11 17.23.31.png

勝手に坊っちゃん使ってごめんなさい:bow_tone1:

5
4
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
4