littlebot
Published on 2025-04-16 / 0 Visits
0

【源码】基于Go语言的比赛信息推送系统

项目简介

本项目是基于Go语言开发的开源系统,其核心功能是将用户的比赛信息推送到QQ群,方便群友进行点评。系统集成了OpenDota API以获取玩家比赛信息,利用Mirai框架实现与QQ的交互,还具备生成荣誉证书图像并发送到群里的能力。

项目的主要特性和功能

  1. 事件处理:接收Mirai机器人上报的多种事件,包括消息、群消息、好友消息等,并执行对应的命令处理函数。
  2. 数据获取:通过OpenDota API获取玩家比赛信息,用于生成每周最佳玩家图像。
  3. 命令管理:支持用户使用特定命令触发不同操作,如订阅、查询订阅信息等。
  4. 图像生成:能够生成荣誉证书图像,例如每周最佳玩家图像,并发送到指定QQ群。
  5. 数据库操作:运用Ent框架进行数据库操作,涵盖创建、更新、删除实体以及执行查询等。

安装使用步骤

安装依赖

确保系统已安装Golang和Make,然后安装项目依赖的包,如go-resty/restyentgo.io/ent等。

配置文件

~/.behappy.yaml中进行配置,示例如下: yaml mirai: botqq: 10001 steamapi: key: AXAFJQPDJV2312 datasource: url: USERNAME:PASSWORD@tcp(example-mysql.com:3306)/behappy?charset=utf8mb4&parseTime=True&loc=Local

编译项目

执行make命令,编译后的文件会存放在bin目录下。若只需编译到Windows平台,可执行make windows-amd64

运行程序

首次启动会自动初始化schema和tables。可使用以下命令运行: shell ./behappy run 或者使用go run命令: shell go run main.go

启动Mirai机器人

启动Mirai机器人,并将其事件上报的URL配置为behappy程序的监听地址。

使用命令

在QQ群内发送特定命令(如“订阅”或“查询订阅”),触发程序执行相应操作。

注意事项

若要使用“最佳劳模”功能,需要在系统中安装simkai.ttf字体。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】