シンプルなチャットツール「simple chat」

simplechat-ec Python

開発の経緯

Pythonでチャットツールを作ってみました。わざわざ自作しなくても世間には優れたツールが沢山ありますが、私の勤務先ではファイル共有機能を利用してはいけないことになっていて、多くのツールはチャットとファイル共有がセットになっているため利用できないのです。

そうは言っても「社内の離れた場所にいる人と電話やメール以外の方法でコミュニケーションを取りたい状況ってあるよね」ということで作ってみたのがご覧頂く「simple chat」です。

simplechat1

簡単な説明とメリット・デメリット

仕組みは文字通りシンプルです。

  • (1)共有フォルダにテキスト形式のログファイルを生成
  • (2)メッセージを書き込む
  • (3)ファイルの更新を検知したらクライアントがそれを読み込む

メリットは利用する際の面倒なセットアップが不要なことです。さらにひと手間かけてPyInstallerで.exe化するのであれば、 Pythonのセットアップは開発機だけでOK 。利用者に.exeを配布するだけです。

逆にデメリットですが、機密情報や内容の確実性を保証しないといけないやり取りには向きません。共有フォルダ上に生成されたテキストファイルを使う仕組みですので、これは致し方ありません。

なお、書き込み・読み込み対象となるテキストファイル名は現在日付のymd.logですので、日付が変われば書き込みは流れてしまいます(日付が変わる頃には家で寝ている想定です)。流さず蓄積するのであればファイル名を固定にしてください。

また、チャットクライアントを利用する全員が同じログファイルを利用する仕様ですが、対象となるログファイルを選択可能にすることで、チャットのグループ分けモディファイなども考えられるでしょう。

先に言い訳

これは私史上初のPythonで書いたコードです。間違っているところやイケてないところ、完全にウンコなところなどあると思いますが、生暖かく見守って頂けると嬉しいです。

コード

開発環境はWindows10 64bit、Python 3.7.4です。冒頭でimportしているものは必要に応じて予めpipを唱えておいてください。

importの対象が整っていれば、「監視対象ディレクトリ」の個所を共有フォルダを名に書き換えてあげるだけで動作すると思われます。名前を入力してスタートをクリックするとチャットに参加できますので、あとはメッセージを入力して送信ボタンをクリックするだけです。

simplechat2

あとがき

数名で利用してみましたが、特に問題無く動作しました。書き込みがあっても通知が無いとか、誰かが書き込んでいるときにモニョモニョ動くアニメーションが無いとか色々ありますが、起動させてデスクトップの端にでも置いておけばそれなりに使える・・・と思うのは親バカでしょうか。

ちなみに、多少なりとも経験のあるVBやc#ではなくPythonで書いたのは「一度Pythonを使ってみたかったから」という、きわめて個人的な理由によるものです。もっと使いこなせるようになりたいと思います。

コメント