//审批请求 public static List <MessageManage> Email_Rtn_SP(int gonghao, int userid) { string sql = "select distinct User_JobNumber from ms_user join MS_PositionTable on MS_User.Departmentid=MS_PositionTable.DepartmentID where MS_User.Dutyid in(select distinct PositionId from MS_PositionTable where PositionName like '%经理%' or PositionName like '%人事%')and User_JobNumber=" + gonghao; DataTable table = DBHelper.Select(sql); List <MessageManage> list = new List <MessageManage>(); if (table.Rows.Count > 0) { string sql2 = "select *,MS_User.[User_Name] as name from MS_Message_Manage join MS_User on MS_User.[User_Id]=MS_Message_Manage.SenderID where RecipientID=" + userid; DataTable table2 = DBHelper.Select(sql2); foreach (DataRow row in table2.Rows) { MessageManage mes = new MessageManage(); mes.SenderID = new User(); mes.SenderID.UserID = Convert.ToInt32(row["SenderID"]); mes.MessageSendTime = row["Message_SendTime"].ToString(); mes.MessageContent = row["Message_Content"].ToString(); mes.MessageTitle = row["Message_Title"].ToString(); mes.name = row["name"].ToString(); list.Add(mes); } return(list); } return(null); }
private void SendMessage(List <string> userId, string msg) { XTXX xtxx = new XTXX(); xtxx.XXBH = Guid.NewGuid().ToString(); xtxx.XXBT = "系统消息"; xtxx.XXNR = msg; xtxx.FSR = "0"; xtxx.FSSJ = DateTime.Now; xtxx.XXLX = "1"; xtxx.FSRSC = "1"; List <XTXXJS> xtxxjss = new List <XTXXJS>(); foreach (string sjr in userId) { xtxxjss.Add(new XTXXJS() { JSXXBH = xtxx.XXBH, JSR = sjr, JSRXZDM = "", YDZT = "0", JSRSC = "0" }); } MessageManage mess = new MessageManage(); mess.AddMessage(xtxx, xtxxjss); }
public ActionResult GetMessage() { try { var msg = new MessageManage(); if (msg.GetNewMessageCount > 0) { //string messagetext = string.Format("Ext.Msg.notify('{0}', '{1}');", // string.Format("{0}条新消息", msg.GetNewMessageCount), // string.Format("{0}个任务需要审核!", msg.GetTaskCount)); //X.AddScript(messagetext); string title = string.Format("{0}条新消息", msg.GetNewMessageCount); string content = string.Format("<a target='_blank' href='{1}'>{0}个任务需要审核!</a>", msg.GetTaskCount, Url.Action("TaskCheck", "WorkPlatform", new { area = "user" })); X.MessageBox.Notify(new NotificationConfig { AutoHide = true, HideDelay = 5000, Title = title, Html = content, Closable = true }).Show(); msg.GetNewMessage(); } this.GetCmp <Label>("messagenum").Text = msg.GetMessageCount.ToString(); this.GetCmp <Label>("tasknum").Text = msg.GetTaskCount.ToString(); this.GetCmp <Label>("ccnum").Text = msg.GetCcCount.ToString(); } catch (Exception) { return(this.Direct(false)); } return(this.Direct(true)); }
public static MessageManage GetInstance() { if (Instance == null) { Instance = new MessageManage(); } return(Instance); }
public async Task ListenTunnel() { try { Log("BEGIN LISTEN"); using (var tunnel = _client.EventTunnel()) { this._tunnel = tunnel; var responseTask = Task.Run(async() => { while (await tunnel.ResponseStream.MoveNext(CancellationToken.None)) { var response = tunnel.ResponseStream.Current; if (response.EventType != "PONG") { Log($"GOT MESSAGE {response.EventType} {response.Body}"); } if (response.EventType == "LOGIN") { QQLoginInfo qqinfo = JsonConvert.DeserializeObject <QQLoginInfo>(response.Body); var user = new QQUser(qqinfo.QQNumber, qqinfo.Password); var socketServer = new GRPCSocketServiceImpl(user, this); var transponder = new Transponder(); var sendService = new GRPCSendMessageServiceImpl(socketServer, user); var manage = new MessageManage(socketServer, user, transponder); var robot = new GRPCRobot(sendService, transponder, user, this); manage.Init(); } } }); EventRequest req = new EventRequest { EventType = "REGISTER", Body = "HELLO", ClientId = this.clientId, ClientType = this.clientType }; await tunnel.RequestStream.WriteAsync(req); foreach (EventRequest ping in SendPing(10)) { await tunnel.RequestStream.WriteAsync(ping); } await tunnel.RequestStream.CompleteAsync(); await responseTask; Log("Tunnel ended"); } } catch (RpcException e) { Log("RPC failed", e); } }
private static void Main(string[] args) { var user = new QQUser(0, ""); var socketServer = new SocketServiceImpl(user); var transponder = new Transponder(); var sendService = new SendMessageServiceImpl(socketServer, user); var manage = new MessageManage(socketServer, user, transponder); var robot = new TestRoBot(sendService, transponder, user); manage.Init(); Console.ReadKey(); }
private static void Main(string[] args) { if (args.Length != 2) { throw new Exception("参数数量错误:账号 密码。"); } var user = new QQUser(long.Parse(args[0]), args[1]); // 虽然已经太迟了,但是还是把密码去掉了... 起码总比在这里好啊!(塞口球 var socketServer = new SocketServiceImpl(user); var transponder = new Transponder(); var sendService = new SendMessageServiceImpl(socketServer, user); var manage = new MessageManage(socketServer, user, transponder); var robot = new TestRobot(sendService, transponder, user); manage.Init(); Console.ReadKey(); }
private static void Main(string[] args) { #if NETCOREAPP2_0 || NETCOREAPP2_1 Encoding.RegisterProvider(CodePagesEncodingProvider.Instance); #endif var user = new QQUser(MyQQ, MyPassWord); var socketServer = new SocketServiceImpl(user); var transponder = new Transponder(); var sendService = new SendMessageServiceImpl(socketServer, user); var manage = new MessageManage(socketServer, user, transponder); #if NETCOREAPP2_0 || NETCOREAPP2_1 #else var robot = new TestRoBot(sendService, transponder, user); #endif manage.Init(); Console.ReadKey(); }
public override void Sync() { MessageManage messageManage = new MessageManage(); Action <DataRow> actionAddLocalMessageFile = new Action <DataRow>((dr) => { string xxbh = dr["xxbh"].ToString(); string messageFtpPath = CommonManage.GetFtpMessagePath(); LogOperation.Append(sbLog, "从" + targetCode + "到" + localCode + "同步系统消息(" + xxbh + ")的文件。"); targetFtp.CopyDirectory(messageFtpPath, xxbh, localFtp, messageFtpPath, xxbh, null); }); Action <DataRow> actionAddTargetMessageFile = new Action <DataRow>((dr) => { string xxbh = dr["xxbh"].ToString(); string messageFtpPath = CommonManage.GetFtpMessagePath(); LogOperation.Append(sbLog, "从" + localCode + "到" + targetCode + "同步系统消息(" + xxbh + ")的文件。"); localFtp.CopyDirectory(messageFtpPath, xxbh, targetFtp, messageFtpPath, xxbh, null); }); Action <DataRow> actionDeleteLocalMessageFile = new Action <DataRow>((dr) => { string xxbh = dr["xxbh"].ToString(); LogOperation.Append(sbLog, "删除" + localCode + "的系统消息(" + xxbh + ")的文件。"); localFtp.DeleteDirectory(CommonManage.GetFtpMessagePath(xxbh)); }); Action <DataRow> actionDeleteTargetMessageFile = new Action <DataRow>((dr) => { string xxbh = dr["xxbh"].ToString(); LogOperation.Append(sbLog, "删除" + targetCode + "的系统消息(" + xxbh + ")的文件。"); targetFtp.DeleteDirectory(CommonManage.GetFtpMessagePath(xxbh)); }); LogOperation.WriteTitle(sbLog, "同步系统消息开始(从" + targetCode + "到" + localCode + ")。"); SyncXxbh(targetDb, localDb, localCode, actionAddLocalMessageFile, actionDeleteTargetMessageFile, actionDeleteLocalMessageFile); LogOperation.WriteTitle(sbLog, "同步系统消息结束(从" + targetCode + "到" + localCode + ")。"); LogOperation.WriteTitle(sbLog, "同步系统消息开始(从" + localCode + "到" + targetCode + ")。"); SyncXxbh(localDb, targetDb, targetCode, actionAddTargetMessageFile, actionDeleteLocalMessageFile, actionDeleteTargetMessageFile); LogOperation.WriteTitle(sbLog, "同步系统消息结束(从" + localCode + "到" + targetCode + ")。"); }
/// <summary> /// 读取消息(会影响消息的阅读状态) /// </summary> /// <param name="userId">查看消息的用户ID</param> /// <param name="messageId">消息ID</param> /// <returns></returns> public Data.Entity.Messages ReadMessasge(long userId, long messageId) { MessageManage manage = new MessageManage(messageId); return(manage.Read(userId)); }
/// <summary> /// 获取消息信息 /// </summary> /// <param name="messageId"></param> /// <returns></returns> public Data.Entity.Messages GetMessageFor(long messageId) { MessageManage manage = new MessageManage(messageId); return(manage.Message); }
public QQClient() { Server = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp); messageManage = new MessageManage(this); }
static void Main(string[] args) { Database = new MongoClient(Config.DefaultConfig.DatabaseConnectionString).GetDatabase("vtuber-bot-data"); Encoding.RegisterProvider(CodePagesEncodingProvider.Instance); if (!string.IsNullOrEmpty(Config.DefaultConfig.ProxyUrl)) { WebRequest.DefaultWebProxy = new WebProxy(Config.DefaultConfig.ProxyUrl); } LogHelper.Info("载入中.."); if (!Config.DefaultConfig.UseLocalClient) { LogHelper.Info("使用CoolQ HTTP接口启动机器人"); Client = new HttpApiClient() { ApiAddress = Config.DefaultConfig.CoolQApi, AccessToken = Config.DefaultConfig.CoolQAccessToken }; Listener = new ApiPostListener() { ApiClient = Client, PostAddress = Config.DefaultConfig.CoolQListenUrl, }; Listener.StartListen(); var service = new CoolService(); SendService = service; Bot = new LocalVtuberBot(SendService, service, null); } else { LogHelper.Info("使用本地QQ框架启动机器人"); User = new QQUser(Config.DefaultConfig.Id, Config.DefaultConfig.Password); var socketServer = new SocketServiceImpl(User); var transponder = new Transponder(); SendService = new SendMessageServiceImpl(socketServer, User); var manage = new MessageManage(socketServer, User, transponder); manage.Init(); QQGlobal.DebugLog = false; while (string.IsNullOrEmpty(User.NickName)) { Thread.Sleep(100); } Bot = new LocalVtuberBot(SendService, transponder, User); } LogHelper.Info("载入完成"); LogHelper.Info("载入缓存中"); CacheManager.Manager.Init(); Thread.Sleep(10000); LogHelper.Info("载入完成"); Bot.Commands.Add(new MenuCommand()); Bot.Commands.Add(new TimeLineCommand()); Bot.Commands.Add(new OfficeInfoCommand()); Bot.Commands.Add(new YoutubeSearchCommand()); Bot.Commands.Add(new VtuberInfoCommand(SendService)); Bot.Commands.Add(new SubscribeCommand()); Bot.Commands.Add(new LiveCommand(SendService)); Bot.Commands.Add(new PluginManagerCommand(SendService)); LogHelper.Info("载入插件中..."); PluginManager.Manager.LoadPlugins(); LogHelper.Info("载入完成."); Console.ReadLine(); }