package database import ( "strconv" "go.etcd.io/bbolt" ) func (db *Database) CheckPing(roleID string) int { roleIDByte := []byte(roleID) var idx int _ = db.db.View(func(tx *bbolt.Tx) error { num := tx.Bucket(firedBucket).Get(roleIDByte) if num != nil { if i, err := strconv.Atoi(string(num)); err == nil { idx = i } } return nil }) return idx } func (db *Database) IncrementPing(roleID string) error { roleIDByte := []byte(roleID) return db.db.Update(func(tx *bbolt.Tx) error { idx := db.CheckPing(roleID) return tx.Bucket(firedBucket).Put(roleIDByte, []byte(strconv.Itoa(idx+1))) }) }