- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我刚刚开始研究 Telegram Bot API,以了解如何通过 Java 对 Bot 进行编程。我不明白机器人如何识别通过 @<username>
提到的用户并获取有关他的信息。
例如,假设我希望我的机器人能够计算并存储用户在组中被提及的次数。他需要的是被标记的用户的id
.
我可以使用 update.getMessage().getEntities()
解析传入消息以检测实体然后使用MessageEntity.getType()
获取实体的类型。现在,如果我理解的话,有两种类型的提及:mention
对于提及槽@<username>
,和text_mention
用于提及没有用户名的用户。问题来了,因为我希望机器人能够检索有关具有用户名的用户的更多信息,因为它是可编辑但唯一的,而不是关于没有用户名的用户,因为他使用保存的名称进行“标记”在发件人的联系人列表中。相反,只有text_mention
类型MessageEntity
对象包含 User
对象,从中我可以获取用户的 id
,正如我在Telegram Bot API documentation中读到的那样。来自 mention
类型MessageEntity
对象我可以获取用户名本身,因为它是文本,但这还不够,因为它可以更改。
所以我的第一个问题是:为什么?我实在不明白为什么text_mention
应该携带有关标记用户的信息,而 mention
不应该。
那么主要问题是:我该如何解决这个问题?
最佳答案
目前没有正确的方法可以做到这一点。
对于此类功能,您可以使用 TdLib 。这里是Java examples
如果用户在提到的组中,您可以使用此类方法来获取用户列表并按用户名查找:
//@description Return recently joined users in reverse chronological order
channelParticipantsRecent = ChannelParticipantsFilter;
//@description Return privileged participants
channelParticipantsAdmins = ChannelParticipantsFilter;
//@description Return kicked from the channel
channelParticipantsKicked = ChannelParticipantsFilter;
//@description Return bots in the channel
channelParticipantsBots = ChannelParticipantsFilter;
关于java - 如何让 Telegram Bot 从提及中获取用户信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51223524/
我在网上看到有一些程序可以使用 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
我是一名优秀的程序员,十分优秀!