initial commit

This commit is contained in:
mogad0n 2021-03-10 19:33:48 +05:30
parent 85ff6578e8
commit 379891b2d0
No known key found for this signature in database
GPG Key ID: 13851DB523F8CE74
7 changed files with 42 additions and 18 deletions

10
go.mod Normal file
View File

@ -0,0 +1,10 @@
module git.circuitco.de/self/watbot
go 1.15
require (
github.com/go-irc/irc v2.1.0+incompatible
github.com/namsral/flag v1.7.4-pre
gorm.io/driver/sqlite v1.1.4
gorm.io/gorm v1.20.11
)

16
go.sum Normal file
View File

@ -0,0 +1,16 @@
github.com/go-irc/irc v1.3.0 h1:IMD+d/+EzY51ecMLOz73r/NXTZrEp8khrePxRCvX71M=
github.com/go-irc/irc v2.1.0+incompatible h1:pg7pMVq5OYQbqTxceByD/EN8VIsba7DtKn49rsCnG8Y=
github.com/go-irc/irc v2.1.0+incompatible/go.mod h1:jJILTRy8s/qOvusiKifAEfhQMVwft1ZwQaVJnnzmyX4=
github.com/jinzhu/inflection v1.0.0 h1:K317FqzuhWc8YvSVlFMCCUb36O/S9MCKRDI7QkRKD/E=
github.com/jinzhu/inflection v1.0.0/go.mod h1:h+uFLlag+Qp1Va5pdKtLDYj+kHp5pxUVkryuEj+Srlc=
github.com/jinzhu/now v1.1.1 h1:g39TucaRWyV3dwDO++eEc6qf8TVIQ/Da48WmqjZ3i7E=
github.com/jinzhu/now v1.1.1/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8=
github.com/mattn/go-sqlite3 v1.14.5 h1:1IdxlwTNazvbKJQSxoJ5/9ECbEeaTTyeU7sEAZ5KKTQ=
github.com/mattn/go-sqlite3 v1.14.5/go.mod h1:WVKg1VTActs4Qso6iwGbiFih2UIHo0ENGwNd0Lj+XmI=
github.com/namsral/flag v1.7.4-pre h1:b2ScHhoCUkbsq0d2C15Mv+VU8bl8hAXV8arnWiOHNZs=
github.com/namsral/flag v1.7.4-pre/go.mod h1:OXldTctbM6SWH1K899kPZcf65KxJiD7MsceFUpB5yDo=
gorm.io/driver/sqlite v1.1.4 h1:PDzwYE+sI6De2+mxAneV9Xs11+ZyKV6oxD3wDGkaNvM=
gorm.io/driver/sqlite v1.1.4/go.mod h1:mJCeTFr7+crvS+TRnWc5Z3UvwxUN1BGBLMrf5LA9DYw=
gorm.io/gorm v1.20.7/go.mod h1:0HFTzE/SqkGTzK6TlDPPQbAYCluiVvhzoA1+aVyzenw=
gorm.io/gorm v1.20.11 h1:jYHQ0LLUViV85V8dM1TP9VBBkfzKTnuTXDjYObkI6yc=
gorm.io/gorm v1.20.11/go.mod h1:0HFTzE/SqkGTzK6TlDPPQbAYCluiVvhzoA1+aVyzenw=

10
main.go
View File

@ -15,15 +15,13 @@ func main() {
config := irc.ClientConfig{ config := irc.ClientConfig{
Nick: "watt", Nick: "watt",
Pass: *pass, Pass: *pass,
User: "wat/tripsit", User: "wat",
Name: "wat", Name: "wat",
} }
watConfig := wat.WatConfig{ watConfig := wat.WatConfig{
PermittedChannels: []string{ PermittedChannels: []string{
"##wat", "#lucy",
"##test", "#sweden",
"##sweden",
"##freedom",
}, },
IgnoredHosts: []string{ IgnoredHosts: []string{
"tripsit/user/creatonez", "tripsit/user/creatonez",
@ -32,7 +30,7 @@ func main() {
tcpConf := &tls.Config{ tcpConf := &tls.Config{
InsecureSkipVerify: true, InsecureSkipVerify: true,
} }
conn, err := tls.Dial("tcp", "127.0.0.1:9696", tcpConf) conn, err := tls.Dial("tcp", "127.0.0.1:6697", tcpConf)
if err != nil { if err != nil {
fmt.Println("err " + err.Error()) fmt.Println("err " + err.Error())
return return

View File

@ -45,7 +45,7 @@ func (w *WatBot) HandleIrcMsg(c *irc.Client, m *irc.Message) {
} }
func (w *WatBot) Admin(m *irc.Message) bool { func (w *WatBot) Admin(m *irc.Message) bool {
return m.Prefix.Host == "tripsit/operator/hibs" return m.Prefix.Host == "mph.monster"
} }
func (w *WatBot) Allowed(c string, r []string) bool { func (w *WatBot) Allowed(c string, r []string) bool {
@ -64,9 +64,9 @@ func (w *WatBot) CanRespond(m *irc.Message) bool {
if w.Allowed(m.Prefix.Host, w.c.IgnoredHosts) { if w.Allowed(m.Prefix.Host, w.c.IgnoredHosts) {
return false return false
} }
if !strings.Contains(m.Prefix.Host, "tripsit") { // if !strings.Contains(m.Prefix.Host, "") {
return false // return false
} // }
if !w.Allowed(m.Params[0], w.c.PermittedChannels) { if !w.Allowed(m.Params[0], w.c.PermittedChannels) {
return false return false
} }

View File

@ -4,8 +4,8 @@ import (
"fmt" "fmt"
"time" "time"
"github.com/jinzhu/gorm" "gorm.io/gorm"
_ "github.com/jinzhu/gorm/dialects/sqlite" "gorm.io/driver/sqlite"
) )
type Player struct { type Player struct {
@ -15,7 +15,7 @@ type Player struct {
Watting int64 Watting int64
Anarchy int64 Anarchy int64
Trickery int64 Trickery int64
Coins uint64 `gorm:"default:'100'"` Coins uint64 `gorm:"default:100"`
Health int64 Health int64
LastMined int64 LastMined int64
LastRested int64 LastRested int64
@ -55,7 +55,7 @@ type WatDb struct {
func NewWatDb() *WatDb { func NewWatDb() *WatDb {
w := WatDb{} w := WatDb{}
var err error var err error
w.db, err = gorm.Open("sqlite3", "wat.db") w.db, err = gorm.Open(sqlite.Open("wat.db"), &gorm.Config{})
if err != nil { if err != nil {
panic(err) panic(err)
} }
@ -102,7 +102,7 @@ func (w *WatDb) LastActed(player *Player, actionType ActionType) int64 {
func (w *WatDb) Act(player *Player, actionType ActionType) { func (w *WatDb) Act(player *Player, actionType ActionType) {
action := Action{player.Model.ID, actionType, time.Now().Unix()} action := Action{player.Model.ID, actionType, time.Now().Unix()}
if w.db.First(&action, "type = ? AND player_id = ?", actionType, player.ID).RecordNotFound() { if err := w.db.First(&action, "type = ? AND player_id = ?", actionType, player.Model.ID).Error; err != nil {
w.db.Create(&action) w.db.Create(&action)
} else { } else {
action.Performed = time.Now().Unix() action.Performed = time.Now().Unix()

View File

@ -28,7 +28,7 @@ var unconscious = "wat, your hands fumble and fail you. try resting, weakling."
func NewWatGame(bot *WatBot, db *WatDb) *WatGame { func NewWatGame(bot *WatBot, db *WatDb) *WatGame {
g := WatGame{bot, db, Player{}, nil, nil, nil, nil, map[string]int{}} g := WatGame{bot, db, Player{}, nil, nil, nil, nil, map[string]int{}}
g.me = g.db.User(bot.Nick, "tripsit/user/"+bot.Nick, true) g.me = g.db.User(bot.Nick, "amia8t89xfp8y.liberta.casa", true)
g.commands = map[string](func(*Player, []string) string){ g.commands = map[string](func(*Player, []string) string){
//"wat": g.megaWat, //"wat": g.megaWat,
"steroid": g.Steroid, "steroid": g.Steroid,

BIN
watbot Executable file

Binary file not shown.