首页 > 解决方案 > GetstreamIO 聊天审核

问题描述

我正在使用 Getstream.IO 来实现 Livestream 类型的聊天。

我看到在默认权限策略下的 Getstream.IO 文档中,版主能够更新和删除消息。

但是,当我在频道上设置版主并登录时,版主只能更新自己的消息。我需要一个版主才能编辑和删除其他用户的消息。

我在Object Ownership Getstream.IO 的文档中看到,“如果适用,会考虑实体的所有权。此参数允许您授予用户编辑自己的消息的能力,同时拒绝编辑其他人的消息。权限策略被组织为按优先级排序的列表。权限策略具有以下字段..."

如何使用 python API 列出现有的权限策略或创建新的权限策略?

在更高级别,使用服务器端 python API 或客户端 API,有没有办法使主持人角色不考虑实体的所有权?

更新 - 使用client.get_channel_type("livestream")我可以看到它channel_moderator有能力UpdateMessage并且正如我所期望的那样: 不幸的是DeleteMessage,当我以我为该用户 执行的用户身份登录时,这不是我看到的行为,这表明更改的用户已设置为,但有的。我是否还需要向 的用户添加角色?这在任何地方都有记录吗?ownerFalse<code>client.get_channel_type(channel.add_moderators([user_id])is_moderatorTrueuserroleuserchannel_moderator

更新 2:我在 中看到stream-chat-reactMessage.canEditMessage并且Message.canDeleteMessage由 决定this.isMyMessage(message) || this.isAdmin();,因此看来除非有人覆盖消息组件,否则版主需要Admin编辑他们不拥有的消息。

更新 3:我可以看到,在测试channel_permissionsstream-chat-js,版主确实应该能够编辑和删除消息,正如文档中的权限矩阵所指定的那样。但是,我仍然找不到stream-chat-react允许版主更新或删除消息的方法;很难理解如何最好地覆盖Message.canEditMessage,因为MessageList.render()使用默认Message类自动构造。

更新 4:我能够让一个用户添加为moderator能够编辑和删除帖子,但只有在将该用户设为全局admin. 我有一些用户,我想成为频道的版主,但没有管理员的能力。我已将一个问题交叉发布到stream-chat-react允许版主编辑和删除消息而不是管理员

标签: permissionschataclgetstream-io

解决方案


推荐阅读