问题标签 [node-telegram-bot-api]
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.
javascript - 如果用户同时发送多张照片,如何让机器人响应一次?
我正在 nodejs 中开发一个 Telegram 机器人。我创建了一个 node-telegram-bot-api 实例,并使用 on('photo') 方法来管理用户是否向我的机器人发送照片。
问题是当用户通过从图库中多选照片来发送多张照片时,因为我的机器人响应的次数与发送的照片一样多。我认为这是因为机器人执行 on('photo') 方法的次数与发送的照片一样多。
我希望机器人只响应一次。
你有什么建议吗?
javascript - 为什么未定义对象的新实例?
我无法使用 nodejs 在另一个 java 脚本文件中使用相同的对象实例。
我正在开发一个用于电报的机器人。因为文件变得大而混乱,我想将我的机器人的功能拆分成几个额外的 js 文件。但我不知道如何在多个 javascript 文件之间共享同一个对象实例。
node.js - 更新 Telegram 机器人中的消息
我正在熟悉 Telegram API,想知道是否有可能在用户点击后更新来自机器人的消息的按钮标题?
这是我的代码示例:
如何正确使用InlineKeyboardMarkup
?
我收到一个reply_markup
未正确定义的错误。我知道我必须InlineKeyboardMarkup
从某个地方进口,但无法从哪里找到。
有经验的人可以告诉我点击后如何更新按钮标题吗?
node.js - 电报机器人响应太晚
我创建了简单的电报机器人来过滤坏词,当我在本地运行时它工作得很好,但是在我部署到 Heroku 服务后响应太晚了。
完整代码
telegram - 如何从 Telegram 频道获取一些消息、更改某些内容并转发?
我想从 Telegram 频道(不是我的)获取一些消息,更改一些内容(不是过滤,但例如修改一些单词)并将更改的消息转发到其他频道(我的或不是我的)。我希望看到一些结构化代码开始(最好是 NodeJS)
我尝试下载 TForwarder,但它只能过滤消息,不能更改。
javascript - 电报框架。如何使用 telegram.forwardMessage(); 将消息转发到给定的组、聊天或频道?
问题:我需要将大约 400 个用户的消息发送到电报机器人。bot 听到消息中的特定标签,并将消息路由到由 bot 听到的标签定义的组频道或用户。当最终目的地回复时,机器人需要知道将该回复转发到哪里以实现双向通信(一种方式是用户在群聊中与整个部门通信,另一种方式是来自只回复用户的部门)
所以在这样的背景下,我决定使用 Telegraf 框架来构建机器人。我是 JS 和所有相关技术的新手,但它似乎是这项任务的最佳选择。我正在尝试使用 telegram.forwardMessage(); 方法,但我不确定如何填充该方法所需的参数。
电报文件显示
telegram.forwardMessage(chatId, fromChatId, messageId, [extra]) => Promise
但找不到任何实际使用该方法的例子
node.js - 节点给出错误“internal/modules/cjs/loader.js:638” - Telegraf - Telegram bot api - Windows
我最近下载并安装了Telegraf-telegram bot api。它适用于Node.js。我查看了包括 github 在内的 17 个站点,但没有找到适合自己的解决方案。
这是错误:
还有我的bot.js代码:
我的系统: Windows 10 64bit
IDE: Visual Studio 代码 1.38.1
节点版本: 10.16.3
npm 版本: 6.11.3
请不要给我从 Google 找到的解决方案的链接。我试了100多次。如果你明白,请帮助我。谢谢
node.js - 动态内联键盘按钮(nodejs、telegraf)
我需要使用 inlineKeyboard 从可以更改值和数量的“n”元素数组中创建一个菜单。我正在使用电报 API,这就是我创建静态 API 的方式:
我怎样才能做到这一点?我无法在标记内执行 for 循环
node.js - 如何避免从我的电报机器人收到重复的回复?
我写了一个简单的电报机器人,在输入命令后它会显示一些统计信息。它可以完美地工作,除非它被多次输入相同的命令(不同的用户使用该命令)。现在看起来像这样:
如果与前一条消息相同,则只显示一条消息。
我正在使用带有轮询方法的 node-telegram-bot-api(我稍后会移动它以使用 webhook)。
我只使用电报 api 中的 bot.onText/bot.sendMessage 函数。
TLDR:如果机器人多次收到相同的命令,它将回复一条消息 X 次。我需要避免这种情况。
telegram - 仅为 Telegram 组中的新用户显示“欢迎”消息
我是某个 Telegram 组的管理员。我添加了一个机器人。对于每个新用户,我都会删除旧的欢迎消息并添加新的,以减少不相关消息的数量。
有没有办法只向特定用户显示“欢迎”消息?还是给他发一条带有“欢迎”信息的私人信息?或者也许任何其他有趣的解决方案,您必须只为特定用户显示信息而不向其他人发送垃圾邮件?