2019/07/07追記 結構前からSlackの仕様が変更されて動作しない状態となっております m(_ _)m 修正中です
この記事はSlack その2 Advent Calendar 2016の25日目の記事です。
なんとか間に合いました・・・。
追記:バグを修正しました。
128px x 128px以下の画像でも正常に追加できるようになりました。
追記:gifとアニメgifに対応しました。
ただし、リサイズ後でも64KBを超えてしまうとアップロードに失敗します。
追記:予定とは全然関係なく複数ファイルのアップロードと複数チームへの同時アップロードに対応しました。
#はじめに
以前にSlackのemojiの引っ越しを作り、emojiをアップロードするためのノウハウが出来たので、それを応用してemojiの追加をドラッグ&ドロップで出来たら便利なのでは、と思い作りました。
実は以前Rubyでも書いたのですが、記事に出来ておらず・・・^^;
前回の記事でも書いたとおり、Rubyで作ったスクリプトは環境作成が0からだと大変なので、環境作成がいらないGoで書き直しました。
#ソースとダウンロード先
slack_emoji_uploader_go
Release内にビルドしたモジュールを入れてあります。
WindowsとMacでzipファイルを分けたので、必要なファイルをダウンロードしてください。
なお、対応ファイルはjpgとpngとgif形式です。
gifも対応しようとしたのですが、現時点では色がおかしくなってしまうので再度調べて対応します・・・。
↑対応しました。
#使い方
使い方は簡単です。
環境のセットアップは必要ありません。
emoji_conf.txtに必要な情報を記入してください。
引っ越し先の情報
- Slack team URL
- Slackにログインするためのメールアドレス
- Slackにログインするためのパスワード
全て記入できたら以下手順で実行してください。
注:emojiの名前はドラッグ&ドロップした画像のファイル名の拡張子を除いた名前となります。
Macの場合
- Terminalを開く
- cdコマンドでフォルダまで移動
-
chmod +x slack_emoji_uploader.sh
でslack_emoji_uploader.shに実行権限を付与
実行時:
-
upload
に画像をドラッグ&ドロップする
Windowsの場合
-
upload.bat
に画像をドラッグ&ドロップする
注意:
SlackのAPIやカスタマイズ甩ページに繋がりにくい時があり、失敗する時があるようです。
失敗した時は時間をおいて再度試してください。
#どんなことをやっているのか
Slackへのアップロードは前回の引っ越しで出来ているため、今回のポイントは以下の2点です。
- 画像のリサイズ
- ドラッグ&ドロップ対応
画像のリサイズはこちらの記事を参考にしました。
uploadされた写真をリサイズする方法
nfnt/resizeというライブラリを使用しています。
ドラッグ&ドロップ対応はMacが中々うまくいかなくて、色々試した結果、下記の記事の方法でうまくいきました。
Automator のシェルスクリプトで $0 を取得する
Windowsはバッチファイルで簡単に出来たのですがね・・・。
#作った感想
Windowsはバッチファイルで簡単に出来たのですが、Macでドラッグ&ドロップが中々出来なくて大分時間がかかりました。
あと、今回はなんとかアニメgifに対応しようと頑張ったのですが、うまくいかず・・・。
次回のアップデートに持ち越しとなりました。
対応しました!
結構苦戦しましたがなんとかなりました。
今回の経験でアニメgifの仕組みなどを少し知ることが出来ました。
gifアニメって2枚目以降は差分しか情報を持ってないんですね・・・。
今後追加予定の項目です。
- リサイズした画像を消す処理
- emojiの名前のチェック
- ファイルサイズのチェック
- アップロード失敗時のエラーメッセージをログに残す
- Readmeをきちんと書く
では、良いSlackライフを!