@kopelev2000

Telethon перестаёт добавлять номера, как решить проблему?

возникла такая проблема, написал скрипт на 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)`
  • Вопрос задан
  • 88 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы