wechaty / python-wechaty

Python Wechaty is a Conversational RPA SDK for Chatbot Makers written in Python
https://wechaty.readthedocs.io/zh_CN/latest/
Apache License 2.0
1.61k stars 232 forks source link

on_message method doesn't support multiple responses #228

Open BurgerBurglar opened 3 years ago

BurgerBurglar commented 3 years ago
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
wj-Mcat commented 3 years ago

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

BurgerBurglar commented 3 years ago

UOS