/// <summary> /// 发送讨论组消息 /// </summary> /// <param name="discussId">目标讨论组号码</param> /// <param name="message">用于发送消息对象数组. (获取字符串将优先调用 <see cref="IToSendString.ToSendString"/> 接口, 若不存在该接口则调用 <see cref="Object.ToString"/>)</param> /// <exception cref="ArgumentOutOfRangeException">参数: qqId 超出范围</exception> /// <exception cref="ArgumentNullException">参数: message 中有 null 元素</exception> /// <returns>描述已发送消息的 <see cref="QQMessage"/> 对象</returns> public QQMessage SendDiscussMessage(long discussId, params object[] message) { if (discussId < Discuss.MinValue) { throw new ArgumentOutOfRangeException("discussId"); } string sendMsg = message.ToSendString(); GCHandle msgHandle = sendMsg.GetStringGCHandle(CQApi.DefaultEncoding); try { int msgId = CQP.CQ_sendDiscussMsg(this.AppInfo.AuthCode, discussId, msgHandle.AddrOfPinnedObject()); return(new QQMessage(this, msgId, sendMsg)); } finally { msgHandle.Free(); } }
/// <summary> /// 发送讨论组消息 /// </summary> /// <param name="discussId">目标讨论组</param> /// <param name="message">消息内容</param> /// <returns></returns> public int SendDiscussMessage(long discussId, string message) { return(CQP.CQ_sendDiscussMsg(_authCode, discussId, message.ToIntPtr(_defaultEncoding))); }
/// <summary> /// 发送讨论组消息 /// </summary> /// <param name="discussId">目标讨论组</param> /// <param name="message">消息内容</param> /// <returns></returns> public int SendDiscussMessage(long discussId, string message) { return(CQP.CQ_sendDiscussMsg(_authCode, discussId, NativeConvert.ToStringPtr(message, Encoding.GetEncoding("GB18030")))); }