You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
26 lines
591 B
26 lines
591 B
3 years ago
|
import re
|
||
|
import json
|
||
|
import asyncio
|
||
|
import os
|
||
|
import random
|
||
|
from datetime import datetime
|
||
|
from collections import Counter
|
||
|
from functools import wraps
|
||
|
from typing import List, Union
|
||
|
from io import BytesIO
|
||
|
|
||
|
import settings
|
||
|
|
||
|
|
||
|
def collect_websocket(func):
|
||
|
@wraps(func)
|
||
|
async def wrapper(*args, **kwargs):
|
||
|
from ircserver.factory import connected_websockets
|
||
|
queue = asyncio.Queue()
|
||
|
connected_websockets.add(queue)
|
||
|
try:
|
||
|
return await func(queue, *args, **kwargs)
|
||
|
finally:
|
||
|
connected_websockets.remove(queue)
|
||
|
return wrapper
|