如何使用 kik bot 向所有订阅用户发送消息

How to send a message to all subscribed users with kik bot

我只是一个尝试学习如何为 kik 编写机器人的初学者。 我正在尝试使用kik提供的node js框架来编写它。

我想向机器人的所有订阅用户发送消息;我在他们的文档中找到了这个:

bot.send(Bot.Message.text('Hey, nice to meet you!'), 'a.username');

但我对他们如何获得订阅用户的用户名感到困惑。我尝试使用 bot.getUserProfile.username,但它似乎未定义。

感谢您的帮助!此外,任何有关此机器人如何工作的提示都将不胜感激!我没有网络开发经验;为什么这个机器人必须在服务器上?

首先,如果您想向所有用户群发消息,我建议您使用广播 API,它允许您以 100 条为一组发送消息(而不是 25 条)常规 send() API)。 您可以像这样使用广播 API:

bot.broadcast(Bot.Message.text('some message'), ['username1', 'username2']);

可以找到此方法的文档 here

至于向所有用户发送消息,您需要在某处(例如在数据库中)有一个用户名列表。目前,Kik 不提供获取订阅者列表的方法。

像这样的东西会起作用:

bot.use((msg, next) => {
    let username = msg.from; // Find the username from the incoming message

    registerInDatabase(username); // Save it somewhere
    next(); // Keep processing the message
});

您需要确保在声明任何其他处理程序(例如 bot.onTextMessage())之前放置它。