问题标签 [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.

0 投票
0 回答
523 浏览

heroku - 如果请求是从 Heroku 上托管的 Telethon 代码发送的,则 Telegram 不会发送授权代码

我在使用Telethon Python 客户端进行 Telegram 登录时遇到问题。

下面的脚本在我自己的笔记本电脑上运行时运行良好:它打印一个 SentCode 对象,Telegram 向我发送一个确认码,然后我用它来登录。

当我在 Heroku 上运行完全相同的脚本时,它仍然会打印相同的 SentCode 对象,但是,我没有收到来自 Telegram 的任何确认码并且无法继续登录。

出于安全原因,Telegram 似乎不承认 Heroku 的授权——也许,Heroku 经常被用来托管恶意机器人,而 Telegram 以这种方式对抗它们。但是,TelethonMTProto文档均未反映此限制。所以我想知道,怎么可能从云平台使用像 Telethon 这样的 MTProto 客户端?如果可能的话,我应该怎么做才能绕过这个限制?

0 投票
0 回答
402 浏览

node.js - 如何从第三方电报机器人聊天中获取消息历史记录?

我是一个完全的 Telegram API 新手,如果这是一个愚蠢的问题,我很抱歉。

我在这里设置了一个基本的 repo,它显示了我如何使用 NodeJS 的@mtproto/core包来获取我所有的 Telegram 聊天列表。我用来获取所有聊天列表的 Telegram API 方法是messages.getAllChats。我还成功地使用了messages.getHistory方法来获取任何列出的聊天的分页历史记录。

问题是messages.getAllChats不包括与第三方机器人的聊天(我没有自己创建的机器人),因此我无法使用messages.getHistory因为我不知道机器人聊天的idaccess_hash. 查看 Telegram 应用程序中所有聊天选项卡下的聊天项目,我看到 32 个单独的聊天/机器人项目 - messages.getAllChats仅返回其中 24 个项目。

如何以编程方式获取我的 Telegram 帐户上的第三方机器人聊天列表并访问这些机器人聊天消息历史记录?有没有办法做到这一点?我不想通过编程方式与第三方机器人交互 - 我只想阅读机器人发送给我的消息。

0 投票
1 回答
398 浏览

api - 未从 Telegram API 获取更新

我正在使用 Vue 应用程序中的 mtproto-core ( https://github.com/alik0211/mtproto-core ) 与 Telegram API 进行交互。

一切正常,除了当我尝试获取更新时,我按照示例代码进行操作,但它不起作用。

任何帮助将不胜感激。

0 投票
0 回答
142 浏览

python-3.x - FastAPI 和 Telethon 应用程序

我正在处理我的电报客户端,首先我需要添加电报授权。我的代码是如何实现的:

但问题是 sign_in() 方法需要先调用 send_code_request() 方法,因此在端点 authorize() 中我在同一会话中第二次调用它 => 用户将收到 2 个相同的代码。

如何在 2 个 API 端点中编写电报授权流程,并且在 sign_in() 之前不执行 send_code_request() 方法?

0 投票
1 回答
239 浏览

php - 使用 MadelineProto 和 Telegram API 获取 CHAT_WRITE_FORBIDDEN

我正在使用 MadelineProto 项目 for php 与 Telegram API 进行交互。也许这个错误与 MadelineProto 无关......无论如何,我成功地创建了一个超级组,但是我调用的任何其他方法都会给我一个 CHAT_WRITE_FORBIDDEN 错误。在 Telegram 文档中找不到任何关于我为什么会收到此错误以及如何解决的信息。

这是我的代码:

我做错了什么?

谢谢

0 投票
1 回答
353 浏览

python - 尝试使用 Pyrogram/Python 获取所有聊天成员的数据时,是否有解决 10,000 电报服务器查询限制的解决方法?

我必须从 Telegram 聊天列表的所有成员(群组和超级群组)中获取数据,但是,正如Pyrogram 文档提醒ChatMember的那样,在单个查询中总共只能获得 10,000 个结果。Pyrogram 的iter_chat_members方法仅限于此,不提供offset参数或某种分页处理。因此,我尝试使用它的get_chat_members方法获取 200 大小的数据块,但是在对应于第 10,000 个ChatMember对象的第 50 个块之后,它开始给我空结果。我用于测试的代码草案如下:

我认为,尽管这些方法中的任何一种都为我提供了完整的聊天成员数据,但应该有一种解决方法,因为 Pyrogram 的文档中关于此限制的内容对应于单个查询。那么,我想知道是否有一种方法可以执行多个查询,而不会使 API 泛滥,并且不会丢失偏移状态。我是否遗漏了某些东西,或者由于 API 限制而无法做到?

0 投票
0 回答
92 浏览

python - 添加到新组时如何调用热解图库中的一段代码?

我正在使用pyrogram库来创建自动化,以便从我添加到的组中下载文件。我的第一个任务是拨打电话以添加到新聊天中。我尝试使用@app.on_chat_member_updated()调用,但是,将我或其他人添加到组时,我的代码没有做任何事情。我的问题是:是否有可能以任何方式实现此调用,但只有在将我添加到聊天时才有效,而在添加其余部分时不执行任何操作?

我的代码:

0 投票
0 回答
43 浏览

telegram - 为 mtproto 面孔生成秘密:未知标志 -c,您是指“-h”、“-v”、“-x”之一吗?

我想通过 mtg 为 ubuntu20 服务器中的电报信使生成秘密

使用命令:

mtg generate-secret -c host.example.com tls

但我收到此错误:

“root@ubuntu-20:/home/ubuntu/mtg# mtg generate-secret -c example.com tls mtg: error: unknown flag -c, 你的意思是“-h”、“-v”、“- X”?”

我应该怎么办??

0 投票
0 回答
39 浏览

python-3.x - Telethon:我可以在发送消息中生成特定的“填充”吗?

我使用Telethon创建 Telegram 客户端。TelegramClient当我使用类和send_message()函数时,我想发送一条带有特定“填充”的消息。我在函数上编辑padding变量,但是当我在函数上打印变量时,它有不同的填充!这取决于协议设计(MTProto 2.0,第 1 部分)还是我在读取/创建“填充”时出错?encrypt_message_data()network/mtprotostate.pybodydecrypt_message_data()

0 投票
0 回答
86 浏览

c++ - 具有特殊情况的 C++ 动态返回类型

我正在尝试在 C++ 中执行类似运行时定义的函数返回类型的操作。
我有四个不同的类(实际上还有很多,但让我们把这个问题简单化), class Factory, classParent和两个子类FirstChildSecondChild. 两者FirstChildSecondChild扩展Parent。在实际代码中还有更多的子类,但它们的工作方式相同。
Factory课堂上,我有一个read方法,它需要一个int ID输入并返回一个子类。

通常可以做的事情,这就是这里重新定义的,是我可以返回Parent带有指针的方法并使用它,但事实是子类有一些与Parent班级。
另外,当我Factory::readID不止两个子类),所以我不能做一个dynamic_cast.

对于那些想知道的人,我正在尝试用 C++ 制作一个 MTProto(Telegram 协议)客户端,但我一直在解析 TLObjects。

如果有人有解决方案或替代途径来做我想做的事情,任何帮助将不胜感激!