Отправка сообщения с помощью Telethon(Клиент Telegram API для Python)

Я хочу отправить сообщение с помощью телефона с помощью телефонного номера, но при этом я получаю сообщение об ошибке, что формат телефона неверный. Это мой код:

from telethon import TelegramClient
from telethon.tl.types import PeerUser

api_id = 123456
api_hash = 'Something'

client = TelegramClient('Telethon', api_id, api_hash)
client.start()

contact = client.get_entity("+98XXXXXXXXXX")

Примечание: Python версии 3.6 и последняя версия Telethon.

1 ответ

get_entity просто работает с сохраненными номерами телефонов. Сначала вы должны сохранить номер телефона в ваших контактах, а затем получить пользовательский объект. Для сохранения контакта вы можете сделать следующее:

from telethon.tl.types import InputPhoneContact
from telethon.tl.functions.contacts import ImportContactsRequest

# Here you must connect to your client.
contact = InputPhoneContact(
        client_id=0,
        phone=phone_number,
        first_name="FN",
        last_name="LN"
    ) # For new contacts you should use client_id = 0
    result = client(ImportContactsRequest([contact]))
    try:
        client.get_entity(phone_number)
        print("There is an entity with the phone number")
    except:
        print("There is no such entity")
Другие вопросы по тегам