python - 检查用户是否在不和谐的 vc 中进行流式传输
问题描述
我希望我的机器人使用 discord 的Go Live!
语音频道功能来检测是否有人正在流式传输到频道。
然后只让人们连接到等候室,以避免人们发送垃圾邮件并干扰流。唯一的问题是文档显示您可以检查他们是否在 twitch 或 youtube 等上进行流式传输。如何使用我的机器人来检测是否有人流式传输到不和谐频道?
我试过的唯一代码是:
@client.event
async def on_member_update(before, after):
print(before)
print(after)
但我根本没有得到任何输出,甚至没有错误消息。
解决方案
您可以使用实例的self_stream
属性VoiceState
来检查用户当前是否正在流式传输到语音通道。
当成员停止或开始流式传输时标记的示例:
@client.event
async def on_voice_state_update(member, prev, cur):
if prev.channel and cur.channel: # If a user is connected before and after the update
if prev.self_stream != cur.self_stream:
# cur.self_stream will return True whether they're currently streaming
print("User's self-stream updated!")
像往常一样,您将能够通过以下属性获取他们当前的频道等VoiceState
:
cur.channel # etc.
参考:
推荐阅读
- python - 返回日志函数python返回typeerror:返回数组必须是arraytype
- javascript - 遍历数组和映射
- filter - 有没有办法垂直查找然后将整行数据传输到另一张表中的适当列?
- sql - 如果我想在我的 sql 查询中使用 group by 函数,有什么办法吗
- c# - 列表请求上的 ManagedPipelineHandler 挂起
- swift - 如何将 NSMenuItem.representedObject 转换为 Swift 协议?
- r - 使用 facet_wrap 在 ggplot 中添加唯一的轴标签名称
- batch-file - 批量删除以特定方式启动的文件夹
- ios - 无法在 dispatchqueue 中手动控制 performSegue()
- javascript - React Native 更新状态中嵌套对象的单个属性