はじめに
この記事はSlackで簡単ななりすましを行う方法を紹介しますが、悪用は厳禁です。
まぁ、すぐバレる程度のクオリティですが。。。
サークル活動の一環として作った記事のため、説明が適当かもしれませんがご了承ください。
こんな感じになります。
実行環境の用意
PythonのSlackerというライブラリを使用します。
https://github.com/os/slacker
$ pip install slacker
なりすましを行おう
なりすましたい相手の画像を用意する
なりすましたい相手のアカウントの画像を手元に用意します。この作業が一番めんどくさいかもしれません。
- Slackの画面で相手のアカウントを選択して、画面右側にユーザ情報を表示させます。
- その状態で画面のキャプチャを行い、適当にトリミングを行ってアカウント画像だけの画像を作成します。
- 私のfirefoxの環境では、「FireGestures」アドオンを使うことで画像だけをダウンロードできたが、それ以外の環境では画像を保存する選択がなかった。
- 画像を128x128の大きさに縮小します。
説明用の適当なチームを使っているので、わざわざ黒帯で隠す必要もないが。。。
作成した画像の絵文字を作る
作成した画像の絵文字を作ります。絵文字を作るという時点で、クオリティの低さがうかがえます。
- Slackの画面の左上のチーム名をクリックするとメニューが表示されるので、「Customize Slack」を選択する。
- 絵文字を追加できる画面が表示されるため、絵文字名と先ほど作成した画像を指定して、絵文字を作成する。
なりすましの投稿を行う
Pythonで以下のプログラムを作成します。
# coding: utf-8
# トークン、なりすましたいユーザー名、作ったアイコンを指定
token = 'xxxx-xxxxxxxxxxx-xxxxxxxxxxxxxxxxxxxx'
username = 'sukesuke'
icon = 'suke_icon'
from slacker import Slacker
slack = Slacker(token)
icon = ':' + icon + ':' # アイコンの絵文字はコロンで囲む
# なりすましを行う関数。チャンネルとテキストを指定
def narisumasi(channel, text):
slack.chat.post_message(channel, text, username=username, icon_emoji=icon)
Pythonを起動してnarisumasi
関数を実行します
>>> from narisumasi import narisumasi
>>> narisumasi('#general', '今日休みます')
このように、なりすましたい相手と同じ名前、アイコンで投稿することができます。
すぐバレる理由
名前もアイコンも本人と同じであるのに何故バレてしまうのか。その理由は、名前の横にAPP
と表示されてしまうからです。
Pythonのプログラムを作るのがめんどくさい場合
なりすましの相手が変わるたびに、プログラムを書き直す必要があるのでめんどくさいかもしれません。
そのような人のために、コマンドライン上からユーザ名とアイコンを指定してテキストを投稿できるソフトを作成しました。
実を言うと、このソフトを作った勢いでこんな記事を作りました。
GitHubに公開しているので、導入と使い方を各自で読んで下さい。説明は真面目に書いてます。
https://github.com/sukesuke13/slackpost
導入が完了したら、以下のようなコマンドを実行することで、先ほどと同様の投稿が行なえます。
$ slackpost -u sukesuke -i suke_icon 今日休みます
おわりに
解説が雑になってしまいすいません。
こんな記事ですが、少しでも楽しめてもらえたら幸いです。
実際私はこれで知り合いをだましました。その後のネタばらしも含めて、少し楽しめましたね。