day 25 - 第一手消息 telegram API

Telegram是我们团队主要的通讯软件, 上面开了很多视窗分别通知不同的系统讯息, 每个人可以依照自己需要注意的视窗开启通知就好, 今天来说明怎麽使用telegram API:

  • 首先在Telegram搜寻BotFather, 加他好友, 然後跟他说/newbot, 他会提示名称需要是Bot结尾;
    红框马赛克的地方是已经建立好的机器人token,
    之後点击 t.me/EvelynTestCoconutBot 就可以开启跟机器人的对话视窗
    https://i.imgur.com/3FGvzmt.png

  • Telegram 提供HTTP API getUpdates可以透过查看Bot的聊天记录

      https://api.telegram.org/bot{$token}/getUpdates
    

    可以在回传资料中看到Bot所在的chat_id
    https://i.imgur.com/AwvCX5P.png

  • 再使用sendMessage 测试用Bot的角色发送讯息到聊天视窗

      https://api.telegram.org/bot{$token}/sendMessage?chat_id={$chat_id}&text={$message}
    

    https://i.imgur.com/rO7jYgO.png

  • Bot建立好之後就可以使用套件go-telegram-bot-api/telegram-bot-api开始实作

      bot, err := tgBot.NewBotAPI(TgBotToken)
      if err != nil {
      	Logger.Errorf("NewBotAPI err: %s", err.Error())
      }
    

    加上发送讯息

      	msg := tgBot.NewMessage(TgBotChatID, fmt.Sprintf("踩到限额: %s", reply))
      	_, err := s.Bot.Send(msg)
      	if err != nil {
      		Logger.WithFields(map[string]interface{}{
      			"err:": err.Error(),
      		}).Errorf("Bot.Send")
      	}
    
  • 测试结果
    https://i.imgur.com/5uAxfg5.png

Bot建立之後, 只要把Bot加入视窗中它就可以帮系统发声, 有警示时会依照情况发送到不同的对话视窗, 让相关的负责人可以得到第一手的消息;但是系统讯息只有透过一个通讯软件发送还是存在风险的, 为了避免Telegram异常造成讯息未发出, 目前我们的讯息还有同时发送到Mattermost, 双重保障!

参考资料:


<<:  【Day20】导航元件 - Select

>>:  [Day 25] BDD - godog image封装

Day 21: 压力测试Jmeter

系统上线以前,如果我们没有去挑战一个系统的极限,我们永远不知道该系统最高可以有多少的可靠度,压力测试...

# Day 23 Heterogeneous Memory Management (HMM) (三)

文件 原文文件:Heterogeneous Memory Management (HMM) 翻译: ...

Day19 React-Router(四)Hook获取route资讯

react-router-dom中的适用於function component的hook函式,在上一...

SSRS Pass a Report Parameter Within a URL

欲找,RS可以指定汇出的档案名称否,结果看到这个. URL access parameter ref...

[Day 24] Leetcode 416. Partition Equal Subset Sum (C++)

前言 今天继续挑战top 100 liked中sum相关的题目─416. Partition Equ...