Для начала установим Python. Если он уже установлен или у Вас Linux можете пропустить этот абзац. Скачайте отсюда https://www.python.org/downloads/release/python-365/ внизу страницы подходящий для Вас установочный файл/архив. Установите не забыв поставить галочку "Add Python to PATH".
Далее установим telethon командой
pip install telethon
(pip3 install telethon для Linux). И уже можно приступать к работе. Но сперва немного настройки.
Перейдите на https://my.telegram.org и авторизуйтесь номером телефона (код придет только на Telegram, СМСа не будет). После перейдите через «API Development tools», заполните форму и нажмите на «Create application». Скопируйте api_id и api_hash (Внимание, эти данные должны быть в строгой конфиденциальности).
Создайте файл с расширением .py (например, start.py) и вставьте в него следующий код
from telethon import TelegramClient
client = TelegramClient(
"sessionname",
api_id = Вставьте сюда api_id,
api_hash = «Вставьте сюда api_hash»
)
client.start()
Запустите этот файл в командной строке:
python start.py
И если все успешно, он попросит
«Please enter your phone»(вводим номер телефона)
«Please enter the code you received»(вводим присланный нам код)
И если вы установили облачный пароль он попросить ввести его (внимание, введите пароль без ошибки, так как Backspace здесь не работает)
«Please enter your password»(вводим пароль)
Если авторизация удалась он выведет
Signed in successfully as $Username$
а рядом с файлом start.py появится файл sessionname.session. Ну что-ж авторизовались, подготовились, пришло время как-нибудь использовать telethon. Например отправим сообщение в чат @tchatkz (Вы должны быть там подписаны). После client.start добавьте это:
peer = get_entity("tchatkz")
client.send_message(peer, "Привет, я пишу из Telethon")
Проверьте сообщение в чате. Другие встроенные функции модуля telethon вы можете посмотреть здесь http://telethon.readthedocs.io/en/latest/modules.html Чтобы использовать другие классы кроме TelegramClient сперва добавьте их командой from telethon import.
Если встроенных функции Вам не хватает взгляните на сайт https://lonamiwebs.github.io/Telethon/ где описаны методы (258) запроса к Telegream API. Рассмотрим один из них. Например получим просмотры одного поста на канале RASHEVa:
from telethon import TelegramClient
from telethon.tl.functions.messages import GetMessagesViewsRequest
client = TelegramClient(...)
client.start()
peer = client.get_entity(«yrashev»)
count = client(
GetMessagesViewsRequest(
peer,
[705],
increment = True
)
)
print(peer)
Вернет нам число просмотров поста.
Методы вызываем в форме client(Request(…)), в отличии от методов типы и конструкторы вызывать нельзя. Для проверки типа возвращаемого результата используем isinstance(result, Constructor). Например, описанный наверху client.send_message() возвращает конструктор Message. код для проверки следующий:
from telethon import TelegramClient
from telethon.tl.types import Message
client = TelegramClient(...)
client.start()
ent = get_entity("tchatkz")
m = client.send_message(ent, "Привет, я пишу из Telethon")
if isinstance(m, Message):
pass
У каждого метода и конструктора на странице описания есть кнопка «Copy import to the clipboard», нажав на который мы получим расположение класса в библиотеке telethon.
Давайте я приведу еще несколько примеров и закончим на этом:
Получить участников группы/своего канала
client.get_participants(peer, limit=None)
Может занять более 5 минут если у группы/канала участников более 10 000
Получить отписавшихся от канала (выдаст за последние два дня + Вы должны обладать правами админа)
from telethon.tl.functions.channels import GetAdminLogRequest
from telethon.tl.types import ChannelAdminLogEventsFilter
client(
GetAdminLogRequest(
channel = ent,
q = «»,
max_id = 0,
min_id = 0,
limit = 100,#В зависимости от количества участников
events_filter = ChannelAdminLogEventsFilter(
leave = True
)
)
)
Далее установим telethon командой
pip install telethon
(pip3 install telethon для Linux). И уже можно приступать к работе. Но сперва немного настройки.
Перейдите на https://my.telegram.org и авторизуйтесь номером телефона (код придет только на Telegram, СМСа не будет). После перейдите через «API Development tools», заполните форму и нажмите на «Create application». Скопируйте api_id и api_hash (Внимание, эти данные должны быть в строгой конфиденциальности).
Создайте файл с расширением .py (например, start.py) и вставьте в него следующий код
from telethon import TelegramClient
client = TelegramClient(
"sessionname",
api_id = Вставьте сюда api_id,
api_hash = «Вставьте сюда api_hash»
)
client.start()
Запустите этот файл в командной строке:
python start.py
И если все успешно, он попросит
«Please enter your phone»(вводим номер телефона)
«Please enter the code you received»(вводим присланный нам код)
И если вы установили облачный пароль он попросить ввести его (внимание, введите пароль без ошибки, так как Backspace здесь не работает)
«Please enter your password»(вводим пароль)
Если авторизация удалась он выведет
Signed in successfully as $Username$
а рядом с файлом start.py появится файл sessionname.session. Ну что-ж авторизовались, подготовились, пришло время как-нибудь использовать telethon. Например отправим сообщение в чат @tchatkz (Вы должны быть там подписаны). После client.start добавьте это:
peer = get_entity("tchatkz")
client.send_message(peer, "Привет, я пишу из Telethon")
Проверьте сообщение в чате. Другие встроенные функции модуля telethon вы можете посмотреть здесь http://telethon.readthedocs.io/en/latest/modules.html Чтобы использовать другие классы кроме TelegramClient сперва добавьте их командой from telethon import.
Если встроенных функции Вам не хватает взгляните на сайт https://lonamiwebs.github.io/Telethon/ где описаны методы (258) запроса к Telegream API. Рассмотрим один из них. Например получим просмотры одного поста на канале RASHEVa:
from telethon import TelegramClient
from telethon.tl.functions.messages import GetMessagesViewsRequest
client = TelegramClient(...)
client.start()
peer = client.get_entity(«yrashev»)
count = client(
GetMessagesViewsRequest(
peer,
[705],
increment = True
)
)
print(peer)
Вернет нам число просмотров поста.
Методы вызываем в форме client(Request(…)), в отличии от методов типы и конструкторы вызывать нельзя. Для проверки типа возвращаемого результата используем isinstance(result, Constructor). Например, описанный наверху client.send_message() возвращает конструктор Message. код для проверки следующий:
from telethon import TelegramClient
from telethon.tl.types import Message
client = TelegramClient(...)
client.start()
ent = get_entity("tchatkz")
m = client.send_message(ent, "Привет, я пишу из Telethon")
if isinstance(m, Message):
pass
У каждого метода и конструктора на странице описания есть кнопка «Copy import to the clipboard», нажав на который мы получим расположение класса в библиотеке telethon.
Давайте я приведу еще несколько примеров и закончим на этом:
Получить участников группы/своего канала
client.get_participants(peer, limit=None)
Может занять более 5 минут если у группы/канала участников более 10 000
Получить отписавшихся от канала (выдаст за последние два дня + Вы должны обладать правами админа)
from telethon.tl.functions.channels import GetAdminLogRequest
from telethon.tl.types import ChannelAdminLogEventsFilter
client(
GetAdminLogRequest(
channel = ent,
q = «»,
max_id = 0,
min_id = 0,
limit = 100,#В зависимости от количества участников
events_filter = ChannelAdminLogEventsFilter(
leave = True
)
)
)