mirror of
https://github.com/AynaLivePlayer/AynaLivePlayer.git
synced 2025-12-09 03:38:12 +08:00
fix id diange not working
This commit is contained in:
Submodule pkg/miaosic updated: a743c5f97c...95343bb3f9
@@ -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 {
|
||||||
|
|||||||
Reference in New Issue
Block a user