SaaS

SlackのユーザIDやらグループIDは開発者ツールで取得ができるらしい

どーもばるすです。

BotとかいじってるとSlackのユーザーIDとかグループIDをすぐにちょちょっと取得したいときがあるんすよね。

それ、ブラウザの開発者ツールでとれるよ!って小耳に挟んだので試してみた話をします。

ユーザIDを取得してみる

グループIDを取得してみる

おーたしかにとれる。
ほんとだー。
グループIDはともかく、ユーザIDをスクリプトでバシッと出力できたら楽だなー。

ちょろっとスクリプト書いてみた

const elements = document.getElementsByClassName( "c-link c-message__sender_link" )
    for (let i =0;i<elements.length;i++){
    console.log(elements[i].innerText+" : "+elements[i].attributes[2].textContent)
    }
// ==> User名 : ID * n行

実行してみる

できた。

ただ、このままだとコンソールにしか出ないのでちょっとイケてない。
まぁコンソールでコード実行している時点であんまりかっこよくないけど。
理想は拡張機能からの実行だがそれはまた今度として、Slackの入力欄に出すように手を加えてみる。

追記した版

const elements = document.getElementsByClassName( "c-link c-message__sender_link" )
    var text = '現在表示しているチャンネルに投稿したユーザー名とID'
    for (let i =0;i<elements.length;i++){
    console.log(elements[i].innerText+":"+elements[i].attributes[2].textContent)
    var text = text + '\n' +elements[i].innerText+":"+elements[i].attributes[2].textContent
    }
    var inputField = document.getElementsByClassName( "ql-editor ql-blank" )
    inputField[0].children[0].innerHTML = text
    var inputArea = document.getElementsByClassName("ql-editor")

実行してみる

いいかんじ。
ちょろっとID取りたいだけならこれで十分かもw

気づいたこと

Slackの入力欄は、入力されてない/入力されている でクラス名が変わる

この状態だとql-editor ql-blank

この状態だとql-editor

InnerTextに’\n’だと改行が利かない

innerTextの場合

innerHTMLの場合

@here,@channel はIDを持っていない

終わりに

今回はちょろっと気づいたことをベースに、軽めな内容で書いてみました。

こういうやり方だと楽ですよ!とか良いアイデアがあったら教えてくださーい。

いじょー

ばるす

パチンコ屋→焼き肉屋→情シスを経てクラウドネイティブへ入社。
趣味はギター,キーボード,アウトプット,散歩,読書など。
苦手なものは朝と事務作業。得意分野は眠ること。