public override QMEventHandlerTypes OnReceiveGroupMessage(QMGroupMessageEventArgs e) { if (!LastMessages.ContainsKey(e.FromGroup.Id)) { LastMessages.Add(e.FromGroup.Id, new Tuple <long, string>(e.FromQQ.Id, e.Message.Text)); } else { LastMessages[e.FromGroup.Id] = new Tuple <long, string>(e.FromQQ.Id, e.Message.Text); } if (!MessageSenders.ContainsKey(e.FromGroup.Id)) { MessageSenders[e.FromGroup.Id] = new HashSet <long>(); } MessageSenders[e.FromGroup.Id].Add(e.FromQQ.Id); if (!RepeatedMessages.ContainsKey(e.FromGroup.Id)) { RepeatedMessages.Add(e.FromGroup.Id, null); } if (RepeatedMessages[e.FromGroup.Id] != null && e.Message.Text == RepeatedMessages[e.FromGroup.Id]) { MessageSenders[e.FromGroup.Id].Clear(); return(QMEventHandlerTypes.Continue); } if (MessageSenders[e.FromGroup.Id].Count >= 3) { QMApi.SendGroupMessage(e.RobotQQ, e.FromGroup, e.Message.Text); RepeatedMessages[e.FromGroup.Id] = e.Message.Text; MessageSenders[e.FromGroup.Id].Clear(); } return(QMEventHandlerTypes.Continue); }
public override QMEventHandlerTypes OnReceiveGroupMessage(QMGroupMessageEventArgs e) { if (MainSave.AppConfig.Object["接口"]["Group"].GetValueOrDefault(0) is 0) { bool flag = false; for (int i = 0; i < MainSave.AppConfig.Object["群控"]["Count"].GetValueOrDefault(0); i++) { if (e.FromGroup.Id == MainSave.AppConfig.Object["群控"][$"Item{i}"].GetValueOrDefault(0)) { flag = true; break; } } if (flag is false) { return(QMEventHandlerTypes.Continue); } } FunctionResult result = Event_GroupMessage.GroupMessage(e); if (result.SendFlag) { if (result.SendObject == null) { return(QMEventHandlerTypes.Continue); } foreach (var item in result.SendObject) { Group DestGroup = new Group(item.SendID); foreach (var sendMsg in item.MsgToSend) { QMApi.SendGroupMessage(e.RobotQQ, DestGroup, sendMsg); } } } return(result.result); }