fix id diange not working

This commit is contained in:
aynakeya
2024-04-22 13:49:17 -07:00
parent 0ad0296e51
commit 802961576c
2 changed files with 38 additions and 16 deletions

View File

@@ -213,28 +213,49 @@ func (d *Diange) handleMessage(event *event.Event) {
d.cooldowns[message.User.Uid] = ct d.cooldowns[message.User.Uid] = ct
for _, source := range sources { // match media first
medias, err := miaosic.SearchByProvider(source, keywords, 1, 10)
if len(medias) == 0 || err != nil { mediaMeta, found := miaosic.MatchMedia(keywords)
continue
} var media miaosic.MediaInfo
// double check blacklist
for _, item := range d.blacklist { if !found {
if item.Exact && item.Value == medias[0].Title { for _, source := range sources {
d.log.Warnf("User %s(%s) diange %s is in blacklist %s, ignore", message.User.Username, message.User.Uid, keywords, item.Value) medias, err := miaosic.SearchByProvider(source, keywords, 1, 10)
return if len(medias) == 0 || err != nil {
continue
} }
if !item.Exact && strings.Contains(medias[0].Title, item.Value) { // double check blacklist
d.log.Warnf("User %s(%s) diange %s is in blacklist %s, ignore", message.User.Username, message.User.Uid, keywords, item.Value) for _, item := range d.blacklist {
return if item.Exact && item.Value == medias[0].Title {
d.log.Warnf("User %s(%s) diange %s is in blacklist %s, ignore", message.User.Username, message.User.Uid, keywords, item.Value)
return
}
if !item.Exact && strings.Contains(medias[0].Title, item.Value) {
d.log.Warnf("User %s(%s) diange %s is in blacklist %s, ignore", message.User.Username, message.User.Uid, keywords, item.Value)
return
}
} }
media = medias[0]
found = true
break
} }
} else {
m, err := miaosic.GetMediaInfo(mediaMeta)
if err != nil {
d.log.Error("Get media info failed: ", err)
found = false
}
media = m
}
if found {
if d.SkipSystemPlaylist && d.isCurrentSystem { if d.SkipSystemPlaylist && d.isCurrentSystem {
global.EventManager.CallA( global.EventManager.CallA(
events.PlayerPlayCmd, events.PlayerPlayCmd,
events.PlayerPlayCmdEvent{ events.PlayerPlayCmdEvent{
Media: model.Media{ Media: model.Media{
Info: medias[0], Info: media,
User: message.User, User: message.User,
}, },
}) })
@@ -245,12 +266,13 @@ func (d *Diange) handleMessage(event *event.Event) {
events.PlaylistInsertCmdEvent{ events.PlaylistInsertCmdEvent{
Position: -1, Position: -1,
Media: model.Media{ Media: model.Media{
Info: medias[0], Info: media,
User: message.User, User: message.User,
}, },
}) })
return return
} }
} }
func (d *Diange) Title() string { func (d *Diange) Title() string {