1

如果您知道 pyrogram 是 Python 的 Telegram MTProto API 框架,您可以给它一个电话号码来创建一个作为机器人的用户帐户:
请参阅文档

当你给它一个电话号码时,电报会向你发送一个电话代码进行身份验证,你可以手动输入电话代码。您也可以通过客户端类中的 phone_code 参数自动为您的脚本提供电话代码:
请参阅客户端文档

我将我的电话号码从 node.js 脚本发送到 python 脚本,然后电报向我发送电话代码以进行验证。
但是当我发送电话代码时,它无法正常工作。实际上它再次发送电话代码
我的错误是什么?

我的 node.js 代码:

if(command == 'run cli'){
    var spawn = require("child_process").spawn;

    var process = spawn('python3', ["python/cli.py"]);
  
    process.stdout.on('data', function(data) {
         console.log(data.toString());
    });
}

else if(command.substr(0, 9) == 'send code'){
    var code = command.substr(10).trim();

    var spawn = require("child_process").spawn;
    var process = spawn('python3', ["python/cli_enter_code.py", code]);

    process.stdout.on('data', function(data) {
        console.log(data.toString());
    });
}

cli.py 文件:

from pyrogram import Client
from pyrogram.raw import functions

api_id = someNumber
api_hash = "someHash"

with Client("my_account", api_id, api_hash, phone_number="my phone number") as app:
     print('Bot is online...')

app.run()

cli_enter_code.py 文件:

import sys

code = sys.argv[1]

from pyrogram import Client
from pyrogram.raw import functions


api_id = someNumber
api_hash = "someHash"


with Client("my_account", api_id, api_hash, phone_number='my phone number', phone_code=code) as app:
     print('Bot is online...')

app.run()
4

0 回答 0