2023-03-04 20:19:38 +01:00
package main
import (
2023-03-04 21:26:02 +01:00
"fmt"
2023-03-04 20:19:38 +01:00
"github.com/gempir/go-twitch-irc/v3"
"github.com/lyx0/nourybot/internal/commands"
"github.com/lyx0/nourybot/internal/common"
2023-03-04 21:26:02 +01:00
"github.com/lyx0/nourybot/internal/data"
2023-03-04 20:19:38 +01:00
"go.uber.org/zap"
)
func ( app * Application ) CheckLastFM ( message twitch . PrivateMessage ) {
sugar := zap . NewExample ( ) . Sugar ( )
defer sugar . Sync ( )
twitchLogin := message . User . Name
sugar . Infow ( "Twitchlogin: " ,
"twitchLogin:" , twitchLogin ,
)
u , err := app . Models . LastFMUsers . Get ( twitchLogin )
if err != nil {
sugar . Errorw ( "No LastFM account registered for: " ,
"twitchLogin:" , twitchLogin ,
)
reply := "No lastfm account registered in my database. Use ()register lastfm <username> to register. (Not yet implemented) Otherwise use ()lastfm <username> without registering."
common . Send ( message . Channel , reply , app . TwitchClient )
return
}
target := message . Channel
user := u . LastFMUser
sugar . Infow ( "Twitchlogin: " ,
"twitchLogin:" , twitchLogin ,
"user:" , user ,
)
commands . LastFmUserRecent ( target , user , app . TwitchClient )
}
2023-03-04 21:26:02 +01:00
func ( app * Application ) SetLastFMUser ( lastfmUser string , message twitch . PrivateMessage ) {
sugar := zap . NewExample ( ) . Sugar ( )
defer sugar . Sync ( )
user := & data . LastFMUser {
TwitchLogin : message . User . Name ,
TwitchID : message . User . ID ,
LastFMUser : lastfmUser ,
}
sugar . Infow ( "User:: " ,
"user:" , user ,
)
err := app . Models . LastFMUsers . Insert ( user )
if err != nil {
if err != nil {
reply := fmt . Sprintf ( "Something went wrong FeelsBadMan %s" , err )
common . Send ( message . Channel , reply , app . TwitchClient )
return
}
} else {
reply := fmt . Sprintf ( "Successfully set your lastfm account as %v" , lastfmUser )
common . Send ( message . Channel , reply , app . TwitchClient )
return
}
}