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>

tests

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

Releasing

  1. Update version number in setup.cfg.
  2. Create release using Github's UI.
    • Click the Choose a tag dropdown and create a new tag with the new version number.
    • Click the Generate release notes button to automatically create release notes.
    • This will trigger an action to build and push the release to PyPi.

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.8.tar.gz (14.0 kB view details)

Uploaded Source

Built Distribution

django_chit_chat-0.0.8-py3-none-any.whl (19.4 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for django-chit-chat-0.0.8.tar.gz
Algorithm Hash digest
SHA256 c82de6c3106433a6044b5c054588505012e6a08804767350b6021c49e55f6058
MD5 7264dceb9ee515dcf2f86f33cb6f69e1
BLAKE2b-256 4d5c03509f584306845a16984a63be84f842dbc7819589d393b5fbad90f77251

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for django_chit_chat-0.0.8-py3-none-any.whl
Algorithm Hash digest
SHA256 b99f900dd9d9baa3d9008b09ccbe7c2be0c688969a4db6fbfef0851ba5ae03ae
MD5 0d7e2e529a97dfe23b6621450a7d8c09
BLAKE2b-256 249bdab7a2a4d3208a0857f397c066ca699f284253c95645016b72c2836ae065

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