Go实现加班通知你老婆的脚本
标签搜索
侧边栏壁纸
  • 累计撰写 9 篇文章
  • 累计收到 1 条评论
Go

Go实现加班通知你老婆的脚本

AiiCi
2024-05-16 / 0 评论 / 6 阅读 / 正在检测是否收录...

思路与设计:

  1. 使用 github.com/robfig/cron 包创建两个定时任务,一个用于加班提醒,一个用于下班提醒。
  2. 加班提醒定时任务在指定时间发送加班提醒信息。
  3. 下班提醒定时任务在指定时间发送下班提醒信息。
  4. 使用第三方短信服务发送信息,这里假设使用 Twilio 服务。

代码实现:

package main

import (
    "fmt"
    "log"
    "time"

    "github.com/robfig/cron"
    "github.com/sfreiberg/gotwilio"
)

// Twilio账号信息
const (
    AccountSid  = "your_account_sid"
    AuthToken   = "your_auth_token"
    YourNumber  = "+1234567890" // 你的Twilio电话号码
    ReceiverNum = "+1234567890" // 接收提醒信息的电话号码
)

// 发送提醒信息
func sendReminderMessage(message string) {
    twilio := gotwilio.NewTwilioClient(AccountSid, AuthToken)
    _, exception, err := twilio.SendSMS(YourNumber, ReceiverNum, message, "", "")
    if err != nil || exception != nil {
        log.Fatalf("Error sending SMS: %v, Exception: %v", err, exception)
    }
    fmt.Println("提醒信息已发送!")
}

// 发送加班提醒信息
func sendOvertimeMessage() {
    message := "加班提醒:今天加班记得注意身体,辛苦了!"
    sendReminderMessage(message)
}

// 发送下班提醒信息
func sendOffWorkMessage() {
    message := "下班提醒:下班时间到啦,记得安全回家哦!"
    sendReminderMessage(message)
}

func main() {
    // 创建定时任务调度器
    c := cron.New()

    // 加班提醒定时任务,每天晚上18:00执行
    c.AddFunc("0 18 * * *", sendOvertimeMessage)

    // 下班提醒定时任务,每天晚上19:00执行
    c.AddFunc("0 19 * * *", sendOffWorkMessage)

    // 启动定时任务调度器
    c.Start()

    // 程序运行,阻塞主 goroutine
    select {}
}

注:Twilio是要花钱的,所以请确保用户余额。

0

海报

正在生成.....

评论 (0)

取消