本文分为两部分,第一部分是Python代码的编写,第二部分是上传Railway。
Python代码
我需要定时发送视频,这就要使用到即时通讯软件(此处使用的是飞机图标的某款软件)的API,飞机图标的某款即时通信软件有非常丰富的API,开始使用了比较简单的T e l e g r a m b o t A P I,使用的Python库是Python-Telegram-bot,但是使用过程中发现上传视频最大只有50MB。1
因此改用T e l e g r a m A P I使用Python库是Pyrogram。
"""
使用file_id发送,每天发一条
"""
from pyrogram import Client
import time
# 此处为了保护隐私用*号替代,长度和实际相同
api_id = ********
api_hash = "********************************"
bot_token = "**********************************************"
Send_id = **********
def send_video(my_file_id):
app = Client(
"my_account",
api_id=api_id, api_hash=api_hash,
bot_token=bot_token)
app.start()
a = app.send_video(Send_id, my_file_id)
print("success send one video")
app.stop()
# 此处替换所需ID
File_ID = [
"ID1",
"ID2"
]
# 这里是之前google cloud的格式,不加entry_point在railway中更简洁。
def entry_point():
for file_id in File_ID:
send_video(file_id)
time.sleep(10)
time.sleep(20)
entry_point()
print("#########################Finish#########################")
上传Railway
我们需要将编写好的代码上传到服务器,现在这样的云平台非常的多。我早期一直使用Railway,Railway功能简单,相对好学,最关键的是每月提供500小时的免费时长,但是比起大平台操作略显麻烦。这一块我们分为上传文件的准备和如何上传两部分来讲解。
上传文件准备
在服务器上运行python和在本机运行的思路是一样的,只是操作方法有些差别,在本地首先安装软件,然后安装库,服务器端也是这个思路。
- 我们要告诉服务器安装那个版本的Python,方式是上传runtime.txt文件,本项目使用的是Python3.9.6,相应的runtime.txt文件如下:
python-3.9.6
- 安装完Python就要安装各种库。服务器上没有你所需要的库,因此你需要通过requirements.txt文件提交所需库。本项目只需要一个库即可,requirements.txt内容如下:
pyrogram
- 最后一个必须文件就是py为扩展名的代码,我们已经在上文展示。
上传文件
在github下载Railway客户端,railway.exe,下载地址为Release v2.0.13 · railwayapp/cli (github.com),软件支持很多平台,我选择的是Windows版。下载后解压缩,在Windows的commond中运行,代码如下:
railway login
railway link
railway up
- 登陆时会跳转到网页,如果已经在网页登陆直接点登陆按钮即可,如果没有需要输入账号密码。
- 在railway上可能有很多项目,就需要用link命令进行选择,进行连接。
- 最后一步就是长传,输入命令等待片刻就可以看到成功提示。