feat: Added new docs
This commit is contained in:
@@ -4,3 +4,34 @@ sidebar_position: 13
|
||||
title: Deleting And Hiding A Channel
|
||||
---
|
||||
|
||||
### Deleting a Channel
|
||||
|
||||
You can delete a Channel using the delete method. This marks the channel as deleted and hides all the content.
|
||||
|
||||
```dart
|
||||
await channel.delete();
|
||||
```
|
||||
|
||||
Note: If you recreate this channel, it will show up empty. Recovering old messages is not currently supported via the Stream Chat API.
|
||||
|
||||
### Hiding a Channel
|
||||
|
||||
Hiding a channel will remove it from query channel requests for that user until a new message is added.
|
||||
Please keep in mind that hiding a channel is only available to members of that channel.
|
||||
|
||||
Optionally you can also clear the entire message history of that channel for the user.
|
||||
This way, when a new message is received, it will be the only one present in the channel.
|
||||
|
||||
```dart
|
||||
// hides the channel until a new message is added there
|
||||
await channel.hide();
|
||||
|
||||
// shows a previously hidden channel
|
||||
await channel.show();
|
||||
|
||||
// hide the channel and clear the message history
|
||||
await channel.hide(clearHistory: true);
|
||||
```
|
||||
|
||||
Note: You can still retrieve the list of hidden channels using the { "hidden" : true } query parameter.
|
||||
|
||||
|
||||
@@ -4,3 +4,58 @@ sidebar_position: 11
|
||||
title: Invites
|
||||
---
|
||||
|
||||
### Inviting Users
|
||||
|
||||
Stream Chat provides the ability to invite users to a channel via the `channel` method with the `invites` array.
|
||||
Upon invitation, the end-user will receive a notification that they were invited to the specified channel.
|
||||
|
||||
See the following for an example on how to invite a user by adding an invites array containing the user ID:
|
||||
|
||||
```dart
|
||||
final invite = client.channel("messaging", id: "awesome-chat",
|
||||
extraData: {
|
||||
"name": "Founder Chat",
|
||||
"members": ["thierry", "tommaso", "nick"],
|
||||
"invites": ["nick"],
|
||||
});
|
||||
|
||||
await invite.create();
|
||||
```
|
||||
|
||||
### Accepting an Invite
|
||||
|
||||
In order to accept an invite, you must use call the `acceptInvite` method.
|
||||
The `acceptInvite` method accepts and object with an optional `message` property.
|
||||
Please see below for an example of how to call `acceptInvite`:
|
||||
|
||||
```dart
|
||||
final channel = client.channel("messaging", id: "awesome-chat");
|
||||
await channel.acceptInvite();
|
||||
```
|
||||
|
||||
### Rejecting an Invite
|
||||
|
||||
To reject an invite, call the `rejectInvite` method.
|
||||
This method does not require a user ID as it pulls the user ID from the current session in store from the `connectUser` call.
|
||||
|
||||
```dart
|
||||
await channel.rejectInvite();
|
||||
```
|
||||
|
||||
### Query for Accepted Invites
|
||||
|
||||
Querying for accepted invites is done via the `queryChannels` method.
|
||||
This allows you to return a list of accepted invites with a single call. See below for an example:
|
||||
|
||||
```dart
|
||||
final invites = await client.queryChannels(filter: {"invite": "accepted"});
|
||||
```
|
||||
|
||||
### Query for Rejected Invites
|
||||
|
||||
Similar to querying for accepted invites, you can query for rejected invites with `queryChannels`.
|
||||
See below for an example:
|
||||
|
||||
```dart
|
||||
final rejected = await client.queryChannels(filter: {"invite": "rejected"});
|
||||
```
|
||||
@@ -4,3 +4,59 @@ sidebar_position: 12
|
||||
title: Muting Channels
|
||||
---
|
||||
|
||||
Messages added to a channel will not trigger push notifications, nor change the unread count for the users that muted it.
|
||||
|
||||
By default, mutes stay in place indefinitely until the user removes it; however, you can optionally set an expiration time.
|
||||
|
||||
The list of muted channels and their expiration time is returned when the user connects.
|
||||
|
||||
### Channel Mute
|
||||
|
||||
```dart
|
||||
// mute channel for current user
|
||||
await channel.mute();
|
||||
|
||||
// mute a channel for 2 weeks
|
||||
await channel.mute(expiration: Duration(days: 15));
|
||||
|
||||
// mute a channel for 10 seconds
|
||||
await channel.mute(expiration: Duration(seconds: 10));
|
||||
|
||||
// check if channel is muted
|
||||
channel.isMuted;
|
||||
```
|
||||
|
||||
### Query Muted Channels
|
||||
|
||||
Muted channels can be filtered or excluded by using the `muted` in your query channels filter.
|
||||
|
||||
```dart
|
||||
// retrieve all channels excluding muted ones
|
||||
await client.queryChannels(
|
||||
filter: {
|
||||
'members': {
|
||||
r'$in': [userId],
|
||||
},
|
||||
'muted': false,
|
||||
}
|
||||
);
|
||||
|
||||
// retrieve all muted channels
|
||||
await client.queryChannels(
|
||||
filter: {
|
||||
'muted': true,
|
||||
}
|
||||
);
|
||||
```
|
||||
|
||||
### Remove a Channel Mute
|
||||
|
||||
Whenever you need to unmute, you are able to.
|
||||
|
||||
```dart
|
||||
// unmute channel for current user
|
||||
await channel.unmute();
|
||||
|
||||
// unmute channel for a user (server-side)
|
||||
await channel.unmute({ user_id: userId });
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user