如何在 Telegram API 中转发消息

2024-03-28

Telegram API 中有 2 种转发消息的方法:

  • messages.forwardMessage
  • messages.forwardMessages

我想用forwardMessage转发消息的方法channel, group or user到另一个。该方法的定义是:

messages.forwardMessage#33963bf9 peer:InputPeer id:int random_id:long = Updates;

正如你所看到的,这个方法有 3 个输入参数:

  • peer代表的是channel, group or user我们转发消息的目标。 (目的地)
  • id那是message_id.
  • random_id具有内部用途。

据我们所知message_id是聊天中的唯一号码。所以一个message_id in a grouphas 指的是与相同内容不同的消息message_id在其他组中。

所以主要问题是我们如何确定来源peer的转发?因为源头peer不是由message_id.

P.S:我的问题是关于 Telegram API 中的方法,而不是 Telegram Bot API。


ForwardMessageRequest 似乎存在问题,它没有指定源聊天。显然,message_id 不是唯一的,通过我的测试,我注意到仅指定 message_id 就会转发错误的消息。我注意到 message_id 不是唯一的。

但 ForwardMessagesRequest 不存在这个问题。以下是如何使用 ForwardMessagesRequest 版本的示例。

转发示例:

这是我用于测试的代码(我使用 Python 的 Telethon,但这并不重要,因为它直接调用 telegram API):

source_chat = InputPeerChannel(source_chat_id, source_access_hash)
total_count, messages, senders = client.get_message_history(
                    source_chat, limit=10)

for msg in reversed(messages):
    print ("msg:", msg.id, msg)

msg = messages[0]    
print ("msg id:", msg.id)

dest_chat = InputPeerChat(dest_chat_id)    

result = client.invoke(ForwardMessagesRequest(from_peer=source_chat, id=[msg.id], random_id=[generate_random_long()], to_peer=dest_chat))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Telegram API 中转发消息 的相关文章

  • 通过命令行创建私有 github 存储库

    我希望能够通过命令行创建一个私人 github 存储库 我认为使用其余 API 应该可以做到这一点 但是我无法从文档中弄清楚如何做到这一点 这可能吗 The GitHub CLI https github com cli cli tool
  • 如何使用 json 谷歌翻译 api?

    我正在尝试使用来自 python 的 google 翻译和 utf 8 文本 如何调用json api 他们有一个将其嵌入 html 的文档 但我在任何地方都找不到合适的 API 或 wsdl 谢谢 拉斐尔 这是最终对我有用的代码 使用没有
  • 使用 api php 使用通配符从 S3 中删除

    我有这个工作代码可以从 s3 中删除文件和文件夹 如何使用通配符 进行删除 s3 new AmazonS3 bucket mybucket folder myDirectory this doesnt work response s3 gt
  • Lua userdata:无法同时进行数组访问和方法

    我遇到了这个人的问题 Lua userdata数组访问及方法 https stackoverflow com questions 26970316 lua userdata array access and methods 其中 当我设置用
  • 在 ASP.net 中使用 NVP API 时 Paypal SetExpressCheckout 出现问题

    Hi 我正在实现 Facebook 游戏和 Paypal 快速结账支付服务之间的集成 我的网站是在 ASP net 中开发的 我使用 NVP API 进行集成 我的问题是我不断收到 10400 错误 订单总计丢失 我的代码是 Set the
  • 如何添加更多数据存储在 jenkins Rest api 中

    为了使问题变得简单 我知道我可以通过以下方式获取一些构建信息https jenkins server https jenkins server api json xml python 我获得了有关该构建记录的大量信息 但是 我想向该构建记录
  • Rails:使用 RestClient 的外部 API 集成(未定义的局部变量或方法“user”)

    我正在建设一个数字图书馆 我已经完成了很多需要的功能 我目前在将数字图书馆与学习管理系统 LMS 集成时遇到问题 我已经有一个数字图书馆的管理员身份验证系统 使用设计宝石 我的目标是允许想要访问数字图书馆的用户使用其学习管理系统 LMS 凭
  • 如何从 Web 应用程序访问仅限身份验证的 Twitter API 方法

    我有一个 iPhone 网络应用程序 它最终将在 PhoneGap 应用程序中运行 但现在我在 Safari 中运行它 该应用程序需要访问 Twitter 好友的推文 包括私人推文 所以我使用 Scribe 库实现了 OAuth 我成功地将
  • 如何将 YouTube API 集成到我的 iPhone 应用程序中?

    我想将 YouTube API 集成到我的应用程序中 我该怎么做 附注 我正在为 YouTube 频道制作一个应用程序 我尝试以webview 但这让一切变得更糟 因为用户可以看到 YouTube 控件 搜索等 以及有关 YouTube i
  • 获取 Youtube 上的游戏直播列表

    我正在尝试使用 Youtube 数据 API 来获取当前与游戏相关的直播流列表 但我找不到任何符合我需要的端点并返回每个频道的观看者数量 你们知道我该如何做到这一点吗 Thanks 游戏直播列表 videoCategoryId 20 是 游
  • GitHub v3 API - 如何在存储库中创建初始提交?

    我正在使用 v3 API 并设法列出存储库 树 分支 访问文件内容并创建 blob 树 提交 我现在正在尝试创建一个新的存储库 并设法使用 POST user repos 来完成它 但是当我尝试在这个新存储库中创建 blob trees c
  • 通过 Office API 将多个 Word 文档保存为 HTML

    我有大量的Word文档需要解析 由于它们都是从同一个模板创建的 我认为最好的方法是将它们保存为 HTML 文件并解析 HTML 本身 虽然将单个 Word 文档保存为 HTML 相当容易 但我还没有找到从 Word 内部执行批量过程的方法
  • 用于分享帖子的 Yammers REST API

    我想使用 REST API 从我的业务应用程序共享帖子 不是发布新消息 而是共享现有帖子 有谁知道要使用哪个端点以及如何实现它 当您使用 Yammer API 创建新帖子时 请将参数 shared message id 与要共享的消息的 m
  • useState 由于某种原因没有更新?

    当我尝试使用 axios 从后端 API 获取一些数据 并在由于某种原因获得结果后设置状态时 状态不会更新 当我尝试使用状态时 它只会向我显示一个空数组 但有趣的是当我console log res data 它会毫无问题地向我显示我的列表
  • .NET Web API - 添加日志记录

    我正在寻找有关处理 API 日志记录的最佳方法的帮助 我想将所有请求和响应记录到 sql 或文本文件 如果这是最好的方法 目前我已经在 SQL Server 的日志表中插入一行 我使用名为 LogAction 的静态方法来执行此操作 并在
  • C++标准API

    我是一名学生 也是 C 新手 我正在寻找与 Java API 一样全面的标准 C API 到目前为止我一直在使用cplusplus com http www cplusplus com and cppreference com https
  • 简单的跨平台 TCP IP API?

    我不打算使用像 QT 或 wxWidgets 的 API 这样的大东西 我只想要可以在 Android iOS Windows Mac Linux 上运行的简单套接字 我正在制作一个事件驱动的纸牌游戏 所以 TCP 是最好的 本质上 我只想
  • Trello API - 未经授权的权限请求

    我正在尝试编写一个小脚本来更新卡的当前列表中的时间量 以便我们可以优化吞吐量 我在 jsfiddle 上写了一个小脚本 几乎可以工作 但我得到了一个 请求未经授权的卡许可 当尝试使用时 Trello post cards card id a
  • 适用于 iPhone 和 HTTP 直播的实时视频聊天

    所以一般来说 我想为 iPhone 制作一个具有视频聊天功能的应用程序 但经过多次搜索 我仍然找不到任何成功的结果 是否有任何公共或私有 API 可用于在 iPhone 上执行此操作 如果您的答案是 是 请帮助我 基本上 我想要的是读取连接
  • 使用 PRAW 帮助获取 Reddit 帖子链接到的 URL

    我正在尝试使用 Praw 获取 Reddit 提交标题中链接的帖子 例如提交 http www reddit com r AdviceAnimals comments 1adu71 apparently people still need

随机推荐

  • 无法在 RavenDB 2.x 中创建新数据库

    Noob RavenDB 问题 刚刚下载了 Raven 2 x 并将其设置为在 IIS 中运行 只是尝试通过 Studio 在 RavenDB 2 x 中创建一个新的数据库 我的配置中有以下设置
  • Java 8 - CrudRepository 类型中的方法 save(S) 不适用于参数(Optional

    我开始使用 spring 框架进行 java 开发 为了获得比 hello world 更复杂的东西 我找到了本教程并尝试遵循 https www toptal com spring beginners guide to mvc with
  • 为什么在 Java 中右移 16 乘以 32 结果是 16 而不是 0? 16>>32 = 16 为什么? [复制]

    这个问题在这里已经有答案了 我在java中使用右移运算符时遇到了一个奇怪的情况 当我右移 16 乘 31 时 结果为 0 但是尝试右移 16 乘 32 时 它本身仍然是 16 有人可以解释一下吗 因为我对此感到疯狂 public class
  • 如何将对话框指令与 Alexa 的 java SDK 一起使用

    我正在尝试使用 java 技能套件创建我自己的 Alexa 技能 并且我想使用对话框界面 我已经使用测试版的技能生成器创建了我的对话模型 但现在我不明白我需要通过我的网络服务返回什么才能委托我的对话 我应该使用哪个类向 Alexa 发送命令
  • WP7 TimePicker 选择 24 小时格式的时间

    有没有办法让WP7的TimePicker允许用户选择24小时格式的时间 如果我将 TimePicker ValueStringFormat 设置为 0 HH mm ss 它会以 24 小时格式显示 但当我单击它时 输入时间仍为 12 小时格
  • 编译器预处理期间的数学运算

    我经常遇到这样的情况 我需要在编译时生成几个常量以用于移位和屏蔽操作 e g define blockbits 8 define blocksize 256 could be generated from 2 blockbits defin
  • 字母数字会包含 _ 和空格吗?

    如果字段定义为字母数字 是否允许使用空格和下划线 我希望他们不是 有人能证实吗 根据定义 字母数字字符仅包含字母 A 到 Z 和数字 0 到 9 空格和下划线通常被视为标点符号 因此不应该允许使用它们 如果某个字段明确指出 字母数字字符 空
  • Perl 中有 inf 常量吗?

    我正在为算法初始化一个无穷大的列表 写作 x 9 9 9感觉不直观 而且我将来可能想使用 BigInt 1 0抛出错误 获得的规范方法是什么inf 您可以使用特殊字符串 inf perl E say inf 1 inf perl E say
  • .htaccess 用于 HTML5 模式的 AngularJS 应用程序的子文件夹

    概述 我有一个 AngularJS 应用程序 它使用 locationProvider html5Mode true 它由 Apache 服务器提供 到目前为止 我使用的源代码是从其他人那里访问的 我只需要重定向到 index html 以
  • 为什么 EnumerateFiles 比计算大小快得多

    对于我的 WPF 项目 我必须计算单个目录 可能有子目录 中的总文件大小 Sample 1 DirectoryInfo di new DirectoryInfo path var totalLength di EnumerateFiles
  • Android 中如何获取当前 Button 文本颜色?

    我不知道如何获取按钮文本的当前颜色 我知道可能是这样 但无法完全弄清楚参数 public static int getTextColor Context context TypedArray attrs int def 基本上我正在尝试这样
  • 渲染问题无法加载LayoutLib:

    渲染问题无法加载LayoutLib com android layoutlib bridge Bridge 详情 org jetbrains android uipreview RenderingException Failed to lo
  • 在 xml 编辑器中在字符串资源的引用和值预览之间切换

    在 Android Studio 中使用 xml 值并引用时 Strings xy例如 我在视频中看到 实际上可以直接在同一编辑器窗口中显示实际值 它是基本上是在之间切换 String xy和 XYContent 但引用仍然存在 我不是指
  • 在服务器上强制 svn:eol-style=native?

    目前 为了保证颠覆性eol style被设定为native对于添加到项目中的每个新文件 我们必须将其添加到 subversion config我们每台开发人员机器上的文件 miscellany enable auto props yes a
  • c# Xamarin UITextField 设置光标位置

    我需要将 UITextField 的光标定位在与另一个先前文本字段完全相同的位置 我将光标在第一个文本字段中的位置设为nint index txtToField GetOffsetFromPosition txtToField Beginn
  • Android 时差与乔达时间

    我有这个简单的代码 使用 Joda time 工作正常 但我有一个问题 比如返回814分钟 通过代码就可以了 但我希望结果少于 60 分钟 而不是 814 分钟 那么 我该如何转换这 814 分钟才能得到我想要的结果呢 同样的情况也发生在几
  • YouTube Live API 流状态和质量回调

    In the Live Control Room of a YouTube Live broadcast I can see a Stream Status view which shows me details of the video
  • 尝试上传到 Amazon S3 时出现“不支持的正文有效负载对象”

    我想将文件从我的前端上传到我的 Amazon S3 AWS 我正在使用 dropzone 因此我转换文件并将其发送到我的后端 在我的后端我的文件是这样的 fieldname file originalname test torrent en
  • 从 Mono 列表创建 Flux 的正确方法

    假设我有一个使用 CustomObjects 列表的 API 操作 对于其中的每一个对象 它都会调用一个创建 Mono 的服务方法 如何以惯用且非阻塞的方式从这些 Mono 对象创建 Flux 我现在想到的就是这个 我更改了方法名称以更好地
  • 如何在 Telegram API 中转发消息

    Telegram API 中有 2 种转发消息的方法 messages forwardMessage messages forwardMessages 我想用forwardMessage转发消息的方法channel group or use