Files
bunny-bot/internal/moon/types.go
2025-06-02 18:54:42 +03:00

48 lines
1.3 KiB
Go

package moon
import (
int64int64collection "bunny-bot/internal/collection"
"time"
)
// MyConfig describes bot config file format.
type MyConfig struct {
Name string `json:"name,omitempty"`
Token string `json:"token,omitempty"`
LogLevel string `json:"loglevel,omitempty"`
LogFile string `json:"logfile,omitempty"`
CSign string `json:"csign,omitempty"`
DataDir string `json:"datadir,omitempty"`
}
// CasFalse describes response from api.cas.chat when user is not blacklisted.
type CasFalse struct {
Ok bool `json:"ok"`
Description string `json:"description"`
}
// CasFalse describes response from api.cas.chat when user is blacklisted.
type CasTrue struct {
Ok bool `json:"ok"`
Result struct {
Reasons []int `json:"reasons"`
Offenses int `json:"offenses"`
TimeAdded time.Time `json:"time_added"`
} `json:"result"`
}
// Chat is a struct that represents incomplete chat member list for particular chat.
type MembersCollection struct {
ChatID int64
// Members stores new members and unix timestamps.
Members int64int64collection.Collection
}
// Represents item found in member collection. Timestamp of 0 indicates that no item found.
type MemberItem struct {
UserID int64
Timestamp int64
}
/* vim: set ft=go noet ai ts=4 sw=4 sts=4: */