告诉我一些关于 Telegram API 的事情,例如:聊天 ID、用户 ID
Tell me a bit about Telegram API things such as: Chat ID, User ID
我有一个 Telegram 机器人。它的功能非常简单。我所需要的只是机器人向我发送人们发送给他的所有消息。
但要准确地向我发送消息,需要聊天 ID。我明白了,但问题如下:这个聊天 ID - 唯一且恒定的值是否完全属于我的 Telegram 帐户,如果不是,那么聊天 ID 实际上是什么,它是如何工作的。
我还发现我可以获取发件人的用户 ID。我可以不使用聊天 ID 而是使用用户 ID 从 Bot 发送消息吗,这也很容易获得?
顺便说一下,我正在使用 Java SDK。谢谢。
我尝试通过向机器人添加一个功能来获取我自己帐户的聊天 ID:将聊天 ID 发送给发件人。代码将在下面显示。它有效,但我不确定它是否正确。
if (!update.getMessage().isCommand()) {
String senderId;
User sender = update.getMessage().getFrom();
String messageText = update.getMessage().getText();
if(update.getMessage().getFrom().getUserName() != null) {
senderId = "@" + sender.getUserName();
} else {
senderId = sender.getFirstName() + " " + sender.getLastName();
}
Long arthurChat = 100000001L;
sendMessage(arthurChat, "Message: " + messageText + "\n" + "Sender: " + senderId);
}
等待回复。
Chat.id
唯一标识一个聊天,而 User.id
唯一标识一个用户。
在私人聊天中,这两个值是一致的,因此您可以通过以下两种方式获取该信息,而在群聊中,只有第一个会给您实际的发件人 ID,而第二个会给您群号
update.getMessage().getFrom().getId();
update.getMessage().getChat().getId();
在您报告的代码段中,您使用了一种名为 sendMessage()
的方法,但在您使用的 rubenlagus 的 java 库中已弃用该方法。相反,您应该执行以下操作:
SendMessage replyMessage = new SendMessage()
.setChatId(arthurChat)
.setText(whateverTextYouWantToSend);
execute(replyMessage);
我有一个 Telegram 机器人。它的功能非常简单。我所需要的只是机器人向我发送人们发送给他的所有消息。
但要准确地向我发送消息,需要聊天 ID。我明白了,但问题如下:这个聊天 ID - 唯一且恒定的值是否完全属于我的 Telegram 帐户,如果不是,那么聊天 ID 实际上是什么,它是如何工作的。
我还发现我可以获取发件人的用户 ID。我可以不使用聊天 ID 而是使用用户 ID 从 Bot 发送消息吗,这也很容易获得?
顺便说一下,我正在使用 Java SDK。谢谢。
我尝试通过向机器人添加一个功能来获取我自己帐户的聊天 ID:将聊天 ID 发送给发件人。代码将在下面显示。它有效,但我不确定它是否正确。
if (!update.getMessage().isCommand()) {
String senderId;
User sender = update.getMessage().getFrom();
String messageText = update.getMessage().getText();
if(update.getMessage().getFrom().getUserName() != null) {
senderId = "@" + sender.getUserName();
} else {
senderId = sender.getFirstName() + " " + sender.getLastName();
}
Long arthurChat = 100000001L;
sendMessage(arthurChat, "Message: " + messageText + "\n" + "Sender: " + senderId);
}
等待回复。
Chat.id
唯一标识一个聊天,而 User.id
唯一标识一个用户。
在私人聊天中,这两个值是一致的,因此您可以通过以下两种方式获取该信息,而在群聊中,只有第一个会给您实际的发件人 ID,而第二个会给您群号
update.getMessage().getFrom().getId();
update.getMessage().getChat().getId();
在您报告的代码段中,您使用了一种名为 sendMessage()
的方法,但在您使用的 rubenlagus 的 java 库中已弃用该方法。相反,您应该执行以下操作:
SendMessage replyMessage = new SendMessage()
.setChatId(arthurChat)
.setText(whateverTextYouWantToSend);
execute(replyMessage);