mirror of
https://github.com/idanoo/gomatrixbot
synced 2025-07-01 16:12:18 +00:00
Add counters
This commit is contained in:
parent
cbcfa51004
commit
cc9d2d5aae
3 changed files with 31 additions and 3 deletions
|
@ -45,7 +45,7 @@ func (db *Database) UpdateCounterFor(key string, timestamp time.Time) (int64, er
|
|||
// GetAllCounters
|
||||
func (db *Database) GetAllCounters() (map[string]time.Time, error) {
|
||||
counters := make(map[string]time.Time)
|
||||
row, err := db.db.Query("SELECT id, timestamp FROM counter order by key ASC")
|
||||
row, err := db.db.Query("SELECT key, timestamp FROM counter order by key ASC")
|
||||
if err != nil {
|
||||
return counters, err
|
||||
}
|
||||
|
@ -60,3 +60,13 @@ func (db *Database) GetAllCounters() (map[string]time.Time, error) {
|
|||
|
||||
return counters, nil
|
||||
}
|
||||
|
||||
// DeleteCounter - Deletes a counter by key
|
||||
func (db *Database) DeleteCounter(key string) (int64, error) {
|
||||
res, err := db.db.Exec("DELETE FROM `counter` WHERE `key` = ?", key)
|
||||
if err != nil {
|
||||
return 0, err
|
||||
}
|
||||
|
||||
return res.RowsAffected()
|
||||
}
|
||||
|
|
|
@ -131,7 +131,7 @@ func (mtrx *MtrxClient) handleCommand(ctx context.Context, evt *event.Event) {
|
|||
mtrx.getAllCounters(ctx, evt.RoomID)
|
||||
return
|
||||
} else {
|
||||
mtrx.getCounterFor(ctx, evt.RoomID, args[1])
|
||||
mtrx.getCounterFor(ctx, evt.RoomID, strings.Join(args[1:], " "))
|
||||
return
|
||||
}
|
||||
case ".counterreset":
|
||||
|
@ -139,7 +139,15 @@ func (mtrx *MtrxClient) handleCommand(ctx context.Context, evt *event.Event) {
|
|||
mtrx.sendMessage(ctx, evt.RoomID, "Usage: .counterreset <key>")
|
||||
return
|
||||
} else {
|
||||
mtrx.updateCounterFor(ctx, evt.RoomID, args[1])
|
||||
mtrx.updateCounterFor(ctx, evt.RoomID, strings.Join(args[1:], " "))
|
||||
return
|
||||
}
|
||||
case ".counterdel":
|
||||
if len(args) < 2 {
|
||||
mtrx.sendMessage(ctx, evt.RoomID, "Usage: .counterdel <key>")
|
||||
return
|
||||
} else {
|
||||
mtrx.deleteCounterFor(ctx, evt.RoomID, strings.Join(args[1:], " "))
|
||||
return
|
||||
}
|
||||
case ".reloadallpics":
|
||||
|
|
|
@ -45,3 +45,13 @@ func (mtrx *MtrxClient) updateCounterFor(ctx context.Context, roomID id.RoomID,
|
|||
|
||||
mtrx.sendMessage(ctx, roomID, "Updated counter for "+key)
|
||||
}
|
||||
|
||||
func (mtrx *MtrxClient) deleteCounterFor(ctx context.Context, roomID id.RoomID, key string) {
|
||||
_, err := mtrx.db.DeleteCounter(key)
|
||||
if err != nil {
|
||||
mtrx.sendMessage(ctx, roomID, "Failed to delete counter for "+key+": "+err.Error())
|
||||
return
|
||||
}
|
||||
|
||||
mtrx.sendMessage(ctx, roomID, "Deleted counter for "+key)
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue