关注

兴趣真是最好的驱动力。来求教万能的象友们啦:
想做一个部署在kook频道的体育比赛日程机器人,在比赛日当天的某个时间点,自动在频道里面发一条消息:“今天hh:mm,对阵xx队”。
本人在kook上建了某支球队的球迷社群,0代码基础,不知道上述功能是否有什么实现的路径,还请求大家的指点!

ai给的思路看上去像那么回事儿:
要创建一个部署在Kook频道的体育比赛日程机器人,你需要具备一些基本的编程技能,以及对Kook平台的理解。虽然你没有编程基础,但是有一些开源的框架和工具可以帮助你实现这个目标。
首先,你需要找到一个可靠的比赛日程API,这个API可以提供你所需要的比赛信息,例如比赛日期和时间,对阵队伍等。你可以通过网络搜索找到这样的API,并且阅读其文档以理解如何使用它。
其次,你需要一个可以定时发送消息的工具。这可能是一个计划任务,或者是集成在某些编程语言中的一个特性。例如,Python有一个叫做`schedule`的库,它可以让你编写定时任务。
然后,你需要编写一个程序,这个程序可以从API获取比赛信息,然后在指定的时间发送消息。你可能需要使用一些编程语言,例如Python或者JavaScript,来编写这个程序。
最后,你需要将这个程序部署在Kook频道上。这通常涉及到将你的程序打包成一个服务,然后把这个服务部署在Kook服务器上。具体的部署步骤可能会依赖于Kook提供的具体服务。
以上就是一个大致的实现路径,希望对你有所帮助。虽然这个过程看起来有些复杂,但是只要你愿意花时间去学习和尝试,我相信你一定可以做到的。祝你好运!

@ZeldaNo1 不管什么实现路径,第一步都要问的是,这个比赛日程数据从哪里来?

@icarus22 数据好说,是赛季初就会公开的球队赛程。我可以手动根据需要整理

@ZeldaNo1 那还好,我没了解过kook,只能说说大体思路,希望能帮到你 :blobcatcoffee:

最简单的情形是机器人只负责发送消息,状态检查、响应指令这些都不用机器人去做,那应该只需要用python的schedule库去调发消息的API就可以,API文档在 developer.kookapp.cn/doc/http/

还有一个比较偏门的方法,需要写js相关。大概是根据模板生成有cron trigger的cloudflare workers,好处是省去找地方挂bot的麻烦,坏处是比较复杂,一旦赛程横跨两个及以上月份,需要月月生成或者做另外的管理逻辑

@icarus22 月月生成倒没什么关系。。感觉挂bot对我来说更复杂,岂不是要弄云服务器啥的?

@ZeldaNo1 是的,或者家里有24小时开着的电脑/开发板/nas也可以折腾一下看看能不能挂着

除此之外还可会议看看云函数这类serverless服务,这个就类似前面说的“cron trigger的cloudflare workers”的方案了

@icarus22 一个月的比赛也就十几场,只需要机器人发十几次消息就够。这样也需要月月生成吗?

@ZeldaNo1 那个方案要用到crontab,一般来说crontab是一个最大支持到月的定时任务表达式。

因此,那个定时发送的消息格式会是

* * * * * <赛程xxx>

五个星号代表不同的时间单位,分别是:

分钟:从0到59
小时:从0到23
日:从1到31
月:从1到12
星期几:从0到7(0和7都表示星期日)

所以,最大支持到月,下一个月一开始,就要更新这个月的赛程转换成的crontab。

这个是我的脑洞 :psyduck: 感觉没什么人会这么些

@icarus22 非常感谢耐心的指导,综合来看,目前我还是手动发赛程最省心了。(毕竟只是个人不多的佛系陪伴型社区)。。未来可以考虑方案一,走云服务器,感觉也不是完全不行!

登录以加入对话
Monado

Monado 是一个以任天堂为主、面向全平台游戏的、非营利性的中文向社区。在这里,你可以畅所欲言一切和游戏有关的东西,包括但不限于游戏日常、心得、感想、同人等;当然,吐槽自己的生活也完全没有问题。请在遵守所在国家或者地区法律法规的前提下自由的使用。