我為自己撰寫了一個小型自動回復機器人,并使用 GitHub 部署到 Heroku。當我運行它時,它只作業一分鐘然后關閉。
這是我的代碼:
import time
import telethon
from telethon import TelegramClient, events
api_id = x
api_hash = 'x'
phone_number = 998x
password = 'a'
session_file = "TelegramClient('@alixam12')"
a = 1
message = "Salom"
if a == 1:
client = TelegramClient(session_file, api_id, api_hash, sequential_updates=True)
@client.on(events.NewMessage(incoming=True))
async def handle_new_message(event):
if event.is_private:
from_ = await event.client.get_entity(event.from_id)
if not from_.bot:
print(time.asctime(), '-', event.message)
time.sleep(0.001)
await event.respond(message)
print(time.asctime(), '-', 'Bot ishlamoqda...')
with client:
client.run_until_disconnected()
print(time.asctime(), '-', 'stopped')
這是我的Procfile:
web: python3 bot.py
我想讓這個機器人在 Heroku 上不停地運行。
uj5u.com熱心網友回復:
Web 行程必須在分配給它們的埠上偵聽 HTTP 請求。如果它們沒有足夠快地系結到那個埠,Heroku 就會宣告它們已經崩潰。
您的應用程式不偵聽 HTTP 請求。因此不應將其宣告為 Web 行程。通常將此類行程稱為“工人”:
worker: python3 bot.py
如果您愿意,可以使用bot代替worker. 真的,除了or之外的任何名字都可以webrelease。
提交您的修改Procfile并重新部署。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/532335.html
