Enhance Twilio hook execution with conditional logic

This commit is contained in:
aden.chen 2025-05-15 09:57:16 +08:00
parent 3dda7afc7c
commit 1de8953404

View file

@ -1,3 +1,4 @@
using BotSharp.Abstraction.Infrastructures;
using BotSharp.Core.Infrastructures;
using BotSharp.Plugin.Twilio.Interfaces;
using BotSharp.Plugin.Twilio.Models;
@ -36,7 +37,11 @@ public class TwilioRecordController : TwilioController
convService.SaveStates();
// recording completed
await HookEmitter.Emit<ITwilioCallStatusHook>(_services, x => x.OnRecordingCompleted(request));
var emitOptions = new HookEmitOption<ITwilioCallStatusHook>
{
ShouldExecute = hook => hook.IsMatch(request)
};
await HookEmitter.Emit<ITwilioCallStatusHook>(_services, x => x.OnRecordingCompleted(request), emitOptions);
}
else
{