- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 Telegram 机器人执行以下操作:
当 user.first_name
匹配正则表达式时:
问题是我不知道如何获取“左”消息的 message.id
,因为:
true
或 false
。left_chat_member
的已发送消息将 user.from
设置为踢球的成员(在本例中为机器人本身)。所以问题是:
Is possible to obtain the
message.id
for the message containingleft_chat_member
when is sent by the bot itself? Is there any other way to achieve this?
也许我可以尝试推断 message.id
,但我不知道这是否可行或是否值得推荐。
最佳答案
一个可能的近似值,来自于在 https://t.me/BotTalk 与@eyaadh 的对话。是:
new_chat_members
发生时,您有一个 message_id
(比方说 A
)kick_chat_member
(缺少message_id
)message_id
(假设是B
)(第一步是可选的)
kick_chat_member
产生的消息是B-1
,中间有另一条消息进入的可能性很小,如果第 2 步和第 3 步必须一起进行在代码中尽可能减少它们之间的时间。
A
消息用于了解最小的 id。换句话说,有问题的 id 在 A
和 B
之间(保证)。如果 A + 2
等于 B
,则消息是 B-1
(或 A+1
)保证。否则,就没有确定性。
在我看来,left_chat_member
应该将消息发送到生成输出的机器人,这样问题就会得到解决,或者 kick_chat_member
的执行应该返回该信息.
当 new_chat_members
在管理它的函数中启动时,可以执行以下操作(将使用三个 ID,id1
、id2
和 id3
):
id1
是加入消息的标识符(new_chat_members
附带的标识符)。
然后执行 kick_chat_member
(这会生成 ID 未知的消息,id2
)。
(如果用户已被删除)任何消息都通过 sendMessage
发送给我们 id3
。
然后我们从 id3 - 1
循环到 id1 + 1
(包括两者):对于这个循环中的每个 id,我们发送一个“消息响应” sendMessage
(在 reply_to_message_id
参数中使用循环的 id)我们检查生成的消息是否在其参数 reply_to_message.left_chat_member
中包含 id我们要删除的用户的,如果是肯定的就是我们要消除的消息(消除,它是id2
),在循环结束时我们消除“响应中的消息”以及(每个步骤循环的 ID)。
当 for 循环结束时,我们删除带有 id1
和 id3
的消息。
以这种方式,输入和输出(踢出的)消息完全确定地被消除,不管其他消息是否出现在它们之间。
我通过在 bot 中的每个 Action 之间等待 3 秒来测试它并在组中写入(同时 bot 一步一步地进行)。
https://github.com/schcriher/welcome-tg-bot/commit/0e4dbaa9cbff5272d682899b1433ff2b3c750a74
总结:从id3 - 1
到id1 + 1
,所有的消息都被回复(reply),并搜索哪个包含具有已被踢出的用户 ID 的 left_chat_member
。
更新
现在机器人在踢出成员时会收到服务消息。分析退出消息是否由 bot 发出就足够了,如果是,则对 bot 成员进行踢。
关于bots - 尝试使用 Telegram Bot 删除 "left_chat_member"消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50916967/
我在网上看到有一些程序可以使用 Telegram CLI。 我想在他们之间做出选择 对于 Telegram bot API,有更多文档解释其功能,但对于 CLI,解释其特性的文档不多 似乎唯一了解的方
当我从按钮获得触发器时,我正在尝试使用 Telethon 发送 Telegram 消息。 当由 NewMessage 事件等事件触发时,我的 Telethon 方法工作正常,但是如何使用其他触发器(即
API 对象 User有房产language_code - Telegram 如何确定用户的语言,以及如何更改它? 我希望根据 language_code 为用户创建响应语言,但我不确定我是否可以信任
我有很多 Telegram channel ,他们以 24\7 的格式发送消息 “购买 usdjpy sl 145.2 tp 167.4” “eurusd 卖出 sl 145.2 tp 167.4”
我对Telegram机器人有疑问。 我需要键盘和嵌入式键盘,是否可以同时启用这两个功能? 最佳答案 根据Telegram documentation,当前不可能同时为reply_markup传递两个或
有人知道 Telegram 如何制作丰富的预览吗?了解它对我正在进行的开发非常有用。它是服务器端的特性,所以我认为代码不可用。不是吗? 最佳答案 它使用 Open Graph protocol :ht
Telegram是一种基于云的聊天服务。他们所有的客户端都是开源的。我想知道是否有办法在我自己的服务器上托管“私有(private)” Telegram 服务。 如果没有,是否有任何东西可以提供 te
为了发送常规消息,我使用 - const uri = `https://api.telegram.org/bot${token}/sendMessage?chat_id=${channelId}&
我正在尝试创建一个机器人,它可以读取/接收特定 channel 中的所有消息并将它们发送给我。我的问题是我找不到在我的机器人中访问这些消息的方法 重要的是: 我不是该 channel 的管理员或创建者
任何人都可以告诉我如何从我的 Telegram Bot 获取有关用户的信息。想象一下我的机器人是我 channel 中的管理员用户,我想获取我的 channel 用户列表或在新用户加入时引起注意。我怎
举个例子,我知道这个帐户存在“https://t.me/everexio ”,但当我单击查看时,它失败,并显示“没有包含您提供的用户名的 Telegram 帐户。”我在不同的群体中多次看到过这个问题。
我知道有一些特殊的网站,例如 Youtube、Vimeo 和...,我可以将我的视频上传到其中一个网站,并将其链接放在 Telegram 的消息中,在下面显示其大视频预览消息并通过其 InApp-Pl
我有一个机器人可以创建包含用户提供的一些 URL 的消息。Telegram 为这些 url 创建链接预览。预览已缓存。 有时 url 的内容发生变化,那么 Telegram 提供的预览就过时了。所以我
telegram 提供了一种衡量 channel 消息浏览量的方法。我很好奇是否有一种方法可以衡量特定群体每月的每月活跃用户或总独立浏览量。 最佳答案 简短回答:是。 您可以使用许多在线工具或机器人分
我如何在 Telegram 机器人上创建一个三划线菜单,类似于他们对 Jobs 机器人所做的那样?它应该与此类似: 我们如何称呼这种菜单? 最佳答案 您可以使用机器人父亲命令添加将显示在菜单上的命令。
网站telegram如何给登录用户发送消息? Telegram Login for Websites Telegram bots are a powerful communication tool,
我想连接一个简单的 Telegram Bot 来读取来自群组(我不是管理员)的消息。我已经将机器人添加到组中,但它不起作用。 这是我在 Python 中的代码: import telepot from
我想使用它的 deep linking 通过 Telegram 设置身份验证接口(interface)。 为了进行身份验证,在我的应用中,我要求用户点击如下链接: https://telegram.m
Telegram 中是否有任何事件 API 机器人 或 核心检测谁查看了用户或 channel 或群组或机器人配置文件? 一些机器人和应用程序声称他们可以做到这一点,但我没有在 Telegram AP
我正在尝试通过电报bot中的SendVoice方法发送语音消息,但是它将语音作为文档文件发送(而不是播放)。 ffmpeg将ogg文件转换为opus编码。 https://api.telegram.o
我是一名优秀的程序员,十分优秀!