LoginSignup
1
0

[2024年版] Gather.town に入室中の人数をSlackに定期的に通知する

Last updated at Posted at 2024-02-28

リモートワークが当たり前になり、バーチャルオフィスを導入するところも増えていますが、課題となるのがバーチャルオフィスに入っても「誰もいなくて抜けてしまう」こと。

それなら誰かが入室したタイミングでSlackに通知すれば、他のメンバーも自ずと入るのではないかと思っていたときに、以下の記事にたどり着きました。

しかし、プログラムを拝借してもうまく動かなかったので、仕様が変わった部分を備忘録として残しておこうと思います。

GatherAPI と Slack と GAS の用意

詳しくは下記を参考にしてください。
記事通りGatherAPIとSlack、GASを用意していただければOKです(sogemaroさんありがとうございます)。

APIの仕様が変わった部分

ここからが本題です。
うまく動かなかった部分と修正方法をピックアップします。

Gather Space ID

以前はGatherスペースのURLの app/ 以下をコピペして / (スラッシュ) を \ (バックスラッシュ)に置き換えるだけで良かったのですが、以下の方法でうまくデータを取得できました。

URL例 : https://app.gather.town/app/xxxxx/yyyyy

Before

@sogemaroさん記事より
// GatherのSpace IDを設定
const GATHER_SPACE_ID = 'xxxxx\yyyyy'; //スラッシュ(/)→バックスラッシュ(\)に変更

After

修正版
// GatherのSpace IDを設定
const GATHER_SPACE_ID = 'xxxxx\\yyyyy'; //スラッシュ(/)→バックスラッシュ(\)×2に変更

numActive

numActive (現在アクティブなユーザー)を取得する際、エラーが出て取得できませんでしたが、以下の方法でうまくデータを取得できました。

Before

@sogemaroさん記事より
// スペースの人数を取得
const workSpace = data[spaceId]
const activeUserCount = workSpace['numActive']; //ここでエラーが出る
return activeUserCount;

After

修正版
const workSpace = data[spaceId]
const activeUserCount = workSpace["numActive"]; //シングルクォーテーション(')をダブルクオーテーション(")に変更
return activeUserCount;

最後に

サクッとこれだけになりますが、私と同じところで躓いている人の手助けになれば嬉しいです。

それでもうまくいかないときは、 console.log() で値が保持されているか都度確認するのがオススメです。

1
0
0

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
1
0