Signed-off-by: NothAmor <nothamor@localhost.localdomain>
This commit is contained in:
NothAmor 2022-07-18 22:34:28 +08:00
commit c913593492
5 changed files with 63 additions and 8 deletions

2
controller/msg.go Normal file
View File

@ -0,0 +1,2 @@
package controller

2
go.mod
View File

@ -2,4 +2,4 @@ module go-bot/bot
go 1.18
require github.com/eatmoreapple/openwechat v1.1.11 // indirect
require github.com/eatmoreapple/openwechat v1.1.11

19
main.go
View File

@ -2,6 +2,9 @@ package main
import (
"fmt"
"go-bot/bot/controller"
"github.com/eatmoreapple/openwechat"
)
@ -11,12 +14,22 @@ func main() {
// 注册消息处理函数
bot.MessageHandler = func(msg *openwechat.Message) {
if msg.IsText() && msg.Content == "专升本英语" {
msg.ReplyText("success")
controller.SingleChoice(msg)
}
if msg.IsText() && msg.Content == "打卡开启" {
module.SignInBegin(msg)
}
if msg.IsText() && msg.Content == "打卡关闭" {
module.SignInEnd(msg)
}
}
// 注册登陆二维码回调
bot.UUIDCallback = openwechat.PrintlnQrcodeUrl

View File

@ -1,10 +1,10 @@
package english
package module
import (
"fmt"
"github.com/eatmoreapple/openwechat"
)
func English(string ){
func SingleChoice(msg *openwechat.Message) {
msg.ReplyText("我执行成功了")
}

40
module/signIn.go Normal file
View File

@ -0,0 +1,40 @@
package module
import (
"github.com/eatmoreapple/openwechat"
"fmt"
"github.com/robfig/cron"
"time"
)
var task
func SignInBegin(msg *openwechat.Message) {
// 新建一个定时任务对象
// 根据cron表达式进行时间调度cron可以精确到秒大部分表达式格式也是从秒开始。
//crontab := cron.New() 默认从分开始进行时间调度
crontab := cron.New(cron.WithSeconds()) //精确到秒
//定义定时器调用的任务函数
task := func() {
// 获取全部群聊
groups, err := self.Groups()
// 发送到微信
msg.ReplyText("同志们开卷")
}
//定时任务
spec := "*/10 * * * * ?" //cron表达式每五秒一次
// 添加定时任务,
crontab.AddFunc(spec, task)
// 启动定时器
crontab.Start()
msg.ReplyText("打卡程序启动成功!")
// 定时任务是另起协程执行的,这里使用 select 简答阻塞.实际开发中需要
// 根据实际情况进行控制
select {} //阻塞主线程停止
}
func SignInEnd(msg *openwechat.Message){
//关闭
defer task.Stop()
msg.ReplyText("打卡程序结束运行成功!")
}