возникла такая проблема, написал скрипт на Python, который проверяет, есть ли номер в telegram'е или нет (добавляет номер в контакты, если номер есть, он добавляется, потом удаляется, полученная инфа записывается в csv; в противном случае, возбуждается ошибка, откуда следует, что номера нету), но в какой-то момент, скрипт перестаёт записывать номера в контакты в тг, вопрос, из-за чего это всё происходит и как возможно это исправить? Код прилагается (не судите строго)
import telethon
from telethon import TelegramClient, sync
from telethon.tl.functions.contacts import ImportContactsRequest
from telethon.tl.types import InputPhoneContact
from telethon import functions
from time import sleep
import csv
def csv_writer(path, fieldnames, data):
with open(path, "w", newline='') as out_file:
writer = csv.DictWriter(out_file, delimiter=';', fieldnames=fieldnames)
writer.writeheader()
for row in data:
writer.writerow(row)
if __name__ == "__main__":
api_id = 11111
api_hash = 'чччччччч'
phone = "+375291111111"
client = TelegramClient('Pars-session', api_id, api_hash)
client.start()
client.sign_in(phone)
phone_numbers = open('phone-numbers1000.txt', 'r')
x = int(1)
data = []
for phone_number in phone_numbers:
# print(result.stringify())
try:
contact = InputPhoneContact(client_id=0, phone=phone_number, first_name=phone_number,
last_name=phone_number)
result = client(ImportContactsRequest([contact]))
print(client.get_entity(phone_number))
print(x, ") Номер есть в телеграм", phone_number)
delete_result = client(functions.contacts.DeleteContactsRequest(id=[phone_number]))
data_true = []
data_true.append(phone_number)
data_true.append("Да")
data.append(data_true)
except ValueError:
print(x, "Номера нет в телеграм: ", phone_number)
data_false = []
data_false.append(phone_number)
data_false.append("Нет")
data.append(data_false)
x += 1
sleep(3)
getContacts = telethon.tl.functions.contacts.GetContactsRequest(0)
Contacts = client(getContacts)
phone_numbers.close()
my_list = []
fieldnames = data[0]
cell = data[1:]
for values in cell:
inner_dict = dict(zip(fieldnames, values))
my_list.append(inner_dict)
path = "dict_output.csv"
csv_writer(path, fieldnames, my_list)`