3
Help us understand the problem. What are the problem?

posted at

Teamsのステータスを自動で変更する

困っていたこと

集中力のゴールデンタイムは誰にも邪魔されたくないのに、チャットで「ちょっといいですか?」とメンションが入ると集中できない。

Teamsのステータスを応答不可にすれば通知に気づかなくて済むのですが、
こまめにステータスを切り替えることを忘れがち

朝のこの時間帯だけはなんとしても守りたい。

というわけで毎日同じ時間になれば、Teamsのステータスを変えるスクリプトを作ってみた。

環境

Windows10
Teams
Python3.10

まずは手作業でやってみる

1 Teamsを起動する

Windowsキーを押してから、「teams」と打てばこんな感じになる。

2-1.png

この後Enterキー叩けば起動される。(起動済みの場合は最前面にくる)

2 Teamsの検索に移動

Teamsのショートカット(Ctrl + e)で検索窓にフォーカスを充てられる。
2-2.png

3 応答不可にするコマンド実行

Teamsのコマンド(/dnd)で応答不可にする
2-3.png

自動化してみる

Python準備する

pyautoguiをインストールする

コマンドライン
python -m pip install pyautogui
changestatus.py
import pyautogui
import time

## 1 Teamsを起動する
pyautogui.press('win')
# 次の入力処理までに1秒ぐらい待っておく。
time.sleep(1)
# 「teams」と打ってEnterキー叩いて起動する
pyautogui.write('teams', interval=0.25)
pyautogui.press('enter')
# 起動して次のことするまでとりあえず5秒ぐらい待ってみる。
time.sleep(5)
## 2 Teamsの検索に移動
pyautogui.keyDown('ctrl')
pyautogui.press('e')
pyautogui.keyUp('ctrl')
### 3 応答不可にするコマンド実行
# 次の入力処理までに1秒ぐらい待っておく。 
time.sleep(1)
# 「/dnd」と打ってEnterキー叩いてコマンド実行する
pyautogui.write('/dnd', interval=0.25)
pyautogui.press('enter')

実行してみる

コマンドライン
python changestatus.py

自動実行

先ほどのコマンドラインをbatファイルにして
Windowsなんでタスクスケジューラに登録。
自分のゴールデンタイムに合わせてトリガーを登録すればOK。

注意点

PC操作中に起動するといきなり誤動作し始めたのかとちょっとびっくりする。
ちょっと手をとめてオートメーションを眺めているとよいです。

IMEがONの状態だと、コマンドが「・dんd」になってしまう。
解決にはここが参考になる

参考

Register as a new user and use Qiita more conveniently

  1. You can follow users and tags
  2. you can stock useful information
  3. You can make editorial suggestions for articles
What you can do with signing up
3
Help us understand the problem. What are the problem?