Все библиотеки, которые работают с юзерботами, обращаются к
Telegram API. То есть все они имеют одинаковые методы для работы с Телеграмом, но отличаються синтаксисом и т.п.
Проблема заключается в том, что какие-то библиотеки последний раз обновлялись давно. Вот например последнее обновление
Pyrogram было аж 10 месяцев назад (
Github), а вот
Telethon обновляется постоянно (
Github).
Для ответа на вопрос что лучше, я потестил
Telethon и понял, что в нём очень сложно разобраться. Сначала я думал, что в документации ничего не сказано про методы, но потом нашёл
Telethon API с примерами кода и разобраться было чуть легче.
Но проблем было гораздо больше с установкой. Чтобы установить
Telethon нужно сначало установить
wheel. Потом после ввода номера телефона и создания файла сессии, у меня отсоединился аккаунт от других устройств (
решение).
И последнее замечание - к сессиям. Во-первых сессия, созданная
Pyrogram, не может использоваться в
Telethon и наоборот. Во-вторых
Pyrogram создаст файл один раз, и потом можно будет обращаться только по имени этого файла, а
Telethon всегда нужны будут
api_id,
api_hash,
device_model,
system_version и
app_version.
Перед нами выбор: простой синтаксис и документация, но не обновлённый -
Pyrogram или пройти через несколько проблем с началом работы, но содержащий новые методы -
Telethon. Ответ простой. Всегда используй
Pyrogram, но если будут нужны новые методы, которых нет в
Pyrogram, то используй
Telethon.