同步Twilio聊天消费范围和发送电子邮件通知以及来自我们自己服务器的新消息列表的正确方法是什么?
我可以使用某种预挂钩/挂钩来发送新消息,但我不想将每条消息及其读取状态保存在我的数据库中。
是否有更智能的方法在我的服务器上设置通知?
答案 0 :(得分:2)
Twilio开发者传道者在这里。
你不需要存储所有这些。您只需使用REST API即可获取所有这些信息。
您需要做的是存储用户的频道Member Sid。然后,您可以拨打Member resource并获取他们的function onOpen() {
var menu = [{name: "Hide Groups", functionName: "hideGroups"},
{name: "Show Groups", functionName: "showGroups"},
{name: "Group Rows", functionName: "groupRows"},
{name: "Ungroup Rows", functionName: "ungroupRows"},
{name: "Clear All Groups", functionName: "clearAllGroups"}];
SpreadsheetApp.getActiveSpreadsheet().addMenu("Groups", menu);
}
function groupRows() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var dp = PropertiesService.getDocumentProperties();
var groups = JSON.parse(dp.getProperty("groups") || "[]");
Logger.log(groups);
var range = SpreadsheetApp.getActiveRange();
var group = [range.getRow(), range.getHeight()];
if (groups.some(function (g) {
return (g[0] == group[0]) && (g[1] == group[1]);
})) {
ss.toast("Group already exists");
}
else {
groups.push(group);
dp.setProperty("groups", JSON.stringify(groups));
ss.toast("Group added");
}
}
function ungroupRows() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var dp = PropertiesService.getDocumentProperties();
var groups = JSON.parse(dp.getProperty("groups") || "[]");
var range = SpreadsheetApp.getActiveRange();
var group = [range.getRow(), range.getHeight()];
var newGroups = groups.filter(function (g) {
return (g[0] != group[0]) || (g[1] != group[1]);
});
if (newGroups.length == groups.length) {
ss.toast("No such group");
}
else {
dp.setProperty("groups", JSON.stringify(newGroups));
ss.toast("Group removed");
}
}
function hideGroups() {
var sheet = SpreadsheetApp.getActiveSheet();
var dp = PropertiesService.getDocumentProperties();
var groups = JSON.parse(dp.getProperty("groups") || "[]");
for (var i in groups) {
sheet.hideRows(groups[i][0], groups[i][1]);
}
}
function showGroups() {
var sheet = SpreadsheetApp.getActiveSheet();
var dp = PropertiesService.getDocumentProperties();
var groups = JSON.parse(dp.getProperty("groups") || "[]");
for (var i in groups) {
sheet.showRows(groups[i][0], groups[i][1]);
}
}
function clearAllGroups() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var dp = PropertiesService.getDocumentProperties();
dp.deleteProperty("groups");
ss.toast("All groups removed");
}
。
索引是一个整数,表示成员在频道中读取的最后一条消息的索引,然后您可以调用Message resource to list all the messages以后的索引。在Node中,那就是
last_consumed_message_index
让我知道这是否有帮助。