每次我运行我的程序时,我都会收到“请输入您的电话或机器人令牌:”

问题描述

似乎 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_hash) as client:
         async for user in client.iter_participants(username):
             print(user.id,user.username)
   
             

channel_info('mychannel',api_hash).result()

问题是每次运行代码都需要输入我的电话号码和接收代码

请输入您的电话(或机器人令牌): 和 请输入您收到的验证码:

为什么电报无法识别我的笔记本电脑?如何避免每次都征求我的同意?

P.S:如果我从代码删除 os.remove(f"{session_name}.session"),我会遇到以下错误

无效的频道对象。确保传递正确的类型,例如确保请求是为频道设计的,或者寻找更适合的不同类型(由 GetFullChannelRequest 引起)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...