private async void NotifyDirectMessageUpdate(DirectMessageMessage msg) { CacheDirectMessage(msg); LatestDirectMessage = await ProcessDirectMessages(msg); RaisePropertyChanged("DirectMessage"); await Task.Run(() => { foreach (var p in Plugins) { p.DirectMessageUpdate(msg.DeepCopy(), PluginMonitoringToken); } }); }
private Task <DirectMessageMessage> ProcessDirectMessages(DirectMessageMessage msg) { return(Task.Run(() => { var ret = msg.DeepCopy(); if (ret == null) { return msg; } foreach (var i in Plugins) { ret = i.DirectMessageUpdateDestructive(ret, PluginMonitoringToken) ?? ret; } return ret; })); }
internal void RaiseDirectMessage(DirectMessageMessage msg) { if (DirectMessageReceived == null) { return; } var s = DirectMessageReceived.GetInvocationList().Select(p => p as Action <DirectMessageMessage>); foreach (var i in s.Where(p => p != null)) { try { i(msg); } catch (Exception e) { Instance.LogError("ダイレクトメッセージ受信時イベントでエラーが発生しました\n" + e.Message); Instance.SaveLog(); } } }
internal DirectMessageMessage RaiseDirectMessageDestructive(DirectMessageMessage msg) { var m = msg; if (DirectMessageReceivedDestructive == null) { return(null); } var s = DirectMessageReceivedDestructive.GetInvocationList().Select(p => p as Func <DirectMessageMessage, DirectMessageMessage>); foreach (var i in s.Where(p => p != null)) { try { m = i(m); } catch (Exception e) { Instance.LogError("ダイレクトメッセージ受信時破壊的イベントでエラーが発生しました\n" + e.Message); Instance.SaveLog(); } } return(m); }
public override void OnDirectMessage(DirectMessageMessage mes) { try { var f = lua["OnDirectMessage"] as Action<DirectMessageMessage>; if (f != null) f(mes); } catch (Exception e) { ins.LogError("プラグイン " + Name + "でエラーが発生しました : " + e.Message); ins.SaveLog(); } }
public override DirectMessageMessage DirectMessageUpdateDestructive(DirectMessageMessage msg, object mon) { return ep.RaiseDirectMessageDestructive(msg); }
public override void DirectMessageUpdate(DirectMessageMessage msg, object mon) { ep.RaiseDirectMessage(msg); }
public abstract void OnDirectMessage(DirectMessageMessage mes);
private void CacheDirectMessage(DirectMessageMessage msg) { Task.Run(() => { }); }
/// <summary> /// 受信したダイレクトメッセージについて、スクリプトの処理をします。 /// このイベントは、ツイートの表示前に処理されます。 /// </summary> /// <param name="msg">DirectMessageMessage</param> /// <param name="mon">非同期的に処理するためのモニター用オブジェクト</param> public abstract DirectMessageMessage DirectMessageUpdateDestructive(DirectMessageMessage msg, object mon);
/// <summary> /// 受信したダイレクトメッセージについて、スクリプトの処理をします。 /// </summary> /// <param name="msg">DirectMessageMessage</param> /// <param name="mon">非同期的に処理するためのモニター用オブジェクト</param> public abstract void DirectMessageUpdate(DirectMessageMessage msg, object mon);
internal DirectMessageMessage RaiseDirectMessageDestructive(DirectMessageMessage msg) { var m = msg; if (DirectMessageReceivedDestructive == null) return null; var s = DirectMessageReceivedDestructive.GetInvocationList().Select(p => p as Func<DirectMessageMessage, DirectMessageMessage>); foreach (var i in s.Where(p => p != null)) { try { m = i(m); } catch (Exception e) { Instance.LogError("ダイレクトメッセージ受信時破壊的イベントでエラーが発生しました\n" + e.Message); Instance.SaveLog(); } } return m; }
internal void RaiseDirectMessage(DirectMessageMessage msg) { if (DirectMessageReceived == null) return; var s = DirectMessageReceived.GetInvocationList().Select(p => p as Action<DirectMessageMessage>); foreach (var i in s.Where(p => p != null)) { try { i(msg); } catch (Exception e) { Instance.LogError("ダイレクトメッセージ受信時イベントでエラーが発生しました\n" + e.Message); Instance.SaveLog(); } } }
public override DirectMessageMessage OnDirectMessageDestructive(DirectMessageMessage mes) { try { var f = lua["OnDirectMessageDestructive"] as Func<DirectMessageMessage, DirectMessageMessage>; if (f != null) { return f(mes); } else { return mes; } } catch (Exception e) { ins.LogError("プラグイン " + Name + "でエラーが発生しました : " + e.Message); ins.SaveLog(); return mes; } }
public override void OnDirectMessage(DirectMessageMessage mes) { try { if (hasdm == null) { hasdm = scope.TryGetVariable("OnDirectMessage", out dm); } if (hasdm ?? false) dm(mes); } catch (Exception e) { ins.LogError("プラグイン " + Name + "でエラーが発生しました : " + e.Message); ins.SaveLog(); } }
private async void NotifyDirectMessageUpdate(DirectMessageMessage msg) { CacheDirectMessage(msg); LatestDirectMessage = await ProcessDirectMessages(msg); RaisePropertyChanged("DirectMessage"); await Task.Run(() => { foreach (var p in Plugins) p.DirectMessageUpdate(msg.DeepCopy(), PluginMonitoringToken); }); }
public override DirectMessageMessage OnDirectMessageDestructive(DirectMessageMessage mes) { try { if (hasdmD == null) { hasdmD = scope.TryGetVariable("OnDirectMessageDestructive", out dmD); } if (hasdmD ?? false) { return dmD(mes); } else { return mes; } } catch (Exception e) { ins.LogError("プラグイン " + Name + "でエラーが発生しました : " + e.Message); ins.SaveLog(); return mes; } }
private Task<DirectMessageMessage> ProcessDirectMessages(DirectMessageMessage msg) { return Task.Run(() => { var ret = msg.DeepCopy(); if (ret == null) return msg; foreach (var i in Plugins) ret = i.DirectMessageUpdateDestructive(ret, PluginMonitoringToken) ?? ret; return ret; }); }
public abstract DirectMessageMessage OnDirectMessageDestructive(DirectMessageMessage mes);
public override DirectMessageMessage DirectMessageUpdateDestructive(DirectMessageMessage msg, object mon) { return(ep.RaiseDirectMessageDestructive(msg)); }