diff --git a/bot/data.go b/bot/data.go index 327dc79..160cc72 100644 --- a/bot/data.go +++ b/bot/data.go @@ -1,22 +1,5 @@ package bot -import ( - "strings" - - "maunium.net/go/mautrix/id" -) - -// account data keys -const ( - messagekey = "cc.etke.postmoogle.message" -) - -// event keys -const ( - eventMessageIDkey = "cc.etke.postmoogle.messageID" - eventInReplyToKey = "cc.etke.postmoogle.inReplyTo" -) - var migrations = []string{} func (b *Bot) migrate() error { @@ -68,31 +51,3 @@ func (b *Bot) syncRooms() error { return nil } - -func (b *Bot) getThreadID(roomID id.RoomID, messageID string) id.EventID { - key := messagekey + "." + messageID - data := map[string]id.EventID{} - err := b.lp.GetClient().GetRoomAccountData(roomID, key, &data) - if err != nil { - if !strings.Contains(err.Error(), "M_NOT_FOUND") { - b.log.Error("cannot retrieve account data %s: %v", key, err) - return "" - } - } - - return data["eventID"] -} - -func (b *Bot) setThreadID(roomID id.RoomID, messageID string, eventID id.EventID) { - key := messagekey + "." + messageID - data := map[string]id.EventID{ - "eventID": eventID, - } - - err := b.lp.GetClient().SetRoomAccountData(roomID, key, data) - if err != nil { - if !strings.Contains(err.Error(), "M_NOT_FOUND") { - b.log.Error("cannot save account data %s: %v", key, err) - } - } -} diff --git a/bot/email.go b/bot/email.go index e4cbd4a..a7c6349 100644 --- a/bot/email.go +++ b/bot/email.go @@ -12,6 +12,15 @@ import ( "gitlab.com/etke.cc/postmoogle/utils" ) +// account data key +const acMessagePrefix = "cc.etke.postmoogle.message" + +// event keys +const ( + eventMessageIDkey = "cc.etke.postmoogle.messageID" + eventInReplyToKey = "cc.etke.postmoogle.inReplyTo" +) + func email2content(email *utils.Email, cfg roomsettings, threadID id.EventID) *event.Content { var text strings.Builder if !cfg.NoSender() { @@ -115,3 +124,31 @@ func (b *Bot) sendFiles(ctx context.Context, roomID id.RoomID, files []*utils.Fi } } } + +func (b *Bot) getThreadID(roomID id.RoomID, messageID string) id.EventID { + key := acMessagePrefix + "." + messageID + data := map[string]id.EventID{} + err := b.lp.GetClient().GetRoomAccountData(roomID, key, &data) + if err != nil { + if !strings.Contains(err.Error(), "M_NOT_FOUND") { + b.log.Error("cannot retrieve account data %s: %v", key, err) + return "" + } + } + + return data["eventID"] +} + +func (b *Bot) setThreadID(roomID id.RoomID, messageID string, eventID id.EventID) { + key := acMessagePrefix + "." + messageID + data := map[string]id.EventID{ + "eventID": eventID, + } + + err := b.lp.GetClient().SetRoomAccountData(roomID, key, data) + if err != nil { + if !strings.Contains(err.Error(), "M_NOT_FOUND") { + b.log.Error("cannot save account data %s: %v", key, err) + } + } +} diff --git a/bot/settings_bot.go b/bot/settings_bot.go index be057b4..dc44379 100644 --- a/bot/settings_bot.go +++ b/bot/settings_bot.go @@ -7,7 +7,7 @@ import ( ) // account data key -const botsettingskey = "cc.etke.postmoogle.config" +const acBotSettingsKey = "cc.etke.postmoogle.config" // bot options keys const ( @@ -48,26 +48,26 @@ func (b *Bot) migrateBotSettings(users []string) error { } func (b *Bot) getBotSettings() botsettings { - cfg := b.botcfg.Get(botsettingskey) + cfg := b.botcfg.Get(acBotSettingsKey) if cfg != nil { return cfg } config := botsettings{} - err := b.lp.GetClient().GetAccountData(botsettingskey, &config) + err := b.lp.GetClient().GetAccountData(acBotSettingsKey, &config) if err != nil { if strings.Contains(err.Error(), "M_NOT_FOUND") { err = nil } b.log.Error("cannot get bot settings: %v", utils.UnwrapError(err)) } else { - b.botcfg.Set(botsettingskey, config) + b.botcfg.Set(acBotSettingsKey, config) } return config } func (b *Bot) setBotSettings(cfg botsettings) error { - b.botcfg.Set(botsettingskey, cfg) - return utils.UnwrapError(b.lp.GetClient().SetAccountData(botsettingskey, cfg)) + b.botcfg.Set(acBotSettingsKey, cfg) + return utils.UnwrapError(b.lp.GetClient().SetAccountData(acBotSettingsKey, cfg)) } diff --git a/bot/settings_room.go b/bot/settings_room.go index 9ab0037..f65c021 100644 --- a/bot/settings_room.go +++ b/bot/settings_room.go @@ -10,7 +10,7 @@ import ( ) // account data key -const roomsettingskey = "cc.etke.postmoogle.settings" +const acRoomSettingsKey = "cc.etke.postmoogle.settings" // option keys const ( @@ -73,7 +73,7 @@ func (s roomsettings) NoFiles() bool { // TODO: remove after migration func (b *Bot) migrateSettings(roomID id.RoomID) { var config settingsOld - err := b.lp.GetClient().GetRoomAccountData(roomID, roomsettingskey, &config) + err := b.lp.GetClient().GetRoomAccountData(roomID, acRoomSettingsKey, &config) if err != nil { // any error = no need to migrate return @@ -100,7 +100,7 @@ func (b *Bot) getRoomSettings(roomID id.RoomID) (roomsettings, error) { } config := roomsettings{} - err := b.lp.GetClient().GetRoomAccountData(roomID, roomsettingskey, &config) + err := b.lp.GetClient().GetRoomAccountData(roomID, acRoomSettingsKey, &config) if err != nil { if strings.Contains(err.Error(), "M_NOT_FOUND") { // Suppress `M_NOT_FOUND (HTTP 404): Room account data not found` errors. @@ -117,5 +117,5 @@ func (b *Bot) getRoomSettings(roomID id.RoomID) (roomsettings, error) { func (b *Bot) setRoomSettings(roomID id.RoomID, cfg roomsettings) error { b.cfg.Set(roomID.String(), cfg) - return utils.UnwrapError(b.lp.GetClient().SetRoomAccountData(roomID, roomsettingskey, cfg)) + return utils.UnwrapError(b.lp.GetClient().SetRoomAccountData(roomID, acRoomSettingsKey, cfg)) }