我有一个Telegram帐户并创建了Telegram bot来在远程计算机上执行某些操作。 它工作正常。 我在机器人中修改了一些代码并想要更新所有计算机上的所有机器人?
即。机器人理解命令" / update"但是如何将新的.exe从我的电脑传递到所有机器人并进行自我更新?
答案 0 :(得分:1)
您需要cmd的外部脚本,在获取“/ update”命令后,您的机器人将运行该脚本。此脚本应首先停止您的bot并替换.exe文件并运行新的.exe文件。
答案 1 :(得分:1)
我还编写了一个带有自我更新机制的机器人。
要更新机器人,我只需通过Telegram发送新的.exe,但任何其他方法都可以。
基本上,我会做以下事情:
getFile
以获取路径。在Windows上,您无法在运行时更改.exe。
我将我的机器人作为Windows服务运行,这使事情变得更复杂,但也更容易:
如果僵尸程序以SYSTEM用户身份运行,则权限/ UAC不是问题。 否则,允许服务用户编写可执行文件并启动该过程。
如果你从桌面运行该程序,那么UAC可能是个问题:如果以管理员身份运行,你就可以了。进程已开始继承管理员访问权限。如果不以管理员身份运行......那么运行bot的用户需要对可执行文件的写访问权。