问题标签 [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 回答
433 浏览

telegram - 如何在电报中禁用链接预览

我在文档中找不到如何禁用烦人的链接预览。有谁知道怎么做?

我已经尝试了上面的代码,但将 Extra 显示为未定义。另外如何使用ctx.replyWithHTML()方法禁用链接预览?

0 投票
0 回答
186 浏览

telegram-bot - 如何将内联按钮的宽度更改为聊天宽度,而不是消息宽度

我见过一个机器人,它在整个聊天区域都有内联按钮,不依赖于按钮的文本宽度):

在此处输入图像描述

由于某种原因,我的按钮绘制方式不同,并且按钮内的文本被修剪。

在此处输入图像描述

我没有看到可以传递来更改宽度的参数,并且谷歌搜索说现在不可能更改它,所以 - 第一个屏幕截图上的按钮为什么是全宽的?我在这里想念什么?谢谢。

编辑:

示例代码使用我使用的内联键盘发送消息并尝试找出按钮宽度逻辑:

在此处输入图像描述

安卓手机查看:

在此处输入图像描述

0 投票
0 回答
30 浏览

telegram - Telegraf.js(Telegram API) - 检测何时将机器人添加到频道并从频道中删除?

我正在尝试检测何时从电报频道添加或删除机器人,以便我们可以跟踪有多少频道/社区正在使用我们的机器人。这些操作是否有机器人事件?

或者,有没有办法获取机器人可以访问的所有频道的列表?

Telegraf 文档:https ://telegraf.js.org/

0 投票
1 回答
120 浏览

javascript - Telegraf:限制权限后,我的机器人不会授予回帖功能

我很难理解我在哪里出错了,所以我正在寻找一些额外的眼睛。我正在使用 Telegraf 在 NodeJS 中制作 Telegram 机器人。当新用户登录时,它应该限制他们在回答简单的验证码式问题之前不能发布任何内容。假设他们回答正确,他们应该被授予再次发帖的能力。如果他们回答错误,他们就会被踢出小组。

除了用户在正确回答后被赋予发帖能力的部分之外,一切似乎都融合在一起了。我的理解是对于您想要允许的权限,restrictChatMember 可以通过“true”,但它不起作用。我还缺少什么?

0 投票
1 回答
38 浏览

telegram - 如何知道用户从哪里开始聊天?来自内部组还是直接来自内部机器人?

我使用 telegraf.js 创建了电报机器人

机器人工作正常,但是如果用户直接从机器人内部发送消息,我需要处理不同的事情,假设机器人应该使用帮助命令文档重播(例如)。

问题是:

如何识别用户开始聊天的位置?来自聊天组内部还是直接来自机器人内部?

我试过

没有成功

我认为解决方案很简单,但直到现在我都找不到。

谢谢你。

0 投票
0 回答
120 浏览

javascript - 电报 - 电报隐藏非管理员角色的内联键盘

如何限制访问以使组中的所有用户都不会显示内联按钮?如果不可能,让管理员单击哪个在聊天中发送命令作为管理员自己回复或发布的最佳选择是什么。

只有当前按下按钮的用户还是所有管理员?

  • 该机器人将向所有用户显示按钮,无论他们是否是管理员
  • 非管理员用户可以点击按钮并在聊天中给出回复但没有采取机器人操作,它被忽略
  • 如果管理员选择任何按钮,非管理员也可以实时看到按钮菜单的变化

如何完全阻止非管理员查看菜单?还是将其限制为仅与它交互的当前用户?

这是我的代码:

0 投票
0 回答
16 浏览

telegram - 登录时聊天 ID 不是以 -100 开头?

我以为所有 Telegram 频道 ID 都必须以 -100 开头?对于我的机器人处于活动状态的其中一个频道就是这种情况,但对于另一个添加 -100 错误,说明该频道无效。

这是存储通道 ID 的片段,如果我在控制台中记录它,第一个通道正确启动,-100 然后是 ID,但是第二个通道没有,而只是你可以看到的 ID在 Telegram 的 Web 客户端上的频道中。

0 投票
0 回答
17 浏览

javascript - Telegraf bot.action does not catch callbacks

I use example from documentation:

On /inline command, i see the message "Coke or Pepsi?" with two buttons "Coke" and "Pepsi" but if I click on one of them, nothing is happens.

0 投票
1 回答
42 浏览

typescript - 我可以在 TypeScript 中获得对象的所有可能属性的建议吗?

我正在尝试使用 Telegraf (4.6.0) 类型,但在探索可能的消息属性时遇到了问题。

这是我现在要做的:

由于消息可以是各种类型(在非 TS 和 TS 意义上),当我输入ctx.message.IDE(在我的情况下为 VS Code)时,我只建议始终在消息对象中的道具(如message_id)。是的,我可以做类似的事情

但这并不能帮助我探索道具可以ctx.message容纳什么。我可以想象一种 hacky 方式

但我既不知道如何实现诸如ExplorePropshelper 之类的东西(我只知道实用程序类型),也不知道任何更好的、非 hacky 的方法来获得它(比如一些打字稿和/或 IDE 的配置)。

你能建议一种实现方法ExploreProps或更好的方法来探索可能的道具吗?

(在 Telegraf 的上下文中,我也在一个问题中过,但不考虑 Telegraf 本身,一致的解决方案会有所帮助)