New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add an example of updating modal #1142
Conversation
Thank you for feedback:pray: |
Co-authored-by: Naoki Kanatani <k12naoki@gmail.com>
…erError Co-authored-by: Naoki Kanatani <k12naoki@gmail.com>
// update modal sample | ||
switch i.Type { | ||
//update when interaction type is view_submission | ||
case slack.InteractionTypeViewSubmission: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I couldn't get api.UpdateView
to work under this event. I had to use slack.InteractionTypeBlockActions
e.g block_action
. Is this working for you?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you for the feedback,I would check that.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's working but modal closes right after update.
I think this is caused by slack server.
after update modal,app respond http status 200 to slack server and the server see it as over
I'v been running this code on local and connect via ngrok and this happen
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
by adding time.Sleep(time.Second * 2)
after api.UpdateView you can prevent sending http 200 and can see updated modal.
case slack.InteractionTypeViewSubmission:
//you can use any modal you want to show to users just like creating modal.
updateModal := updateModal()
// You must set one of external_id or view_id and you can use hash for avoiding race condition.
// More details: https://api.slack.com/surfaces/modals/using#updating_apis
_, err := api.UpdateView(updateModal, "", i.View.Hash, i.View.ID)
time.Sleep(time.Second * 2)
if err != nil {
fmt.Printf("Error updating view: %s", err)
w.WriteHeader(http.StatusInternalServerError)
return
}
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@kanata2 @charlesoconor
sorry for kept you waiting,could you review this code?
This PR is stale because it has been open 45 days with no activity. Remove stale label or comment or this will be closed in 10 days. |
This PR was closed because it has been stalled for 10 days with no activity. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Even if this example isn't perfect, it's an expansion of what we had before.
Hi!! I added updating modal example
since I wanted to know how could I handle updating modal in examples.