Botframework Bot框架不';如果电报配置文件不';我没有全名或用户名
如果消息是由没有用户名和全名的用户发送的,则从Bot框架发送的消息在Botframework Bot框架不';如果电报配置文件不';我没有全名或用户名,botframework,telegram-bot,Botframework,Telegram Bot,如果消息是由没有用户名和全名的用户发送的,则从Bot框架发送的消息在from对象中没有name属性。例如,如果像这样从配置文件中删除名字或姓氏 下面是一个json示例,我从只有名字的用户发送的消息中获得(查看fromobject): 由于@NilsW的评论,我再次对其进行了测试,它似乎只有在设置了电报配置文件的用户名时才存在from.name(可以从channelData.message.from.username中查找相同的内容),所以我想,当用户名未设置时,不显示用户名是有意义的:)并且没
from
对象中没有name
属性。例如,如果像这样从配置文件中删除名字或姓氏
下面是一个json示例,我从只有名字的用户发送的消息中获得(查看from
object):
由于@NilsW的评论,我再次对其进行了测试,它似乎只有在设置了电报配置文件的用户名时才存在
from.name
(可以从channelData.message.from.username
中查找相同的内容),所以我想,当用户名未设置时,不显示用户名是有意义的:)并且没有姓氏
部分与此无关。我不明白这个问题。总之,name属性属于ChannelData
而不是from
对象。@OmGfrom
对象始终具有id
和name
,除了像这样的一些bug之外,ChannelData
是bot框架发送给您的特定于频道(第三方服务)的数据。因此,您可以从ChannelData
中获得名称,正如您在结果中看到的那样。使用ChannelData.from.first\u name
@NilsW是的,我认为这可能是最好的方法,如果看到此错误得到修复,那将是非常酷的。
{
"channelData": {
"message": {
"chat": {
"all_members_are_administrators": true,
"id": -219911672,
"title": "jlarky-dev",
"type": "group"
},
"date": 1493246056,
"from": {
"first_name": "Test",
"id": 107390199
},
"message_id": 100,
"text": "test"
},
"update_id": 66470785
},
"channelId": "telegram",
"conversation": {
"id": "-219911672",
"isGroup": true,
"name": "jlarky-dev"
},
"entities": [
{
"mentioned": {
"id": "JLarkyTestBot",
"name": "jlarky_test"
},
"text": "JLarkyTestBot",
"type": "mention"
}
],
"from": {
"id": "107390199"
},
"id": "KxBlE8JsLfg",
"recipient": {
"id": "JLarkyTestBot",
"name": "jlarky_test"
},
"serviceUrl": "https://telegram.botframework.com",
"text": "test",
"timestamp": "2017-04-26T22:34:17.4109674Z",
"type": "message"
}