tg_history_dumper
tg_history_dumper copied to clipboard
Public channels and chats user hasn't joined can't be exported
Would be nice if chats not present in user chat list were resolved by username or id
Resolving username:
func tgResolveUsername(tg *tgclient.TGClient, username string) (chat Chat, err error) {
res := tg.SendSyncRetry(mtproto.TL_contacts_resolveUsername{
Username: username,
}, time.Second, 0, 30*time.Second)
resolvedPeerRes, ok := res.(mtproto.TL_contacts_resolvedPeer)
if !ok {
err = merry.Wrap(mtproto.WrongRespError(res))
return;
}
switch chatRes := resolvedPeerRes.Chats[0].(type) {
case mtproto.TL_user:
// ...
case mtproto.TL_chat:
// ...
case mtproto.TL_channel:
// ...
default:
err = merry.Wrap(mtproto.WrongRespError(resolvedPeerRes.Chats[0]))
}
return
}