Telegram bot 如何从他们发送的消息中获取 link 到用户个人资料
Telegram bot How to get link to user profile from a message they send
我正在使用电报机器人,我有这个方法来获取用户消息。
我需要找到一种方法让发送此消息的用户获得 link
我看到有这种方法,但我不知道如何将它们连接到“link”到配置文件
@Override
public void onUpdateReceived(Update update) {
update.getMessage().getFrom();
// i have: getFirstName(), getLastName() - not helping
// i have also getId() - but its a number how do i convert it to a link to telegram profile ?
}
在 Telegram 上拥有用户名是可选的,设置它意味着其他人可以在不知道他们的 phone 号码的情况下联系用户。只有在 Telegram 设置中选择用户名的用户才有个人资料 link,link 的格式为 https://t.me/<username>
.
对于普通消息,您可以通过 update.getMessage().getFrom().getUsername()
获取用户名并使用它来创建配置文件 links,但是请注意,对于许多用户而言,此值将为空(这意味着他们不会没有个人资料 link)。
此外,如果您保留聊天 ID 数据库,您可以通过 getChat Telegram API 调用获取用户的用户名。这可能很有用,因为虽然用户可以随时更改用户名(这意味着他们的个人资料 link 也会更改),但用户的聊天 ID 随着时间的推移是不变的,并且 getChat
方法将始终为您提供包含最新信息。
我正在使用电报机器人,我有这个方法来获取用户消息。 我需要找到一种方法让发送此消息的用户获得 link 我看到有这种方法,但我不知道如何将它们连接到“link”到配置文件
@Override
public void onUpdateReceived(Update update) {
update.getMessage().getFrom();
// i have: getFirstName(), getLastName() - not helping
// i have also getId() - but its a number how do i convert it to a link to telegram profile ?
}
在 Telegram 上拥有用户名是可选的,设置它意味着其他人可以在不知道他们的 phone 号码的情况下联系用户。只有在 Telegram 设置中选择用户名的用户才有个人资料 link,link 的格式为 https://t.me/<username>
.
对于普通消息,您可以通过 update.getMessage().getFrom().getUsername()
获取用户名并使用它来创建配置文件 links,但是请注意,对于许多用户而言,此值将为空(这意味着他们不会没有个人资料 link)。
此外,如果您保留聊天 ID 数据库,您可以通过 getChat Telegram API 调用获取用户的用户名。这可能很有用,因为虽然用户可以随时更改用户名(这意味着他们的个人资料 link 也会更改),但用户的聊天 ID 随着时间的推移是不变的,并且 getChat
方法将始终为您提供包含最新信息。