得益于Telegram开放API,加上手里正好有vps,因此跑一个tg实时更新名称的小项目绰绰有余。经过一番搜索,在Github上找到了这个项目,不够上次更新时间实在4年前,经过实测存在错误。因此fork更新了错误,让项目可以正常使用。
更新后的项目戳这里

准备

安装环境 python3,python3-pip,git

sudo apt-get install python3
sudo apt-get install python3-pip
apt-get install git

修改vps时间成成UTC+8/北京时间

查看vps时间

date -R

修改(选择UTC+8时间都可以,我选的是HK)

dpkg-reconfigure tzdata

准备tg的api_id和api_hash

首先去这个网站 https://my.telegram.org/,只要填App title和Short name即可获得api_id和api_hash。

部署

下载程序到VPS上

git clone https://github.com/littleocean/Telegram-Name-Updating.git
cd Telegram-Name-Updating

安装telethon

pip3 install -r requirements.txt

启动程序

python3 tg_username_update.py

根据提示输入api_id和api_hash。接着输入手机号和验证码,如果账号开启了二次验,证根据提示再输入二次验证的密码。最后看到 It works! 表明成功了。 默认的是每30秒钟按照一定概率更新一次lastname到特定模式。

完善-后台长期运行

nohup python3 tg_username_update.py &> log.txt &

其中,tg_username_update.py为编写的Python程序名称,log.txt为输出日志的文件名称。

如果您想停止该程序,请通过以下命令:

ps aux|grep your_program.py

该命令将会列出正在运行的您的程序的PID(Process ID)号。然后您可以使用kill命令停止该程序的运行,例如:

kill PID

其中,PID为您要停止程序的进程ID号。

检测该Python程序是否在运行

ps -ef | grep tg_username_update.py

该命令将会找到所有包含tg_username_update.py字符串的进程,并列出其进程信息。如果您的Python程序正在运行,则会出现至少两行输出信息:

user      12345     1  0 20:40 ?        00:00:00 python3 tg_username_update.py
user      54321 12345  0 20:42 ?        00:00:00 [tg_username_update.py] <defunct>

其中,第一行显示出了进程的基本信息,包括进程所属用户、进程ID号、父进程ID号、进程状态(0表示正在运行)、进程运行时间和进程所占用的CPU百分比等信息。第二行显示进程状态为<defunct>,表示该进程已死亡或被其他进程强制kill,但尚未被收回。
如果只有一个进程ID号,则表明您的Python程序正在运行;如果没有任何输出信息,则表明您的Python程序当前没有在运行。
如果想要在非连接状态下也能运行,可以使用tmux

  1. 安装tmux:在Ubuntu系统中,您可以执行以下命令安装tmux:

    sudo apt-get update
    sudo apt-get install tmux
  2. 创建tmux会话:执行以下命令,创建一个名称为my_session的tmux会话:

    tmux new -s my_session
  3. 在tmux会话中运行Python程序: 在my_session会话中执行您的Python程序,例如:

    python3 tg_username_update.py
  4. 暂时离开会话:如果您想暂时离开会话,同时让程序在后台继续运行,请执行以下命令:

    tmux detach
  5. 重新连接会话:如果您想重新连接到my_session会话,执行以下命令:

    tmux attach -t my_session
  6. 关闭tmux会话:如果您想关闭my_session会话,请先进入该会话,然后执行以下命令:

    exit

    tmux kill-session -t my_session

到这里基本就完成了,快去tg看看名称更新了没

总结

进行以上操作后,过了几天效果会失效。不知是vps性能孱弱,程序崩溃的原因,还是安装的是虚假的后台自启。但几天后登录上vps运行demo又能起效,也不算太过麻烦。
还想提的一点是:参考项目的一段报错,作为新人自然不知道怎么改。在软件工程好鸽们的帮助下,查阅了emoji的API文档更改了错误表达才能正常运行,果然专业的就是不一样。自己鼓捣让复习时间少了几个hours,下次遇到不会赶紧向大佬递我 doge。

最后修改:2023 年 11 月 26 日
如果觉得我的文章对你有用,请随意赞赏