Size: a a a

Telethon Talks RU

2019 December 13

#

#Leli in Telethon Talks RU
#Leli
from telethon.sync import TelegramClient
from telethon.tl.functions.messages import GetDialogsRequest
from telethon.tl.types import InputPeerEmpty, InputPeerChannel, InputPeerUser
from telethon.errors.rpcerrorlist import PeerFloodError, UserPrivacyRestrictedError
from telethon.tl.functions.channels import InviteToChannelRequest
import sys
import csv
import traceback
import time

api_id = 73
api_hash = 'fbdb5cf68a2be2aa'
phone = '+192929'
client = TelegramClient(phone, api_id, api_hash)

client.connect()
if not client.is_user_authorized():
   client.send_code_request(phone)
   client.sign_in(phone, input('Enter the code: '))

r"C:\Users\vishal\members.csv"
users = []
with open(r"C:\Users\vishal\members.csv", encoding='UTF-8') as f:
   rows = csv.reader(f, delimiter=",", lineterminator="\n")
   next(rows, None)
   for row in rows:
       user = {}
       user['username'] = row[0]
       user['id'] = int(row[1])
       user['access_hash'] = int(row[2])
       user['name'] = row[3]
       users.append(user)
       
chats = []
last_date = None
chunk_size = 200
groups = []

result = client(GetDialogsRequest(
   offset_date=last_date,
   offset_id=0,
   offset_peer=InputPeerEmpty(),
   limit=chunk_size,
   hash=0
))
chats.extend(result.chats)

for chat in chats:
   try:
       if chat.megagroup == True:
           groups.append(chat)
   except:
       continue

print('Choose a group to add members:')
i = 0
for group in groups:
   print(str(i) + '- ' + group.title)
   i += 1

g_index = input("Enter a Number: ")
target_group = groups[int(g_index)]

target_group_entity = InputPeerChannel(target_group.id, target_group.access_hash)

mode = int(input("Enter 1 to add by username or 2 to add by ID: "))

for user in users:
   try:
       print("Adding {}".format(user['id']))
       if mode == 1:
           if user['username'] == "":
               continue
           user_to_add = client.get_input_entity(user['username'])
       elif mode == 2:
           user_to_add = InputPeerUser(user['id'], user['access_hash'])
       else:
           sys.exit("Invalid Mode Selected. Please Try Again.")
       client(InviteToChannelRequest(target_group_entity, [user_to_add]))
       print("Waiting 60 Seconds...")
       time.sleep(10)
   except PeerFloodError:
       print("Getting Flood Error from telegram. Script is stopping now. Please try again after some time.")
   except UserPrivacyRestrictedError:
       print("The user's privacy settings do not allow you to do this. Skipping.")
   except:
       traceback.print_exc()
       print("Unexpected Error")
       continue
Это скрипт, который я использую
источник
2019 December 17

a

alowave~# shizik.py in Telethon Talks RU
как можно здесь указать параметры аудио? title\performer
источник
2019 December 18

s

std::mpa🌲 in Telethon Talks RU
alowave~# shizik.py
как можно здесь указать параметры аудио? title\performer
актуально?
источник

a

alowave~# shizik.py in Telethon Talks RU
std::mpa🌲
актуально?
Очень
источник

А

Аркаша Одесский 🇪🇪 in Telethon Talks RU
Привет Бохдан
источник

BH

Bohdan Horbeshko in Telethon Talks RU
Я чутка с оффтопом, не могу найти чат по TDlib :)

Ни у кого с методами close/logOut проблем нет? Не пойму, то ли на телеграмовской стороне проблема, то ли в либе, то ли во враппере — у меня иногда ответ не приходит и запросы по таймауту обрываются, а иногда работают.
источник

BH

Bohdan Horbeshko in Telethon Talks RU
>подкарауливает за минуту до
>приветает
источник

А

Аркаша Одесский 🇪🇪 in Telethon Talks RU
Bohdan Horbeshko
>подкарауливает за минуту до
>приветает
источник

s

std::mpa🌲 in Telethon Talks RU
источник

s

std::mpa🌲 in Telethon Talks RU
Bohdan Horbeshko
Я чутка с оффтопом, не могу найти чат по TDlib :)

Ни у кого с методами close/logOut проблем нет? Не пойму, то ли на телеграмовской стороне проблема, то ли в либе, то ли во враппере — у меня иногда ответ не приходит и запросы по таймауту обрываются, а иногда работают.
как шлешь запрос?
источник

s

std::mpa🌲 in Telethon Talks RU
а.
источник

a

alowave~# shizik.py in Telethon Talks RU
ну это я и сам нашел, как это запихнуть в реплай то
источник

s

std::mpa🌲 in Telethon Talks RU
InputMedia создай.
источник

BH

Bohdan Horbeshko in Telethon Talks RU
Видел, но он чот дохлый; продублирую, впрочем, тоже.
источник

s

std::mpa🌲 in Telethon Talks RU
Bohdan Horbeshko
Видел, но он чот дохлый; продублирую, впрочем, тоже.
там мейнтейнер, так-то
источник

s

std::mpa🌲 in Telethon Talks RU
Bohdan Horbeshko
Видел, но он чот дохлый; продублирую, впрочем, тоже.
код покажи
источник

BH

Bohdan Horbeshko in Telethon Talks RU
std::mpa🌲
как шлешь запрос?
Враппер шлёт. https://github.com/zelenin/go-tdlib/blob/master/client/client.go#L120

Тут обработчик квадратно-гнездовой под все методы, у меня есть подозрение, что эти методы иначе обрабатывать надо.
источник

s

std::mpa🌲 in Telethon Talks RU
запросы как шлешь?
Client.Send(&Request) ?
источник

BH

Bohdan Horbeshko in Telethon Talks RU
std::mpa🌲
запросы как шлешь?
Client.Send(&Request) ?
источник

BH

Bohdan Horbeshko in Telethon Talks RU
Причём в лог падает
[ 2][t 3][1576689933.021801710][Td17.cpp:205][#1][!Td]  Destroy Td in state 2
[ 2][t 3][1576689933.022153854][Td24.cpp:304][#1][!Td]  Have no request actors
[ 2][t 3][1576689933.023569822][Td15.cpp:159][#1][!Td]  ON_ACTORS_CLOSED
[ 2][t 3][1576689933.364811182][Td36.cpp:316][#1][!Td]  ON_CLOSED

Но оно вылетает по таймауту.
источник