\サイト工事中につきレイアウト崩れがちです/

【SlackAPI】モーダル備忘録

SlackAPI
当サイトは一部に広告を使用しています

GASでSlackbotを作っています。モーダルを使用していろいろやってみているので、忘れずに、メモ。
間違ってたら教えてください

モーダルのUIを簡単に組みたい!

Block Kit Builderを使おう! 直感操作!簡単コピー!

app.slack.com

block id

  • モーダルのブロック単位に紐づいているみたい?
  • 指定しておかないとSlackが勝手に生成してきます。一度生成されれば、コード内に決め打ちでもまあいけなくはないですが、モーダルいじると変わります。
  • “type”: “section”のすぐ下に設定しておけばよいです。

api.slack.com

qiita.com

モーダルから選んだ人をチャンネルに招待したい!

モーダルの”view_submission”にはモーダルを送信したチャンネルの情報が含まれていません。そのため、別途チャンネルIDは指定してあげないといけないのですが、”private_metadata”にチャンネルIDを持たせておくことで、view_submissionからチャンネルIDを取得することができるようになります。

//モーダルを開く処理
function openModal3(parameter) {
const channelId = parameter.channel_id; // コマンドが発行されたチャンネルIDを取得
const modalView = generateModalView3(channelId); // チャンネルIDをモーダルに渡す
//モーダルのUI
function generateModalView3(channelId) {
return {
"type": "modal",
"callback_id":"modal_3",
"private_metadata": channelId,  //ここにチャンネルIDを仕込んでおく 
"title": {
"type": "plain_text",
"text": "チャンネルにユーザーを招待します",
"emoji": true

テキストの中にメンションが含められないんだけど?!

‐ typeがplain_textになっているかも。メンションはmrkdwnでないと認識してくれない模様
‐ <@メンバーID>でメンションできます

コメント

タイトルとURLをコピーしました