こんにちは、みやびのです。

今回はSlackbot+Pythonでパスワードを実装する方法について説明します。
具体的には以下の2つについて説明します。

・Pythonでパスワードを生成する方法
・Slackbot+Pythonでパスワードを生成する

Pythonで作るSlackbotの基本については「SlackbotをPythonで作成しよう」をお読みください。

Pythonでパスワード生成する方法

Pythonのrandomライブラリを活用すれば比較的簡単にパスワード生成処理を作成できます。

関数実装例
引数1:パスワードの桁数(デフォルト8)
引数2:文字列の種類(デフォルト:大文字・小文字・数字)
リターン値:パスワード

引数1に指定した桁数分の文字列をリターン。
さらに引数2によって「小文字と数字」、「大文字と小文字」、「大文字だけ」のように文字列を細かく指定できるようにします。

パスワードの実装方法の詳細については「Pythonでパスワード生成処理を実装する」をお読みください。

Slackbot+Pythonでパスワードを生成する

上記処理をSlackbotの応答に埋め込みます。

Slackbotの応答仕様

引数1:パスワードの桁数
引数2:パスワードの文字の種類

文字の種類は以下の形で指定します。

数字:数字のみ
大英数字:大文字の英字と数字
小英数字:小文字の英字と数字
英字:小文字と大文字の英字
大英字:大文字の英字のみ
小英字:小文字の英字のみ
それ以外:英数字全て

パスワードをダイレクトメッセージに送信

message.send()でチャンネルに応答してしまうと他の人にもパスワードが見えてしまうためセキュリティ上あまりよろしくありません。
よってダイレクトメッセージに応答します。

ダイレクトメッセージへの応答はslackerライブラリを使用すれば実現できます。

ダイレクトメッセージを使う場合はチャンネル名の代わりにユーザIDの指定が必要です。
ユーザIDはmessageに格納されています。

実装例は以下の通り。

◆実行結果
Slackbotでパスワード生成

パスワードはダイレクトメッセージの方に送信されています。

Slackbotでパスワード生成2

終わりに

今回紹介したように比較的簡単にSlackbotをパスワード生成ツールにすることができます。
ちょっとしたパスワードを作りたい場合にあると便利ですね。

パスワード生成サイトなどもありますが、自由にカスタマイズできるのが人の作った生成サイトにはないメリットです。
今回は英数字1パターンの表示のみでしたが複数パターンの表示をしたり、記号も使えるようにしたりなどいろいろカスタマイズしてみてください。

Slackbot活用方法まとめ>>Slackbotの作り方マニュアル〜Python編〜