telethon には新しいアップデートがあり、ネット上には新しいバージョンで動作しない多くのスクリプトがあるようです。チャンネルのすべての参加者を取得するか、存在する場合はそれらを検索する必要があります。
これは完全に機能する私のコードです:
from telethon import TelegramClient
from unsync import unsync
import os
import sys
api_id = 'api_id' # Your api_id
api_hash = 'api_hash' # Your api_hash
session_name = 'phone number' # Your phone number
os.chdir(sys.path[0])
if f"{session_name}.session" in os.listdir():
os.remove(f"{session_name}.session")
@unsync
async def channel_info(username, api_id, api_hash):
async with TelegramClient(session_name, api_id, api_hash) as client:
async for user in client.iter_participants(username):
print(user.id,user.username)
channel_info('mychannel', api_id, api_hash).result()
問題は、コードを実行するたびに、電話番号と受信コードを入力する必要があることです
電話番号 (またはボット トークン) を入力してください: および受け取ったコードを入力してください:
テレグラムがラップトップを認識しないのはなぜですか? 毎回許可を求めないようにするにはどうすればよいですか?
PS:コードから削除するos.remove(f"{session_name}.session")
と、エラーに直面しました
チャネル オブジェクトが無効です。たとえば、リクエストがチャネル用に設計されていることを確認するか、より適切な別のものを探します (GetFullChannelRequest が原因)。