say*_*ono 3 node.js node-telegram-bot-api
所以,我实际上很厌倦找到任何有关此的问题......
我只需要在机器人问题之后才需要获取用户消息,而不是其他地方,例如:
机器人:你叫什么名字?
用户:奥列格
机器人:嗨,奥列格
我也在使用 require 系统和 module.exports,所以我真的很困惑,如何处理我的问题
示例代码
const mw = require('./example_module');
bot.onText(/\/help/, async (data) => {
try {
mw.cout.userlog(data);
await cw.help.main(bot, data);
} catch (e) {
mw.cout.err(e.name)
}
});
Run Code Online (Sandbox Code Playgroud)
小智 8
您可以使用数据库或仅通过存储用户状态属性的 JSON 文件来完成此操作。例如,您在这里询问用户的姓名。您可以在数据库中为“setName”的用户设置状态属性。当用户回复时,检查数据库并查找最后的状态。这里我们将状态设置为“setName”。然后做剩下的事情。
否则,只需使用node-telegram-bot-api,您就可以做到这一点,但略有不同的是您必须接收他们的名字作为回复文本。这是代码:
bot.onText(/\/help/, async msg => {
const namePrompt = await bot.sendMessage(msg.chat.id, "Hi, what's your name?", {
reply_markup: {
force_reply: true,
},
});
bot.onReplyToMessage(msg.chat.id, namePrompt.message_id, async (nameMsg) => {
const name = nameMsg.text;
// save name in DB if you want to ...
await bot.sendMessage(msg.chat.id, `Hello ${name}!`);
});
});
Run Code Online (Sandbox Code Playgroud)
就是这样。
| 归档时间: |
|
| 查看次数: |
5491 次 |
| 最近记录: |