Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

message.mentioned() does not work as expected #512

Closed
galendai opened this issue May 16, 2017 · 8 comments
Closed

message.mentioned() does not work as expected #512

galendai opened this issue May 16, 2017 · 8 comments
Assignees
Labels

Comments

@galendai
Copy link

galendai commented May 16, 2017

Provide Your Network Information

  1. Dev machine: OSX 10.12.4 / Beijing/China

Expected behavior

The message.mentioned() should return the corrected mentioned contact list.

Actual behavior

It always return an empty array, prints the log:
03:25:34 WARN Message message.mentioned() can not found member using room.member() from mentionList, metion string: ["bot"]

Steps to reproduce the behavior (and fixes, if any)

  1. Room setup:

Room.memberList(): Asura,Zen,戴耕Galen,bot

  1. 戴耕Galen speaks: @bot test mention
  2. Log:

[新知客] <戴耕Galen> : {TEXT}戴耕Galen:@bot test mention
03:25:34 WARN Message message.mentioned() can not found member using room.member() from mentionList, metion string: ["bot"]

Remark:
The message is sent form iPhone 6P.

@lijiarui
Copy link
Member

Is the bot's wechat name is "bot"?
Function mentioned could recognize wechat nickname or alias instead of bot.

you should do something like this:

const bot = wechaty.instance()
const contactList = m.mentioned()
if (contactList[0] === bot.name()) {
     console.log('mentioned bot')
} 

@galendai
Copy link
Author

yes, 'bot' is actually the real name. (i changed it to 'bot' here for some confidential reason, apologize for it):

apparently the following code snippet (line 476 - 481 in message.ts) always return empty array:

    contactList = [].concat.apply([],
      mentionList.map(member => {
        room.memberAll(member)
      })
      .filter(contact => !!contact),
    )

i'm not familiar with typescript, perhaps something unexpected happened in room.ts: memberAll()? It's just a pure guess hypnosis though, any advice would be appreciated.

@lijiarui
Copy link
Member

lijiarui commented May 16, 2017

so could you log the following result for me?

console.log(bot)
console.log(room)

@galendai
Copy link
Author

galendai commented May 16, 2017

message sent:

[新知客] <戴耕Galen> : {TEXT}戴耕Galen:@新知客助手 test message

console.log('@room:', JSON.stringify(room)):

@room: {"domain":null,"_events":{},"_eventsCount":0,"id":"@@d10a99c2102dc5e015c6589ed0a50f6f0448780f584a966d8d3b58c56ede114c","rawObj":{"Alias":"","AppAccountFlag":0,"AttrStatus":0,"ChatRoomId":0,"ChatRoomOwner":"@dd4815f2a1ef8aec1b17073f0726ba1b","City":"","ContactFlag":2,"DisplayName":"","EncryChatRoomId":"@0de0c6f20ae0ea243f5aa2b414311497","HeadImgUpdateFlag":1,"HeadImgUrl":"/cgi-bin/mmwebwx-bin/webwxgetheadimg?seq=0&username=@@d10a99c2102dc5e015c6589ed0a50f6f0448780f584a966d8d3b58c56ede114c&skey=@crypt_4ed6bda8_4e2a1d866bd93b6d966efce3bf9efd21","HideInputBarFlag":0,"IsOwner":0,"KeyWord":"","MMFromBatchGet":true,"MMFromBatchget":true,"MMInChatroom":true,"MMOrderSymbol":"~","MemberCount":4,"MemberList":[{"AttrStatus":4274599,"DisplayName":"","KeyWord":"","MemberStatus":0,"NickName":"Asura","PYInitial":"","PYQuanPin":"","RemarkPYInitial":"","RemarkPYQuanPin":"","Uin":0,"UserName":"@ef1f255aef2e7ea1419633ae3ceccc9f"},{"AttrStatus":33784831,"DisplayName":"","KeyWord":"","MemberStatus":0,"NickName":"Zen","PYInitial":"","PYQuanPin":"","RemarkPYInitial":"","RemarkPYQuanPin":"","Uin":0,"UserName":"@dd4815f2a1ef8aec1b17073f0726ba1b"},{"AttrStatus":37847087,"DisplayName":"","KeyWord":"","MemberStatus":0,"NickName":"戴耕Galen","PYInitial":"","PYQuanPin":"","RemarkPYInitial":"","RemarkPYQuanPin":"","Uin":0,"UserName":"@1a8b44a8b893d28df94f16ce371405f5afd4f1f04482b05abb940d9907ae9d9a"},{"AttrStatus":4133,"DisplayName":"","KeyWord":"","MemberStatus":0,"NickName":"新知客助手","PYInitial":"","PYQuanPin":"","RemarkPYInitial":"","RemarkPYQuanPin":"","Uin":0,"UserName":"@8d4a849edf3c5d4cabe74b79bd111e0ea1cec2a5955aea7639fff33c754c5ce7"}],"NickName":"新知客","OwnerUin":0,"PYInitial":"XZK","PYQuanPin":"xinzhike","Province":"","RemarkName":"","RemarkPYInitial":"","RemarkPYQuanPin":"","Sex":0,"Signature":"","SnsFlag":0,"StarFriend":0,"Statues":1,"Uin":0,"UniFriend":0,"UserName":"@@d10a99c2102dc5e015c6589ed0a50f6f0448780f584a966d8d3b58c56ede114c","VerifyFlag":0,"stranger":true},"obj":{"id":"@@d10a99c2102dc5e015c6589ed0a50f6f0448780f584a966d8d3b58c56ede114c","encryId":"@0de0c6f20ae0ea243f5aa2b414311497","topic":"新知客","ownerUin":0,"memberList":[{"id":"@ef1f255aef2e7ea1419633ae3ceccc9f","rawObj":{"$$hashKey":"01F","Alias":"","AppAccountFlag":0,"AttrStatus":4274599,"ChatRoomId":0,"City":"","ContactFlag":3,"DisplayName":"","EncryChatRoomId":"","HeadImgUrl":"/cgi-bin/mmwebwx-bin/webwxgeticon?seq=600990041&username=@ef1f255aef2e7ea1419633ae3ceccc9f&skey=@crypt_4ed6bda8_4e2a1d866bd93b6d966efce3bf9efd21","HideInputBarFlag":0,"IsOwner":0,"KeyWord":"coo","MMOrderSymbol":"ASURA","MemberCount":0,"MemberList":[],"NickName":"Asura","OwnerUin":0,"PYInitial":"ASURA","PYQuanPin":"Asura","Province":"New Taipei City","RemarkName":"","RemarkPYInitial":"","RemarkPYQuanPin":"","Sex":1,"Signature":" 「生死有命  富贵在天」","SnsFlag":49,"StarFriend":0,"Statues":0,"Uin":0,"UniFriend":0,"UserName":"@ef1f255aef2e7ea1419633ae3ceccc9f","VerifyFlag":0,"_h":50,"_index":1,"_offsetTop":24,"stranger":false},"obj":{"id":"@ef1f255aef2e7ea1419633ae3ceccc9f","uin":0,"weixin":"","name":"Asura","alias":"","sex":1,"province":"New Taipei City","city":"","signature":" 「生死有命  富贵在天」","address":"","star":false,"stranger":false,"avatar":"/cgi-bin/mmwebwx-bin/webwxgeticon?seq=600990041&username=@ef1f255aef2e7ea1419633ae3ceccc9f&skey=@crypt_4ed6bda8_4e2a1d866bd93b6d966efce3bf9efd21","official":false,"special":false}},{"id":"@dd4815f2a1ef8aec1b17073f0726ba1b","rawObj":{"$$hashKey":"013","Alias":"","AppAccountFlag":0,"AttrStatus":33784831,"ChatRoomId":0,"City":"Baoding","ContactFlag":3,"DisplayName":"","EncryChatRoomId":"","HeadImgUrl":"/cgi-bin/mmwebwx-bin/webwxgeticon?seq=600990958&username=@dd4815f2a1ef8aec1b17073f0726ba1b&skey=@crypt_4ed6bda8_4e2a1d866bd93b6d966efce3bf9efd21","HideInputBarFlag":0,"IsOwner":0,"KeyWord":"i-p","MMOrderSymbol":"ZEN","MemberCount":0,"MemberList":[],"NickName":"Zen","OwnerUin":0,"PYInitial":"ZEN","PYQuanPin":"Zen","Province":"Hebei","RemarkName":"","RemarkPYInitial":"","RemarkPYQuanPin":"","Sex":1,"Signature":"每天略不同","SnsFlag":17,"StarFriend":0,"Statues":0,"Uin":0,"UniFriend":0,"UserName":"@dd4815f2a1ef8aec1b17073f0726ba1b","VerifyFlag":0,"_h":50,"_index":5,"_offsetTop":172,"stranger":false},"obj":{"id":"@dd4815f2a1ef8aec1b17073f0726ba1b","uin":0,"weixin":"","name":"Zen","alias":"","sex":1,"province":"Hebei","city":"Baoding","signature":"每天略不同","address":"","star":false,"stranger":false,"avatar":"/cgi-bin/mmwebwx-bin/webwxgeticon?seq=600990958&username=@dd4815f2a1ef8aec1b17073f0726ba1b&skey=@crypt_4ed6bda8_4e2a1d866bd93b6d966efce3bf9efd21","official":false,"special":false}},{"id":"@1a8b44a8b893d28df94f16ce371405f5afd4f1f04482b05abb940d9907ae9d9a","rawObj":{"$$hashKey":"011","Alias":"","AppAccountFlag":0,"AttrStatus":37847087,"ChatRoomId":0,"City":"","ContactFlag":3,"DisplayName":"","EncryChatRoomId":"","HeadImgUrl":"/cgi-bin/mmwebwx-bin/webwxgeticon?seq=600990026&username=@1a8b44a8b893d28df94f16ce371405f5afd4f1f04482b05abb940d9907ae9d9a&skey=@crypt_4ed6bda8_4e2a1d866bd93b6d966efce3bf9efd21","HideInputBarFlag":0,"IsOwner":0,"KeyWord":"","MMOrderSymbol":"DAIGENGGALEN","MemberCount":0,"MemberList":[],"NickName":"戴耕Galen","OwnerUin":0,"PYInitial":"DGGALEN","PYQuanPin":"daigengGalen","Province":"","RemarkName":"","RemarkPYInitial":"","RemarkPYQuanPin":"","Sex":0,"Signature":"","SnsFlag":49,"StarFriend":0,"Statues":0,"Uin":0,"UniFriend":0,"UserName":"@1a8b44a8b893d28df94f16ce371405f5afd4f1f04482b05abb940d9907ae9d9a","VerifyFlag":0,"_h":50,"_index":3,"_offsetTop":98,"stranger":false},"obj":{"id":"@1a8b44a8b893d28df94f16ce371405f5afd4f1f04482b05abb940d9907ae9d9a","uin":0,"weixin":"","name":"戴耕Galen","alias":"","sex":0,"province":"","city":"","signature":"","address":"","star":false,"stranger":false,"avatar":"/cgi-bin/mmwebwx-bin/webwxgeticon?seq=600990026&username=@1a8b44a8b893d28df94f16ce371405f5afd4f1f04482b05abb940d9907ae9d9a&skey=@crypt_4ed6bda8_4e2a1d866bd93b6d966efce3bf9efd21","official":false,"special":false}},{"id":"@8d4a849edf3c5d4cabe74b79bd111e0ea1cec2a5955aea7639fff33c754c5ce7","rawObj":{"AppAccountFlag":0,"ContactFlag":0,"HeadImgFlag":1,"HeadImgUrl":"/cgi-bin/mmwebwx-bin/webwxgeticon?seq=1772235795&username=@8d4a849edf3c5d4cabe74b79bd111e0ea1cec2a5955aea7639fff33c754c5ce7&skey=@crypt_4ed6bda8_4e2a1d866bd93b6d966efce3bf9efd21","HideInputBarFlag":0,"MMOrderSymbol":"~","NickName":"新知客助手","PYInitial":"","PYQuanPin":"","RemarkName":"","RemarkPYInitial":"","RemarkPYQuanPin":"","Sex":0,"Signature":"","SnsFlag":0,"StarFriend":0,"Uin":3485620294,"UserName":"@8d4a849edf3c5d4cabe74b79bd111e0ea1cec2a5955aea7639fff33c754c5ce7","VerifyFlag":0,"WebWxPluginSwitch":0,"stranger":false},"obj":{"id":"@8d4a849edf3c5d4cabe74b79bd111e0ea1cec2a5955aea7639fff33c754c5ce7","uin":3485620294,"name":"新知客助手","alias":"","sex":0,"signature":"","star":false,"stranger":false,"avatar":"/cgi-bin/mmwebwx-bin/webwxgeticon?seq=1772235795&username=@8d4a849edf3c5d4cabe74b79bd111e0ea1cec2a5955aea7639fff33c754c5ce7&skey=@crypt_4ed6bda8_4e2a1d866bd93b6d966efce3bf9efd21","official":false,"special":false}}],"nameMap":[],"roomAliasMap":[],"contactAliasMap":[]}}

console.log('@room.member(新知客助手)', JSON.stringify(room.member('新知客助手')):

@room.member(新知客助手): {"id":"@8d4a849edf3c5d4cabe74b79bd111e0ea1cec2a5955aea7639fff33c754c5ce7","rawObj":{"AppAccountFlag":0,"ContactFlag":0,"HeadImgFlag":1,"HeadImgUrl":"/cgi-bin/mmwebwx-bin/webwxgeticon?seq=1772235795&username=@8d4a849edf3c5d4cabe74b79bd111e0ea1cec2a5955aea7639fff33c754c5ce7&skey=@crypt_4ed6bda8_4e2a1d866bd93b6d966efce3bf9efd21","HideInputBarFlag":0,"MMOrderSymbol":"~","NickName":"新知客助手","PYInitial":"","PYQuanPin":"","RemarkName":"","RemarkPYInitial":"","RemarkPYQuanPin":"","Sex":0,"Signature":"","SnsFlag":0,"StarFriend":0,"Uin":3485620294,"UserName":"@8d4a849edf3c5d4cabe74b79bd111e0ea1cec2a5955aea7639fff33c754c5ce7","VerifyFlag":0,"WebWxPluginSwitch":0,"stranger":false},"obj":{"id":"@8d4a849edf3c5d4cabe74b79bd111e0ea1cec2a5955aea7639fff33c754c5ce7","uin":3485620294,"name":"新知客助手","alias":"","sex":0,"signature":"","star":false,"stranger":false,"avatar":"/cgi-bin/mmwebwx-bin/webwxgeticon?seq=1772235795&username=@8d4a849edf3c5d4cabe74b79bd111e0ea1cec2a5955aea7639fff33c754c5ce7&skey=@crypt_4ed6bda8_4e2a1d866bd93b6d966efce3bf9efd21","official":false,"special":false}}

console.log('@room.memberList():', JSON.stringify(room.memberList())):

[{"id":"@ef1f255aef2e7ea1419633ae3ceccc9f","rawObj":{"$$hashKey":"01F","Alias":"","AppAccountFlag":0,"AttrStatus":4274599,"ChatRoomId":0,"City":"","ContactFlag":3,"DisplayName":"","EncryChatRoomId":"","HeadImgUrl":"/cgi-bin/mmwebwx-bin/webwxgeticon?seq=600990041&username=@ef1f255aef2e7ea1419633ae3ceccc9f&skey=@crypt_4ed6bda8_4e2a1d866bd93b6d966efce3bf9efd21","HideInputBarFlag":0,"IsOwner":0,"KeyWord":"coo","MMOrderSymbol":"ASURA","MemberCount":0,"MemberList":[],"NickName":"Asura","OwnerUin":0,"PYInitial":"ASURA","PYQuanPin":"Asura","Province":"New Taipei City","RemarkName":"","RemarkPYInitial":"","RemarkPYQuanPin":"","Sex":1,"Signature":" 「生死有命  富贵在天」","SnsFlag":49,"StarFriend":0,"Statues":0,"Uin":0,"UniFriend":0,"UserName":"@ef1f255aef2e7ea1419633ae3ceccc9f","VerifyFlag":0,"_h":50,"_index":1,"_offsetTop":24,"stranger":false},"obj":{"id":"@ef1f255aef2e7ea1419633ae3ceccc9f","uin":0,"weixin":"","name":"Asura","alias":"","sex":1,"province":"New Taipei City","city":"","signature":" 「生死有命  富贵在天」","address":"","star":false,"stranger":false,"avatar":"/cgi-bin/mmwebwx-bin/webwxgeticon?seq=600990041&username=@ef1f255aef2e7ea1419633ae3ceccc9f&skey=@crypt_4ed6bda8_4e2a1d866bd93b6d966efce3bf9efd21","official":false,"special":false}},{"id":"@dd4815f2a1ef8aec1b17073f0726ba1b","rawObj":{"$$hashKey":"013","Alias":"","AppAccountFlag":0,"AttrStatus":33784831,"ChatRoomId":0,"City":"Baoding","ContactFlag":3,"DisplayName":"","EncryChatRoomId":"","HeadImgUrl":"/cgi-bin/mmwebwx-bin/webwxgeticon?seq=600990958&username=@dd4815f2a1ef8aec1b17073f0726ba1b&skey=@crypt_4ed6bda8_4e2a1d866bd93b6d966efce3bf9efd21","HideInputBarFlag":0,"IsOwner":0,"KeyWord":"i-p","MMOrderSymbol":"ZEN","MemberCount":0,"MemberList":[],"NickName":"Zen","OwnerUin":0,"PYInitial":"ZEN","PYQuanPin":"Zen","Province":"Hebei","RemarkName":"","RemarkPYInitial":"","RemarkPYQuanPin":"","Sex":1,"Signature":"每天略不同","SnsFlag":17,"StarFriend":0,"Statues":0,"Uin":0,"UniFriend":0,"UserName":"@dd4815f2a1ef8aec1b17073f0726ba1b","VerifyFlag":0,"_h":50,"_index":5,"_offsetTop":172,"stranger":false},"obj":{"id":"@dd4815f2a1ef8aec1b17073f0726ba1b","uin":0,"weixin":"","name":"Zen","alias":"","sex":1,"province":"Hebei","city":"Baoding","signature":"每天略不同","address":"","star":false,"stranger":false,"avatar":"/cgi-bin/mmwebwx-bin/webwxgeticon?seq=600990958&username=@dd4815f2a1ef8aec1b17073f0726ba1b&skey=@crypt_4ed6bda8_4e2a1d866bd93b6d966efce3bf9efd21","official":false,"special":false}},{"id":"@1a8b44a8b893d28df94f16ce371405f5afd4f1f04482b05abb940d9907ae9d9a","rawObj":{"$$hashKey":"011","Alias":"","AppAccountFlag":0,"AttrStatus":37847087,"ChatRoomId":0,"City":"","ContactFlag":3,"DisplayName":"","EncryChatRoomId":"","HeadImgUrl":"/cgi-bin/mmwebwx-bin/webwxgeticon?seq=600990026&username=@1a8b44a8b893d28df94f16ce371405f5afd4f1f04482b05abb940d9907ae9d9a&skey=@crypt_4ed6bda8_4e2a1d866bd93b6d966efce3bf9efd21","HideInputBarFlag":0,"IsOwner":0,"KeyWord":"","MMOrderSymbol":"DAIGENGGALEN","MemberCount":0,"MemberList":[],"NickName":"戴耕Galen","OwnerUin":0,"PYInitial":"DGGALEN","PYQuanPin":"daigengGalen","Province":"","RemarkName":"","RemarkPYInitial":"","RemarkPYQuanPin":"","Sex":0,"Signature":"","SnsFlag":49,"StarFriend":0,"Statues":0,"Uin":0,"UniFriend":0,"UserName":"@1a8b44a8b893d28df94f16ce371405f5afd4f1f04482b05abb940d9907ae9d9a","VerifyFlag":0,"_h":50,"_index":3,"_offsetTop":98,"stranger":false},"obj":{"id":"@1a8b44a8b893d28df94f16ce371405f5afd4f1f04482b05abb940d9907ae9d9a","uin":0,"weixin":"","name":"戴耕Galen","alias":"","sex":0,"province":"","city":"","signature":"","address":"","star":false,"stranger":false,"avatar":"/cgi-bin/mmwebwx-bin/webwxgeticon?seq=600990026&username=@1a8b44a8b893d28df94f16ce371405f5afd4f1f04482b05abb940d9907ae9d9a&skey=@crypt_4ed6bda8_4e2a1d866bd93b6d966efce3bf9efd21","official":false,"special":false}},{"id":"@8d4a849edf3c5d4cabe74b79bd111e0ea1cec2a5955aea7639fff33c754c5ce7","rawObj":{"AppAccountFlag":0,"ContactFlag":0,"HeadImgFlag":1,"HeadImgUrl":"/cgi-bin/mmwebwx-bin/webwxgeticon?seq=1772235795&username=@8d4a849edf3c5d4cabe74b79bd111e0ea1cec2a5955aea7639fff33c754c5ce7&skey=@crypt_4ed6bda8_4e2a1d866bd93b6d966efce3bf9efd21","HideInputBarFlag":0,"MMOrderSymbol":"~","NickName":"新知客助手","PYInitial":"","PYQuanPin":"","RemarkName":"","RemarkPYInitial":"","RemarkPYQuanPin":"","Sex":0,"Signature":"","SnsFlag":0,"StarFriend":0,"Uin":3485620294,"UserName":"@8d4a849edf3c5d4cabe74b79bd111e0ea1cec2a5955aea7639fff33c754c5ce7","VerifyFlag":0,"WebWxPluginSwitch":0,"stranger":false},"obj":{"id":"@8d4a849edf3c5d4cabe74b79bd111e0ea1cec2a5955aea7639fff33c754c5ce7","uin":3485620294,"name":"新知客助手","alias":"","sex":0,"signature":"","star":false,"stranger":false,"avatar":"/cgi-bin/mmwebwx-bin/webwxgeticon?seq=1772235795&username=@8d4a849edf3c5d4cabe74b79bd111e0ea1cec2a5955aea7639fff33c754c5ce7&skey=@crypt_4ed6bda8_4e2a1d866bd93b6d966efce3bf9efd21","official":false,"special":false}}]

final log:

10:49:58 WARN Message message.mentioned() can not found member using room.member() from mentionList, metion string: ["新知客助手"]

@lijiarui
Copy link
Member

So you mean you can use function room.member() get the bot object, but cannot use @新知客助手 get the bot object?

@galendai
Copy link
Author

no, room.member() actually works fine.

the problem is message.mentioned() always returns an empty array. i also tried to run npm version and print logs in message.ts, it seems something unexpected happened between line 476 - 481 as comments described above.

code snippet here: https://gist.github.com/galendai/831bf2c415f38c2a051fe101dd6c2578

@lijiarui lijiarui added the bug label May 16, 2017
lijiarui added a commit to lijiarui/wechaty that referenced this issue May 16, 2017
@lijiarui lijiarui mentioned this issue May 16, 2017
@lijiarui lijiarui self-assigned this May 16, 2017
@FlyingBlazer
Copy link
Contributor

i think this is only a syntax error, see my pr #531
see following code

contactList = [].concat.apply([],
    mentionList.map(member => {
        room.memberAll(member)
    })
    .filter(contact => !!contact),
)

you need to use return in arrow function when using {}

contactList = [].concat.apply([],
    mentionList.map(member => {
        return room.memberAll(member)
    })
    .filter(contact => !!contact),
)

or remove {}

contactList = [].concat.apply([],
    mentionList.map(member => room.memberAll(member))
    .filter(contact => !!contact),
)

@lijiarui
Copy link
Member

@FlyingBlazer Thanks for your reply, yes, this is my syntax error and I have fixed it until author merge.
see #514

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants