コード例 #1
0
        /// <summary>
        /// 获取当前 QQMini 框架的框架类型
        /// </summary>
        /// <returns>如果获取成功返回 <see cref="QQMiniFrameworkTypes"/> 枚举的值</returns>
        public QQMiniFrameworkTypes GetFrameworkType()
        {
            int result = QQMiniApi.QMApi_GetFrameType(this.AuthCode);

            CheckResultThrowException(result);
            return((QQMiniFrameworkTypes)result);
        }
コード例 #2
0
        /// <summary>
        /// 获取当前 QQMini 框架的框架版本号
        /// </summary>
        /// <returns>如果获取成功返回表示框架版本号的 <see cref="Version"/> 对象</returns>
        public Version GetFrameworkVersion()
        {
            int result = QQMiniApi.QMApi_GetFrameVersion(this.AuthCode, out IntPtr version);

            CheckResultThrowException(result);
            return(Version.Parse(version.ToString(Global.DefaultEncoding)));
        }
コード例 #3
0
        /// <summary>
        /// 获取指定QQ的好友验证方式
        /// </summary>
        /// <returns>好友验证方式的枚举</returns>
        public FriendVerifyTypes GetFriendVerifyMode(long robotQQ, long targetQQ)
        {
            int result = QQMiniApi.QMApi_GetFriendVerifyMode(this.AuthCode, robotQQ, targetQQ);

            CheckResultThrowException(result);
            return((FriendVerifyTypes)result);
        }
コード例 #4
0
        /// <summary>
        /// 获取指定QQ是否在线
        /// </summary>
        /// <param name="robotQQ">要用来获取在线状态的QQ号</param>
        /// <param name="targetQQ">要获取其是否在线的QQ号</param>
        /// <returns>如果指定的QQ是在线的, 返回 <see langword="true"/>; 否则返回 <see langword="false"/></returns>
        public bool GetIsOnline(long robotQQ, long targetQQ)
        {
            int result = QQMiniApi.QMApi_GetIsOnline(this.AuthCode, robotQQ, targetQQ);

            CheckResultThrowException(result);
            return(result == 1);
        }
コード例 #5
0
        /// <summary>
        /// 获取指定QQ号的QQ在线状态
        /// </summary>
        /// <param name="robotQQ">用来获取在线状态的QQ号</param>
        /// <param name="targetQQ">要获取其在线状态的QQ号</param>
        /// <returns>QQ在线状态的枚举</returns>
        public OnlineStatusTypes GetOnlineStatus(long robotQQ, long targetQQ)
        {
            int result = QQMiniApi.QMApi_GetOnlineStatus(this.AuthCode, robotQQ, targetQQ);

            CheckResultThrowException(result);
            return((OnlineStatusTypes)result);
        }
コード例 #6
0
        /// <summary>
        /// 获取指定群组成员禁言的状态
        /// </summary>
        /// <param name="robotQQ">用来获取在线状态的QQ号</param>
        /// <param name="targetGroup">要获取其禁言状态的群组</param>
        /// <param name="targetQQ">要获取其禁言状态的QQ号</param>
        /// <returns>如果群组处于禁言状态返回 <see langword="true"/>; 否则返回 <see langword="false"/></returns>
        public bool GetGroupMemberBanStatus(long robotQQ, long targetGroup, long targetQQ)
        {
            int result = QQMiniApi.QMApi_GetGroupBanStatus(this.AuthCode, robotQQ, targetGroup, targetQQ);

            CheckResultThrowException(result);
            return(result == 1);
        }
コード例 #7
0
        /// <summary>
        /// 获取当前插件的数据目录
        /// </summary>
        /// <returns>如果获取成功返回数据目录</returns>
        public string GetPluginDataDirectory()
        {
            int result = QQMiniApi.QMApi_GetPluginDataDirectory(this.AuthCode, out IntPtr szDirectory);

            CheckResultThrowException(result);
            return(szDirectory.ToString(Global.DefaultEncoding));
        }
コード例 #8
0
        /// <summary>
        /// 获取指定QQ用于操作网页的 G_tk 或 bkn 值
        /// </summary>
        /// <param name="robotQQ">要获取 G_tk 或 bkn 值的QQ号</param>
        /// <returns>用于操作网页的 Cookies</returns>
        public string GetBkn(long robotQQ)
        {
            int result = QQMiniApi.QMApi_GetBkn(this.AuthCode, robotQQ, out IntPtr bkn);

            CheckResultThrowException(result);
            return(bkn.ToString(Global.DefaultEncoding));
        }
コード例 #9
0
        /// <summary>
        /// 获取当前 QQMini 框架的时间戳
        /// </summary>
        /// <returns>如果获取成功返回以 "秒" 为单位的时间戳</returns>
        public long GetFrameworkTimpStmap()
        {
            long result = QQMiniApi.QMApi_GetFrameTimeStamp(this.AuthCode);

            CheckResultThrowException(result);
            return(result);
        }
コード例 #10
0
        /// <summary>
        /// 获取指定QQ用于操作网页的 Cookies
        /// </summary>
        /// <param name="robotQQ">要获取 Cookies 的QQ号</param>
        /// <returns>用于操作网页的 Cookies</returns>
        public string GetCookies(long robotQQ)
        {
            int result = QQMiniApi.QMApi_GetCookies(this.AuthCode, robotQQ, out IntPtr cookiesStr);

            CheckResultThrowException(result);

            return(cookiesStr.ToString(Global.DefaultEncoding));
        }
コード例 #11
0
ファイル: QMLog.cs プロジェクト: QQMiniBot/QQMini.PluginSDK
        /// <summary>
        /// 设置一条致命错误信息. (注意: 设置后将导致框架停止运行)
        /// </summary>
        /// <param name="code">错误代码</param>
        /// <param name="message">异常消息</param>
        /// <returns>设置成功返回 <see langword="true"/>, 否则返回 <see langword="false"/></returns>
        public bool Fatal(int code, string message)
        {
            GCHandle messageHandle = message.GetStringGCHandle(Global.DefaultEncoding);

            try
            {
                return(QQMiniApi.QMApi_SetFatal(this.AuthCode, code, messageHandle.AddrOfPinnedObject()) == 0);
            }
            finally
            {
                messageHandle.Free();
            }
        }
コード例 #12
0
ファイル: QMLog.cs プロジェクト: QQMiniBot/QQMini.PluginSDK
        /// <summary>
        /// 设置一条指定等级的日志信息到框架
        /// </summary>
        /// <param name="level">设置日志的等级</param>
        /// <param name="message">日志的详细信息</param>
        public void Log(LogLevel level, string message)
        {
            GCHandle messageHandle = message.GetStringGCHandle(Global.DefaultEncoding);

            try
            {
                int result = QQMiniApi.QMApi_SetLogger(this.AuthCode, (int)level, messageHandle.AddrOfPinnedObject());
                CheckResultThrowException(result);
            }
            finally
            {
                messageHandle.Free();
            }
        }
コード例 #13
0
        /// <summary>
        /// 向指定的QQ发送好友验证回应消息
        /// </summary>
        /// <param name="robotQQ">响应此请求的QQ</param>
        /// <param name="sendQQ">接收消息的目标QQ</param>
        /// <param name="message">要发送的消息内容</param>
        /// <returns>返回发送的消息 <see cref="Message"/> 实例</returns>
        public Message SendFriendResponseMessage(long robotQQ, long sendQQ, string message)
        {
            GCHandle messageHandle = message.GetStringGCHandle(Global.DefaultEncoding);

            try
            {
                int result = QQMiniApi.QMApi_SendMessage(this.AuthCode, robotQQ, MSG_FRIEND_RESPONSE, 0, sendQQ, messageHandle.AddrOfPinnedObject(), 0);
                CheckResultThrowException(result);
                return(new Message(0, 0, message));
            }
            finally
            {
                messageHandle.Free();
            }
        }
コード例 #14
0
        /// <summary>
        /// 向指定的QQ发送一条讨论组临时消息
        /// </summary>
        /// <param name="robotQQ">响应此请求的QQ</param>
        /// <param name="fromDiscuss">目标QQ所在的群组</param>
        /// <param name="sendQQ">接收消息的目标QQ</param>
        /// <param name="message">要发送的消息内容</param>
        /// <returns>返回发送的消息 <see cref="Message"/> 实例</returns>
        public Message SendDiscussTempMessage(long robotQQ, long fromDiscuss, long sendQQ, string message)
        {
            GCHandle messageHandle = message.GetStringGCHandle(Global.DefaultEncoding);

            try
            {
                int result = QQMiniApi.QMApi_SendMessage(this.AuthCode, robotQQ, MSG_DISCUSS_TEMP, fromDiscuss, sendQQ, messageHandle.AddrOfPinnedObject(), 0);
                CheckResultThrowException(result);
                return(new Message(0, 0, message));
            }
            finally
            {
                messageHandle.Free();
            }
        }
コード例 #15
0
        /// <summary>
        /// 向指定的群组发送一条消息
        /// </summary>
        /// <param name="responseQQ">响应此请求的QQ</param>
        /// <param name="sendGroup">接收消息的目标群组</param>
        /// <param name="message">要发送的消息内容</param>
        /// <returns>返回发送的消息 <see cref="Message"/> 实例</returns>
        public Message SendGroupMessage(QQ responseQQ, Group sendGroup, string message)
        {
            GCHandle messageHandle = message.GetStringGCHandle(Global.DefaultEncoding);

            try
            {
                int result = QQMiniApi.QMApi_SendMessage(this._authCode, responseQQ, MSG_GROUP, sendGroup, 0, messageHandle.AddrOfPinnedObject(), 0);
                CheckResultThrowException(result);
                return(new Message(0, 0, message));
            }
            finally
            {
                messageHandle.Free();
            }
        }