前言:TG频道的文件可以永久保存,即使管理员销号了TG频道也会一直存在。TG-FileStreamBot可以把频道里的文件生成直链
项目地址:GitHub
我这里使用debian 11作为演示,环境要求python3
创建频道并获取频道ID
新建一个频道,公开频道或者私人频道都可以。搜索@MissRose_bot并将其拉进频道设为管理员,这个bot如果用不上可以用getmyid_bot
向频道随便发送一个消息,长按这条消息把它转发给@MissRose_bot机器人,然后在机器人内再回复这条消息并附上/id
然后机器人就会返回一条消息,-100xxxxxxxxxx就是我们频道的ID,保存好这个ID
The forwarded channel, balabala, has an id of -100xxxxxxxxxx.
创建一个机器人
接下来Telegram里面搜索@BotFather
向BotFather发送/newbot
指令来新建一个bot,以下是BotFather回复的示例
#Alright, a new bot. How are we going to call it? Please choose a name for your bot.
输入你的bot显示名称
#Good. Now let's choose a username for your bot. It must end in `bot`. Like this, for example: TetrisBot or tetris_bot.
输入你的bot用户名,之后你会用这个用户名搜索你的bot,用户名必须以bot结尾,比如moe_bot
输入用户名后,BotFather会回复给你一串bot密钥,我们要保存好,图中圈出来的部分就是密钥
TG账号创建令牌
浏览器打开https://my.telegram.org,登录你的Telegram账号,注册获取一个app id和app hash,这一步就不详细写了,按流程走就行了
现在我们拥有一个机器人密钥,一个app id和一个app hash和一个频道id,另外还需要准备一个域名解析到vps
下载TG-FileStreamBot到vps
git clone https://github.com/EverythingSuckz/TG-FileStreamBot
cd TG-FileStreamBot
pip3 install virtualenv
然后在项目目录下新建一个名为.env的文件,注意不要忘记前面那个.
nano .env
按照以下格式编辑.env文件
API_ID=这里写你的app id
API_HASH=这里写你的app hash
BOT_TOKEN=这里写你的机器人密钥
BIN_CHANNEL=这里写你的频道id,包括前面的-号
PORT=这里写你想要使用的端口号
FQDN=这里填你的域名,不带http
HAS_SSL=False #这里是ssl选项,最好填默认的False
保存上面的配置继续执行下面命令
virtualenv -p /usr/bin/python3 venv
. ./venv/bin/activate
pip3 install -r requirements.txt
试运行程序是否正常
python3 -m WebStreamer
现在不要关闭vps,去TG向你创建的机器人随便发送或者转发一个文件,如果有返回链接则说明程序正常
但此时如果关闭vps程序就会停止,为了解决这个问题,先手动CTRL+C
停止程序然后执行下面命令
apt install tmux -y
tmux
virtualenv -p /usr/bin/python3 venv
. ./venv/bin/activate
pip3 install -r requirements.txt
python3 -m WebStreamer
现在关闭vps程序也可以正常运行,链接文件会经过vps,所以国内也是可以直接访问的