首页 > 解决方案 > 如何使用 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!');
});

它可以正常发送消息并加入频道。但没有将电话号码添加到我的电报帐户。为什么?

这是电报创建的限制还是我的代码错误?

我事先为存在语法错误和我的英语很差道歉

标签: phptelegramtelegram-bot

解决方案


您的代码似乎是正确的。Telegram 在这里宣布了一项新的隐私设置“谁可以看到我的电话号码” 。如果此选项设置为“Nobody”,您将无法导入该号码。您代码中的电话号码已启用此选项或未与 Telegram 帐户关联(我尝试自己导入)。您的代码应该适用于另一个电话号码。


推荐阅读