Support for sending message

This commit is contained in:
ayn2op 2023-01-02 14:04:36 +05:30
parent ca33743388
commit 7dff2b2433

View file

@ -1,6 +1,7 @@
package main
import (
"github.com/gdamore/tcell/v2"
"github.com/rivo/tview"
)
@ -13,12 +14,34 @@ func newMessageInput() *MessageInput {
InputField: tview.NewInputField(),
}
mi.SetDoneFunc(mi.onDone)
mi.SetFieldBackgroundColor(tview.Styles.PrimitiveBackgroundColor)
mi.SetBorder(cfg.Theme.MessageInput.Border)
padding := cfg.Theme.MessageInput.BorderPadding
mi.SetBorderPadding(padding[0], padding[1], padding[2], padding[3])
return mi
}
func (mi *MessageInput) onDone(key tcell.Key) {
switch key {
case tcell.KeyEnter:
go mi.sendMessage()
case tcell.KeyEscape:
// Reset the message input.
mi.SetText("")
}
}
func (mi *MessageInput) sendMessage() error {
text := mi.GetText()
_, err := discordState.SendMessage(guildsTree.selectedChannel.ID, text)
if err != nil {
return err
}
// Reset the message input.
mi.SetText("")
return nil
}