如何检测是不是有人在打字但没有发送消息?

Posted

技术标签:

【中文标题】如何检测是不是有人在打字但没有发送消息?【英文标题】:How do I detect if someone was typing but didn't send a message?如何检测是否有人在打字但没有发送消息? 【发布时间】:2020-02-03 06:08:33 【问题描述】:

我正在编写一个 Discord 机器人,目前我非常困惑如何在我的机器人中制作打字检测系统。我希望它能够检测到某人何时“幽灵类型”,或者他们何时开始输入然后删除他们的消息,从而停止输入指示器但从不发送消息。

我知道 discord.js 中内置了一个 isTypingIn() 函数,但我想制作它,以便它可以随时检测任何人 Ghost 的类型。可悲的是,我现在没有为此编写任何代码,但如果有人可以提供帮助,那就太好了!

【问题讨论】:

【参考方案1】:

有一个专门针对用户开始输入的事件:

https://discordpy.readthedocs.io/en/latest/api.html#discord.on_typing

guild_subscriptions 需要设置为 true 才能正常工作。

discord.js 中提供了相同的事件:

https://discord.js.org/#/docs/main/stable/class/Client?scrollTo=e-typingStart

【讨论】:

该事件是针对不和谐的,在 python 中。我的机器人是使用 javascript 中的 discord,js 库编写的。 discord.js 中提供了相同的事件。查看我的最新编辑。 如何在 discord.py 中将 guild_subscriptions 事件设置为 true,因为我在文档中找不到任何解决方案。

以上是关于如何检测是不是有人在打字但没有发送消息?的主要内容,如果未能解决你的问题,请参考以下文章

如何在打字稿websocket上发送消息

如何检测消息是不是被编辑?

如何使用nodejs socket.io向特定房间中的用户发送打字警报和消息

给“qq群”发送消息

使用Slack Incoming webhooks发送消息

如何通过 SignalR 实现“谁在打字”功能?