GASでSlackbotを作っています。モーダルを使用していろいろやってみているので、忘れずに、メモ。
間違ってたら教えてください
モーダルのUIを簡単に組みたい!
Block Kit Builderを使おう! 直感操作!簡単コピー!
block id
- モーダルのブロック単位に紐づいているみたい?
- 指定しておかないとSlackが勝手に生成してきます。一度生成されれば、コード内に決め打ちでもまあいけなくはないですが、モーダルいじると変わります。
- “type”: “section”のすぐ下に設定しておけばよいです。
モーダルから選んだ人をチャンネルに招待したい!
モーダルの”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>でメンションできます
コメント