mirror of
https://github.com/django/daphne.git
synced 2025-07-30 16:59:46 +03:00
Add start of IRC client spec draft
This commit is contained in:
parent
fe18d43064
commit
0e637e09a4
81
docs/asgi/irc-client.rst
Normal file
81
docs/asgi/irc-client.rst
Normal file
|
@ -0,0 +1,81 @@
|
||||||
|
===========================================
|
||||||
|
IRC Client ASGI Message Format (Draft Spec)
|
||||||
|
===========================================
|
||||||
|
|
||||||
|
.. warning::
|
||||||
|
This is an incomplete draft.
|
||||||
|
|
||||||
|
Represents communication with an external IRC server as a client. It is possible
|
||||||
|
to have multiple clients hooked into the same channel layer talking to different
|
||||||
|
servers, which is why the reply channel is not a fixed name;
|
||||||
|
a client will provide it with every incoming action and upon connection.
|
||||||
|
|
||||||
|
The reply channel must stay consistent throughout the client's lifetime, so it
|
||||||
|
can be used as a unique identifier for the client.
|
||||||
|
|
||||||
|
|
||||||
|
Connected
|
||||||
|
---------
|
||||||
|
|
||||||
|
Sent when the client has established a connection to an IRC server.
|
||||||
|
|
||||||
|
Channel: ``irc-client.connect``
|
||||||
|
|
||||||
|
Keys:
|
||||||
|
|
||||||
|
* ``reply_channel``: The channel to send messages or actions to the server over.
|
||||||
|
|
||||||
|
* ``server``: A two-item list of ``[hostname, port]``, where hostname is a
|
||||||
|
unicode string of the server hostname or IP address, and port is the integer port.
|
||||||
|
|
||||||
|
|
||||||
|
Joined
|
||||||
|
------
|
||||||
|
|
||||||
|
Sent when the client has joined an IRC channel.
|
||||||
|
|
||||||
|
Channel: ``irc-client.join``
|
||||||
|
|
||||||
|
Keys:
|
||||||
|
|
||||||
|
* ``reply_channel``: The channel to send messages or actions to the server over.
|
||||||
|
|
||||||
|
* ``channel``: Unicode string name of the IRC channel joined
|
||||||
|
|
||||||
|
|
||||||
|
Receive
|
||||||
|
-------
|
||||||
|
|
||||||
|
Represents either a message, action or notice being received from the server.
|
||||||
|
|
||||||
|
Channel: ``irc-client.receive``
|
||||||
|
|
||||||
|
Keys:
|
||||||
|
|
||||||
|
* ``reply_channel``: The channel to send messages or actions to the server over.
|
||||||
|
|
||||||
|
* ``type``: Unicode string, one of ``message``, ``action`` or ``notice``.
|
||||||
|
|
||||||
|
* ``user``: IRC user as a unicode string (including host portion)
|
||||||
|
|
||||||
|
* ``channel``: IRC channel name as a unicode string
|
||||||
|
|
||||||
|
* ``body``: Message, action or notice content as a unicode string
|
||||||
|
|
||||||
|
|
||||||
|
Control
|
||||||
|
-------
|
||||||
|
|
||||||
|
Sent to control the IRC client.
|
||||||
|
|
||||||
|
Channel: Specified by the server as ``reply_channel`` in other types
|
||||||
|
|
||||||
|
Keys:
|
||||||
|
|
||||||
|
* ``channel``: IRC channel name to act on as a unicode string
|
||||||
|
|
||||||
|
* ``type``: Unicode string, one of ``join``, ``part``, ``message`` or
|
||||||
|
``action``.
|
||||||
|
|
||||||
|
* ``body``: If type is ``message`` or ``action``, the body of the message
|
||||||
|
or the action as a unicode string.
|
Loading…
Reference in New Issue
Block a user