使うための認証の仕方まず指定したURLが404だったり、間違ったレスポンスの場合、以下の画像のようにエラーが表示されます。これは「俺たちが送ったchallenge値をそのまま返してくれよな!」というような意味です。string}の形で返します。ようなURLを指定した後再度認証すると通ります。})app.listen();開発中はサーバーを、localtunnelやngrokなどで一時的に晒したり、nowに上げたりすると楽です。コピペしたシングルクォートやダブルクォートがおかしくなる例えば、'をは付けたはずなのに‘に勝手に変わっちゃうようなやつです。これを使っちゃうとシンタックスエラーになったりします。dashes」というのにチェックが入ってたら、これが原因かもしれません。僕の環境ではこれで直りました。アップロードした画像は圧縮処理されたりするのか4432737(4.2M)サイズの画像を使って、アップロードと再ダウンロードしてサイズ比較して確認しました。画像はこちらからダウンロードしました。かわいい結果は無料プラン・有料プランどちらとも同じでどちらもアップロードしたものとまったく同じものでした。特定のメッセージを取得conversations.repilesを使います。.messagesmessagesというプロパティに配列でメッセージが入っています。以下はただのメッセージのtsを設定した時のレスポンス例です。}]次にスレッドです。同じようにスレッド化しているtsを使います。.messagesスレッドの場合は、messagesにスレッドのメッセージが含まれ、配列1つ目のメッセージに、replay_countreplay_user_countlatest_replyreply_usersrepilessubscribedというプロパティが増えます。いくつ付けれるのか結論から言うと100個までです。20個まですべてのアッタチメントが見える状態で投稿されます。100個まで最初の20個が最初から表示されそれ以降のものに関しては折り畳まれて表示されます。折り畳まれた部分をクリックすると全件表示されます。21個のアッタチメントの時は1個折り畳まれた状態。100個のアッタチメントの時は80個折り畳まれた状態です。100個より多いこれはtoo_many_attachments(アタッチメント多すぎ)エラーになります。100を変えて件数を変えて使います。はいくつ付けられるのか結論から言うと102個まで大丈夫でした。実行してコピーされたものをattachemntsに設定して調べました。))102個までshortがtrue,falseどちらであっても最初からすべてのフィールドが表示されます。102から大きいとこれは複数パターンがありました。見つけた時の値でまとめてみます。103サーバーエラー。サイズの問題?ただ、1つ1つのサイズを少し多くして100個で送ってみても大丈夫そうでした。して使うとどうなるか結果は、「スレッドへ投稿したメッセージと同じスレッドに投稿される」です。なるトークンとチャンネルIDは何度もコピーするのが面倒くさいので以下のように環境変数に置いておきます。xxxxx$tがトークン、$cをチャンネルIDとして使っていきます。以下は適当なチャンネルに「a]とだけ投稿し、結果のtsを表示するコマンドです。.ts1555394677.001400というような値が得られます。先程の1555394677.001400をthread_tsというクエリに置いて再度コマンドを叩くことでそのスレッドへメッセージを投稿できます。そのメッセージのtsが表示されるのでコピーしておきます。.tsそして、1555395278.001500が得られました。画面は以下のようになっているはずです。.ts冒頭に書いた結果が得られたはずです。データとしてはどうなっているかconversations.repliesで取得して見た所、最後に投稿したメッセージのthread_tsも1555394677.001400(最初のメッセージのts)が設定されていました。チャンネルのメッセージをまとめて削除ツールをちょっと作った。https://cloud.docker.com/u/nju33/repository/docker/nju33/slack-channel-cleaner使い方イメージ名はnju33/slack-channel-cleanerですので、とりあえずこれを持ってきます。nju33/slack-channel-cleaner終わったらコンテナを作って中に入ります。nju33/slack-channel-cleaner中ではslack-channel-cleanerかsccというコマンドが使えるようになっているはずです。このコマンドでメッセージを消していきます。必要なオプションはトークンとチャンネルIDの2つ必要なのでコピーしておきます。bot_message...実行すると新しいものから1つずつ削除していってくれると思います。tokenを除くとqueryフィールドが必須です。query一番重要な引数で、ここに置いたテキストでワークスペース内を検索します。スペースなどを挟んで複数のワードを置いた場合or検索(どちらかが含まれてればマッチ)します。幾つかの特殊なプレフィックスが用意されており、それらを組み合わせることで効率良く結果を絞り込むことができます。他にfrom:があります。これをfrom:@<user-name>やfrom:<bot-name>のように使う事で、その人の発言だけに絞り込めます。ボット名は割と適当に決めてchat.postMessageから投稿できてしまいます。いうボット名で投稿するといった具合です。そのメッセージはfrom:Johnでちゃんと検索できます。その後のワークスペースの管理の方法によってはfrom:johnでの検索で引っかからなくなる恐れがあります。それはjohnというアプリをインストールした場合です。アプリのアクセストークンでfrom:johnと検索してもメッセージは引っかかりません。作り、それを使ってsearch.messageをリクエストするしかなくなります。count結果1ページ辺りのメッセージ数です。page何ページ目の結果を返すかどうかです。highlighttrueを指定するとマッチした箇所のテキストが\ue000と\ue001で挟まれて返されます。...'を含んでいる。