かゆい所に手が届く解説

コピペOK!テレワークでサボってもバレないPythonスクリプト

テレワーク中に離席しても「退席中」と表示されないPythonスクリプトを紹介。マウスを自動で動かす簡単スクリプトをコピペで使えます。自己責任でどうぞ!

ご利用の際は自己責任でお願いします!

よく離席する人に頼まれまして、作成しました。

テレワーク中に一定時間操作をしないと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の演習はこちら ▶

今後も初心者向けにプログラミングの情報をお届けします。

以下のメルマガにご登録頂くと、不定期に配信をお届けします。

ぜひ購読してください!

それでは、ステキなPythonライフを!

ABOUT ME
やまちゃん
これまで学生と社会人を合わせて5000人以上にプログラミング学習を指導。 ゼロからイチをわかりやすく解説する専門家として活動しており、本業ではArduinoを用いたIoT開発とロボットプログラミングが専門。 Pythonを用いたアプリ開発、ウェブアプリケーションの開発で業務の効率化をサポートしています。

COMMENT

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