问题标签 [mtproto]
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.
c# - 如何进行 Telegram MTProto 协议 api 调用?
例如调用/包装auth.sentCode
方法(下面的链接):
https://core.telegram.org/method/auth.sendCode
我努力了:
我得到了这个异常(和内部异常)
底层连接已关闭:发送时发生意外错误。(身份验证失败,因为远程方已关闭传输流。)
api - 如何在 Requests 中指定和实现 Telegram API 方法?
我正在尝试简单地连接到 Telegram API 服务器并获得响应。我在 my.telegram.org 中创建了一个应用程序,现在我有我的 api_id、api_hash 以及 Telegram api MTproto 服务器的 IP 地址。入门文档说我们必须首先使用auth.sendCode方法进行授权,以将代码发送到 api 用户的手机。
所以我尝试了这个 python 脚本来使用 auth.sendCode 方法:
当我打印 res 时,它会显示 Response [404]。根据文档,这意味着尝试调用不存在的对象,例如方法。
我确定问题出在我在发布请求中的数据字段上。我为调用 auth.sendCode 方法创建的字符串是错误的,因此服务器无法识别我要访问的内容。
文档中有该方法的查询示例:
(auth.sendCode "79991234567" 1 32 "test-hash" "en")
请有人帮我更正那个数据字符串(根据这个例子)。如何在 Post Requests 中实现 API 方法?
php - 如何在php中调用主要的电报api方法
我阅读了电报文件并阅读了所有最后的主题和相关问题,例如:
调用 Telegram API 创建 feedreader 机器人
Telegram API 使用 php 或 javascript 发送消息?
和 .....
如果您的答案是“...使用 bot api”或“...使用电报 cli”,我应该说这不是我的问题的好答案!
我想以不同的用户帐户登录并管理它们。
很多
c# - 将 TL 语言 (mtproto) 类型转换为 C#
我正在使用 tl 语言编译器来编译在 C#中的https://core.telegram.org/mtproto中描述的 Telegram Api TL 语言的架构
有一个编译器可以将 tl 语言编译为 C# 类https://github.com/everbytes/SharpTL.Compiler
但它可以在这一行编译新的电报模式:
并将其编译为错误的代码:
在 C# 代码中进行强制转换有什么解决方案吗?
我不知道 C# 中这个“标志:#”的类型是什么
https://core.telegram.org/mtproto/TL-formal中描述的这种类型“#”
将来,flags 字段中的第 3 位和第 4 位可能会在更改 reserved3 和 reserved4 字段的名称和类型后用于传输新字段
c - C中的电报客户端
我正在研究 C 中的 Telegram 客户端,以便我可以为 Pebble 智能手表/s 编写客户端。我了解 Pebble 方面以及此处显示的所有 Telegram 方法,但我完全不知道如何用 C 语言发送这些方法。
我认为这与“TL 语言”和 MTProto 服务有关,但我认为这超出了我目前的理解范围。我也找到了这个代码集合,但同样不知道如何使用它https://github.com/vysheng/tgl/。
编辑1:
在手机上运行带有 PebbleKitJS 部分的基于 C 的应用程序似乎是实现此目的的最佳途径。对使用 JS 实现 MTProto 有任何帮助吗?
tcp - 如何在 cmd 或 bash 中查询 Telegram API
开始使用 API 的第一步是这个。我有 MTProto 服务器 (149.154.167.40:443)、电话号码、api id、哈希...
我该怎么做?我该如何进行这样的查询?我太不明白了。
提前致谢
python - TelegramAPI MTProto checkPone 不响应
我试图用python实现电报api。
基本代码分叉形式https://github.com/datamachine/twx
我想添加 checkPhone 和 sendCode 功能,但服务器总是返回无法理解的结果。
这是我的代码
并且服务器总是响应如下,无论 auth_key_id 是什么,
我的代码有什么问题?
android - 电报:从电报客户端获取文件ID
Telegram 机器人用于fileid
下载文件。我如何fileid
从 Telegram 客户端(我的非官方版本)获得这个?中的文件mtproto
具有指示其地址的位置类。
文件位置参数
- dc_id int 保存文件的数据中心编号
- volume_id long 服务器卷
- local_id int 文件 ID
- 访问文件的秘密长校验和
问题是我不知道如何从课堂上生成fileid
适合机器人的。File Location
更新 1:
我试图做一些逆向工程。所以,我发现File Location
class 和FileId
.
这是我的File Location
示例地址。
- id:
0
// 此字段仅适用于秘密聊天 - access_hash:
0
// 此字段仅适用于秘密聊天 - volume_id:
429640340
(199BCA94 HEX
) - secret:
-3528741004939935589
(CF0764C08833409B HEX
) // 根据 TG 文档,它应该是文件 CheckSum - local_id:
6005
(1775 HEX
)
这是我根据我从我的 Bot 中检索FileID
到的前一课:FileLocation
- 文件编号:
AgADBAADL6gxG06L8w0nhNO87UW3iZTKmxkABJtAM4jAZAfPdRcAAgI
很明显,FileID
值是Base64
格式。所以我已经解码了它:
- 十六进制值:
0200030400032FA8311B4E8BF30D2784D3BCED45B78994CA9B1900049B403388C06407CF7517000202
现在我们可以看到FileLocation
这个十六进制值中的值:
- 未知:
0200030400032FA8311B4E8BF30D2784D3BCED45B789
- 卷号:
94CA9B19 HEX
- 未知:
0004
- 秘密:
9B403388C06407CF HEX
- local_id:
7517 Hex
- 未知:
000202
注意:这些值以Big-Endian
格式存储。
现在我们需要解码Unknown
值。我感谢任何有助于解码这些值的努力。
telegram - 在 Telegram 中解析解密后的 encrypted_data
我正在尝试通过 Telegram 中的秘密聊天(〜类似于自己的客户端)实现接收/发送消息,但在解释解密数据时遇到了一些问题。我已阅读架构,但无法将其与我的数据匹配。
更具体地说:我收到了一条带有“Test12”字样的消息(从官方客户端发送),解码结果(十六进制)是:
3C0000008917E31B0FF1C770B657C36AF705BDACA4BE2C0B2E0000000100000062000000DE91B0360000000038507C7CD5FA6F7C00 00000006 546573743132 00
我们可以在这里找到从 57 字节(粗体)和(如果我没记错的话)长度(斜体)开始的整个消息。但是我怎样才能匹配其他字节呢?在模式中说消息应该从 8 (salt) + 8 (session_id) + 8 (message_id) + 4 (seq_no) + 4 (message_data_length) = 32 字节开始,而不是从 57 字节开始。
此外,当我尝试发送更长的消息(超过〜256字节)时,“消息文本”从60字节开始,长度也编码有点奇怪:1024字节消息的FE000400和512字节的FE000200(什么FE 是什么意思?)。
那么,任何人都可以给我一个模式或我做错了什么的线索吗?