问题标签 [twilio-programmable-chat]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
441 浏览

ios - 用于在 Twilio 聊天中键入指示器的委托方法未被调用

开发 Swift 聊天应用程序。在一台设备上,我加入了一个具有唯一名称的频道"private:chat",然后我channel.typing()在频道上调用(如docs中所述)。在另一台设备上,我再次创建了一个客户端,其delegate设置为self

然后我实现typingStartedOn了委托方法来收听频道上的打字。

channel.typing()但是,即使我确认由其他设备上的其他帐户调用了委托方法,也不会调用委托方法。JS 中的文档内联代码,但基于iOS 聊天演示应用程序,我得出结论,在 Swift 中委托方法是要走的路。

知道这里可能会发生什么吗?

编辑:一些(尚未测试全部)其他委托方法,例如synchronizationStatusUpdated,被调用。

0 投票
1 回答
1834 浏览

javascript - Twilio 可编程聊天 - 从 JS 客户端断开连接

我有一个使用 Twilio 可编程聊天库来提供聊天功能的 React 应用程序。设置代码通常看起来像这样,全部包装在一个 try/catch 块中:

createOrGetChanne() 获取通道,然后我们可以正确获取消息并发送消息。

90% 的时间,一切正常,但有时 Twilsock(我假设这是底层连接管理库)似乎断开了我的连接,之后客户端无法正确调用 this.channel.sendMessage()。sendMessage() 调用超时,并且客户端没有要捕获的 Promise 拒绝(因此我无法重新连接并重试)。

启用调试模式后,我在客户端上遇到的错误似乎是:

然后客户端无法正常工作。如果我切换到另一个应用程序或断开 wifi,然后返回浏览器和聊天页面,我可以在我的手机上重现这种情况(但并非总是如此)。

以下是关闭套接字后消息尝试失败的样子:

紧随其后的是:

刷新页面(并重新初始化客户端)解决了这个问题。

问题:

1)由于 sendMessage() 承诺没有被拒绝,我能做些什么来捕捉这个并重试或重新初始化连接?

2) 或者,当 Twilsock 关闭套接字时,是否有一个回调可以连接到我可能重新连接的地方?

3) 我需要添加任何其他连接管理最佳实践以使我的应用程序尽可能健壮吗?

任何帮助表示赞赏。谢谢,谢谢,谢谢!

0 投票
1 回答
470 浏览

twilio - Twilio 可编程聊天 - 错误 0:3 对 EMS 服务的请求失败,无法设置 FPA 令牌

我正在为网站和移动应用程序(andriod 和 ios)使用 twilio 可编程聊天。我们正在从服务器(PHP)生成一个令牌,它似乎在网络上运行良好。但在移动应用程序上,它返回以下错误:

Andriod:错误 0:3 对 EMS 服务的请求失败,无法设置 FPA 令牌。

iOS : <<<>>> 聊天-iOS[0]: 0x16d503000 | 08/24/22:29:55.726 | 致命 | 聊天-iOS | 验证令牌时出错:3

如其他线程中所述,我已从令牌中删除了端点,但之后也没有运气。请协助修复移动应用程序上的此错误。

谢谢。

0 投票
1 回答
300 浏览

javascript - Twilio 可编程聊天 JavaScript SDK (v3) 区域选项导致错误

我目前正在尝试在启动 Twilio 的 Javascript 可编程聊天助手库 (Twilio-chat) 时设置区域选项。

以前我使用默认设置,并且大部分库都运行良好(一些性能问题,因此希望切换区域)。但是,将区域选项设置为“ie1”后,当客户端尝试启动时,我会得到以下响应 -

混淆的根源是从 US1 切换到 IE1 导致客户端无法找到服务实例,而使用默认配置我对此没有任何问题。我还检查了 JWT 中标识的服务是否存在。

有没有人遇到过这个问题并能够解决它?

0 投票
2 回答
148 浏览

ios - 当应用程序在前台时收到 Twilio 通知警报

我在 ios 应用程序中使用 twilio 推送通知。问题是我也在前台模式下收到通知警报。由于 ios 不提供此功能,这怎么可能。

另一个问题是如何设置 twilio 推送通知的标题?

0 投票
1 回答
133 浏览

javascript - 注销频道监听器

我有一个用户订阅的 twilio 聊天频道列表。当用户点击这些频道之一时,聊天打开,消息被加载,用户订阅以获取新消息this.state.channel.on('messageAdded', message => { doSomething() })

这一切都很好,但是当用户选择一个新频道时,旧频道的监听器仍然处于活动状态。所以当用户在频道之间切换并回到他已经打开的频道时,他会收到两次消息(因为我需要channel.on('messageAdded')为每个加入的频道运行。

如何在切换到收听其他频道之前取消注册 channel.on('messageAdded') ?

0 投票
1 回答
192 浏览

sms - 如何接收 Twilio SMS 的回复

我已经在控制台以及我的 Salesforce Web 应用程序中成功配置了 Twilio,以将 SMS 发送到给定的(授权的)手机号码。但是我找不到正确的方法来找到

  1. 我的客户如何回复他们收到的短信
  2. 我如何通过 API 检索他们对我的 Web 应用程序的回复

我觉得一个叫做 TwiML 的东西与此有关,但不是很清楚这个过程。如果你做了一些类似的实现,可以有一些身体指导吗?

0 投票
1 回答
62 浏览

node.js - 如何使用 Node.js 在 Twilio 中更改从客户端发送的基于消息的消息的回复?

我正在尝试创建一个 SMS 对话平台,用户可以在其中输入是或否,这将作为布尔检查,在真正的 Twilio 服务器上将回复“响应 1”,在错误的 Twilio 上,服务器将回复“响应 2” ? 这将如何在 Node.js 中工作?所有的库都只讨论基本的发送和接收,而不是根据收到的消息更改回复。

0 投票
0 回答
80 浏览

twilio - 在 Twilio 可编程聊天中向频道添加持久更新

我们最近使用 Twilio Programmable Chat 为现有应用程序实现了群聊功能。

上下文:该应用程序允许用户相互连接并加入组。我们正在使用 Twilio 在每个组中添加一个实时聊天室,以便组成员可以进行交流。因此,当用户加入群组时,他/她将访问 Twilio 聊天频道以及各种其他群组资源。

当用户加入群组(由我们的应用程序定义)时,似乎他们不被视为群组频道的成员,除非他们在聊天室中处于活动状态(即,当应用程序不在前台时,用户不会被列为频道成员)。我们正在尝试寻找某种方式在 Twilio 频道中为群组引入持久通知(即,“John Smith 已加入群组”或“Jane Smith 已离开群组”)。在另一个 SO 讨论中,philnash曾提到使用 Twilio REST API 发送带有此信息的系统编写的消息,然后在 UI 端管理这些消息以将它们格式化为组“更新”。那讲得通!

我的问题是:

  1. 我是否需要在我们的后端处理发送系统编写的消息?如果是这样,我需要在我的 Groups 模型中添加一个字段,以包含该组的 Twilio 频道 SID。

  2. 是否可以为这些系统编写的消息(将被格式化为“频道更新”)静音通知?即,无论何时发送的消息是由系统编写的,是否可以不向用户发送推送通知?

我希望我的问题足够清楚。非常感谢任何人都可以为上述提供的任何答案或指导!!

0 投票
0 回答
530 浏览

twilio - Twilio - 使用令牌创建客户端的问题

我是 Twilio 和 Angular 的新手!

我正在使用从服务器获取的 Twilio 令牌在 Angular2 中创建一个 Twilio 客户端。但我得到了错误。

我已经为 Twilio-chat 安装了 NuGet 包。

创建 Twilio 客户端的代码。

错误