Created
April 14, 2014 00:07
-
-
Save photofroggy/10607457 to your computer and use it in GitHub Desktop.
Idea for a BDS protocol to allow private group chats on dAmn.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Ok, so, protocol for making private group chats possible on dAmn. | |
These messages must happen in a private chat between users and a service bot. | |
BDS:GROUP:NEW:user1[,user2[,...]] | |
Sent by clients. | |
Open a new group chat with the named users. | |
When the chat is created it is assigned an ID, and the | |
service bot should send an INVITE message to all the named | |
users. | |
BDS:GROUP:INVITE:id,user | |
Sent by service bots. | |
This message indicates that `user` has invited someone to join | |
the private chat referenced by `id`. | |
Client should either ask for confirmation or automatically send a | |
JOIN command. | |
BDS:GROUP:ADD:id,user1[,user2[,...]] | |
Sent by clients. | |
This should be used to add users to the group chat after the group | |
chat has been created. | |
Make it so either only the creator can add people, or any member. | |
Unsure which. | |
BDS:GROUP:JOIN:id | |
Sent by clients. | |
Client should send this to join the group chat referenced by `id`. | |
The service bot should bring the user into the group chat only if they | |
have already been invited by someone. | |
BDS:GROUP:PART:id | |
Sent by clients. | |
Client should send this to leave a group chat. | |
BDS:GROUP:KICK:id,user[,reason] | |
Sent by clients. | |
Should be used to remove a user from the chat forcibly. | |
BDS:GROUP:REMOVED:id,user,reason | |
Sent by service bots. | |
Indicates a user has been removed from the group chat. | |
BDS:GROUP:SEND:id,type,content | |
Sent by clients. | |
Send a message of type `type` to everyone in the group chat. | |
Upon receiving this, service bots should relay the message to | |
other members of the group chat using the following commands. | |
BDS:GROUP:MSG:id,user,content | |
BDS:GROUP:ACTION:id,user,content | |
BDS:GROUP:CLOSE:id[,reason] | |
Sent by clients. | |
Allow the creator to close a group chat. | |
BDS:GROUP:CLOSED:id[,reason] | |
Sent by service bots. | |
Indicates the group chat has been closed. | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment