using Api.Framework; using Api.Framework.Model; using Api.Framework.SDK; using Api.Framework.Tools; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading; using System.Threading.Tasks; using 循环的发消息.Properties; namespace 循环的发消息 { public class Class1 : Plugin { public Class1() { this.Logo = Resources._1; this.Name = "循环发送"; this.Note = ""; } #region 自定义变量 public static Config Config; private Form1 mainForm = null; #endregion public override void Start() { try { //创建配置文件 Config = this.ReadConfig(); SDK.ReciveIMEvent += SDK_ReciveIMEvent; } catch (Exception ex) { this.OnLog(ex.Message); } } static bool state = false; static bool stop = false; private void SDK_ReciveIMEvent(object sender, ReciveIMEvent e) { try { if (e.Message == "b") stop = true; if (e.Message == "a") { this.OnLog("开始发送..."); if (!state) { var t1 = new Task(() => { try { state = true; if (string.IsNullOrWhiteSpace(Config.Users)) throw new Exception("用户不能为空"); var users = Config.Users.Replace(",", ",").Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries).Select(f => f.Trim()).ToList(); var messs = Config.Content.Split(new string[] { "[分段]" }, StringSplitOptions.RemoveEmptyEntries); for (int i = 0; i < Class1.Config.Num; i++) { foreach (var mess in messs) { foreach (var m in users) { ApiClient.SendMessage(e.RobotInfo, m, mess); Thread.Sleep(Config.Sleep); if (stop) return; } } } } catch (Exception) { } finally { stop = false; state = false; } }, TaskCreationOptions.LongRunning); t1.Start(); } } } catch (Exception ex) { this.OnLog(ex.Message); } } public override void ShowForm() { try { if (mainForm == null || mainForm.IsDisposed) { mainForm = new Form1(); mainForm.Show(); } mainForm.TopMost = true; mainForm.TopMost = false; } catch (Exception ex) { this.OnLog(ex.Message); } } public override void Stop() { try { if (mainForm != null) { mainForm.CloseForm(); mainForm = null; } } catch (Exception ex) { this.OnLog(ex.Message); } } } }