python-wechaty icon indicating copy to clipboard operation
python-wechaty copied to clipboard

on_message method doesn't support multiple responses

Open BurgerBurglar opened this issue 3 years ago • 2 comments

if room and await room.topic() == "test":
    replies = ["hello", "world"]
    for reply in replies:
        await msg.say(reply)

image image

2021-06-10 15:04:23,896 - Message - INFO - say() <hello>
Exception in callback AsyncIOEventEmitter._emit_run.<locals>._callback(<Task finishe...ertionError()>) at C:\Users\tians\Documents\Projects\repeat_me\venv\lib\site-packages\pyee\_asyncio.py:55
handle: <Handle AsyncIOEventEmitter._emit_run.<locals>._callback(<Task finishe...ertionError()>) at C:\Users\tians\Documents\Projects\repeat_me\venv\lib\site-packages\pyee\_asyncio.py:55>
Traceback (most recent call last):
  File "C:\Users\tians\AppData\Local\Programs\Python\Python39\lib\asyncio\events.py", line 80, in _run
    self._context.run(self._callback, *self._args)
  File "C:\Users\tians\Documents\Projects\repeat_me\venv\lib\site-packages\pyee\_asyncio.py", line 62, in _callback
    self.emit('error', exc)
  File "C:\Users\tians\Documents\Projects\repeat_me\venv\lib\site-packages\wechaty\wechaty.py", line 287, in emit
    super().emit(event, *args, **kwargs)
  File "C:\Users\tians\Documents\Projects\repeat_me\venv\lib\site-packages\pyee\_base.py", line 116, in emit
    self._emit_handle_potential_error(event, args[0] if args else None)
  File "C:\Users\tians\Documents\Projects\repeat_me\venv\lib\site-packages\pyee\_base.py", line 86, in _emit_handle_potential_error
    raise error
  File "C:\Users\tians\Documents\Projects\repeat_me\bot.py", line 46, in on_message
    await msg.say(reply)
  File "C:\Users\tians\Documents\Projects\repeat_me\venv\lib\site-packages\wechaty\user\message.py", line 175, in say
    await message.ready()
  File "C:\Users\tians\Documents\Projects\repeat_me\venv\lib\site-packages\wechaty\user\message.py", line 465, in ready
    self.payload = await self.puppet.message_payload(self.message_id)
  File "C:\Users\tians\Documents\Projects\repeat_me\venv\lib\site-packages\wechaty_puppet_service\puppet.py", line 428, in message_payload
    response = await self.puppet_stub.message_payload(id=message_id)
  File "C:\Users\tians\Documents\Projects\repeat_me\venv\lib\site-packages\wechaty_grpc\wechaty\__init__.py", line 321, in message_payload
    return await self._unary_unary(
  File "C:\Users\tians\Documents\Projects\repeat_me\venv\lib\site-packages\betterproto\__init__.py", line 1094, in _unary_unary
    assert response is not None
AssertionError
python==3.9.1
wechaty==0.8.11
wechaty-grpc==0.20.19
wechaty-puppet==0.3.dev10
wechaty-puppet-service==0.8.1

BurgerBurglar avatar Jun 10 '21 20:06 BurgerBurglar

What type of token do you use ? It seems that web protocol exist some sending message issue.

wj-Mcat avatar Jul 21 '21 01:07 wj-Mcat

UOS

BurgerBurglar avatar Jul 30 '21 16:07 BurgerBurglar