python - 使用 Python3 将联系人列表从 CSV 文件导入 Telegram

标签 python telegram telethon

我正在尝试使用 Python3 从 CSV 文件导入联系人。

代码运行良好,没有显示任何错误,但 Telegram 中没有添加联系人。有什么想法吗?

请看下面的代码:

import csv
from telethon import TelegramClient
from telethon.tl.functions.contacts import GetContactsRequest
from telethon.tl.types import InputPeerUser
from telethon.tl.types import InputPhoneContact
api_id = *******
api_hash = '*********'

client = TelegramClient('myname', api_id, api_hash)
client.connect()
with open('list.csv', 'r') as csv_file:
csv_reader = csv.reader(csv_file)
for line in csv_reader:
 contact = InputPhoneContact(client_id = 0, phone = (line[0]), first_name=(line[1]), last_name=(line[2]))
    contacts = client(GetContactsRequest(0))
    result = client.invoke(ImportContactsRequest([contact]))

最佳答案

出于未知原因,现在的 Telegram 不正确支持 ImportContacts。它只为新创建的帐户加载 4-5 个联系人,以下的将被忽略。你应该像这样使用 telethon 的 ImportContactsRequest 方法:

contacts_book = []
with open('list.csv', 'r') as csv_file:
    csv_reader = csv.reader(csv_file)
    for line in csv_reader:
        contacts_book.append(InputPhoneContact(client_id=0, phone='+' + line[0], first_name=line[1], last_name=line[2]))
result = client(ImportContactsRequest(contacts_book))

即只有一个 ImportContactsRequest 用于 ≈1000 个联系人(一个帐户少于 5000 个)

关于python - 使用 Python3 将联系人列表从 CSV 文件导入 Telegram,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49952083/

相关文章:

python - 如何将值传递给公式?

python - 给定一个 Numpy 数组,如何计算每个数组元素的百分位数?

python - 每行字符串出现的总和数

telegram - 如何使用telegram API代码?

python-3.x - 使用 Telegram API 阅读公共(public) channel 文本

python - Python Moto 库出现“找不到请求的资源”错误

telegram - 如何使用 Telegram API 方法

python - 限制在 telegram.org API 中测试 auth.sendCode

api - 为什么 Telethon 发送文件这么慢?

python - 如何使用 telethon 库通过 @ID Telegram 发送消息