php - 如何使用 MadelineProto 和 php 中的 contacts_ImportedContacts 方法将电话号码添加到电报帐户?
问题描述
我有一个 Excel 文件中的电话号码列表。我只想确定哪些电话号码有电报帐户?也许有人会说,可以通过联系 excel 应用程序将数字列表导入我的移动观众,然后电报本身会自动同步观众的列表。但我不得不说,这不是正确的做法。
经过研究,发现通过madelineproto,使用contacts_ImportedContacts方法,可以做到这一点
这是文档链接:
https://docs.madelineproto.xyz/API_docs/methods/contacts_importContacts.html
所以我首先安装了madelineproto并激活它,我写了以下脚本:
if (!file_exists('madeline.php')) {
copy('https://phar.madelineproto.xyz/madeline.php', 'madeline.php');
}
include 'madeline.php';
$MadelineProto = new \danog\MadelineProto\API('session.madeline');
$MadelineProto->async(true);
$MadelineProto->loop(function () use ($MadelineProto) {
yield $MadelineProto->start();
$me = yield $MadelineProto->get_self();
$MadelineProto->logger($me);
if (!$me['bot']) {
yield $MadelineProto->messages->sendMessage(['peer' => '@FS10218', 'message' => "hi my dear friend"]);
yield $MadelineProto->channels->joinChannel(['channel' => '@Akhbar_Fori_Ir']);
yield $MadelineProto->contacts->importContacts(['contacts' => [ [ '_'=>[ 'client_id'=>0, 'phone'=>'+12106606046', 'first_name'=>'Ccc', 'last_name'=>'Fff' ] ] ], ]);
}
yield $MadelineProto->echo('OK, done!');
});
它可以正常发送消息并加入频道。但没有将电话号码添加到我的电报帐户。为什么?
这是电报创建的限制还是我的代码错误?
我事先为存在语法错误和我的英语很差道歉
解决方案
您的代码似乎是正确的。Telegram 在这里宣布了一项新的隐私设置“谁可以看到我的电话号码” 。如果此选项设置为“Nobody”,您将无法导入该号码。您代码中的电话号码已启用此选项或未与 Telegram 帐户关联(我尝试自己导入)。您的代码应该适用于另一个电话号码。
推荐阅读
- php - 如何在 WordPress中将 src 赋予标签中的图像
- listview - 为什么ListView必须被MaterialApp包裹?
- javascript - Google 表格 onEdit(e) 类型错误:无法读取属性
- javascript - 使用异步过滤和映射 Promise
- c# - 无法翻译 LINQ 表达式。要么以可翻译的形式重写查询,要么切换到客户端评估 EF Core 3.1
- node.js - 为什么这个 node.js 应用程序由 Heroku 在本地运行,但没有在 Heroku 中加载?
- laravel - 挂载钩子中的错误:“ReferenceError:帖子未在 Vuejs 中定义
- r - R 闪亮:在闪亮的应用程序中添加 Konami 代码
- mysql - maxscale 不拆分选择查询
- python - tensorflow 2.0 中 keras 层行为的解释