Fix bots vanishing after trying to reconnect
This commit is contained in:
parent
fa579ec231
commit
ceaf8748e9
1 changed files with 9 additions and 4 deletions
|
|
@ -79,7 +79,7 @@ class Connection:
|
||||||
if self._ws:
|
if self._ws:
|
||||||
await self._ws.close()
|
await self._ws.close()
|
||||||
|
|
||||||
async def _connect(self, tries):
|
async def _connect(self, tries, timeout=10):
|
||||||
"""
|
"""
|
||||||
Attempt to connect to a room.
|
Attempt to connect to a room.
|
||||||
If the Connection is already connected, it attempts to reconnect.
|
If the Connection is already connected, it attempts to reconnect.
|
||||||
|
|
@ -97,10 +97,15 @@ class Connection:
|
||||||
try:
|
try:
|
||||||
if self.cookiejar:
|
if self.cookiejar:
|
||||||
cookies = [("Cookie", cookie) for cookie in self.cookiejar.sniff()]
|
cookies = [("Cookie", cookie) for cookie in self.cookiejar.sniff()]
|
||||||
self._ws = await websockets.connect(self.url, max_size=None, extra_headers=cookies)
|
ws = asyncio.ensure_future(
|
||||||
|
websockets.connect(self.url, max_size=None, extra_headers=cookies)
|
||||||
|
)
|
||||||
else:
|
else:
|
||||||
self._ws = await websockets.connect(self.url, max_size=None)
|
ws = asyncio.ensure_future(
|
||||||
except (websockets.InvalidHandshake, socket.gaierror): # not websockets.InvalidURI
|
websockets.connect(self.url, max_size=None)
|
||||||
|
)
|
||||||
|
self._ws = await asyncio.wait_for(ws, timeout)
|
||||||
|
except (websockets.InvalidHandshake, socket.gaierror, asyncio.TimeoutError): # not websockets.InvalidURI
|
||||||
self._ws = None
|
self._ws = None
|
||||||
|
|
||||||
if tries is not None:
|
if tries is not None:
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue