Logiase / MiraiGo-Template

A template for MiraiGo

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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显示图形验证码

About

A template for MiraiGo

License:GNU Affero General Public License v3.0


Languages

Language:Go 98.6%Language:Dockerfile 0.8%Language:Shell 0.5%