permissions - GetstreamIO 聊天审核
问题描述
我正在使用 Getstream.IO 来实现 Livestream 类型的聊天。
我看到在默认权限策略下的 Getstream.IO 文档中,版主能够更新和删除消息。
但是,当我在频道上设置版主并登录时,版主只能更新自己的消息。我需要一个版主才能编辑和删除其他用户的消息。
我在Object Ownership Getstream.IO 的文档中看到,“如果适用,会考虑实体的所有权。此参数允许您授予用户编辑自己的消息的能力,同时拒绝编辑其他人的消息。权限策略被组织为按优先级排序的列表。权限策略具有以下字段..."
如何使用 python API 列出现有的权限策略或创建新的权限策略?
在更高级别,使用服务器端 python API 或客户端 API,有没有办法使主持人角色不考虑实体的所有权?
更新 - 使用client.get_channel_type("livestream")
我可以看到它channel_moderator
有能力UpdateMessage
并且正如我所期望的那样:
不幸的是DeleteMessage
,当我以我为该用户
执行的用户身份登录时,这不是我看到的行为,这表明更改的用户已设置为,但有的。我是否还需要向 的用户添加角色?这在任何地方都有记录吗?owner
False
channel.add_moderators([user_id])
is_moderator
True
user
role
user
channel_moderator
更新 2:我在 中看到stream-chat-react
,Message.canEditMessage
并且Message.canDeleteMessage
由 决定this.isMyMessage(message) || this.isAdmin();
,因此看来除非有人覆盖消息组件,否则版主需要Admin
编辑他们不拥有的消息。
更新 3:我可以看到,在测试channel_permissions
中stream-chat-js
,版主确实应该能够编辑和删除消息,正如文档中的权限矩阵所指定的那样。但是,我仍然找不到stream-chat-react
允许版主更新或删除消息的方法;很难理解如何最好地覆盖Message.canEditMessage
,因为MessageList.render()
使用默认Message
类自动构造。
更新 4:我能够让一个用户添加为moderator
能够编辑和删除帖子,但只有在将该用户设为全局admin
. 我有一些用户,我想成为频道的版主,但没有管理员的能力。我已将一个问题交叉发布到stream-chat-react
:允许版主编辑和删除消息而不是管理员。
解决方案
推荐阅读
- java - 使用keytool的密钥对和自签名证书之间的区别?
- c# - 通过代理使用 UnityWebRequest 的 REST 连接
- sql-server - sql将月份布尔字段保存为整数以进行按位操作
- ruby - 从 Array.product 填充的 Ruby Hash 产生意外行为
- powershell - 使用 powershell 从 ARM 模板 (.json) 中删除不需要的内容
- hybris - 将自定义后台扩展依赖项添加到另一个(外观)扩展时出现问题
- javascript - 使用 javascript 创建一个新的 Phabricator 任务
- ios - 仅在 iPhone 7 之前的设备上使用前置摄像头时崩溃
- kiwi-tcms - 关于备份kiwi-tcms数据库的一些问题
- swagger-ui - swagger-ui - 打开 api 3,multipart/form-data 数组问题