よく離席する人に頼まれまして、作成しました。
テレワーク中に一定時間操作をしないとTeamsなどのチャットツールはステータスを「退席中」などにしやがるそうです。

これでは上司にバレるということで、何もしていなくても、常に「連絡可能」になるスクリプトを作成しました。
せっかくなので、必要な方にお使い頂ければ嬉しいです笑。
仕様
仕様というほど大げさなものではありませんが、数秒おきにマウスポインタをランダムで動かします。
動かす時間は2~5秒から毎回ランダムに選択し、マウスを動かす量もランダムにしています。
なぜランダムなのか?というと、「規則的な動作を検知するシステム」もあるので、あえてランダムにしています。

*コード全文はコピペできるよう後述しています。
下準備
このスクリプトでは、マウスポインタを動かすために「pyautogui」というライブラリを利用しています。
これは標準ライブラリではないため、インストールが必要です。
コマンドプロンプトやターミナルでインストールする場合、
pip install pyautogui
または、Anaconda/Minicondaをお使いの場合、
conda install -c conda-forge pyautogui
でOKです。
macをお使いの場合、環境によっては上記でできないことがあるので、
pip3 install pyautogui
とする場合もあります。
実行環境
PyCharmやVSCodeをお使いの方は、そのままコピペしてできるように説明しています。
しかし、普段Pythonなど使わず、「アプリみたいにダブルクリックするだけで実行できるのがいいんだよ!」という方がいらっしゃいましたらコメントでお知らせください。
すぐに作って公開します。
コード全文
大したものではありませんが、以下のコードを張り付けて実行するだけです。
import pyautogui
import random
import time
# 数秒おきにマウスポインタをランダムに動かす
try:
while True:
# 現在のマウス位置を取得
current_x, current_y = pyautogui.position()
# ランダムな移動量を設定(-50から50の範囲で動かす)
move_x = random.randint(-50, 50)
move_y = random.randint(-50, 50)
# 新しい位置を計算
new_x = current_x + move_x
new_y = current_y + move_y
# マウスポインタを移動
pyautogui.moveTo(new_x, new_y, duration=0.2) # 0.2秒かけて移動
# 2〜5秒のランダムな待機時間
wait_time = random.uniform(2, 5)
time.sleep(wait_time)
except KeyboardInterrupt:
print("スクリプトを終了しました。")
マウスポインタの移動量を変える場合は、
move_x = random.randint(-50, 50)
move_y = random.randint(-50, 50)
この引数の値を変えてください。
まとめ
いかがだったでしょうか。
他にも「こんなことはできないの?」「こんなときどうする?」
などご要望がありましたらコメントでお知らせください。
(宣伝もご覧いただけるとうれしいです。)
今後も初心者向けにプログラミングの情報をお届けします。
以下のメルマガにご登録頂くと、不定期に配信をお届けします。
ぜひ購読してください!
それでは、ステキなPythonライフを!