go - 如何使用 Telegram bot API 查找消息的文件唯一 ID?

标签 go telegram telegram-bot

我正在尝试 Golang Telegram 机器人 API,但我发送给机器人的消息文件 ID 存在问题。

我向机器人转发了一条 VOICE 类型的消息,并在代码中读取了该文件的唯一 ID,以了解机器人是否已收到该语音消息(...可能由其他用户转发)。

问题是,当我使用此代码 msg.Voice.FileID 读取 ID 时,我总是得到不同的字符串。但也不是完全不同,字符串的前半部分和后半部分总是相同的,但中间部分发生了变化,如下所示:

id first time i forward the message: aaaaaa_abc_zzzzz

id second time i forward the message: aaaaaa_def_zzzzz

文档没有对此说什么... ( https://godoc.org/github.com/go-telegram-bot-api/telegram-bot-api )

你们知道如何处理文件 ID 吗?我的目标是能够说“好吧,我从这个或另一个用户那里收到了这张照片(或语音、音频或视频)”

感谢您的宝贵时间

已经

最佳答案

正如一位 reddit 用户指出的 here ,根据 Telegram API v4.5 https://core.telegram.org/bots/api-changelog#december-31-2019 可以拥有文件的唯一 ID。 .

我找不到这个,因为 a 正在阅读 Golang 实现 godoc并且“唯一ID”功能尚未实现。

我将添加它并创建 PR。

关于go - 如何使用 Telegram bot API 查找消息的文件唯一 ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60967976/

相关文章:

api - 我可以使用 Telegram bot api 检测我的机器人组吗

java - 如何使用 Java 为 Telegram Bot 键盘编写一组自定义命令?

java - 如何验证成员(member)是否是管理员?

go - 你能在 Go 中一次声明多个变量吗?

go - 与并发功能不一致的结果?

telegram - 通过 API 自动将消息发布到 Telegram channel

python - 如何在 python telegram bot 中发送消息之间添加暂停?

go - 如何将地址转换为类型并在 GDB for Golang 中打印它

go - 如何在 nats 中回复已接受的连接。在 golang 中订阅

go - 如何触发电报机器人发送消息