mirror of
https://mau.dev/mautrix/go.git
synced 2026-03-14 14:25:53 +01:00
bridgev2/commands: add command to sync single chat
This commit is contained in:
parent
2a01535030
commit
7f0f51ecf3
2 changed files with 31 additions and 1 deletions
|
|
@ -44,7 +44,7 @@ func NewProcessor(bridge *bridgev2.Bridge) bridgev2.CommandProcessor {
|
|||
CommandRegisterPush, CommandSendAccountData, CommandDeletePortal, CommandDeleteAllPortals, CommandSetManagementRoom,
|
||||
CommandLogin, CommandRelogin, CommandListLogins, CommandLogout, CommandSetPreferredLogin,
|
||||
CommandSetRelay, CommandUnsetRelay,
|
||||
CommandResolveIdentifier, CommandStartChat, CommandSearch,
|
||||
CommandResolveIdentifier, CommandStartChat, CommandSearch, CommandSyncChat,
|
||||
CommandSudo, CommandDoIn,
|
||||
)
|
||||
return proc
|
||||
|
|
|
|||
|
|
@ -13,6 +13,7 @@ import (
|
|||
"maps"
|
||||
"slices"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/rs/zerolog"
|
||||
|
||||
|
|
@ -36,6 +37,35 @@ var CommandResolveIdentifier = &FullHandler{
|
|||
NetworkAPI: NetworkAPIImplements[bridgev2.IdentifierResolvingNetworkAPI],
|
||||
}
|
||||
|
||||
var CommandSyncChat = &FullHandler{
|
||||
Func: func(ce *Event) {
|
||||
login, _, err := ce.Portal.FindPreferredLogin(ce.Ctx, ce.User, false)
|
||||
if err != nil {
|
||||
ce.Log.Err(err).Msg("Failed to find login for sync")
|
||||
ce.Reply("Failed to find login: %v", err)
|
||||
return
|
||||
} else if login == nil {
|
||||
ce.Reply("No login found for sync")
|
||||
return
|
||||
}
|
||||
info, err := login.Client.GetChatInfo(ce.Ctx, ce.Portal)
|
||||
if err != nil {
|
||||
ce.Log.Err(err).Msg("Failed to get chat info for sync")
|
||||
ce.Reply("Failed to get chat info: %v", err)
|
||||
return
|
||||
}
|
||||
ce.Portal.UpdateInfo(ce.Ctx, info, login, nil, time.Time{})
|
||||
ce.React("✅️")
|
||||
},
|
||||
Name: "sync-portal",
|
||||
Help: HelpMeta{
|
||||
Section: HelpSectionChats,
|
||||
Description: "Sync the current portal room",
|
||||
},
|
||||
RequiresPortal: true,
|
||||
RequiresLogin: true,
|
||||
}
|
||||
|
||||
var CommandStartChat = &FullHandler{
|
||||
Func: fnResolveIdentifier,
|
||||
Name: "start-chat",
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue