我正在尝试使用Python3.x和Django2.x创建Web应用程序。
我正在创建view
以电报授权用户,但是当我获得安全代码并将其发送到函数sign_in()
时,我收到错误"您还需要提供phone_code_hash。&# 34;
我不知道phone_code_hash
是什么,我能在哪里得到它。
views.py:
phone_code_hash = None
def authorize_user(request):
global phone_code_hash
if request.method == 'POST':
secure_code = request.POST.get('secure_code')
phone = request.POST.get('phone')
api_id = request.POST.get('api_id')
api_hash = request.POST.get('api_hash')
client = TelegramClient('spamer', api_id, api_hash)
if secure_code:
try:
client.sign_in(phone, secure_code, phone_code_hash=phone_code_hash)
except Exception as e:
print(e)
return JsonResponse({'status': 0, 'error': 'error'})
return JsonResponse({'status': 2})
client.connect()
phone_code_hash = client.send_code_request(phone).phone_code_hash
return JsonResponse({'status': 1})
return render(request, 'spamer/add_user.html')
我使用telethon
库进行API交互。
也许有些人知道如何授权用户并在不同的日子里多次发送消息。也许您建议更合适的库或使用urllib
的API请求。
我只想授权用户并使用他向其他人发送许多消息,这是真的吗?
答案 0 :(得分:0)
来自电报客户source的报价:
phone_code_hash:.send_code_request返回的哈希。
因此您需要在sign_up之前调用client.send_code_request(phone)
,这将设置hash_code automatically,或者您可以将其保存并稍后使用:
phone_code_hash = client.send_code_request(phone).phone_code_hash