问题标签 [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.

0 投票
1 回答
1519 浏览

telegram - Telegram bot 深度链接和滚动到某些消息

我创建了一个电报机器人,并且在聊天中有很多消息,我想以编程方式滚动到聊天中的某个消息,例如,我想要一个链接到聊天中的消息的深层链接,所以当我点击链接 我会在聊天中看到该消息,但由于某种原因它不起作用。浏览文档应该可以解决问题

或者

不幸的是,这些都不适合我,有人知道我做错了什么吗?

0 投票
1 回答
404 浏览

javascript - 如何使 Telegram BOT 回复特定消息?

我想让我的 BOT 回复这样的特定消息:

在此处输入图像描述

我正在使用带有要回复的消息 ID 的“reply_to_msg_id”,但它不起作用。

任何人都可以帮助我吗?

提前致谢,

贾科莫

0 投票
1 回答
673 浏览

node.js - 使用电报机器人与 nodeJS 进行实时聊天

在机器人菜单中,我有一个在线聊天选项。如果用户单击此按钮,bot 会将此用户状态保存为chatMode. 这种情况就像用户的状态是chatMode他的每条消息都应该转发给我,当我回复这条消息时,我的答案应该发送给这个用户——所有这些通信都应该通过我的机器人进行。这种情况就像服务机器人@LivegramBot。您能否提供有关如何实现此结果的详细答案?

另外,有没有办法对这些用户进行分组,因为如果有更多用户,我的对话将在我的机器人这边混在一起?

这就是我正在尝试的:

但这里if (msg.reply_to_message)的部分再次发送给自己。

0 投票
0 回答
1615 浏览

javascript - 如何限制用户?电报机器人

我想制作一个可以限制加入组的新用户的机器人,下面是我的代码,但是当我运行它时,它似乎不起作用。我想我误解了“聊天许可”的工作方式,但找不到。

这是电报网络的“限制”方法:链接 (我已经将电报网络钩子设置为这个谷歌应用程序脚本)

我收到以下错误:

{"ok":false,"error_code":400,"description":"错误请求:指定了错误的 user_id"}

0 投票
1 回答
913 浏览

bots - 如何以编程方式向@BotFather 发送消息?

我知道如果您将命令发送给机器人,则可以在电报中创建/newbot机器人@BotFather。但要做到这一点,你需要拿起你的设备,打开 Telegram,与他聊天@BotFather并向他发送命令/newbot。以上所有内容都可以通过编程方式完成吗?

PS:这不是偷懒,而是尝试优化解决方案。

0 投票
1 回答
3161 浏览

telegram - 通过bot电报API nodejs将计划消息发送到电报频道

为了发送常规消息,我使用 -

但是如何发送计划消息?

0 投票
1 回答
476 浏览

node.js - 基于 nodejs 的电报机器人的 Heroku 部署

我正在尝试部署一个国际象棋电报机器人,开发人员对其进行了演示并且效果很好。然而,该代码有一个错误,即黑白棋子颠倒了,并且将主教和典当互换了两种颜色。

所以我决定分叉它并纠正这个错误,并认为我将自己托管它来测试,这就是我卡住的地方,因为我对节点 - npm 世界知之甚少。我试图让它达到 heroku 编译它没有错误的地步:

heroku 构建和部署成功

但是这段代码使用 knex 模块,如果我尝试在我的本地机器上运行npm run knex migrate:latest原作者推荐的,它会抛出错误npm ERR! missing script: knex

本地 npm 错误

我创建的 fork 可在此处获得:https ://github.com/pubmania/chessbot 我在 heroku 上设置了以下环境变量:

配置变量

这再次符合原作者的指导。

最初,当我尝试创建测功机时,我得到“无节点引擎”,所以我在 package.json 中添加了具有最新节点版本的节点引擎,然后它给出了错误“无启动脚本”错误,所以我在包中添加了启动脚本.json 本质上与“dev”相同,但这消除了该错误。现在heroku上的日志显示以下条目:

我尝试npm run knex migrate:latest从 heroku bash 运行命令,但仍然遇到与下面的屏幕截图相同的错误。

在此处输入图像描述

我正在阅读更多内容,并在 package.json 的脚本部分添加了以下内容

"knex": "node_modules/.bin/knex migrate:latest"

然后npm run knex在本地运行

这也许可以通过以下事实来解释:我在本地使用 sqlite,所以我只是跑了heroku local web,但这给出了错误:

任何有关在 heroku 上部署此功能的帮助将不胜感激。

0 投票
1 回答
749 浏览

telegram - 我应该怎么做才能获得“电报私人群组ID”的新方式

我想创建在电报组中打印用户名字的新机器人。

所以它可以在公共团体中轻松完成,但在私人团体中我需要它id,所以我必须将机器人添加到私人团体,然后我该怎么办?

我想用 Python 或 Pyrogram 来做,我也不想像这样使用电报 API:

因为我在使用 Python-telegram 机器人库时无法使用它。

id主要问题是在我将机器人添加到它之后,我想如何获得私人组?

0 投票
1 回答
353 浏览

javascript - 如何测试用 NodeJS 构建的 Telegram 机器人?

我用NodeJS(node-telegram-bot-api)制作了一个电报机器人,但现在我面临的问题是如何测试机器人。我想测试机器人在收到消息时如何响应,如何使用 Node 本身模拟它并基于它编写自动化测试。我觉得这是不可能的,但这里有人做到了吗?我已经尝试研究互联网,没有找到任何令人满意的东西。

0 投票
1 回答
228 浏览

javascript - 如何使电报节点应用程序不断运行

我正在构建一个节点 Telegram 机器人node-telegram-bot-api,到目前为止它非常棒。
但是,我想收听不断发送到我的机器人的消息,所以我正在使用:

这会运行,但随后会到达脚本的末尾并关闭节点应用程序。
有没有办法让它在没有轮询的情况下保持活力?