Slackを常にオンライン状態にしておく方法(詳細版)

最終更新日

Comments: 4

お節介なオンライン表示

みなさんはSlackを使っていますか?最近ではコロナ禍で在宅勤務している人も多いので、SlackやTeamsなどチームコミュニケーションツールを使っている会社も多いのではないでしょうか。

Slackにはユーザーがオンライン状態であるかどうかが分かる機能があります。遠隔で働いているときにはその人が机の前にいるのかどうかが分かる便利な機能なのですが、「オンラインではない=仕事をしていない」と思われてしまうのではないかと心配する人も多いのではないかと思います。

この記事ではずっとSlackをオンラインの状態のままにしておく方法を紹介したいと思います。特別なプログラミング知識がなくても簡単にできる方法なので、手順を追ってもらえれば誰でも簡単にできます。

Slackがオフラインになる条件とは?

Slackがオンラインからオフラインに変わる条件としては、スマホのアプリ、PC版アプリ、ブラウザで条件が異なります。ずっとオンライン状態を維持するためにはPCのブラウザでSlackを使用することが条件なので、ブラウザでのSlackがオフラインになる条件を説明します。その他の方法でのオフラインになるタイミングの説明は今回は割愛します。

ブラウザでSlackを開いた時にオフラインになる条件

  • Slackを開いているウィンドウ(タブ)で30分以上操作がされなかったとき
  • Slackを開いているウィンドウ(タブ)を閉じたとき
  • PCがスリープ状態になったとき

ブラウザ版Slackがオフラインになる条件としては上記の3パターンになります。ブラウザ版SlackとPCのアプリケーション版のSlackで大きくことなる点としては、アプリケーション版ではSlackを閉じても30分間はオンライン状態が維持される点が異なります。

必要な環境

  • 放置しておいて良いPC(WindowsまたはMac)(常に充電しておく)
  • オンライン環境
  • Google Chrome
  • Selenium IDE(Google Chromeのアドオン)

手順

オンライン状態を維持するための基本的な考え方としては、30分に1回ブラウザを自動的に操作させることで、アクティブ状態を持続させることによってオンラインを維持させます。具体的な方法としては15分おきにSlackの自分専用のチャンネルに文字を入力するという動作を自動的に行うようにさせます。なぜ15分おきかと言うと、厳密に言ったら30分おきに文字を入力でも良いのですが、30分だとあまりにもオフラインになる判定の時間とぴったりすぎるので、もしかしたら一瞬でもオフラインの状態ができてしまうのではないかという懸念があるため15分おきにしています。今回紹介する方法ではSelenium IDEというアドオンを使うので、特別なプログラミング知識が無くても実装することができます。

1. PCがスリープしないように設定する

今回紹介する方法はPCでSlackをずっと起動させておき、オンライン状態を保つことを基本にしているので、Slackを立ち上げているPCがスリープや電源が切れないようにします。

Windowsの場合

WindowsでPCがスリープにならないように設定する

充電切れが起きないように常に充電器に繋げておきます。Windowsの場合、Windowsキーを押して設定>システムの中の「電源とスリープ」でスリープをしないように設定することができます。Windowsキーを押して「電源とスリープの設定」と検索したほうが早いかもしれません。すべての項目を「なし」に設定します。これで充電器に繋がっている間、PCはスリープになることはありません。

Macの場合

MacでPCがスリープにならないように設定する

充電切れが起きないように常に充電器に繋げておきます。Macの場合、システム環境設定の中の「省エネルギー」でスリープをしないように設定することができます。充電器に繋げていることを前提にしているので、「電源アダプタ」の項目で「コンピュータのスリープ」、「ディズプレイのスリープ」共に「しない」に設定します。これで充電器に繋がっている間、PCはスリープになることはありません。

2. ブラウザでSlackを開けるようにする

Slackのワークスペースにサインインする

オンライン状態にしておきたいSlackのワークスペースにブラウザでサインインしておきます。テキストボックスにワークスペースのURLを入力します。ワークスペースのURLが分からない場合は登録しているメールアドレスからもワークスペースを探すこともできるので、URLが分からない人は下の「ワークスペースを見つける」をクリックしてください。

ワークスペースにサインインするページ

https://slack.com/workspace-signin

3. ワークスペースに登録しているメールアドレスとパスワードを入力する

メールアドレスとパスワードを入力する

ワークスペースに登録しているメールアドレスとパスワードを入力してサインインします。画像のワークスペースはこの記事用に作ったダミーのワークスペースです。

4. 自分のダイレクトメッセージを開いて、URLをメモする

ダイレクトメッセージのページのURLをメモする

オンライン状態にしたいSlackのワークスペースが開いたら、ダイレクトメッセージの中の自分のチャンネルを開きます。この時のブラウザ上部に表示されるURLをメモします。「client/XXXXXXXXX/XXXXXXXXX」のXの部分がこのワークスペース内の自分専用のダイレクトメッセージのページのURLです。

自分用のダイレクトメッセージの正しい使い方としては、メモを書いたり、TODOリストを書いたりすることができる機能です。Slackの仕様として入力中に「誰だれが入力中」と表示されますが、自分のワークスペースに入力中であることを他人に知られることはありません。基本的に自分のワークスペース内の内容を他人には見られることはないので、このページを利用します。

5. Google Chromeをインストールする

「Chromeをダウンロード」をクリックする

Selenium IDEというGoogle Chromeのアドオンを使用するので、Google Chromeを使用する必要があります。Google Chromeを使用していない人は以下のページからGoogle Chromeをダウンロードしてインストールしてください。

Google Chromeのダウンロードリンク

https://www.google.com/intl/ja_jp/chrome/

既にGoogle Chromeのブラウザを使っている人はこの手順を飛ばしてください。

6. Selenium IDEをインスールする

「Chromeに追加」をクリックする

Selenium IDEはGoogle Chromeの拡張機能(アドオン)で、ブラウザ操作を自動化してくれるツールです。「Chromeに追加」をクリックしてインストールします。

Selenium IDEのダウンロードリンク

https://chrome.google.com/webstore/detail/selenium-ide/mooikfkahbdckldjjndioackbalphokd?hl=ja

7. Selenium IDEを開く

Google Chromeの拡張機能からSelenium IDEを開く

Selenium IDEをインストールした後は、Google Chromeのツールバーの右上のパズルマークをクリックします。そうするとGoogle Chromeにインストールしている拡張機能の一覧が出てくるので、「Selenium IDE」をクリックして開きます。今後、Selenium IDEを開くときにも同様にここから開きます。また、隣のピンをオンにするとツールバーに常にSelenium IDEが表示された状態になるので、便利になります。

8. 「Create a new project」を押す

「Create a new project」をクリックする

Selenium IDEが開いたらプログラムを新たに作成するので、「Create a new project」をクリックします。

9. 任意のプロジェクト名を入力する

プロジェクト名を入力

PROJECT NAMEのテキストボックスに任意のプログラム名を入力します。今回は「Slack-Online」としました。何でも大丈夫ですので、自分にとって分かりやすい名前をつけてください。

10. SlackのURLを入力する

「https://app.slack.com」と入力する

上部の「Playback base URL」と書かれているテキストボックスに「https://app.slack.com」と入力します。

11. 自分のダイレクトメッセージのページのURLを入力する

Commandで「open」を選択して、TargetにメモしたURLを入力する

1行目を選択して入力します。

  1. Commandのプルダウンから「open」を選択する。(直接入力もできます。)
  2. Targetに「/client/XXXXXXXXX/XXXXXXXXX」を入力する。XXXXXXXXX/XXXXXXXXXは4番でメモしたURLを入力します。

解説:最初にCommandで選択した「open」は指定したサイトを開くコマンドです。Targetにはオンライン状態にしたいワークスペースの自分のダイレクトメッセージのURLを入力します。Valueは空欄で大丈夫です。

12. 次の行を選択する

次の行を選択する

先ほど入力した1行目の下の行を選択できるようになっているので、次の行を選択してコマンドを入力していきます。

13. カウント用の変数を定義する

Commandで「store」を選択して、Targetに「0」を入力し、Valueに「number」を入力する
  1. Commandのプルダウンから「store」を選択する。(直接入力もできます。)
  2. Targetに「0」を入力する。
  3. Valueに「number」を入力する。(変数ですので、任意の言葉で大丈夫です。今回は分かりやすくnumberとしました)

解説:最初にCommandで選択した「store」は変数を定義するためのコマンドです。Targetには変数にあらかじめどんな数字を入れておくのかを設定しておきます。今回は0から始めたいので「0」を入力しました。Valueには変数の名前を決めます。数字を入れるので「number」としましたが「count」など他の文字列でも大丈夫です。

14. ループ処理の条件を定義する

Commandで「while」を選択して、Targetに「${number}<36」を入力する
  1. Commandのプルダウンから「while」を選択する。(直接入力もできます。)
  2. Targetに「${number}<36」を入力する。

解説:最初にCommandで選択した「while」はループ処理を宣言するためのコマンドです。Targetにはループ処理の条件を設定しておきます。この後の作業で15分ごとにnumberの数字を1ずつ足していき、numberの数字が35になるまでループ処理を回したいので、「${number}<36」と入力しました。numberの数字が36になった時にはこのループ処理から抜けるようになります。Valueは空欄で大丈夫です。36の数字を変更するとオンライン状態を維持する時間を変更することができます。今回は9時間オンライン状態を維持させるために36にしていますが、3時間の場合は12、12時間の場合は48など適宜変更してください。

15. テキストボックスを選択して、数字を入力する

Commandで「edit content」を選択して、Targetに「css=.ql-editor」を入力し、Valueに「<p>${number}</p>」を入力する
  1. Commandのプルダウンから「edit content」を選択する。(直接入力もできます。)
  2. Targetに「css=.ql-editor」を入力する。
  3. Valueに「<p>${number}</p>」を入力する。

解説:最初にCommandで選択した「edit content」はテキストボックスに文字を入力するコマンドです。Targetに入力した「css=.ql-editor」はダイレクトメッセージのページ内でのテキストボックスに付けられている名前(クラス名)に「ql-editor」というものが付けられているので、「css=.ql-editor」になります。これで入力したいテキストボックスを明確に指定することができます。Valueには入力したいテキストを入力します。HTMLで入力しないといけないため段落タグの<p>タグで挟みます。今回入力するテキストは現在のループの回数の番号で、${number}は現在の番号が格納されている変数です。最初は0が入力されます。

16. 15分待機する

Selenium IDEで注意画面が表示される
最初は注意画面が表示されます
Commandで「pause」を選択して、Targetに「900000」を入力する
  1. Commandのプルダウンから「pause」を選択する。(直接入力もできます。)
  2. 初めて「pause」を洗濯した時には、注意画面が表示されますが、OKを押します。
  3. Targetに「900000」を入力する。

解説:最初にCommandで選択した「pause」は指定した時間だけ挙動を待ってくれるコマンドです。初めてpauseを選択すると注意画面が出てきますが、これはSelenium IDE自体に暗示的な待機があるという内容ですので、無視します。今回は意図的に時間を待ちたいので、pauseを使用します。Targetには待機したい時間を設定します。指定する時間の単位がミリ秒(ms)なので、15分待機させるためには15分×60秒×1000=900000ミリ秒になります。Valueは空欄で大丈夫です。

17. 変数に1を足す

Commandで「execute script」を選択して、Targetに「return Number(${number}+1)」を入力し、Valueに「number」を入力する
  1. Commandのプルダウンから「execute script」を選択する。(直接入力もできます。)
  2. Targetに「return Number(${number}+1)」を入力する。
  3. Valueに「number」を入力する。

解説:最初にCommandで選択した「execute script」は変数内の数字を書き換えるコマンドです。Targetには計算式を入力します。「number」という変数内の数字を1ずつ増加させたいので、「return Number(${number}+1)」と入力します。Valueには変数を書き換えた後の変数の名前を入力します。numberという変数に+1してnumberという名前の変数を付けています。

18. ループの終わりを決める

Commandで「end」を選択する
  1. Commandのプルダウンから「end」を選択する。(直接入力もできます。)

解説:最初にCommandで選択した「end」は14番から始まった「while」のループ処理の終わりを指定するコマンドです。14番から17番流れとしては、始めにループ処理の条件を決めて、テキストボックスに変数内の数字を入力し、15分待機し、変数内の数字に1を足しました。今回のループ処理の条件は変数が36になるまで14番から17番を繰り返すということになります。TargetとValueは空欄で大丈夫です。

19. プログラムを実行する

左上の「All run test」をクリックする

これで下準備はできました。次はいよいよプログラムを実行します。左上の「All run test」の矢印を押します。

20. ブラウザでSlackが開く

ブラウザでSlackが開く

矢印を押すと新規でブラウザが開き、オンライン状態にしたいワークスペースの自分のダイレクトメッセージが開きます。開いた直後に自動的に「0」が入力されます。ずっとこのページのまま放置しておくだけでオンライン状態が保たれます。15分おきに数字が1ずつ足されていたら成功です。今回のプログラムでは数字が35まで表示されます。

まとめ

今回はSlackを自動でオンライン状態を維持する方法を紹介しました。

この方法はただSlackに一定時間おきに書きこむという活動をさせることによってオンライン状態を維持させる実にシンプルでクリーンな方法です。

この記事では1からSelenium IDEを使って実装する方法を紹介しましたが、時間がない方や中身は詳しく理解しなくてもいいという方は以下の概要版の記事で実装していただければと思います。

わからないことなどがありましたら、お気軽にコメントください。

pui

適応障害気味なデザイナーです。パソコン関係に興味があるので、面白い発見があったら記事にしていきたいと思っています。

シェアする

4件のフィードバック

  1. 非常に助かりました。有益な情報をありがとうございました。
    投げ銭できるものは何かないでしょうか?

    • ありがとうございます!今のところ投げ銭機能はありません。コメントしていただけるだけでも嬉しいです。

      • 投げ銭 > そうですか、残念です。(広告をいくつか見ておきましたw)

        こちらの手法で二ヵ月運用いたしました。
        Selenium IDE を無料利用しているためか、プラグインへのショートカットが突然消えるほか、Selenium IDE 再起動のたびにプログラムしたものが消えるので、エクスポートして都度呼び出したりという事象が発生していますが、そこまでの手間なく動いてくれています。
        毎朝、Selenium IDE を起動→インポート→実行するルーチンです。

        改めてありがとうございました。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

コメントする