Skip to content

一个Telegram Bot, 一些功能的集合, 例如: 主动查询天气, 被动推送天气, 主动查询汇率, 被动推送汇率, (范围&&触发条件可以在配置文件中自定义) 分析数字货币市场数据然后推送消息(触发条件可在配置文件中自定义)etc 😁 🤣 😆

Notifications You must be signed in to change notification settings

rogerBridge/telegramBot

Repository files navigation

bot 小助手

开发这个小工具的源动力是: "懒" 😁

Introduction

小工具入口: Click it

群组: Click it

Function

  • 天气查询, 输入城市名称(ps: 目前仅支持拼音, 例如: hangzhou, beijing)
  • 天气预告, 每天 8:00, 18:00 查询未来 24 小时内的天气, 将有雨的情况推送给用户(支持自定义, 支持多城市观察, 在配置文件里面可以自己修改, 默认: []string{"Hangzhou", "Beijing"}), 每天除[23, 6]之外, 每 5 分钟统计一次最近 6 小时内的天气情况, 如果下雨, 推送消息给用户, 推送之后 1 小时之内不推送 (因为 openWeatherAPI 限制调用次数: 100k/month, 每天大约可以调用 3000 次, 所以最多同时观察 15 个城市)
  • 腾讯云 VPS 流量查询
  • 打卡(废除)
  • 汇率查询(银联数据(时效不好), freecurrency 数据(不太准), oanda 数据(推荐))
  • 加密货币当下信息统计(可在配置文件内自定义观测的 statsProductIDs)
  • 加密货币报告分析(时间间隔为: 5 分钟, 一小时, 一天, 七天, 主动查询)
  • 加密货币波动分析(3% in 5min, 6% in 1hour, 10% in 1day, 20% in 7day, 可在配置文件里面自定义观测的 followProductIDs), 每分钟统计一次, 波动超过设定数值将会推送
  • USDT/USD 比值推送, (上限 1.05, 下限 0.95, 可在配置文件里自定义)
  • 加密货币波动分析推送方式优化: 前 2 次, 推送间隔 2mins, 之后, 推送间隔 60mins, 最大次数 5 次, 直到被重置, 参数可以在配置文件中自己配置, 推送分为两个阶段, 第一阶段, 推送间隔 x mins, 推送次数为 y, 第二阶段, 推送间隔为 a mins, 推送间隔为 b, 直到重置(重置条件: 一轮检测下来没有触发推送 && 此时的推送次数!=0), 参数可在配置文件中自定义

Settings

{
  "token": "xxxxx", // bot的token
  "openWeatherAPI": "xxxxx",
  "tencentKeyOne": "xxx", // tencent cloud API, secretID
  "tencentKeyTwo": "xxx", // tencent cloud API, secretKEY
  "compareRange": {
    "max": 1.05, // usdt/usd 波动上限
    "min": 0.95 // usdt/usd 波动下限
  },
  "followProductIDs": ["BTC-USDT", "ETH-USDT", "ALGO-USDT", "SOL-USDT"], // 关注的加密货币交易对
  "statsProductIDs": ["BTC-USDT", "ETH-USDT", "ALGO-USDT", "SOL-USDT"], // 查询的加密货币交易对
  "followCities": ["Hangzhou", "Beijing"], // 天气推送的关注城市
  "intervalOne": 120, // 第一个推送阶段的间隔(秒)
  "intervalTwo": 3600, // 第二个推送阶段的间隔(秒)
  "firstNotifyNum": 2, // 第一个推送阶段的推送次数
  "secondNotifyNum": 5, // 第二个推送阶段的累计推送次数
  "fiveMinutesRange": 0.025, // 五分钟变化范围超过2.5%就会推送
  "oneHourRange": 0.05, // 一小时变化范围超过5%就会推送
  "oneDayRange": 0.1, // 一天变化范围超过10%就会推送
  "oneWeekRange": 0.2, // 一周变化范围超过20%就会推送
  "sendToID": 615491801 // 消息推送receiver的ID, 比如: 你的用户ID, 你的群组ID
}

使用方法

  1. 自己编译 docker image
# 默认你已安装docker
mv config.example.json bot-config.json
user=test # 自己的用户名, 例如: test, 如果你打算推送到自己的docke-hub, 那就写docker-hub的名字, 否则随便填
version=0.0 # 版本号, 随便填, 例如: 0.0
docker build -t $(user)/botmsg:$(version)
docker run -d --name=botmsg $(user)/botmsg:$(version)
# 查看执行情况
docker logs -f --tail=200 botmsg

About

一个Telegram Bot, 一些功能的集合, 例如: 主动查询天气, 被动推送天气, 主动查询汇率, 被动推送汇率, (范围&&触发条件可以在配置文件中自定义) 分析数字货币市场数据然后推送消息(触发条件可在配置文件中自定义)etc 😁 🤣 😆

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published