Skip to main content

chat for projects we help maintain @ ckc

Project description

django-chit-chat CKC

chat for projects we help maintain @ ckc

installing

pip install django-chit-chat
# settings.py
INSTALLED_APPS = (
    "django.contrib.auth",
    "django.contrib.contenttypes",
    "django.contrib.sessions",
    "django.contrib.staticfiles",

    # ... add chit_chat
    "chit_chat",
)
# routing.py
from channels.auth import AuthMiddlewareStack
from django.core.asgi import get_asgi_application
from channels.routing import ProtocolTypeRouter, URLRouter

import chit_chat.routing


application = ProtocolTypeRouter({
    'http': get_asgi_application(),
    'websocket': AuthMiddlewareStack(
        URLRouter(
            chit_chat.routing.websocket_urlpatterns
        )
    ),
})
# urls.py
from rest_framework import routers

from chit_chat.viewsets import RoomViewSet


router = routers.SimpleRouter()
router.register('chatrooms', RoomViewSet)

urlpatterns = router.urls
<!-- chat.html -->

<script>
    // Open a connection to django-chit-chat
    YourWebsocketThing.open(`wss://${window.location.host}/ws/chatroom/`)
    
    // Write messages to screen as they're sent/received
    YourWebsocketThing.onmessage(msg => writeMessageToScreen(JSON.parse(msg.data)))
    
    // You can do a GET to "/api/chatrooms/" for a list of chatrooms + messages
    $.get("/api/chat/rooms").success(d => ...)
    
    // Send a message
    function send_message(text) {
        WSClient.send(JSON.stringify({
            message_type: "chat",
            room: 1, // ID of chat room
            text: text
        }))
    }
</script>

distributing and releasing

# Update version in setup.cfg
./setup.py sdist
twine upload dist/*
# Commit and push the version update in setup.cfg
# Publish vX.X.X release on GitHub with a description.

tests

$ docker build -t django-chit-chat . && docker run django-chit-chat pytest

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-chit-chat-0.0.5.tar.gz (11.9 kB view details)

Uploaded Source

Built Distribution

django_chit_chat-0.0.5-py3-none-any.whl (18.6 kB view details)

Uploaded Python 3

File details

Details for the file django-chit-chat-0.0.5.tar.gz.

File metadata

  • Download URL: django-chit-chat-0.0.5.tar.gz
  • Upload date:
  • Size: 11.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.4

File hashes

Hashes for django-chit-chat-0.0.5.tar.gz
Algorithm Hash digest
SHA256 ffd4135cdcf4897fefd20581c3a810398c2467c3042df7f368ac739726bba424
MD5 8cfd530ccdc8de9ffc476943a8297f77
BLAKE2b-256 97dec5e8e0e1c541d83c4ac9fb0c111646acd3065e67a0fe63019221a78ad529

See more details on using hashes here.

File details

Details for the file django_chit_chat-0.0.5-py3-none-any.whl.

File metadata

File hashes

Hashes for django_chit_chat-0.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 b7153f8f3dc5fc29f65fef67b823e64de5c15cc5b4bb1edacca4f1d543839e77
MD5 73ab6f9d4d650b30cea3196883a4f8ca
BLAKE2b-256 abba9dd69f492d38538857477df6a926772f0ba03457b0c5d7494c02e5b8d001

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page