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
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
|