我目前正在尝试创建一个不和谐机器人(使用Discord.py),它能够每隔几个小时在Reddit上搜索一次,看看在特定的子Reddit中是否有新发布的内容。目前,我有一种方法可以从Reddit上获取这些信息,但它是通过Discord命令激活的。理想情况下,我希望脚本在特定时间间隔后自动运行,而不是通过命令激活。
我在我的代码中使用了asyncpraw和discord.py,所以都是用Python语言编写的。此外,我正在使用Flask为机器人创建一个then服务器,然后使用Repl.it免费托管服务器。我还使用cron-job.org每五分钟向keep服务器提交一次请求,以使其保持运行。
我将我的文件设置为main.py,它包含不和谐机器人的所有信息、命令以及在聊天中输入命令时激活的代码,然后是一个keep_alive.py文件,其中包含web服务器的启动和线程(我对Flask不是很了解,所以我不是很清楚每件事是做什么的)。在main.py的末尾,在输入不一致机器人的令牌之前,我从keep_alive.py调用了一个函数。
到目前为止,我已经尝试使用cron-job.org来设置一个cronjob,但是到目前为止还没有成功,因为我不太清楚如何去做。我也尝试过使用schedule.py或sched.py,但都不起作用。
据我所知,我需要使用cronjob来实现我想要的功能,但我希望得到一些关于实际实现它的指导,特别是关于文件的组织以及在哪里调用函数来激活它们。此外,我想知道是否有一种方法可以在Repl.it中使用cronjob,因为我不认为您可以在控制台中使用它们。
如果您需要更多信息或代码或其他任何东西,请让我知道!我感谢所有人的帮助!谢谢!
发布于 2021-09-16 17:54:20
我不知道这是否对你有帮助,但是我能够在我的web服务器上自动化python脚本的方法是使用windows 2016服务器。
然后创建一个运行脚本的.bat文件,如下所示。只要确保您的文件位置设置正确即可。
python C:\inetpub\wwwroot\top_10_week.py %*然后使用windows任务调度程序来安排脚本在特定时间后运行,我将我的时间设置为3小时,但我相信你可以每5分钟执行一次。
https://www.windowscentral.com/how-create-automated-task-using-task-scheduler-windows-10
https://stackoverflow.com/questions/68566641
复制相似问题