slack-goで任意入力のモーダルを作りたい

2020年9月8日火曜日

GoLang Go言語 slack-go モーダル

t f B! P L
最近Go言語の勉強をしており、ただ勉強するのは面白みがないのでSlackのアプリケーションを作成しています。

そんな中で、モーダルの入力欄を任意入力にしたい場面があったので、備忘として記載しておきます。

slack.NewInputBlockで作成した入力欄のBlockのOptionaltrueすることで任意入力にすることができます。デフォルトがfalseで必須入力な訳ですねー。

	// キーワードを指定
	keywordText := slack.NewTextBlockObject(slack.PlainTextType, "キーワード", false, false)
	keywordPlaceholder := slack.NewTextBlockObject(slack.PlainTextType, "キーワードを入力してください", false, false)
	keywordElement := slack.NewPlainTextInputBlockElement(keywordPlaceholder, "keyword")
	keywordBlock := slack.NewInputBlock("keyword", keywordText, keywordElement)
	keywordBlock.Optional = true // 入力任意

	// 担当者を指定
	userText := slack.NewTextBlockObject(slack.PlainTextType, "担当者", false, false)
	userElement := slack.NewOptionsSelectBlockElement(slack.OptTypeUser, userText, "user")
	userBlock := slack.NewInputBlock("user", userText, userElement)
	userBlock.Optional = true // 入力任意

	// ステータスを指定
	statusText := slack.NewTextBlockObject(slack.PlainTextType, "ステータス", false, false)
	statusElement := slack.NewOptionsSelectBlockElement(slack.OptTypeStatic, statusText, "status", GenerateStatusBlockObjects()...)
	statusBlock := slack.NewInputBlock("status", statusText, statusElement)
	statusBlock.Optional = true // 入力任意
このような感じでコードを書けば、任意入力のモーダルが生成できます。

注目の投稿

composer.lockはGit管理すべき話

# 背景 # 結論 # composer installとcomposer updateの違い # 背景 仕事では主にLaravelを使用して開発を行っている。 ソースコードはGitでバージョン管理を行い、compose...

プロフィール

7年ほど中小企業でSIerとして働いていました。 現在は個人事業主としてPHP, Javascriptの企業案件をメインに受けています。 最近はポケモンカードの開封にはまっています。

アーカイブ

このブログを検索

QooQ