用Go语言写了一个加班就自动发信息给老婆的脚本

news/发布时间2024/5/2 0:37:42

用Go语言写了一个加班就自动发信息给老婆的脚本。。。

Go语言圈
Go语言开发者的学习好助手,分享Go语言知识,技术技巧,学习与交流Go语言开发经验,互动才有助于技术的提升,每天5分钟,助你GO语言技术快乐成长
156篇原创内容

学习与交流:Go语言技术微信群

商务合作加微信:LetsFeng

 

现在就开始你的Go语言学习之旅吧!人生苦短,let’s Go.


图片

图片

Goland 全家桶激活码,永久有效,亲测可用,限时免费

获取链接地址:https://web.52shizhan.cn

下面是一个简单的用 Go 语言编写的加班自动发信息、下班自动提醒的代码示例。该代码使用了 time 包来处理时间,以及 github.com/robfig/cron 包来处理定时任务的调度。

思路与设计:

  1. 使用 github.com/robfig/cron 包创建两个定时任务,一个用于加班提醒,一个用于下班提醒。

  2. 加班提醒定时任务在指定时间发送加班提醒信息。

  3. 下班提醒定时任务在指定时间发送下班提醒信息。

  4. 使用第三方短信服务发送信息,这里假设使用 Twilio 服务。

package main

import (
    "fmt"
    "log"
    "time"

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

// 发送加班提醒信息
func sendOvertimeMessage() {
    // 这里假设使用 Twilio 发送短信,你需要替换成自己的 Twilio 账号信息
    accountSid := "your_account_sid"
    authToken := "your_auth_token"
    from := "+1234567890" // 你的 Twilio 电话号码
    to := "+1234567890"   // 接收提醒信息的电话号码

    twilio := gotwilio.NewTwilioClient(accountSid, authToken)

    message := "加班提醒:今天加班记得注意身体,辛苦了!"
    _, exception, err := twilio.SendSMS(from, to, message, "", "")
    if err != nil {
        log.Fatalf("Error sending SMS: %s", err)
    }
    if exception != nil {
        log.Fatalf("Error sending SMS: %s", exception.Message)
    }

    fmt.Println("加班提醒信息已发送!")
}

// 发送下班提醒信息
func sendOffWorkMessage() {
    // 这里假设使用 Twilio 发送短信,你需要替换成自己的 Twilio 账号信息
    accountSid := "your_account_sid"
    authToken := "your_auth_token"
    from := "+1234567890" // 你的 Twilio 电话号码
    to := "+1234567890"   // 接收提醒信息的电话号码

    twilio := gotwilio.NewTwilioClient(accountSid, authToken)

    message := "下班提醒:下班时间到啦,记得安全回家哦!"
    _, exception, err := twilio.SendSMS(from, to, message, "", "")
    if err != nil {
        log.Fatalf("Error sending SMS: %s", err)
    }
    if exception != nil {
        log.Fatalf("Error sending SMS: %s", exception.Message)
    }

    fmt.Println("下班提醒信息已发送!")
}

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

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

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

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

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

请注意替换代码中的 Twilio 相关账号信息和电话号码,并确保你的 Twilio 账号有足够的余额用于发送短信。此外,需要在你的 Go 项目中导入 github.com/sfreiberg/gotwilio 包。

 

文章首发:

 

 

 

 

 

 

 

 

更多相关Go语言的技术文章或视频教程,请关注本公众号获取并查看,感谢你的支持与信任!

 

学Go语言哪些事儿 · 目录
上一篇Go 语言精编面试50题 ,题题精彩!
阅读 302
 
写留言
 
 
 
 
 
 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ulsteruni.cn/article/35846357.html

如若内容造成侵权/违法违规/事实不符,请联系编程大学网进行投诉反馈email:xxxxxxxx@qq.com,一经查实,立即删除!

相关文章

C#方法调用追溯:选择正确的方式,轻松找到调用者

概述:在C#中,寻找调用当前方法的方法可采用`StackTrace`和`CallerMemberName`两种方式。`StackTrace`通过分析堆栈信息提供详细信息,而`CallerMemberName`则简化了获取调用者方法名的过程,更轻量且效率较高。选择取决于需求,若需要堆栈信息,可选`StackTrace`;若只需调用…

算子量化技术基本概念

INT8量化分为非对称量化与对称量化。对称量化是非对称量化的一个特例, 通常对称量化的性能会优于非对称量化, 而精度上非对称量化更优。 非对称量化 如上图所示, 非对称量化其实就是把[min,max]范围内的数值定点到[-128, 127]或者[0, 255]区间。 从int8到float的量化公式表达如…

ActiveMQ

入门概述 MQ 种类和对比MQ 就是消息中间件。MQ 是一种理念,ActiveMQ 是 MQ 的落地产品。不管是哪款消息中间件,都有如下一些技术维度:MQ 消息的详细比较各类 MQ 的擅长领域MQ 种类 变成语言 擅长领域kafka scala 大数据领域的主流 MQ。rabbitmq erlang 基于 erlang 语言,不…

如何优雅的写Markdown

一,基本用法 1.引用 写法: > 第一个引用 >> 这事第二个引用 >>> 这是第三级引用效果如下:第一个引用这事第二个引用这是第三级引用2.链接 写法: [这是百度的地址](http://www.baidu.com)格式: [name](url)效果: 这是百度的地址 3.表格 表格使用|来分割不同的…

基于深度学习的海洋鱼类识别算法matlab仿真

1.算法运行效果图预览 2.算法运行软件版本 MATLAB2022a3.算法理论概述深度学习在海洋鱼类识别中常采用卷积神经网络(Convolutional Neural Networks, CNNs)。CNN由多个层级组成,包括卷积层、池化层、全连接层以及分类层。典型流程如下:训练CNN的过程涉及前向传播、损失计算…