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

room.say() 得不到正确的消息是否交付成功的结果 #328

Open
KAWATAAAAAA opened this issue Mar 27, 2023 · 4 comments
Open

room.say() 得不到正确的消息是否交付成功的结果 #328

KAWATAAAAAA opened this issue Mar 27, 2023 · 4 comments

Comments

@KAWATAAAAAA
Copy link

KAWATAAAAAA commented Mar 27, 2023

1. Versions

  • What is your wechaty version?
    Answer: "@juzi/wechaty": "1.0.47"

  • What is your wechaty-puppet-padplus version?
    Answer: "@juzi/wechaty-puppet-padplus": "1.2.4",

  • What is your node version? (run node --version)
    Answer: v16.17.0

  • What os are you using
    Answer: Mac Os

2. Describe the bug

当我使用 await room.say() 的时候,即使群不存在,或者机器人不在群中,say方法返回的Promise依然是 Promise,

这使得我无法得到消息是否正确交付的状态
image

3. To Reproduce

  1. 利用 bug room.has() 方法返回结果不准确 #325 ,创造一个 room.has() 返回false 的群
  2. 向该群中发任意消息
  3. 所有say的promise 都是 fulfilled

4. Expected behavior

Promise应当为 ==> rejected

5. Actual behavior

Promise依然是 Promise,

6. Full Output Logs

请关注日志关键词areyousure 输出

Show Logs
开始推送 1511635223 2023-03-27 17:52:01
17:52:01 SILL Room find({"id":"49169751155@chatroom"})
17:52:01 SILL Room ready()
17:52:01 SILL PuppetLoginMixin get currentUserId()
17:52:01 SILL PuppetPadplus roomMemberList(49169751155@chatroom)
[2023-03-27T17:52:01.126+08:00] [INFO] [85279] [] [wuyuweideMacBook-Pro.local] [172.21.144.49] [wechaty-robot] [] [] [] [] [8ms , requestInfo:{"method":"POST","url":"/robot/pushTask","host":"127.0.0.1:3000"}] ## '' 

areyousure false
17:52:01 VERB Room say(FileBox#Url<1817638618.png>, )
17:52:01 SILL PuppetPadplus messageSendFile(49169751155@chatroom)

17:52:01 SILL PuppetPadplus file url : https://front-xps-cdn.xsyx.xyz/custom/day360/2023/03/23/1817638618.png
17:52:01 SILL PuppetPadplus fileType image/png
17:52:01 SILL PuppetLoginMixin get currentUserId()
17:52:01 VERB PadplusManager sendFile()
17:52:01 VERB PadplusMessage sendFile()
17:52:01 SILL RequestClient request()
17:52:01 SILL DedupeApi dedupe() no need to dedupe api SEND_FILE.
17:52:01 SILL GRPC_GATEWAY GRPC Request ApiType: SEND_FILE
17:52:02 SILL GRPC_GATEWAY throttleQueue emit heartbeat.
17:52:02 VERB Watchdog <Puppet> feed({"data":"0e55078f-0ea6-4732-b93e-b231ef166bb8"})
17:52:02 VERB Watchdog <Puppet> timerLeft() = 44926
17:52:02 VERB Watchdog <Puppet> stopTimer()
17:52:02 VERB Watchdog <Puppet> startTimer()
17:52:02 SILL PadplusManager setContactAndRoomData()
17:52:02 VERB Message find({"id":"1679910722228"})
17:52:02 VERB Message findAll({"id":"1679910722228"})
17:52:02 VERB PuppetMessageMixin messageSearch({"id":"1679910722228"})
17:52:02 VERB PuppetMessageMixin messagePayload(1679910722228)
17:52:02 SILL PuppetMessageMixin messagePayloadCache(1679910722228) cache MISS
17:52:02 SILL PuppetPadplus messageRawPayload(1679910722228)
17:52:02 ERR PuppetPadplus messageRawPayload(1679910722228) manager.cacheManager.getMessage(1679910722228) return nothing.
17:52:02 VERB PuppetMessageMixin messageSearch() payload not found for id "1679910722228"

17:52:02 SILL PadplusManager setContactAndRoomData() found contact, room, friend data no change.
17:52:03 SILL Room find({"id":"49169751155@chatroom"})
17:52:03 SILL Room ready()
17:52:03 SILL PuppetLoginMixin get currentUserId()
17:52:03 SILL PuppetPadplus roomMemberList(49169751155@chatroom)
areyousure false
17:52:03 VERB Room say(FileBox#Url<410967943.jpg>, )
17:52:03 SILL PuppetPadplus messageSendFile(49169751155@chatroom)
17:52:03 SILL PuppetPadplus file url : https://front-xps-cdn.xsyx.xyz/custom/day360/2023/03/23/410967943.jpg
17:52:03 SILL PuppetPadplus fileType image/jpeg
17:52:03 SILL PuppetLoginMixin get currentUserId()
17:52:03 VERB PadplusManager sendFile()
17:52:03 VERB PadplusMessage sendFile()
17:52:03 SILL RequestClient request()
17:52:03 SILL DedupeApi dedupe() no need to dedupe api SEND_FILE.
17:52:03 SILL GRPC_GATEWAY GRPC Request ApiType: SEND_FILE
17:52:04 VERB Message find({"id":"1679910724316"})
17:52:04 VERB Message findAll({"id":"1679910724316"})
17:52:04 VERB PuppetMessageMixin messageSearch({"id":"1679910724316"})
17:52:04 VERB PuppetMessageMixin messagePayload(1679910724316)
17:52:04 SILL PuppetMessageMixin messagePayloadCache(1679910724316) cache MISS
17:52:04 SILL PuppetPadplus messageRawPayload(1679910724316)
17:52:04 ERR PuppetPadplus messageRawPayload(1679910724316) manager.cacheManager.getMessage(1679910724316) return nothing.
17:52:04 VERB PuppetMessageMixin messageSearch() payload not found for id "1679910724316"

17:52:05 VERB PadplusMessage sendMessage()
17:52:05 SILL RequestClient request()
17:52:05 SILL DedupeApi dedupe() no need to dedupe api SEND_MESSAGE.
17:52:05 SILL GRPC_GATEWAY GRPC Request ApiType: SEND_MESSAGE
17:52:05 VERB Message find({"id":"1679910725761"})
17:52:05 VERB Message findAll({"id":"1679910725761"})
17:52:05 VERB PuppetMessageMixin messageSearch({"id":"1679910725761"})
17:52:05 VERB PuppetMessageMixin messagePayload(1679910725761)
17:52:05 SILL PuppetMessageMixin messagePayloadCache(1679910725761) cache MISS
17:52:05 SILL PuppetPadplus messageRawPayload(1679910725761)
17:52:05 ERR PuppetPadplus messageRawPayload(1679910725761) manager.cacheManager.getMessage(1679910725761) return nothing.
17:52:05 VERB PuppetMessageMixin messageSearch() payload not found for id "1679910725761"

17:52:06 SILL Room find({"id":"49169751155@chatroom"})
17:52:06 SILL Room ready()
17:52:06 SILL PuppetLoginMixin get currentUserId()
17:52:06 SILL PuppetPadplus roomMemberList(49169751155@chatroom)
areyousure false
17:52:06 VERB MiniProgram constructor()
17:52:06 VERB Room say([object Object], )
17:52:06 SILL PuppetPadplus messageSendMiniProgram(49169751155@chatroom, [object Object])
17:52:06 SILL PuppetLoginMixin get currentUserId()
17:52:06 SILL PadplusManager sendMiniProgram(wxid_00j4zrd47usu12, 49169751155@chatroom, 
17:52:06 VERB PadplusMessage sendMessage()
17:52:06 SILL RequestClient request()
17:52:06 SILL DedupeApi dedupe() no need to dedupe api SEND_MESSAGE.
17:52:06 SILL GRPC_GATEWAY GRPC Request ApiType: SEND_MESSAGE
17:52:06 VERB Message find({"id":"1679910726779"})
17:52:06 VERB Message findAll({"id":"1679910726779"})
17:52:06 VERB PuppetMessageMixin messageSearch({"id":"1679910726779"})
17:52:06 VERB PuppetMessageMixin messagePayload(1679910726779)
17:52:06 SILL PuppetMessageMixin messagePayloadCache(1679910726779) cache MISS
17:52:06 SILL PuppetPadplus messageRawPayload(1679910726779)
17:52:06 ERR PuppetPadplus messageRawPayload(1679910726779) manager.cacheManager.getMessage(1679910726779) return nothing.
17:52:06 VERB PuppetMessageMixin messageSearch() payload not found for id "1679910726779"

完成推送 1511635223 2023-03-27 17:52:07
队列清空 wxid_00j4zrd47usu12


7. Additional context

@KAWATAAAAAA
Copy link
Author

KAWATAAAAAA commented Mar 27, 2023

1. Versions

  • What is your wechaty version?
    Answer: "@juzi/wechaty": "1.0.47"
  • What is your wechaty-puppet-padplus version?
    Answer: "@juzi/wechaty-puppet-padplus": "1.2.4",
  • What is your node version? (run node --version)
    Answer: v16.17.0
  • What os are you using
    Answer: Mac Os

2. Describe the bug

当我使用 await room.say() 的时候,即使群不存在,或者机器人不在群中,say方法返回的Promise依然是 Promise,

这使得我无法得到消息是否正确交付的状态

3. To Reproduce

4. Expected behavior

Promise应当为 ==> rejected

5. Actual behavior

Promise依然是 Promise,

6. Full Output Logs

请关注日志关键词areyousure 输出

Show Logs

7. Additional context

如何创造一个不存在的群,或者说如何获取到一个bot不在群中的群,参考bug:
#325

@su-chang
Copy link
Member

底层无法检测群聊ID是否正确或者该群聊是否存在,只能通过超时来判断。

解决这个问题主要还是得通过 room.has(bot) 这个方法来判断。

@KAWATAAAAAA
Copy link
Author

那么这个问题是不是只要等待room.has() 方法的bug修复了,就能解决了

@su-chang
Copy link
Member

su-chang commented Apr 1, 2023 via email

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

No branches or pull requests

2 participants