0

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

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

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

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

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

4

1 回答 1

1

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

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

可以在此处找到此方法的文档。

至于向所有用户发送消息,您需要在某处(例如,在数据库中)有一个用户名列表。目前,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(),例如)之前放置 this。

于 2016-08-13T02:36:03.830 回答