问题标签 [telegraf.js]

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 回答
1552 浏览

node.js - 仅通过使用 telegraf.js 的命令启动电报场景

我试图仅通过确切的命令开始一些场景/start 我正在使用Telegraf.js库,当我做中间件时它运行不顺利,当我发送一些其他输入时它会自动启动,而不仅仅是/start

我该如何解决?谢谢。

0 投票
1 回答
1161 浏览

javascript - 如何使用电报机器人从本地文件夹发送图像?

我正在 nodeJs 上制作电报机器人,但我未能找到有关如何使用机器人发送本地照片的信息。官方文档说“使用 multipart/form-data 上传新照片”。这意味着什么 ?如果您现在有更好的发送照片的方法(也许将文件夹放在服务器上并向其发出请求),您也可以回答!

0 投票
1 回答
347 浏览

telegram - 如何在 Telegraf 库中使用 Telegram 官方 API

我正在尝试使用电报和 npm创建电报机器人

问题是我找不到使用所有电报方法的方法,比如channels.getFullChannelchannels.getMessages在电报 API 内......

电报官方文档中有一些我想使用的方法,比如这个,但我不知道如何使用电报实例访问它。

我将其用于我的代码:

但在控制台中得到的是:

我应该提到,在官方文档中指出这些方法可以被 Bots 访问。

我也测试过

也没有用

0 投票
1 回答
5820 浏览

node.js - Telegraf.js 在 sendPhoto 上添加带有标记的按钮

bot.telegram.sendPhoto()有这个代码:

(描述是一个带有一些文本的数组。

所以我想添加一些按钮,然后执行一个动作,但我该怎么做?我试过这样:

然后在 parse_mode 之后将其添加到 {...} 中:

但它不起作用。我也在 {...} 之后尝试过

但它仍然不起作用。那我该怎么办?谢谢

0 投票
1 回答
674 浏览

node.js - Telegraf.js 将数据从按钮传递到处理 WizardScene 的函数

我需要传递从数据库中检索到的一些数据。

当我点击一个按钮时,我会向已点击的用户发送一条私人消息。我需要将该按钮中的一些数据传递给发送的消息。因为,在那条消息中,我有一个启动 WizardScene 的按钮。那么我该怎么做才能传递数据?谢谢你。

这是我的代码。

这是一个发布带有描述和回调按钮的照片的函数。

按钮是:

当有人点击它时,它会向私人用户发送一条消息:

这会发送一个文本,我需要在其中编写我的 productid,以及另一个按钮,我将在其中启动我的向导场景:

那么如何将我的 productId 变量传递给按钮 TEST,然后传递给向导场景?我需要在用户对话框上的向导上使用它。

谢谢你

0 投票
1 回答
696 浏览

node.js - Telegraf.js:使用按钮离开 WizardScene

我会在带有“取消”按钮的 WizardScene 中的消息之后放置一个按钮。但我检索到一些错误:

这是我的巫师场景:

这是我的取消订单功能:

和按钮动作:

该程序正确写入文本,并放置按钮。但是,如果我按“取消”,则会在以下位置出现错误:

因为“文本未定义”,因为我按下取消并且我没有写任何东西。

那么我怎样才能离开场景而不前进,但是如果我写了一个文本,它会在wizardScene中前进?

谢谢

0 投票
2 回答
2524 浏览

node.js - Telegraf JS:如何清除聊天记录?

我如何清除聊天历史记录,在我的情况下是 Telegraf.js 的机器人聊天历史记录?我在 Telegram API 中看到有一种方法可以清除聊天历史记录:https ://core.telegram.org/method/messages.deleteHistory

有,但我在Telegrafmessages.deleteHistory()文档上找不到任何东西。

那么如何使用 Telegraf 清除历史记录?

谢谢

0 投票
1 回答
792 浏览

node.js - 如何在 Telegraf 中处理长消息

单击 Telegraf Markup 回调按钮后,我正在尝试发送超长文本作为消息。但我得到了Error: 400: Bad Request: message is too long

我是 Telegraf 的新手。有什么办法可以处理吗?我很乐意接受任何建议。

0 投票
0 回答
37 浏览

telegram-bot - Telegram Bot webhook URL 在几个请求后被清除

我创建了 Telegram Bot 并获得了我的令牌。

我使用 Telegraf.js 库在 Firebase Functions 上准备了我的 Bot 逻辑。

我使用 setWebhook 设置我的 webhook

当我测试我的 Telegram Bot 时,它工作正常,但在几个请求之后,Webhook 被清除。

这是我的机器人getWebhookInfo

0 投票
1 回答
74 浏览

javascript - JS将变量传递给事件

Soo... 我正在为 Node.JS 开发 Telegram Bot,在用户加入后,我的 bot 将欢迎他们:

用户加入聊天时的消息

用户加入聊天后,可以点击消息附加的左侧按钮,到Callback.Button,触发这个功能:

所以我的问题是......我怎么能确定只有加入的人 --> 用户在加入时触发 Welcome(e) 功能 --> 用户名在本地 e 变量中

e.update.message.from.username 来自加入的用户

e.update.callback_query.from.username 是点击按钮的用户

但两者都是局部变量......

如何将该变量从欢迎消息传递给 bot.action 事件?

我想制作一个临时的全局内存来存储用户名,但是如果另一个用户加入并干扰了怎么办……制作一个数组似乎也有点不对劲……有人有解决方案吗?

真诚的文