iris

module
v0.0.0-...-984de81 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 2, 2021 License: MIT

README

iris.

Go Reference

Pomodoro bot. Self-develop into a general purpose bot

fyi.

Stack: mongoDB - discordgo - Heroku - Github Action

install.

to install tensrose binary run

$ go install github.com/TensRoses/iris/cmd/tensrose
folder structures.
.
├── bin
├── web           # bots front-facing api,                                  # lg: Rust
├── internal      # internal core of iris, logging, config handling         # lg: Go
├── pkg                                                                     
│   ├── core      # bot logics, including message queries with configstore  # lg: Go
│   ├── cmd       # bot cli                                                 # lg: Go
│   └── commands  # handles commands building and future commands plugins   # lg: Go
└── scripts
inspirations.
why Go not TS/JS?
  • TypeScript and JavaScripts are amazing, and the fact that web elements for Iris will use React and Next.js, refers to here
  • Why Go then? Go is an awesome language with its interface and concurrency I just want to build a bot in Go 😄
  • Also, front-facing API will be written in Rust as a way to learn the language.
why iris when we already had yagpdb?
  • yagpdb are pretty clunky and bloated in the sense that the maintainer uses a lot of boilerplate, whereas iris goals are to stay minimal and bloat-free as possible
  • yagpdb structures are pretty messy and harder for development and thus iris aims to make it more developer-friendly as well as user-friendly
  • iris got a lot of inspirations from yagpdb but takes a more lightweight approaches considering structures and deployments, refers to here for more details
  • iris is pretty much WIP so any PR and help are appreciated

Directories

Path Synopsis
internal
configparser
Package configparser defines some default configs handler including a configparser parser with ability to update value dynamically
Package configparser defines some default configs handler including a configparser parser with ability to update value dynamically
datastore
Package datastore handles all database configuration
Package datastore handles all database configuration
irislog
Package irislog defines custom context logger wrapped around rs/zerolog
Package irislog defines custom context logger wrapped around rs/zerolog
pkg
core
Package core contains bot functionality for iris.
Package core contains bot functionality for iris.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL