В ChatConsumer() отсутствуют 2 обязательных позиционных аргумента: 'receive' и 'send', в чем ошибка?
Я не могу понять, почему я получаю ошибку. Я пробовал разные подходы, но все равно сталкиваюсь с проблемой в consumers.py. В чем проблема, и что я делаю не так?
messaging_users/routing.py
from django.urls import path
from channels.routing import ProtocolTypeRouter, URLRouter
from channels.auth import AuthMiddlewareStack
from messaging_users import consumers
websocket_urlpatterns = [
    path('ws/messaging_users/', consumers.ChatConsumer.as_asgi()),
]
application = ProtocolTypeRouter({
    'websocket': AuthMiddlewareStack(
        URLRouter(
            websocket_urlpatterns
        )
    ),
})
messaging_users/consumers.py
from channels.generic.websocket import AsyncWebsocketConsumer
import json
class ChatConsumer(AsyncWebsocketConsumer):
    async def connect(self):
        await self.accept()
    async def disconnect(self, close_code):
        pass
    async def receive(self, text_data):
        
        data = json.loads(text_data)
        message = data['message']
        
        await self.send(text_data=json.dumps({
            'message': 'Received message: ' + message
        }))
js:
<script>
const socket = new WebSocket('ws://localhost:8000/ws/messaging_users/');
socket.onopen = function() {
    console.log('WebSocket connection established.');
};
socket.onmessage = function(event) {
    const data = JSON.parse(event.data);
    console.log('Received message:', data.message);
};
function sendMessage(message) {
    if (socket.readyState === WebSocket.OPEN) {
        // WebSocket is ready to send a message
        socket.send(JSON.stringify({
            'message': message
        }));
    } else {
        console.error('WebSocket is not ready to send a message. Please wait until the connection is established.');
        // You can add code here for retrying message sending or other error handling
    }
}
// Call sendMessage when clicking the send message button
function handleSendMessageButtonClick() {
    const messageText = document.getElementById('id_body').value;
    sendMessage(messageText);
}
</script>
TypeError: ChatConsumer() отсутствуют 2 обязательных позиционных аргумента: 'receive' и 'send'
"GET /ws/messaging_users/ HTTP/1.1" 500 66917
 Самое простое исправление, которое я вижу, чтобы попробовать, это сделать это вместо этого, в routing.py:
websocket_urlpatterns = [
    path('ws/messaging_users/', consumers.ChatConsumer), # without .as_asgi()
]
Непередача самого класса может быть причиной того, что ваша функция ведет себя неожиданно