在heroku中未收到电报验证码

问题描述

我编写了一个脚本,它完全可以正常工作。问题是当我在termux(Android终端)中运行时,该脚本会向我发送验证码,但是当我在heroku(云服务)中运行时,它不接受验证码。

这是我的脚本:

import time
import asyncio
import sys
import random

from telethon import TelegramClient,events,utils,Button

api_id = xxx

api_hash = 'xxx'

sesi_file = 'xxx'

bot = ' '   

with TelegramClient(sesi_file,api_id,api_hash) as client:
   client.loop.run_until_complete(client.send_message(bot,'/homesx'))
    
@client.on(events.NewMessage(from_users=bot))

async def handler(event):
        pesan = event.raw_text

file = open("homesx.txt","a+")

My script 

client.start()
client.run_until_disconnected()
print(time.asctime(),'-','

有人可以告诉我为什么我在运行脚本时无法在heroku中收到验证码吗?

因为在termux中运行时收到了验证码。

解决方法

Heroku是一个托管服务,而不是终端。有多种方法可以绕过询问验证码。第一种方法是使用session_string,第二种方法是使用.session文件。查看有关会话here

的完整文档 ,

您可以做的是创建一个session_string并将其作为参数传递给客户端对象。