发送自发的短暂不和谐消息

问题描述 投票:0回答:2

TL;博士

有没有一种方法可以在不使用交互的情况下向用户发送临时消息?

使用方法

交互是与用户交互的一个很好的工具。用短暂的消息回复也很棒,以避免通知不相关的用户。

发起互动不仅限于 SlashCommands、Users 和 MessageCommand,还包括反应、消息中的特定内容、会员昵称更新等...... 然后,迭代将在短暂消息中使用 ButtonsCommand 进行。

我知道我可以使用旧的方式(直接DM用户),但是直接在同一频道中拥有临时消息会更方便。

解决方法

到目前为止,我发现的唯一方法是让用户键入命令(或进行任何充当锚点的交互)。稍后,当需要临时消息时,从该交互中创建后续消息。

此解决方案的缺点是用户必须在所有渠道中进行交互,这需要自发的短暂消息。而且,用户必须首先进行交互,当你想与新用户打交道时,这不是很方便。

discord discord.js
2个回答

0
投票
旧线程,但截至今天它可能仍然是一个有效的讨论......因为“你不能”,并不是全面的最佳通用答案,因为可能有几个合法的理由这样做。

对于 Discord 来说相对较新,它是很棒的机器人,我在某些频道上利用管理/模组/开发的讨论线程...规则、角色、超时、管理沙箱等...作为组织和维护内容的手段/一般社区不需要访问的讨论。

因此,我使用反应作为我的管理员/模组/开发人员投票赞成/反对某些功能的一种手段……或者例如,当某人加入服务器时要遵循的某些程序,或者将某人置于超时状态多长时间。因此,机器人将只允许管理员/mod/dev 选择 1 个反应,并从所有其他反应选项中清除它们。

问题出现在我的机器人初始化时,所有现有的消息/反应不再是“当前”并且机器人忽略未来的反应。所以我的解决方法是在 config.json 文件中的“Initializations”下维护 chan/msg ID 列表...是的,它是一个皮塔饼...但它正在工作...到目前为止...-ish.

产生的新问题是当线程老化并且不再显示/可见时,从而在初始化时破坏我的机器人。我想出的使机器人上线的唯一解决方法是从这些线程中删除“投票功能”......这并不是真正的解决方法。

所以我在想,我可以在 PresenceUpdate.js 脚本中运行一个临时消息,它会“碰撞”那些特定的通道/线程并强制它们保持最新状态。每当有人登录服务器时,它就会触发,在 config.json 文件中对“初始化”键(?)添加时间戳,并安排它在星期一或任何时候运行。

所以我不确定要问的正确问题...或者在这里搜索什么...除了...

  • 我怎样才能做得更好/更快/更强?

  • 如何防止线程“超时”,因为目前最长的持续时间是“1周”?

  • 如何让机器人识别已超时的现有线程...无需手动缓存它们?

  • 如何让我的机器人“自动碰撞”这些特定线程(会自我删除的短暂消息?)以强制它们保持当前状态?

© www.soinside.com 2019 - 2024. All rights reserved.