search
LoginSignup
4

More than 3 years have passed since last update.

posted at

updated at

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

はじめに

などエンジニアの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:

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
What you can do with signing up
4