Demo code does not work
theriseof9 opened this issue · comments
Tried running demo code
import asyncio
import logging
import pyqrcode
import kyros
logging.basicConfig()
logging.getLogger("kyros").setLevel(logging.WARNING)
async def main():
whatsapp = await kyros.Client.create()
qr_data, scanned = await whatsapp.qr_login()
qr_code = pyqrcode.create(qr_data)
print(qr_code.terminal(quiet_zone=1))
try:
await scanned
except asyncio.TimeoutError:
await whatsapp.shutdown()
return
# how to send a websocket message
message = kyros.WebsocketMessage(None, ["query", "exist", "1234@c.us"])
await whatsapp.websocket.send_message(message)
# receive a websocket message
print(await whatsapp.websocket.messages.get(message.tag))
if __name__ == "__main__":
asyncio.run(main())
received error
ERROR:asyncio:Task exception was never retrieved future: <Task finished name='Task-4' coro=<WebsocketClient._start_receiver.<locals>.receiver() done, defined at C:\Users\Jerry\AppData\Local\Programs\Python\Python38\lib\site-packages\kyros\websocket.py:169> exception=AttributeError("'Queue' object has no attribute 'pop'")> Traceback (most recent call last): File "C:\Users\Jerry\AppData\Local\Programs\Python\Python38\lib\site-packages\kyros\websocket.py", line 179, in receiver raw_message = self.websocket.messages.pop() AttributeError: 'Queue' object has no attribute 'pop'
Resolved by changing websocket.py from pop() to get() and adding await