示例#1
0
 /// <summary>
 /// 发送群消息
 /// </summary>
 /// <param name="groupId">目标群</param>
 /// <param name="message">消息内容</param>
 /// <returns>失败返回负值, 成功返回消息 Id</returns>
 public int SendGroupMessage(long groupId, string message)
 {
     GCHandle handle = message.GetStringGCHandle(_defaultEncoding);
     int msgId = CQP.CQ_sendGroupMsg(_authCode, groupId, handle.AddrOfPinnedObject());
     handle.Free();
     return msgId;
 }
示例#2
0
文件: CqApi.cs 项目: zqu1016/IBoxs
        /// <summary>
        /// 发送群消息
        /// </summary>
        /// <param name="groupId">目标群</param>
        /// <param name="message">消息内容</param>
        /// <returns>失败返回负值, 成功返回消息 Id</returns>
        public int SendGroupMessage(long groupId, string message)
        {
            GCHandle handle = message.GetStringGCHandle(_defaultEncoding);
            string   msgId  = "0" + Marshal.PtrToStringAnsi(CQP.CQ_sendGroupMsg(_authCode, groupId, handle.AddrOfPinnedObject()));

            handle.Free();
            return(Convert.ToInt32(msgId));
        }
示例#3
0
        /// <summary>
        /// 发送群消息
        /// </summary>
        /// <param name="groupId">目标群号码</param>
        /// <param name="message">用于发送消息对象数组. (获取字符串将优先调用 <see cref="IToSendString.ToSendString"/> 接口, 若不存在该接口则调用 <see cref="Object.ToString"/>)</param>
        /// <exception cref="ArgumentOutOfRangeException">参数: groupId 超出范围</exception>
        /// <exception cref="ArgumentNullException">参数: message 中有 null 元素</exception>
        /// <returns>描述已发送消息的 <see cref="QQMessage"/> 对象</returns>
        public QQMessage SendGroupMessage(long groupId, params object[] message)
        {
            if (groupId < Group.MinValue)
            {
                throw new ArgumentOutOfRangeException("groupId");
            }

            string   sendMsg   = message.ToSendString();
            GCHandle msgHandle = sendMsg.GetStringGCHandle(CQApi.DefaultEncoding);

            try
            {
                int msgId = CQP.CQ_sendGroupMsg(this.AppInfo.AuthCode, groupId, msgHandle.AddrOfPinnedObject());
                return(new QQMessage(this, msgId, sendMsg, false));
            }
            finally
            {
                msgHandle.Free();
            }
        }
示例#4
0
 /// <summary>
 /// 发送群消息
 /// </summary>
 /// <param name="groupId">目标群</param>
 /// <param name="message">消息内容</param>
 public int SendGroupMessage(long groupId, string message)
 {
     return(CQP.CQ_sendGroupMsg(_authCode, groupId, message.ToIntPtr(_defaultEncoding)));
 }
示例#5
0
 /// <summary>
 /// 发送群消息
 /// </summary>
 /// <param name="groupId">目标群</param>
 /// <param name="message">消息内容</param>
 public int SendGroupMessage(long groupId, string message)
 {
     return(CQP.CQ_sendGroupMsg(_authCode, groupId, NativeConvert.ToStringPtr(message, Encoding.GetEncoding("GB18030"))));
 }