From 29c3c4009a9345069e22cd755bca63942b8d19d8 Mon Sep 17 00:00:00 2001 From: Sumner Evans Date: Thu, 18 Jul 2024 17:40:21 -0600 Subject: [PATCH] client: improve logging on getEventSender Signed-off-by: Sumner Evans --- pkg/connector/telegram.go | 33 +++++++++++++-------------------- 1 file changed, 13 insertions(+), 20 deletions(-) diff --git a/pkg/connector/telegram.go b/pkg/connector/telegram.go index 83064c3f..9740436c 100644 --- a/pkg/connector/telegram.go +++ b/pkg/connector/telegram.go @@ -119,34 +119,27 @@ func (t *TelegramClient) onUpdateNewMessage(ctx context.Context, update IGetMess return nil } -type messageWithSender interface { +func (t *TelegramClient) getEventSender(msg interface { GetOut() bool GetFromID() (tg.PeerClass, bool) GetPeerID() tg.PeerClass -} - -func (t *TelegramClient) getEventSender(msg messageWithSender) (sender bridgev2.EventSender) { +}) bridgev2.EventSender { if msg.GetOut() { - sender.IsFromMe = true - sender.SenderLogin = t.loginID - sender.Sender = t.userID - } else if f, ok := msg.GetFromID(); ok { - switch from := f.(type) { - case *tg.PeerUser: - sender.SenderLogin = ids.MakeUserLoginID(from.UserID) - sender.Sender = ids.MakeUserID(from.UserID) - default: - // fmt.Printf("%+v\n", f) - // fmt.Printf("%T\n", f) - panic("unimplemented FromID") + return bridgev2.EventSender{IsFromMe: true, SenderLogin: t.loginID, Sender: t.userID} + } else if f, ok := msg.GetFromID(); ok && f.TypeID() == tg.PeerUserTypeID { + from := f.(*tg.PeerUser) + return bridgev2.EventSender{ + SenderLogin: ids.MakeUserLoginID(from.UserID), + Sender: ids.MakeUserID(from.UserID), } } else if peer, ok := msg.GetPeerID().(*tg.PeerUser); ok { - sender.SenderLogin = ids.MakeUserLoginID(peer.UserID) - sender.Sender = ids.MakeUserID(peer.UserID) + return bridgev2.EventSender{ + SenderLogin: ids.MakeUserLoginID(peer.UserID), + Sender: ids.MakeUserID(peer.UserID), + } } else { - panic("not from anyone") + panic(fmt.Sprintf("couldn't determine sender (from: %+v) (peer: %+v)", f, msg.GetPeerID())) } - return } func (t *TelegramClient) onUserName(ctx context.Context, e tg.Entities, update *tg.UpdateUserName) error {