1
0
Fork 0
mirror of https://github.com/nbtca/huaji-bot.git synced 2026-09-19 23:05:57 +08:00
A QQ bot for nbtca.
  • Go 98.8%
  • Dockerfile 0.7%
  • Shell 0.5%
Find a file
2023-12-07 15:50:49 +08:00
.github update action 2023-05-28 16:43:43 +08:00
bot upgrade MiraiGo depdendencies version to latest and use Go 1.20 2023-03-20 00:01:28 -04:00
cmd/lib feat(run-as-lib): support embedded as elf library 2022-04-12 11:22:18 +08:00
config feat(run-as-lib): support embedded as elf library 2022-04-12 11:22:18 +08:00
models update EventActionNotify format 2023-05-28 18:58:05 +08:00
modules Fix message problem field 2023-06-09 21:54:59 +08:00
utils send message via pushdeer when bot disconnected 2023-05-28 16:34:21 +08:00
.gitignore create session at start 2023-05-17 15:42:18 +08:00
app.go update action 2023-05-17 15:57:12 +08:00
docker-compose.yaml update EventActionNotify format 2023-05-28 18:58:05 +08:00
Dockerfile send message via pushdeer when bot disconnected 2023-05-28 16:34:21 +08:00
go.mod Bump github.com/spf13/viper from 1.15.0 to 1.18.0 2023-12-07 06:54:47 +00:00
go.sum Bump github.com/spf13/viper from 1.15.0 to 1.18.0 2023-12-07 06:54:47 +00:00
LICENSE update 2020-09-29 08:56:10 +08:00
README.md update MiraiGo version and add func to compatible old plug-in 2022-10-09 20:30:16 +08:00
tools_test.go update action 2023-05-17 15:57:12 +08:00

MiraiGo-Template

A template for MiraiGo

v2 版本正在重写,请提出 你的想法你对当前设计的不满 本菜鸡会尽量改

Go Report Card

基于 MiraiGo 的多模块组合设计

包装了基础功能,同时设计了一个良好的项目结构

不了解go?

golang 极速入门

点我看书

基础配置

账号配置application.yaml

bot:
  # 账号
  account: 1234567
  # 密码
  password: example

如果删除账号信息的话将会使用扫码登录短时间内再次启动将会使用token来快速恢复恢复失败才会再次提示使用扫码登录。如果需要切换登录的qq请删除 session.token 文件。

Module 配置

module参考log.go

package mymodule

import (
    "aaa"
    "bbb"
    "MiraiGo-Template/bot"
)

var instance *Logging

func init() {
	instance = &Logging{}
	bot.RegisterModule(instance)
}

type Logging struct {
}

// ...

编写自己的Module后在app.go中启用Module

package main

import (
    // ...
    
    _ "modules/mymodule"
)

// ...

快速入门

你可以克隆本项目, 或者将本项目作为依赖.

在开始之前, 你需要首先生成设备文件.

新建文件 tools_test.go , 内容如下:

package main_test

import (
	"testing"

	"github.com/Logiase/MiraiGo-Template/bot"
)

func TestGenDevice(t *testing.T) {
	bot.GenRandomDevice()
}

然后运行 TestGenDevice 来生成一份设备文件

克隆

如果你克隆本项目, 请首先更新项目依赖, 同步到协议库最新版本, 否则可能出现某些意外的bug ( 或产生新的bug )

go get -u

MiraiGo-Template 作为go module使用

可参考当前 app.go 将其引入

使用这种方法可以引入其他小伙伴编写的第三方module

内置 Module

  • internal.logging 将收到的消息按照格式输出至 os.stdout

第三方 Module

欢迎PR

进阶内容

Docker 支持

参照 Dockerfile

引入的第三方 go module

  • MiraiGo 核心协议库
  • viper 用于解析配置文件,同时可监听配置文件的修改
  • logrus 功能丰富的Logger
  • asciiart 用于在console显示图形验证码