Example #1
0
 public void Reply(string message, Sender sender, GroupSender groupSender)
 {
     //群聊不处理50字以上
     if (message.Length > 50) return;
     var type = Analyse(message);
     //判断是否有权限    
     var flag = CheckPermission(sender);
     var result = "";
     switch (type)
     {
         case MessageType.Teach:
             result = flag ? TeachAction(message) : ConstString("NoThanks");
             AddAttention(sender, 2);
             break;
         case MessageType.Regex:
             result = flag ? RegexAction(message) : ConstString("NoThanks");
             AddAttention(sender, 2);
             break;
         case MessageType.Delete:
             result = flag ? DeleteAction(message) : ConstString("NoThanks");
             AddAttention(sender, 2);
             break;
         case MessageType.Set:
             result = flag ? SetAction(message) : ConstString("NoThanks");
             AddAttention(sender, 2);
             break;
         case MessageType.Test:
             result = flag ? TestAction(message) : ConstString("NoThanks");
             AddAttention(sender, 2);
             break;
         case MessageType.Scheme:
             result = flag ? SchemeAction(sender.name) : ConstString("NoThanks");
             AddAttention(sender, 2);
             break;
         case MessageType.Ext:
             result = flag ? ExtAction(message) : ConstString("NoThanks");
             AddAttention(sender, 2);
             break;
         case MessageType.Push:
             result = flag ? PushAction(message, sender.name) : ConstString("NoThanks");
             AddAttention(sender, 2);
             break;
         case MessageType.Chat:
             flag = message.Contains(Settings.NekoName) || RandomAttention(sender);
             LoseAttention(sender);
             if (flag)
             {
                 result = ChatAction(message);
                 AddAttention(sender, 2);
                 if (groupSender.type == GroupSenderType.Master && String.IsNullOrEmpty(result))
                 {
                     result = ConstString("Require");
                 }
             }
             break;
     }
     //在没有权限的群里 而且词库没有相关信息 不做回答
     if (string.IsNullOrEmpty(result)) return;
     //处理占位符
     var msgs = HandlePlaceHolder(result, sender.name);
     foreach (var msg in msgs)
     {
         Thread.Sleep(500);
         RunTime.Net.SendGroupMsg(groupSender.uin, msg);
     }
 }
Example #2
0
 /// <summary>
 /// 检查是否有命令权限
 /// </summary>
 /// <param name="groupSender"></param>
 /// <param name="sender"></param>
 /// <returns></returns>
 public bool CheckPermission(Sender sender, GroupSender groupSender)
 {
     return (sender.type == SenderType.Master) || (groupSender.type == GroupSenderType.Master);
 }