2022-01-14 03:43:27 +00:00
|
|
|
package interact
|
|
|
|
|
2022-01-19 05:07:25 +00:00
|
|
|
type Button struct {
|
2022-01-20 16:45:43 +00:00
|
|
|
Text string
|
|
|
|
Name string
|
|
|
|
Value string
|
|
|
|
}
|
|
|
|
|
|
|
|
type TextField struct {
|
|
|
|
// Name is the form field name
|
|
|
|
Name string
|
|
|
|
|
|
|
|
// Label is the field label
|
|
|
|
Label string
|
|
|
|
|
|
|
|
// PlaceHolder is the sample text in the text input
|
|
|
|
PlaceHolder string
|
|
|
|
}
|
|
|
|
|
|
|
|
type Option struct {
|
|
|
|
// Name is the form field name
|
2022-01-19 05:07:25 +00:00
|
|
|
Name string
|
2022-01-20 16:45:43 +00:00
|
|
|
|
|
|
|
// Label is the option label for display
|
|
|
|
Label string
|
|
|
|
|
|
|
|
// Value is the option value
|
2022-01-19 05:07:25 +00:00
|
|
|
Value string
|
|
|
|
}
|
|
|
|
|
2022-01-14 03:43:27 +00:00
|
|
|
type Reply interface {
|
2022-01-19 05:07:25 +00:00
|
|
|
// Send sends the message directly to the client's session
|
2022-01-14 18:52:46 +00:00
|
|
|
Send(message string)
|
2022-01-19 05:07:25 +00:00
|
|
|
|
|
|
|
// Message sets the message to the reply
|
2022-01-14 03:43:27 +00:00
|
|
|
Message(message string)
|
2022-01-19 05:07:25 +00:00
|
|
|
|
|
|
|
// AddButton adds the button to the reply
|
|
|
|
AddButton(text string, name, value string)
|
|
|
|
|
2022-03-23 04:04:47 +00:00
|
|
|
// AddMultipleButtons adds multiple buttons to the reply
|
|
|
|
AddMultipleButtons(buttonsForm [][3]string)
|
|
|
|
|
2022-01-22 17:35:27 +00:00
|
|
|
// Choose(prompt string, options ...Option)
|
2022-01-20 16:45:43 +00:00
|
|
|
// Confirm shows the confirm dialog or confirm button in the user interface
|
|
|
|
// Confirm(prompt string)
|
2022-01-14 03:43:27 +00:00
|
|
|
}
|
2022-01-19 05:07:25 +00:00
|
|
|
|
2022-01-22 18:20:26 +00:00
|
|
|
// KeyboardController is used when messenger supports keyboard controls
|
|
|
|
type KeyboardController interface {
|
|
|
|
// RemoveKeyboard hides the keyboard from the client user interface
|
|
|
|
RemoveKeyboard()
|
|
|
|
}
|
|
|
|
|
2022-01-19 05:07:25 +00:00
|
|
|
// ButtonReply can be used if your reply needs button user interface.
|
|
|
|
type ButtonReply interface {
|
|
|
|
// AddButton adds the button to the reply
|
|
|
|
AddButton(text string)
|
|
|
|
}
|
|
|
|
|
|
|
|
// DialogReply can be used if your reply needs Dialog user interface
|
|
|
|
type DialogReply interface {
|
|
|
|
// AddButton adds the button to the reply
|
|
|
|
Dialog(title, text string, buttons []string)
|
|
|
|
}
|