harmony-development / protocol

The schemas for the Harmony protocol
Apache License 2.0
21 stars 2 forks source link

separate private channels and guilds / guild channels #96

Open ghost opened 2 years ago

ghost commented 2 years ago

currently, a "direct message channel" or "private channel" is a type of guild that contains a single channel. because of the simplicity of private channels as compared to full-on channels or guilds, I suggest a new PrivateChannel type:

// PrivateChannel is a private channel between a list of users, independent of a guild.
// It should be possible to use this channel for both text and voice communications.
message PrivateChannel {
  // The list of users that have access to this channel.
  repeated uint64 members = 1;
  // Whether it is possible to add or remove users to/from this channel.
  bool is_locked = 2;
}

(note that fully private, or "direct message", channels, have the is_locked type set - it is not possible to add more users to a DM between two users.)

ghost commented 2 years ago

this also removes guild types, as they are now unneeded

bluskript commented 2 years ago

the behavior should be that only one PrivateChannel can exist between two users with is_locked set to true. Any number of PrivateChannels can be made that are not locked.