兴趣真是最好的驱动力。来求教万能的象友们啦:想做一个部署在kook频道的体育比赛日程机器人,在比赛日当天的某个时间点,自动在频道里面发一条消息:“今天hh:mm,对阵xx队”。本人在kook上建了某支球队的球迷社群,0代码基础,不知道上述功能是否有什么实现的路径,还请求大家的指点!#万能的长毛象 #万能的联邦宇宙 #万能的毛象 #万能的首页 #万能的象友 #求教万能的象友们 #萬能的長毛象
@ZeldaNo1 不管什么实现路径,第一步都要问的是,这个比赛日程数据从哪里来?
@icarus22 数据好说,是赛季初就会公开的球队赛程。我可以手动根据需要整理
@ZeldaNo1 那还好,我没了解过kook,只能说说大体思路,希望能帮到你
最简单的情形是机器人只负责发送消息,状态检查、响应指令这些都不用机器人去做,那应该只需要用python的schedule库去调发消息的API就可以,API文档在 https://developer.kookapp.cn/doc/http/message#%E5%8F%91%E9%80%81%E9%A2%91%E9%81%93%E8%81%8A%E5%A4%A9%E6%B6%88%E6%81%AF
还有一个比较偏门的方法,需要写js相关。大概是根据模板生成有cron trigger的cloudflare workers,好处是省去找地方挂bot的麻烦,坏处是比较复杂,一旦赛程横跨两个及以上月份,需要月月生成或者做另外的管理逻辑
@icarus22 一个月的比赛也就十几场,只需要机器人发十几次消息就够。这样也需要月月生成吗?
@ZeldaNo1 那个方案要用到crontab,一般来说crontab是一个最大支持到月的定时任务表达式。
因此,那个定时发送的消息格式会是
* * * * * <赛程xxx>
五个星号代表不同的时间单位,分别是:
分钟:从0到59 小时:从0到23 日:从1到31 月:从1到12 星期几:从0到7(0和7都表示星期日)
所以,最大支持到月,下一个月一开始,就要更新这个月的赛程转换成的crontab。
这个是我的脑洞 感觉没什么人会这么些
@icarus22 非常感谢耐心的指导,综合来看,目前我还是手动发赛程最省心了。(毕竟只是个人不多的佛系陪伴型社区)。。未来可以考虑方案一,走云服务器,感觉也不是完全不行!
Monado 是一个以任天堂为主、面向全平台游戏的、非营利性的中文向社区。在这里,你可以畅所欲言一切和游戏有关的东西,包括但不限于游戏日常、心得、感想、同人等;当然,吐槽自己的生活也完全没有问题。请在遵守所在国家或者地区法律法规的前提下自由的使用。
@ZeldaNo1 那个方案要用到crontab,一般来说crontab是一个最大支持到月的定时任务表达式。
因此,那个定时发送的消息格式会是
* * * * * <赛程xxx>
五个星号代表不同的时间单位,分别是:
分钟:从0到59
小时:从0到23
日:从1到31
月:从1到12
星期几:从0到7(0和7都表示星期日)
所以,最大支持到月,下一个月一开始,就要更新这个月的赛程转换成的crontab。
这个是我的脑洞 感觉没什么人会这么些