Using u.EffectiveUser() to get a user, but username is nearly always empty
user := u.EffectiveUser()
if user != nil {
if user.Bot {
return nil
}
username = user.Username
nickname = user.FirstName + " " + user.LastName
}
I tried to use client.API().UsersGetFullUser to get user, but it failed with rpcDoRequest: rpc error code 400: USER_ID_INVALID
if len(username) == 0 && user != nil {
users, err := client.API().UsersGetFullUser(ctx, &tg.InputUser{
UserID: user.ID,
AccessHash: user.AccessHash,
})
if err == nil {
for _, user := range users.Users {
peekedUser := user.(*tg.User)
username = peekedUser.Username
nickname = peekedUser.FirstName + " " + peekedUser.LastName
}
} else {
fmt.Println(err)
}
}
How to get user's username in channel or group?
This confused me many days
Using
u.EffectiveUser()to get a user, but username is nearly always emptyI tried to use
client.API().UsersGetFullUserto get user, but it failed withrpcDoRequest: rpc error code 400: USER_ID_INVALIDHow to get user's username in channel or group?
This confused me many days