mirror of
https://github.com/hrfee/jfa-go.git
synced 2024-12-29 12:30:11 +00:00
Harvey Tindall
99875b9176
When signing up, the user is given a pin code which they send to a telegram bot. This provides user verification, but more importantly allows the bot to message the user, as the Telegram API requires the user to interact with the bot before it can do the opposite. The bot should recognize the correct language, but a /lang command is also provided to change it. The verification process is pretty much functional but ui is still broken, and it isn't properly integrated yet.
43 lines
966 B
Go
43 lines
966 B
Go
// +build !external
|
|
|
|
package main
|
|
|
|
import (
|
|
"embed"
|
|
"io/fs"
|
|
"log"
|
|
)
|
|
|
|
const binaryType = "internal"
|
|
|
|
//go:embed data data/html data/web data/web/css data/web/js
|
|
var loFS embed.FS
|
|
|
|
//go:embed lang/common lang/admin lang/email lang/form lang/setup lang/pwreset lang/telegram
|
|
var laFS embed.FS
|
|
|
|
var langFS rewriteFS
|
|
var localFS rewriteFS
|
|
|
|
type rewriteFS struct {
|
|
fs embed.FS
|
|
prefix string
|
|
}
|
|
|
|
func (l rewriteFS) Open(name string) (fs.File, error) { return l.fs.Open(l.prefix + name) }
|
|
func (l rewriteFS) ReadDir(name string) ([]fs.DirEntry, error) { return l.fs.ReadDir(l.prefix + name) }
|
|
func (l rewriteFS) ReadFile(name string) ([]byte, error) { return l.fs.ReadFile(l.prefix + name) }
|
|
func FSJoin(elem ...string) string {
|
|
out := ""
|
|
for _, v := range elem {
|
|
out += v + "/"
|
|
}
|
|
return out[:len(out)-1]
|
|
}
|
|
|
|
func loadFilesystems() {
|
|
langFS = rewriteFS{laFS, "lang/"}
|
|
localFS = rewriteFS{loFS, "data/"}
|
|
log.Println("Using internal storage")
|
|
}
|