|
@@ -4,7 +4,6 @@ import (
|
|
|
"errors"
|
|
"errors"
|
|
|
"fmt"
|
|
"fmt"
|
|
|
"io"
|
|
"io"
|
|
|
- "log/slog"
|
|
|
|
|
"slices"
|
|
"slices"
|
|
|
"strconv"
|
|
"strconv"
|
|
|
"time"
|
|
"time"
|
|
@@ -12,6 +11,7 @@ import (
|
|
|
"github.com/atotto/clipboard"
|
|
"github.com/atotto/clipboard"
|
|
|
"github.com/ayn2op/discordo/internal/config"
|
|
"github.com/ayn2op/discordo/internal/config"
|
|
|
"github.com/ayn2op/discordo/internal/markdown"
|
|
"github.com/ayn2op/discordo/internal/markdown"
|
|
|
|
|
+ "github.com/charmbracelet/log"
|
|
|
"github.com/diamondburned/arikawa/v3/discord"
|
|
"github.com/diamondburned/arikawa/v3/discord"
|
|
|
"github.com/diamondburned/ningen/v3/discordmd"
|
|
"github.com/diamondburned/ningen/v3/discordmd"
|
|
|
"github.com/gdamore/tcell/v2"
|
|
"github.com/gdamore/tcell/v2"
|
|
@@ -68,7 +68,7 @@ func newMessagesText(app *tview.Application, cfg *config.Config) *MessagesText {
|
|
|
func (mt *MessagesText) drawMsgs(cID discord.ChannelID) {
|
|
func (mt *MessagesText) drawMsgs(cID discord.ChannelID) {
|
|
|
ms, err := discordState.Messages(cID, uint(mt.cfg.MessagesLimit))
|
|
ms, err := discordState.Messages(cID, uint(mt.cfg.MessagesLimit))
|
|
|
if err != nil {
|
|
if err != nil {
|
|
|
- slog.Error("failed to get messages", "err", err, "channel_id", cID)
|
|
|
|
|
|
|
+ log.Error("failed to get messages in channel", "channel_id", cID, "err", err)
|
|
|
return
|
|
return
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -223,13 +223,13 @@ func (mt *MessagesText) onInputCapture(event *tcell.EventKey) *tcell.EventKey {
|
|
|
func (mt *MessagesText) _select(name string) {
|
|
func (mt *MessagesText) _select(name string) {
|
|
|
ms, err := discordState.Cabinet.Messages(layout.guildsTree.selectedChannelID)
|
|
ms, err := discordState.Cabinet.Messages(layout.guildsTree.selectedChannelID)
|
|
|
if err != nil {
|
|
if err != nil {
|
|
|
- slog.Error("failed to get messages", "err", err, "channel_id", layout.guildsTree.selectedChannelID)
|
|
|
|
|
|
|
+ log.Error("failed to get messages in channel", "channel_id", layout.guildsTree.selectedChannelID, "err", err)
|
|
|
return
|
|
return
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
messageIdx, err := mt.getSelectedMessageIndex()
|
|
messageIdx, err := mt.getSelectedMessageIndex()
|
|
|
if err != nil {
|
|
if err != nil {
|
|
|
- slog.Error("failed to get selected message", "err", err)
|
|
|
|
|
|
|
+ log.Error("failed to get selected message", "err", err)
|
|
|
return
|
|
return
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -290,7 +290,7 @@ func (mt *MessagesText) onHighlighted(added, removed, remaining []string) {
|
|
|
if len(added) > 0 {
|
|
if len(added) > 0 {
|
|
|
mID, err := strconv.ParseInt(added[0], 10, 64)
|
|
mID, err := strconv.ParseInt(added[0], 10, 64)
|
|
|
if err != nil {
|
|
if err != nil {
|
|
|
- slog.Error("Failed to parse region id as int to use as message id.", "err", err)
|
|
|
|
|
|
|
+ log.Error("failed to parse region ID", "id", added[0], "err", err)
|
|
|
return
|
|
return
|
|
|
}
|
|
}
|
|
|
mt.selectedMessageID = discord.MessageID(mID)
|
|
mt.selectedMessageID = discord.MessageID(mID)
|
|
@@ -300,13 +300,13 @@ func (mt *MessagesText) onHighlighted(added, removed, remaining []string) {
|
|
|
func (mt *MessagesText) yank() {
|
|
func (mt *MessagesText) yank() {
|
|
|
msg, err := mt.getSelectedMessage()
|
|
msg, err := mt.getSelectedMessage()
|
|
|
if err != nil {
|
|
if err != nil {
|
|
|
- slog.Error("failed to get selected message", "err", err)
|
|
|
|
|
|
|
+ log.Error("failed to get selected message", "err", err)
|
|
|
return
|
|
return
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
err = clipboard.WriteAll(msg.Content)
|
|
err = clipboard.WriteAll(msg.Content)
|
|
|
if err != nil {
|
|
if err != nil {
|
|
|
- slog.Error("failed to write to clipboard", "err", err)
|
|
|
|
|
|
|
+ log.Error("failed to write to clipboard", "err", err)
|
|
|
return
|
|
return
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -314,7 +314,7 @@ func (mt *MessagesText) yank() {
|
|
|
func (mt *MessagesText) open() {
|
|
func (mt *MessagesText) open() {
|
|
|
msg, err := mt.getSelectedMessage()
|
|
msg, err := mt.getSelectedMessage()
|
|
|
if err != nil {
|
|
if err != nil {
|
|
|
- slog.Error("failed to get selected message", "err", err)
|
|
|
|
|
|
|
+ log.Error("failed to get selected message", "err", err)
|
|
|
return
|
|
return
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -326,7 +326,7 @@ func (mt *MessagesText) open() {
|
|
|
for _, a := range attachments {
|
|
for _, a := range attachments {
|
|
|
go func() {
|
|
go func() {
|
|
|
if err := open.Start(a.URL); err != nil {
|
|
if err := open.Start(a.URL); err != nil {
|
|
|
- slog.Error("failed to open URL", "err", err, "url", a.URL)
|
|
|
|
|
|
|
+ log.Error("failed to open url", "content_type", a.ContentType, "url", a.URL, "err", err)
|
|
|
}
|
|
}
|
|
|
}()
|
|
}()
|
|
|
}
|
|
}
|
|
@@ -342,7 +342,7 @@ func (mt *MessagesText) reply(mention bool) {
|
|
|
|
|
|
|
|
msg, err := mt.getSelectedMessage()
|
|
msg, err := mt.getSelectedMessage()
|
|
|
if err != nil {
|
|
if err != nil {
|
|
|
- slog.Error("failed to get selected message", "err", err)
|
|
|
|
|
|
|
+ log.Error("failed to get selected message", "err", err)
|
|
|
return
|
|
return
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -355,7 +355,7 @@ func (mt *MessagesText) reply(mention bool) {
|
|
|
func (mt *MessagesText) delete() {
|
|
func (mt *MessagesText) delete() {
|
|
|
msg, err := mt.getSelectedMessage()
|
|
msg, err := mt.getSelectedMessage()
|
|
|
if err != nil {
|
|
if err != nil {
|
|
|
- slog.Error("failed to get selected message", "err", err)
|
|
|
|
|
|
|
+ log.Error("failed to get selected message", "err", err)
|
|
|
return
|
|
return
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -376,18 +376,18 @@ func (mt *MessagesText) delete() {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
if err := discordState.DeleteMessage(layout.guildsTree.selectedChannelID, msg.ID, ""); err != nil {
|
|
if err := discordState.DeleteMessage(layout.guildsTree.selectedChannelID, msg.ID, ""); err != nil {
|
|
|
- slog.Error("failed to delete message", "err", err, "channel_id", layout.guildsTree.selectedChannelID, "message_id", msg.ID)
|
|
|
|
|
|
|
+ log.Error("failed to delete message in channel", "channel_id", layout.guildsTree.selectedChannelID, "message_id", msg.ID, "err", err)
|
|
|
return
|
|
return
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
if err := discordState.MessageRemove(layout.guildsTree.selectedChannelID, msg.ID); err != nil {
|
|
if err := discordState.MessageRemove(layout.guildsTree.selectedChannelID, msg.ID); err != nil {
|
|
|
- slog.Error("failed to delete message", "err", err, "channel_id", layout.guildsTree.selectedChannelID, "message_id", msg.ID)
|
|
|
|
|
|
|
+ log.Error("failed to delete message in channel", "channel_id", layout.guildsTree.selectedChannelID, "message_id", msg.ID, "err", err)
|
|
|
return
|
|
return
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
ms, err := discordState.Cabinet.Messages(layout.guildsTree.selectedChannelID)
|
|
ms, err := discordState.Cabinet.Messages(layout.guildsTree.selectedChannelID)
|
|
|
if err != nil {
|
|
if err != nil {
|
|
|
- slog.Error("failed to delete message", "err", err, "channel_id", layout.guildsTree.selectedChannelID)
|
|
|
|
|
|
|
+ log.Error("failed to get messages in channel", "channel_id", layout.guildsTree.selectedChannelID, "err", err)
|
|
|
return
|
|
return
|
|
|
}
|
|
}
|
|
|
|
|
|