电报机器人fileid用来下载文件.我如何fileid从Telegram客户端(My Unofficial版本)获取此信息?mtproto具有此位置类的文件指示其地址.
文件位置参数
问题是我不知道如何生成fileid适合File Location类中机器人的那个.
更新1:
我试过做一些逆向工程.所以,我发现File Location课堂和课堂之间有一些关系FileId.
这是我的File Location 样本地址.
0 //此字段仅适用于秘密聊天0 //此字段仅适用于秘密聊天429640340199BCA94 HEX-3528741004939935589(CF0764C08833409B HEX)//根据TG文档,它应该是文件CheckSum60051775 HEX根据我从Bot中检索FileID到的前一FileLocation课,这是我的意思:
AgADBAADL6gxG06L8w0nhNO87UW3iZTKmxkABJtAM4jAZAfPdRcAAgI很明显,FileID价值是Base64格式的.所以我把它解码了:
0200030400032FA8311B4E8BF30D2784D3BCED45B78994CA9B1900049B403388C06407CF7517000202现在我们可以看到FileLocation这个十六进制值中的值:
0200030400032FA8311B4E8BF30D2784D3BCED45B789例如,调用/包装auth.sentCode方法(下面的链接):
https://core.telegram.org/method/auth.sendCode
我试过了:
var url = "https://149.154.167.40";
var data = "(auth.sendCode \"PHONE_CODE+NO\" 0 APP_ID \"SECRET_HASH\" \"en\")";
using (var wc = new WebClient())
{
var result = wc.UploadData(url, GetBytes(data));
}
Run Code Online (Sandbox Code Playgroud)
我得到这个异常(和内部异常)
底层连接已关闭:发送时发生意外错误.(身份验证失败,因为远程方已关闭传输流.)
因此,我正在尝试以适当的方式将电报聊天记录到我的ELK存储中,而现有的tgcli解决方案太旧了(我还有一个PoC,它通过Xposed记录来自Android客户端的消息编辑,但是它实现了UI级别的顶部并且无效)
我需要接收编辑/删除消息,并使用客户端Telegram API进行编辑.
花了一天时间研究它:
现在我不想失去更多时间选择库/源.所以,我正在询问以下任一库的经验,我正在寻找一个能够快速实现所需功能的库 - 对于那些不想深入研究MTProto特性的人.
标题说明了一切,我需要一种方法或特定的应用程序来使用 MTPROTO 代理来隧道整个设备。(没有其他代理,由于某些原因它们对我没有用)有什么想法吗?
我正在调查C中的Telegram客户端,以便我可以为Pebble smartwatch/s编写客户端.我理解Pebble方面,以及此处显示的所有Telegram方法,但我完全不知道如何在C中发送这些方法.
我认为它与"TL语言"和MTProto服务有关,但我认为这些东西超出了我目前的理解.我也找到了这个代码集,但又一次,不知道如何使用它https://github.com/vysheng/tgl/.
编辑1:
在手机上运行PebbleKitJS部分的基于C的应用程序似乎是最佳途径.有关使用JS实现MTProto的任何帮助吗?
出于某种原因,我需要删除/销毁我的 api_id 和 api_hash。
在https://my.telegram.org/apps 中,没有执行此操作的选项/按钮。
我已经尝试从电报中删除我的帐户但是我的 api_id 和 api_hash 仍在工作。
我正在努力了解基础知识,并寻找地方寻求帮助。我知道按照堆栈溢出标准,前两个问题有点模糊。
import在 Webpack 环境中使用 ES6)吗?我看到了一堆错误,但其中一些似乎与使用 webpack 4 有关,但我不确定我想做的事情是否可能(请参阅通过基于网络的客户端访问 Telegram API),尽管我有现在已成功发送 2FA 代码
我的目标是创建一个客户端,可以登录某些电报频道,其中所有内容都来自机器人,并解析其中的信息
这表示要获取用户的令牌,我需要发送请求
auth.sentCode#efed51d9 phone_registered:Bool phone_code_hash:string send_call_timeout:int is_password:Bool = auth.SentCode;
Run Code Online (Sandbox Code Playgroud)
某处?我读过它是一个 MTProto 请求,但我不确定如何发送它。可以用邮递员寄吗?随着teletgrambots 图书馆的rubenlagus?
如何使用 Telegram API 创建公共频道?我尝试过https://github.com/danog/MadelineProto,它有效,但它只创建了一个私人频道。
当您执行时contacts.resolveUsername,结果始终包含id和access_hash。它给 API 用户带来了困惑,为什么你只能通过他们username或他们的对来解析用户/聊天/频道(id, access_hash)(例如,这里和这里)。
我尝试在telegram API 主页上搜索信息,但没有找到有关 的含义的信息access_hash。
我真的很困惑为什么你需要比id(或username)更多的东西。我想知道这件事的本质access_hash:
contacts.resolveUsername从账户 #1 拨打,然后从账户 #2 拨打,我得到的号码是否相同?)?我知道像这样的库pyrogram,telethon将其存储access_hash在本地sqlite数据库中。id这样,它们就可以调用需要同时使用和access_hash仅使用 的高级函数id。