Bind original message when typing a reply (#354)
Co-authored-by: Ayyan <119342035+ayn2op@users.noreply.github.com>
This commit is contained in:
parent
250d8eb924
commit
85c9943386
2 changed files with 7 additions and 3 deletions
|
|
@ -17,11 +17,13 @@ import (
|
|||
|
||||
type MessageInput struct {
|
||||
*tview.TextArea
|
||||
replyMessageIdx int
|
||||
}
|
||||
|
||||
func newMessageInput() *MessageInput {
|
||||
mi := &MessageInput{
|
||||
TextArea: tview.NewTextArea(),
|
||||
replyMessageIdx: -1,
|
||||
}
|
||||
|
||||
mi.SetTextStyle(tcell.StyleDefault.Background(tcell.GetColor(cfg.Theme.BackgroundColor)))
|
||||
|
|
@ -62,6 +64,7 @@ func (mi *MessageInput) onInputCapture(event *tcell.EventKey) *tcell.EventKey {
|
|||
mainFlex.messageInput.launchEditorAction()
|
||||
return nil
|
||||
case cfg.Keys.Cancel:
|
||||
mi.replyMessageIdx = -1
|
||||
mi.reset()
|
||||
return nil
|
||||
}
|
||||
|
|
@ -79,7 +82,7 @@ func (mi *MessageInput) sendAction() {
|
|||
return
|
||||
}
|
||||
|
||||
if mainFlex.messagesText.selectedMessage != -1 {
|
||||
if mi.replyMessageIdx != -1 {
|
||||
ms, err := discordState.Cabinet.Messages(mainFlex.guildsTree.selectedChannelID)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
|
|
@ -88,7 +91,7 @@ func (mi *MessageInput) sendAction() {
|
|||
|
||||
data := api.SendMessageData{
|
||||
Content: text,
|
||||
Reference: &discord.MessageReference{MessageID: ms[mainFlex.messagesText.selectedMessage].ID},
|
||||
Reference: &discord.MessageReference{MessageID: ms[mi.replyMessageIdx].ID},
|
||||
AllowedMentions: &api.AllowedMentions{RepliedUser: option.False},
|
||||
}
|
||||
|
||||
|
|
@ -101,7 +104,7 @@ func (mi *MessageInput) sendAction() {
|
|||
go discordState.SendMessage(mainFlex.guildsTree.selectedChannelID, text)
|
||||
}
|
||||
|
||||
mainFlex.messagesText.selectedMessage = -1
|
||||
mi.replyMessageIdx = -1
|
||||
mainFlex.messagesText.Highlight()
|
||||
mi.reset()
|
||||
}
|
||||
|
|
|
|||
|
|
@ -187,6 +187,7 @@ func (mt *MessagesText) replyAction(mention bool) {
|
|||
|
||||
title += ms[mt.selectedMessage].Author.Tag()
|
||||
mainFlex.messageInput.SetTitle(title)
|
||||
mainFlex.messageInput.replyMessageIdx = mt.selectedMessage
|
||||
|
||||
app.SetFocus(mainFlex.messageInput)
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue