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

Uploaded Source

Built Distribution

django_chit_chat-0.0.10-py3-none-any.whl (19.8 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for django-chit-chat-0.0.10.tar.gz
Algorithm Hash digest
SHA256 7edc26870d0d2ad279fd1730d938b682fce1586490fee7fb354598214128a843
MD5 21d92b09270fffecaa44bbcf67f94b4e
BLAKE2b-256 118a6158cbfe6c3c3cdffca0fcfbe5356a1ac48a5bfb3d83cd444bc10c3c85da

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for django_chit_chat-0.0.10-py3-none-any.whl
Algorithm Hash digest
SHA256 8323fab8dc2fab36ea6ad2ca7130b2b395d145c505f9906f852d3cbc54388a47
MD5 cd7ebe36d12829919027a1d7e45511f1
BLAKE2b-256 2aa392ac5f7ac22f41792c60fcec2b4c5925c85acccd721fc11a3372df16a621

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