我想为自己创建有用的电报实用程序。第一个大问题是登录pyrogram Client
(电报帐户)
我在django做了一些事情。我试着这样登录,但是我遇到了一个错误。下面是我对django的看法:
def add_telegram_account(request):
code_sent = False
phone_number = ''
client_sign_in_info = {}
two_step = False
if 'phone' in request.GET:
phone_number = request.GET['phone']
client = Client(phone_number, api_id=api_id, api_hash=api_hash)
client.connect()
client_sign_in_info = client.send_code(phone_number=phone_number)
code_sent = True
if request.method == "POST" and 'code' in request.POST:
code = request.POST['code']
try:
client.sign_in(phone_number, client_sign_in_info.phone_code_hash, code)
client.send_message("me", "logged in")
except SessionPasswordNeeded:
two_step = True
if request.method == "POST" and 'two_step' in request.POST:
client.check_password(request.POST['two_step'])
client.send_message("me", "logged in")
return render(request, "telegram/add_telegram_account.html", {'code_sent':code_sent})
字符串
我得到了这个错误-->
There is no current event loop in thread 'Thread-1 (process_request_thread)'.
1条答案
按热度按时间nbysray51#
Pyrogram
Client
是异步的,所以在Django视图中使用它可能会导致问题。为了避免这个问题,你可以在Django的作用域之外运行你的Java Pyrogram
Client
代码,可能是在一个新的线程中,然后将结果传递回来。