Telegram 发送到电报机器人的传入消息是否包含该机器人的任何id?

Telegram 发送到电报机器人的传入消息是否包含该机器人的任何id?,telegram,telegram-bot,Telegram,Telegram Bot,当我从telegram bot获得更新并将用户消息写入bot时,我希望看到一些具有用户id的bot id,但是,我看到这样的更新: Update{update_id=515450315, message=Message{message_id=117, from=User{id=1234567890, first_name='Name', last_name='Surname', username='null'}, date=1470510167,

当我从telegram bot获得更新并将用户消息写入bot时,我希望看到一些具有用户id的bot id,但是,我看到这样的更新:

Update{update_id=515450315, 
    message=Message{message_id=117, 
       from=User{id=1234567890, first_name='Name', last_name='Surname', username='null'}, 
       date=1470510167, 
       chat=Chat{id=1234567890, type=Private, first_name='Name', last_name='Surname', username='null', title='null'},
       ...

正如文档所述,
User
是消息的发送者(用户或bot)。但在这种情况下,用户id是实际的用户id(不是机器人id),聊天id出于某种原因等于用户id。那么,有人知道如何在更新对象期间获取机器人id吗?

这是一个
JSON
对象,当用户向机器人发送消息时,机器人会收到电报。(正如我从您的问题中了解的那样)

这是完全正常的。你问为什么? 原因有二:

1-当
用户
向bot发送内容时,首先
电报
服务器 然后将其重新发送到自己服务器上的
bot
app。所以这个
JSON
对象 逻辑上包含发件人(用户)id。(为什么?)
bot\u id
因为
bot
接收消息并且应该知道是谁发送的 它。这个号码(用户id)告诉
bot
发送者

2-为什么
聊天id
用户id
(发送者)是相等的?因为当用户 在bot的私人消息中,他/她在私人聊天中发送给bot,因此 这两个数字相等,但当用户在一个组中发送某个内容时 如果您的机器人也是其成员,则有两个不同的数字:
chat\u id
表示此处的
group\u id
用户id
(发送者id) 这会告诉发送消息的机器人

我们可以使用这两个数字的相等性检查来确定用户是在与bot进行私人聊天还是在组中发送


我不知道从
Telegram
发送到
Bot
的任何JSON对象都包含关于
Bot\u id
的任何字段。除了一些特定的方法,如method(它返回有关您的机器人的基本信息)

那么,我是否正确认为无法检查消息是来自通过机器人的用户还是直接来自用户?@p我想您的问题对我来说不清楚,请解释。什么是
用户传递bot
?我指的是这样的情况:用户向bot写入一些消息,bot将其传递到后端。据我所知,bot在message对象中没有提供消息已传递的任何信息。@sphinks,所有消息都是从电报服务器发送到bot的。所有这些都是通过私人聊天或团体聊天(或不久的将来通过频道)发起的。Bot就像一个虚拟用户。当一个人向机器人发送东西时,这类似于他/她向朋友发送东西,但机器人可以处理和做一些事情。我没有听说任何关于通过机器人之类的事情。[用户/组…][电报服务器][您的机器人]似乎我有一个误导性的评论:)我知道机器人只是另一个用户,可能有自动脚本来键入响应。我在问bot是否放置了一些uniq id,这样在消息传递过程中,服务器端就有可能发现这个消息来自一个特定的bot,以防我们对多个bot使用同一个webhook,并将来自多个bot的更新对象池化。据我从您的回答中了解,这是不可能的:我们只需要获得一个正在从更新对象写入的用户的id。