Example #1
0
        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);
                }
            });
        }
Example #2
0
 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;
     }));
 }
Example #3
0
        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();
                }
            }
        }
Example #4
0
        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);
        }
Example #5
0
 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();
     }
 }
Example #6
0
 public override DirectMessageMessage DirectMessageUpdateDestructive(DirectMessageMessage msg, object mon)
 {
     return ep.RaiseDirectMessageDestructive(msg);
 }
Example #7
0
 public override void DirectMessageUpdate(DirectMessageMessage msg, object mon)
 {
     ep.RaiseDirectMessage(msg);
 }
Example #8
0
 public abstract void OnDirectMessage(DirectMessageMessage mes);
Example #9
0
        private void CacheDirectMessage(DirectMessageMessage msg)
        {
            Task.Run(() =>
            {

            });
        }
Example #10
0
 /// <summary>
 /// 受信したダイレクトメッセージについて、スクリプトの処理をします。
 /// このイベントは、ツイートの表示前に処理されます。
 /// </summary>
 /// <param name="msg">DirectMessageMessage</param>
 /// <param name="mon">非同期的に処理するためのモニター用オブジェクト</param>
 public abstract DirectMessageMessage DirectMessageUpdateDestructive(DirectMessageMessage msg, object mon);
Example #11
0
 /// <summary>
 /// 受信したダイレクトメッセージについて、スクリプトの処理をします。
 /// </summary>
 /// <param name="msg">DirectMessageMessage</param>
 /// <param name="mon">非同期的に処理するためのモニター用オブジェクト</param>
 public abstract void DirectMessageUpdate(DirectMessageMessage msg, object mon);
Example #12
0
 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;
 }
Example #13
0
 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();
         }
     }
 }
Example #14
0
 private void CacheDirectMessage(DirectMessageMessage msg)
 {
     Task.Run(() =>
     {
     });
 }
Example #15
0
 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;
     }
 }
Example #16
0
 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();
     }
 }
Example #17
0
 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);
     });
 }
Example #18
0
 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;
     }
 }
Example #19
0
 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;
     });
 }
Example #20
0
 /// <summary>
 /// 受信したダイレクトメッセージについて、スクリプトの処理をします。
 /// </summary>
 /// <param name="msg">DirectMessageMessage</param>
 /// <param name="mon">非同期的に処理するためのモニター用オブジェクト</param>
 public abstract void DirectMessageUpdate(DirectMessageMessage msg, object mon);
Example #21
0
 public abstract DirectMessageMessage OnDirectMessageDestructive(DirectMessageMessage mes);
Example #22
0
 /// <summary>
 /// 受信したダイレクトメッセージについて、スクリプトの処理をします。
 /// このイベントは、ツイートの表示前に処理されます。
 /// </summary>
 /// <param name="msg">DirectMessageMessage</param>
 /// <param name="mon">非同期的に処理するためのモニター用オブジェクト</param>
 public abstract DirectMessageMessage DirectMessageUpdateDestructive(DirectMessageMessage msg, object mon);
Example #23
0
 public override DirectMessageMessage DirectMessageUpdateDestructive(DirectMessageMessage msg, object mon)
 {
     return(ep.RaiseDirectMessageDestructive(msg));
 }
Example #24
0
 public override void DirectMessageUpdate(DirectMessageMessage msg, object mon)
 {
     ep.RaiseDirectMessage(msg);
 }