diff --git a/README.md b/README.md
index f7ff4bc..313f940 100644
--- a/README.md
+++ b/README.md
@@ -66,7 +66,7 @@ SDK提供多种可用的跨进程通信方案,开发者可以从中灵活选
## 立马开始
-[点击查看帮助文档](http://www.newbe.pro) 开始编写第一个QQ机器人。
+[点击查看帮助文档](https://d.oo14.com/08ZI?v=v2) 开始编写第一个QQ机器人。
### 快乐实践
@@ -78,14 +78,12 @@ SDK提供多种可用的跨进程通信方案,开发者可以从中灵活选
## 版本
-- [版本变更情况](https://github.com/Newbe36524/Newbe.Mahua.Framework/blob/master/ReleaseNotes.md)
-
-| 包 | 版本 | 下载量 | 开发版 | 说明 |
-| -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------- |
-| Newbe.Mahua.CQP.Asset | [![Newbe.Mahua.CQP.Asset.Version](https://img.shields.io/nuget/v/Newbe.Mahua.CQP.Asset.svg?style=flat-square)](https://www.nuget.org/packages/Newbe.Mahua.CQP.Asset/) | [![Newbe.Mahua.CQP.Asset.Download](https://img.shields.io/nuget/dt/Newbe.Mahua.CQP.Asset.svg?style=flat-square)](https://www.nuget.org/packages/Newbe.Mahua.CQP.Asset/) | [![Newbe.Mahua.CQP.Asset.Version.Pre](https://img.shields.io/nuget/vpre/Newbe.Mahua.CQP.Asset.svg?style=flat-square)](https://www.nuget.org/packages/Newbe.Mahua.CQP.Asset/) | CQP(酷Q)实现 |
-| Newbe.Mahua.QQLight.Asset | [![Newbe.Mahua.QQLight.Asset.Version](https://img.shields.io/nuget/v/Newbe.Mahua.QQLight.Asset.svg?style=flat-square)](https://www.nuget.org/packages/Newbe.Mahua.QQLight.Asset/) | [![Newbe.Mahua.QQLight.Asset.Download](https://img.shields.io/nuget/dt/Newbe.Mahua.QQLight.Asset.svg?style=flat-square)](https://www.nuget.org/packages/Newbe.Mahua.QQLight.Asset/) | [![Newbe.Mahua.QQLight.Asset.Version.Pre](https://img.shields.io/nuget/vpre/Newbe.Mahua.QQLight.Asset.svg?style=flat-square)](https://www.nuget.org/packages/Newbe.Mahua.QQLight.Asset/) | QQLight实现 |
-| Newbe.Mahua.CleverQQ.Asset | [![Newbe.Mahua.CleverQQ.Asset.Version](https://img.shields.io/nuget/v/Newbe.Mahua.CleverQQ.Asset.svg?style=flat-square)](https://www.nuget.org/packages/Newbe.Mahua.CleverQQ.Asset/) | [![Newbe.Mahua.CleverQQ.Asset.Download](https://img.shields.io/nuget/dt/Newbe.Mahua.CleverQQ.Asset.svg?style=flat-square)](https://www.nuget.org/packages/Newbe.Mahua.CleverQQ.Asset/) | [![Newbe.Mahua.CleverQQ.Asset.Version.Pre](https://img.shields.io/nuget/vpre/Newbe.Mahua.CleverQQ.Asset.svg?style=flat-square)](https://www.nuget.org/packages/Newbe.Mahua.CleverQQ.Asset/) | CleverQQ实现 |
-| Newbe.Mahua.MPQ.Asset | [![Newbe.Mahua.MPQ.Asset.Version](https://img.shields.io/nuget/v/Newbe.Mahua.MPQ.Asset.svg?style=flat-square)](https://www.nuget.org/packages/Newbe.Mahua.MPQ.Asset/) | [![Newbe.Mahua.MPQ.Asset.Download](https://img.shields.io/nuget/dt/Newbe.Mahua.MPQ.Asset.svg?style=flat-square)](https://www.nuget.org/packages/Newbe.Mahua.MPQ.Asset/) | [![Newbe.Mahua.MPQ.Asset.Version.Pre](https://img.shields.io/nuget/vpre/Newbe.Mahua.MPQ.Asset.svg?style=flat-square)](https://www.nuget.org/packages/Newbe.Mahua.MPQ.Asset/) | MPQ(MyPcQQ)实现 |
+| 包 | 版本 | 下载量 | 开发版 | 说明 |
+| -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------- |
+| Newbe.Mahua.CQP.Asset | [![Newbe.Mahua.CQP.Asset.Version](https://img.shields.io/nuget/v/Newbe.Mahua.CQP.Asset.svg?style=flat-square)](https://www.nuget.org/packages/Newbe.Mahua.CQP.Asset/) | [![Newbe.Mahua.CQP.Asset.Download](https://img.shields.io/nuget/dt/Newbe.Mahua.CQP.Asset.svg?style=flat-square)](https://www.nuget.org/packages/Newbe.Mahua.CQP.Asset/) | [![Newbe.Mahua.CQP.Asset.Version.Pre](https://img.shields.io/nuget/vpre/Newbe.Mahua.CQP.Asset.svg?style=flat-square)](https://www.nuget.org/packages/Newbe.Mahua.CQP.Asset/) | CQP(酷Q)实现 |
+| Newbe.Mahua.QQLight.Asset | [![Newbe.Mahua.QQLight.Asset.Version](https://img.shields.io/nuget/v/Newbe.Mahua.QQLight.Asset.svg?style=flat-square)](https://www.nuget.org/packages/Newbe.Mahua.QQLight.Asset/) | [![Newbe.Mahua.QQLight.Asset.Download](https://img.shields.io/nuget/dt/Newbe.Mahua.QQLight.Asset.svg?style=flat-square)](https://www.nuget.org/packages/Newbe.Mahua.QQLight.Asset/) | [![Newbe.Mahua.QQLight.Asset.Version.Pre](https://img.shields.io/nuget/vpre/Newbe.Mahua.QQLight.Asset.svg?style=flat-square)](https://www.nuget.org/packages/Newbe.Mahua.QQLight.Asset/) | QQLight实现 |
+| Newbe.Mahua.MPQ.Asset | [![Newbe.Mahua.MPQ.Asset.Version](https://img.shields.io/nuget/v/Newbe.Mahua.MPQ.Asset.svg?style=flat-square)](https://www.nuget.org/packages/Newbe.Mahua.MPQ.Asset/) | [![Newbe.Mahua.MPQ.Asset.Download](https://img.shields.io/nuget/dt/Newbe.Mahua.MPQ.Asset.svg?style=flat-square)](https://www.nuget.org/packages/Newbe.Mahua.MPQ.Asset/) | [![Newbe.Mahua.MPQ.Asset.Version.Pre](https://img.shields.io/nuget/vpre/Newbe.Mahua.MPQ.Asset.svg?style=flat-square)](https://www.nuget.org/packages/Newbe.Mahua.MPQ.Asset/) | MPQ(MyPcQQ)实现 |
+| Newbe.Mahua.CleverQQ.Asset | [![Newbe.Mahua.CleverQQ.Asset.Version](https://img.shields.io/nuget/v/Newbe.Mahua.CleverQQ.Asset.svg?style=flat-square)](https://www.nuget.org/packages/Newbe.Mahua.CleverQQ.Asset/) | [![Newbe.Mahua.CleverQQ.Asset.Download](https://img.shields.io/nuget/dt/Newbe.Mahua.CleverQQ.Asset.svg?style=flat-square)](https://www.nuget.org/packages/Newbe.Mahua.CleverQQ.Asset/) | [![Newbe.Mahua.CleverQQ.Asset.Version.Pre](https://img.shields.io/nuget/vpre/Newbe.Mahua.CleverQQ.Asset.svg?style=flat-square)](https://www.nuget.org/packages/Newbe.Mahua.CleverQQ.Asset/) | CleverQQ实现(已经停止维护) |
## Contributors
diff --git a/ReleaseNotes.md b/ReleaseNotes.md
deleted file mode 100644
index 2d57c1e..0000000
--- a/ReleaseNotes.md
+++ /dev/null
@@ -1,18 +0,0 @@
-# 版本变更情况
-
-Newbe.Mahua 的版本号遵循语义化版本号的基本规则。其主要标记的是 Newbe.Mahua 对外提供的 API。
-
-变更情况只记录主版本和次版本变化。版本号严格按照以下情况进行变更:
-
-- 当版本出现了与上一版本不兼容的情况,将变更主版本号
-- 当版本兼容上一版本,将变更次版本号
-
-兼容,即对接的客户端不需要任何修改便可以使用最新版本内容。
-
-兼容,不一定确保该项目本身的内部接口一定向前兼容。因此,如果开发者是通过 Fork 该项目自行构建的版本。那么即使在 Newbe.Mahua 对外接口兼容的情况下,也可能出现不兼容的内部变更。
-
-## 2.0
-
-采用跨进程通信方案,进而支持更多语言的对接需求。
-
-初版,支持 HttpApi 的调用与回调。
\ No newline at end of file
diff --git a/src/Directory.Build.props b/src/Directory.Build.props
index 489be40..23996d9 100644
--- a/src/Directory.Build.props
+++ b/src/Directory.Build.props
@@ -1,6 +1,6 @@
- 2.3.0
+ 2.4.0
Newbe
Newbe
diff --git a/src/Newbe.Mahua.CQP.Native/CqpApi.cs b/src/Newbe.Mahua.CQP.Native/CqpApi.cs
index 59692af..68f96b3 100644
--- a/src/Newbe.Mahua.CQP.Native/CqpApi.cs
+++ b/src/Newbe.Mahua.CQP.Native/CqpApi.cs
@@ -6,721 +6,818 @@ namespace Newbe.Mahua.CQP.Native
{
public class CqpApi : ICqpApi
{
- ///
- /// 发送好友消息
- ///
- ///
- /// 目标QQ
- /// 消息内容
- ///
- int ICqpApi.CQ_sendPrivateMsg([Description("")] int AuthCode, [Description("目标QQ")] long QQID,
+ ///
+ /// 发送好友消息
+ ///
+ ///
+ /// 目标帐号
+ /// 消息内容
+ ///
+ int ICqpApi.CQ_sendPrivateMsg([Description("")] int AuthCode, [Description("目标帐号")] long Account,
[Description("消息内容")] string msg)
- {
- return NativeMethods.CQ_sendPrivateMsg(AuthCode, QQID, msg);
- }
-
- ///
- /// 发送群消息
- ///
- ///
- /// 目标群
- /// 消息内容
- ///
- int ICqpApi.CQ_sendGroupMsg([Description("")] int AuthCode, [Description("目标群")] long 群号,
+ => NativeMethods.CQ_sendPrivateMsg(AuthCode, Account, msg);
+
+ ///
+ /// 发送群消息
+ ///
+ ///
+ /// 目标群
+ /// 消息内容
+ ///
+ int ICqpApi.CQ_sendGroupMsg([Description("")] int AuthCode, [Description("目标群")] long 群号,
[Description("消息内容")] string msg)
- {
- return NativeMethods.CQ_sendGroupMsg(AuthCode, 群号, msg);
- }
-
- ///
- /// 发送讨论组消息
- ///
- ///
- /// 目标讨论组
- /// 消息内容
- ///
- int ICqpApi.CQ_sendDiscussMsg([Description("")] int AuthCode, [Description("目标讨论组")] long 讨论组号,
+ => NativeMethods.CQ_sendGroupMsg(AuthCode, 群号, msg);
+
+ ///
+ /// 发送讨论组消息
+ ///
+ ///
+ /// 目标讨论组
+ /// 消息内容
+ ///
+ int ICqpApi.CQ_sendDiscussMsg([Description("")] int AuthCode, [Description("目标讨论组")] long 讨论组号,
[Description("消息内容")] string msg)
- {
- return NativeMethods.CQ_sendDiscussMsg(AuthCode, 讨论组号, msg);
- }
-
- ///
- /// 撤回消息
- ///
- ///
- /// 消息ID
- ///
- int ICqpApi.CQ_deleteMsg([Description("")] int AuthCode, [Description("消息ID")] long MsgId)
- {
- return NativeMethods.CQ_deleteMsg(AuthCode, MsgId);
- }
-
- ///
- /// 发送赞
- ///
- ///
- /// 目标QQ
- /// 赞的次数,最多10次
- ///
- int ICqpApi.CQ_sendLikeV2([Description("")] int AuthCode, [Description("目标QQ")] long QQID,
+ => NativeMethods.CQ_sendDiscussMsg(AuthCode, 讨论组号, msg);
+
+ ///
+ /// 撤回消息
+ ///
+ ///
+ /// 消息ID
+ ///
+ int ICqpApi.CQ_deleteMsg([Description("")] int AuthCode, [Description("消息ID")] long MsgId)
+ => NativeMethods.CQ_deleteMsg(AuthCode, MsgId);
+
+ ///
+ /// 发送赞
+ ///
+ ///
+ /// 目标帐号
+ /// 赞的次数,最多10次
+ ///
+ int ICqpApi.CQ_sendLikeV2([Description("")] int AuthCode, [Description("目标帐号")] long Account,
[Description("赞的次数,最多10次")] int times)
- {
- return NativeMethods.CQ_sendLikeV2(AuthCode, QQID, times);
- }
-
- ///
- /// 取Cookies(慎用
- ///
- ///
- ///
- string ICqpApi.CQ_getCookies([Description("")] int AuthCode)
- {
- return NativeMethods.CQ_getCookies(AuthCode);
- }
-
- ///
- /// 接收语音
- ///
- ///
- /// 收到消息中的语音文件名(file)
- /// 应用所需的格式
- ///
- string ICqpApi.CQ_getRecord([Description("")] int AuthCode, [Description("收到消息中的语音文件名(file)")] string file,
+ => NativeMethods.CQ_sendLikeV2(AuthCode, Account, times);
+
+ ///
+ /// 取Cookies(慎用
+ ///
+ ///
+ /// 目标域名,如 api.example.com
+ ///
+ string ICqpApi.CQ_getCookiesV2([Description("")] int AuthCode, [Description("目标域名,如 api.example.com")]
+ string domain)
+ => NativeMethods.CQ_getCookiesV2(AuthCode, domain);
+
+ ///
+ /// 【已弃用】接收语音,并返回语音文件相对路径
+ ///
+ ///
+ /// 收到消息中的语音文件名(file)
+ /// 应用所需的格式
+ ///
+ string ICqpApi.CQ_getRecord([Description("")] int AuthCode, [Description("收到消息中的语音文件名(file)")] string file,
[Description("应用所需的格式")] string outformat)
- {
- return NativeMethods.CQ_getRecord(AuthCode, file, outformat);
- }
-
- ///
- /// 取CsrfToken(慎用
- ///
- ///
- ///
- int ICqpApi.CQ_getCsrfToken([Description("")] int AuthCode)
- {
- return NativeMethods.CQ_getCsrfToken(AuthCode);
- }
-
- ///
- /// 取应用目录
- ///
- ///
- ///
- string ICqpApi.CQ_getAppDirectory([Description("")] int AuthCode)
- {
- return NativeMethods.CQ_getAppDirectory(AuthCode);
- }
-
- ///
- /// 取登录QQ
- ///
- ///
- ///
- long ICqpApi.CQ_getLoginQQ([Description("")] int AuthCode)
- {
- return NativeMethods.CQ_getLoginQQ(AuthCode);
- }
-
- ///
- /// 取登录昵称
- ///
- ///
- ///
- string ICqpApi.CQ_getLoginNick([Description("")] int AuthCode)
- {
- return NativeMethods.CQ_getLoginNick(AuthCode);
- }
-
- ///
- /// 置群员移除
- ///
- ///
- /// 目标群
- /// 目标QQ
- /// 如果为真,则“不再接收此人加群申请”,请慎用
- ///
- int ICqpApi.CQ_setGroupKick([Description("")] int AuthCode, [Description("目标群")] long 群号,
- [Description("目标QQ")] long QQID, [Description("如果为真,则“不再接收此人加群申请”,请慎用")]
+ => NativeMethods.CQ_getRecord(AuthCode, file, outformat);
+
+ ///
+ /// 接收语音,并返回语音文件绝对路径
+ ///
+ ///
+ /// 收到消息中的语音文件名(file)
+ /// 应用所需的格式
+ ///
+ string ICqpApi.CQ_getRecordV2([Description("")] int AuthCode, [Description("收到消息中的语音文件名(file)")] string file,
+ [Description("应用所需的格式")] string outformat)
+ => NativeMethods.CQ_getRecordV2(AuthCode, file, outformat);
+
+ ///
+ /// 接收图片,并返回图片文件绝对路径
+ ///
+ ///
+ /// 收到消息中的图片文件名(file)
+ ///
+ string ICqpApi.CQ_getImage([Description("")] int AuthCode, [Description("收到消息中的图片文件名(file)")] string file)
+ => NativeMethods.CQ_getImage(AuthCode, file);
+
+ ///
+ /// 是否支持发送图片,返回大于 0 为支持,等于 0 为不支持
+ ///
+ ///
+ ///
+ int ICqpApi.CQ_canSendImage([Description("")] int AuthCode)
+ => NativeMethods.CQ_canSendImage(AuthCode);
+
+ ///
+ /// 是否支持发送语音,返回大于 0 为支持,等于 0 为不支持
+ ///
+ ///
+ ///
+ int ICqpApi.CQ_canSendRecord([Description("")] int AuthCode)
+ => NativeMethods.CQ_canSendRecord(AuthCode);
+
+ ///
+ /// 取CsrfToken(慎用
+ ///
+ ///
+ ///
+ int ICqpApi.CQ_getCsrfToken([Description("")] int AuthCode)
+ => NativeMethods.CQ_getCsrfToken(AuthCode);
+
+ ///
+ /// 取应用目录
+ ///
+ ///
+ ///
+ string ICqpApi.CQ_getAppDirectory([Description("")] int AuthCode)
+ => NativeMethods.CQ_getAppDirectory(AuthCode);
+
+ ///
+ /// 取登录帐号
+ ///
+ ///
+ ///
+ long ICqpApi.CQ_getLoginQQ([Description("")] int AuthCode)
+ => NativeMethods.CQ_getLoginQQ(AuthCode);
+
+ ///
+ /// 取登录昵称
+ ///
+ ///
+ ///
+ string ICqpApi.CQ_getLoginNick([Description("")] int AuthCode)
+ => NativeMethods.CQ_getLoginNick(AuthCode);
+
+ ///
+ /// 置群员移除
+ ///
+ ///
+ /// 目标群
+ /// 目标帐号
+ /// 如果为真,则“不再接收此人加群申请”,请慎用
+ ///
+ int ICqpApi.CQ_setGroupKick([Description("")] int AuthCode, [Description("目标群")] long 群号,
+ [Description("目标帐号")] long Account, [Description("如果为真,则“不再接收此人加群申请”,请慎用")]
bool 拒绝再加群)
- {
- return NativeMethods.CQ_setGroupKick(AuthCode, 群号, QQID, 拒绝再加群);
- }
-
- ///
- /// 置群员禁言
- ///
- ///
- /// 目标群
- /// 目标QQ
- /// 禁言的时间,单位为秒。如果要解禁,这里填写0
- ///
- int ICqpApi.CQ_setGroupBan([Description("")] int AuthCode, [Description("目标群")] long 群号,
- [Description("目标QQ")] long QQID, [Description("禁言的时间,单位为秒。如果要解禁,这里填写0")]
+ => NativeMethods.CQ_setGroupKick(AuthCode, 群号, Account, 拒绝再加群);
+
+ ///
+ /// 置群员禁言
+ ///
+ ///
+ /// 目标群
+ /// 目标帐号
+ /// 禁言的时间,单位为秒。如果要解禁,这里填写0
+ ///
+ int ICqpApi.CQ_setGroupBan([Description("")] int AuthCode, [Description("目标群")] long 群号,
+ [Description("目标帐号")] long Account, [Description("禁言的时间,单位为秒。如果要解禁,这里填写0")]
long 禁言时间)
- {
- return NativeMethods.CQ_setGroupBan(AuthCode, 群号, QQID, 禁言时间);
- }
-
- ///
- /// 置群管理员
- ///
- ///
- /// 目标群
- /// 被设置的QQ
- /// 真/设置管理员 假/取消管理员
- ///
- int ICqpApi.CQ_setGroupAdmin([Description("")] int AuthCode, [Description("目标群")] long 群号,
- [Description("被设置的QQ")] long QQID, [Description("真/设置管理员 假/取消管理员")] bool 成为管理员)
- {
- return NativeMethods.CQ_setGroupAdmin(AuthCode, 群号, QQID, 成为管理员);
- }
-
- ///
- /// 置群成员专属头衔
- ///
- ///
- /// 目标群
- /// 目标QQ
- /// 如果要删除,这里填空
- /// 专属头衔有效期,单位为秒。如果永久有效,这里填写-1
- ///
- int ICqpApi.CQ_setGroupSpecialTitle([Description("")] int AuthCode, [Description("目标群")] long 群号,
- [Description("目标QQ")] long QQID, [Description("如果要删除,这里填空")] string 头衔,
+ => NativeMethods.CQ_setGroupBan(AuthCode, 群号, Account, 禁言时间);
+
+ ///
+ /// 置群管理员
+ ///
+ ///
+ /// 目标群
+ /// 被设置的帐号
+ /// 真/设置管理员 假/取消管理员
+ ///
+ int ICqpApi.CQ_setGroupAdmin([Description("")] int AuthCode, [Description("目标群")] long 群号,
+ [Description("被设置的帐号")] long Account, [Description("真/设置管理员 假/取消管理员")] bool 成为管理员)
+ => NativeMethods.CQ_setGroupAdmin(AuthCode, 群号, Account, 成为管理员);
+
+ ///
+ /// 置群成员专属头衔
+ ///
+ ///
+ /// 目标群
+ /// 目标帐号
+ /// 如果要删除,这里填空
+ /// 专属头衔有效期,单位为秒。如果永久有效,这里填写-1
+ ///
+ int ICqpApi.CQ_setGroupSpecialTitle([Description("")] int AuthCode, [Description("目标群")] long 群号,
+ [Description("目标帐号")] long Account, [Description("如果要删除,这里填空")] string 头衔,
[Description("专属头衔有效期,单位为秒。如果永久有效,这里填写-1")]
long 过期时间)
- {
- return NativeMethods.CQ_setGroupSpecialTitle(AuthCode, 群号, QQID, 头衔, 过期时间);
- }
-
- ///
- /// 置全群禁言
- ///
- ///
- /// 目标群
- /// 真/开启 假/关闭
- ///
- int ICqpApi.CQ_setGroupWholeBan([Description("")] int AuthCode, [Description("目标群")] long 群号,
+ => NativeMethods.CQ_setGroupSpecialTitle(AuthCode, 群号, Account, 头衔, 过期时间);
+
+ ///
+ /// 置全群禁言
+ ///
+ ///
+ /// 目标群
+ /// 真/开启 假/关闭
+ ///
+ int ICqpApi.CQ_setGroupWholeBan([Description("")] int AuthCode, [Description("目标群")] long 群号,
[Description("真/开启 假/关闭")] bool 开启禁言)
- {
- return NativeMethods.CQ_setGroupWholeBan(AuthCode, 群号, 开启禁言);
- }
-
- ///
- /// 置匿名群员禁言
- ///
- ///
- /// 目标群
- /// 群消息事件收到的“匿名”参数
- /// 禁言的时间,单位为秒。不支持解禁
- ///
- int ICqpApi.CQ_setGroupAnonymousBan([Description("")] int AuthCode, [Description("目标群")] long 群号,
+ => NativeMethods.CQ_setGroupWholeBan(AuthCode, 群号, 开启禁言);
+
+ ///
+ /// 置匿名群员禁言
+ ///
+ ///
+ /// 目标群
+ /// 群消息事件收到的“匿名”参数
+ /// 禁言的时间,单位为秒。不支持解禁
+ ///
+ int ICqpApi.CQ_setGroupAnonymousBan([Description("")] int AuthCode, [Description("目标群")] long 群号,
[Description("群消息事件收到的“匿名”参数")] string 匿名, [Description("禁言的时间,单位为秒。不支持解禁")] long 禁言时间)
- {
- return NativeMethods.CQ_setGroupAnonymousBan(AuthCode, 群号, 匿名, 禁言时间);
- }
-
- ///
- /// 置群匿名设置
- ///
- ///
- ///
- ///
- ///
- int ICqpApi.CQ_setGroupAnonymous([Description("")] int AuthCode, [Description("")] long 群号,
+ => NativeMethods.CQ_setGroupAnonymousBan(AuthCode, 群号, 匿名, 禁言时间);
+
+ ///
+ /// 置群匿名设置
+ ///
+ ///
+ ///
+ ///
+ ///
+ int ICqpApi.CQ_setGroupAnonymous([Description("")] int AuthCode, [Description("")] long 群号,
[Description("")] bool 开启匿名)
- {
- return NativeMethods.CQ_setGroupAnonymous(AuthCode, 群号, 开启匿名);
- }
-
- ///
- /// 置群成员名片
- ///
- ///
- /// 目标群
- /// 被设置的QQ
- ///
- ///
- int ICqpApi.CQ_setGroupCard([Description("")] int AuthCode, [Description("目标群")] long 群号,
- [Description("被设置的QQ")] long QQID, [Description("")] string 新名片_昵称)
- {
- return NativeMethods.CQ_setGroupCard(AuthCode, 群号, QQID, 新名片_昵称);
- }
-
- ///
- /// 置群退出
- ///
- ///
- /// 目标群
- /// 真/解散本群(群主) 假/退出本群(管理、群成员)
- ///
- int ICqpApi.CQ_setGroupLeave([Description("")] int AuthCode, [Description("目标群")] long 群号,
+ => NativeMethods.CQ_setGroupAnonymous(AuthCode, 群号, 开启匿名);
+
+ ///
+ /// 置群成员名片
+ ///
+ ///
+ /// 目标群
+ /// 被设置的帐号
+ ///
+ ///
+ int ICqpApi.CQ_setGroupCard([Description("")] int AuthCode, [Description("目标群")] long 群号,
+ [Description("被设置的帐号")] long Account, [Description("")] string 新名片_昵称)
+ => NativeMethods.CQ_setGroupCard(AuthCode, 群号, Account, 新名片_昵称);
+
+ ///
+ /// 置群退出
+ ///
+ ///
+ /// 目标群
+ /// 真/解散本群(群主) 假/退出本群(管理、群成员)
+ ///
+ int ICqpApi.CQ_setGroupLeave([Description("")] int AuthCode, [Description("目标群")] long 群号,
[Description("真/解散本群(群主) 假/退出本群(管理、群成员)")]
bool 是否解散)
- {
- return NativeMethods.CQ_setGroupLeave(AuthCode, 群号, 是否解散);
- }
-
- ///
- /// 置讨论组退出
- ///
- ///
- /// 目标讨论组
- ///
- int ICqpApi.CQ_setDiscussLeave([Description("")] int AuthCode, [Description("目标讨论组")] long 讨论组号)
- {
- return NativeMethods.CQ_setDiscussLeave(AuthCode, 讨论组号);
- }
-
- ///
- /// 置好友添加请求
- ///
- ///
- /// 请求事件收到的“反馈标识”参数
- /// #请求_通过 或 #请求_拒绝
- /// 添加后的好友备注
- ///
- int ICqpApi.CQ_setFriendAddRequest([Description("")] int AuthCode,
+ => NativeMethods.CQ_setGroupLeave(AuthCode, 群号, 是否解散);
+
+ ///
+ /// 置讨论组退出
+ ///
+ ///
+ /// 目标讨论组
+ ///
+ int ICqpApi.CQ_setDiscussLeave([Description("")] int AuthCode, [Description("目标讨论组")] long 讨论组号)
+ => NativeMethods.CQ_setDiscussLeave(AuthCode, 讨论组号);
+
+ ///
+ /// 置好友添加请求
+ ///
+ ///
+ /// 请求事件收到的“反馈标识”参数
+ /// #请求_通过 或 #请求_拒绝
+ /// 添加后的好友备注
+ ///
+ int ICqpApi.CQ_setFriendAddRequest([Description("")] int AuthCode,
[Description("请求事件收到的“反馈标识”参数")] string 请求反馈标识, [Description("#请求_通过 或 #请求_拒绝")] int 反馈类型,
[Description("添加后的好友备注")] string 备注)
- {
- return NativeMethods.CQ_setFriendAddRequest(AuthCode, 请求反馈标识, 反馈类型, 备注);
- }
-
- ///
- /// 置群添加请求
- ///
- ///
- /// 请求事件收到的“反馈标识”参数
- /// 根据请求事件的子类型区分 #请求_群添加 或 #请求_群邀请
- /// #请求_通过 或 #请求_拒绝
- /// 操作理由,仅 #请求_群添加 且 #请求_拒绝 时可用
- ///
- int ICqpApi.CQ_setGroupAddRequestV2([Description("")] int AuthCode,
+ => NativeMethods.CQ_setFriendAddRequest(AuthCode, 请求反馈标识, 反馈类型, 备注);
+
+ ///
+ /// 置群添加请求
+ ///
+ ///
+ /// 请求事件收到的“反馈标识”参数
+ /// 根据请求事件的子类型区分 #请求_群添加 或 #请求_群邀请
+ /// #请求_通过 或 #请求_拒绝
+ /// 操作理由,仅 #请求_群添加 且 #请求_拒绝 时可用
+ ///
+ int ICqpApi.CQ_setGroupAddRequestV2([Description("")] int AuthCode,
[Description("请求事件收到的“反馈标识”参数")] string 请求反馈标识, [Description("根据请求事件的子类型区分 #请求_群添加 或 #请求_群邀请")]
int 请求类型, [Description("#请求_通过 或 #请求_拒绝")] int 反馈类型, [Description("操作理由,仅 #请求_群添加 且 #请求_拒绝 时可用")]
string 理由)
- {
- return NativeMethods.CQ_setGroupAddRequestV2(AuthCode, 请求反馈标识, 请求类型, 反馈类型, 理由);
- }
-
- ///
- /// 增加运行日志
- ///
- ///
- /// #Log_ 开头常量
- ///
- ///
- ///
- int ICqpApi.CQ_addLog([Description("")] int AuthCode, [Description("#Log_ 开头常量")] int 优先级,
+ => NativeMethods.CQ_setGroupAddRequestV2(AuthCode, 请求反馈标识, 请求类型, 反馈类型, 理由);
+
+ ///
+ /// 增加运行日志
+ ///
+ ///
+ /// #Log_ 开头常量
+ ///
+ ///
+ ///
+ int ICqpApi.CQ_addLog([Description("")] int AuthCode, [Description("#Log_ 开头常量")] int 优先级,
[Description("")] string 类型, [Description("")] string 内容)
- {
- return NativeMethods.CQ_addLog(AuthCode, 优先级, 类型, 内容);
- }
-
- ///
- /// 置致命错误提示
- ///
- ///
- ///
- ///
- int ICqpApi.CQ_setFatal([Description("")] int AuthCode, [Description("")] string 错误信息)
- {
- return NativeMethods.CQ_setFatal(AuthCode, 错误信息);
- }
-
- ///
- /// 取群成员信息(支持缓存)
- ///
- ///
- /// 目标QQ所在群
- /// 目标QQ
- ///
- ///
- string ICqpApi.CQ_getGroupMemberInfoV2([Description("")] int AuthCode, [Description("目标QQ所在群")] long 群号,
- [Description("目标QQ")] long QQID, [Description("")] bool 不使用缓存)
- {
- return NativeMethods.CQ_getGroupMemberInfoV2(AuthCode, 群号, QQID, 不使用缓存);
- }
-
- ///
- /// 取群成员列表
- ///
- ///
- /// 目标QQ所在群
- ///
- string ICqpApi.CQ_getGroupMemberList([Description("")] int AuthCode, [Description("目标QQ所在群")] long 群号)
- {
- return NativeMethods.CQ_getGroupMemberList(AuthCode, 群号);
- }
-
- ///
- /// 取群列表
- ///
- ///
- ///
- string ICqpApi.CQ_getGroupList([Description("")] int AuthCode)
- {
- return NativeMethods.CQ_getGroupList(AuthCode);
- }
-
- ///
- /// 取陌生人信息(支持缓存)
- ///
- ///
- /// 目标QQ
- ///
- ///
- string ICqpApi.CQ_getStrangerInfo([Description("")] int AuthCode, [Description("目标QQ")] long QQID,
+ => NativeMethods.CQ_addLog(AuthCode, 优先级, 类型, 内容);
+
+ ///
+ /// 置致命错误提示
+ ///
+ ///
+ ///
+ ///
+ int ICqpApi.CQ_setFatal([Description("")] int AuthCode, [Description("")] string 错误信息)
+ => NativeMethods.CQ_setFatal(AuthCode, 错误信息);
+
+ ///
+ /// 取群成员信息(支持缓存)
+ ///
+ ///
+ /// 目标帐号所在群
+ /// 目标帐号
+ ///
+ ///
+ string ICqpApi.CQ_getGroupMemberInfoV2([Description("")] int AuthCode, [Description("目标帐号所在群")] long 群号,
+ [Description("目标帐号")] long Account, [Description("")] bool 不使用缓存)
+ => NativeMethods.CQ_getGroupMemberInfoV2(AuthCode, 群号, Account, 不使用缓存);
+
+ ///
+ /// 取群成员列表
+ ///
+ ///
+ /// 目标帐号所在群
+ ///
+ string ICqpApi.CQ_getGroupMemberList([Description("")] int AuthCode, [Description("目标帐号所在群")] long 群号)
+ => NativeMethods.CQ_getGroupMemberList(AuthCode, 群号);
+
+ ///
+ /// 取群列表
+ ///
+ ///
+ ///
+ string ICqpApi.CQ_getGroupList([Description("")] int AuthCode)
+ => NativeMethods.CQ_getGroupList(AuthCode);
+
+ ///
+ /// 取好友列表
+ ///
+ ///
+ /// 保留参数,请传入“假”
+ ///
+ string ICqpApi.CQ_getFriendList([Description("")] int AuthCode, [Description("保留参数,请传入“假”")] bool reserved)
+ => NativeMethods.CQ_getFriendList(AuthCode, reserved);
+
+ ///
+ /// 取陌生人信息(支持缓存)
+ ///
+ ///
+ /// 目标帐号
+ ///
+ ///
+ string ICqpApi.CQ_getStrangerInfo([Description("")] int AuthCode, [Description("目标帐号")] long Account,
[Description("")] bool 不使用缓存)
- {
- return NativeMethods.CQ_getStrangerInfo(AuthCode, QQID, 不使用缓存);
- }
+ => NativeMethods.CQ_getStrangerInfo(AuthCode, Account, 不使用缓存);
+
+ ///
+ /// 取群信息(支持缓存)
+ ///
+ ///
+ /// 目标群
+ ///
+ ///
+ string ICqpApi.CQ_getGroupInfo([Description("")] int AuthCode, [Description("目标群")] long 群号,
+ [Description("")] bool 不使用缓存)
+ => NativeMethods.CQ_getGroupInfo(AuthCode, 群号, 不使用缓存);
+
+ ///
+ ///
+ ///
+ /// 址
+ /// 址
+ ///
+ ///
+ /// 址
+ /// 0
+ /// 0
+ ///
+ bool ICqpApi.CryptStringToBinaryA([Description("址")] string pszString, [Description("址")] int cchString,
+ [Description("")] int dwFlags, [Description("")] int pbBinary, [Description("址")] int pcbBinary,
+ [Description("0")] int pdwSkip, [Description("0")] int pdwFlags)
+ => NativeMethods.CryptStringToBinaryA(pszString, cchString, dwFlags, pbBinary, pcbBinary, pdwSkip,
+ pdwFlags);
+
+ ///
+ ///
+ ///
+ /// 址
+ /// 址
+ ///
+ /// 址
+ /// 址
+ /// 0
+ /// 0
+ ///
+ bool ICqpApi.CryptStringToBinaryA([Description("址")] string pszString, [Description("址")] int cchString,
+ [Description("")] int dwFlags, [Description("址")] byte[] pbBinary, [Description("址")] int pcbBinary,
+ [Description("0")] int pdwSkip, [Description("0")] int pdwFlags)
+ => NativeMethods.CryptStringToBinaryA(pszString, cchString, dwFlags, pbBinary, pcbBinary, pdwSkip,
+ pdwFlags);
private static class NativeMethods
{
- ///
- /// 发送好友消息
- ///
- ///
- /// 目标QQ
- /// 消息内容
- ///
- [DllImport("CQP.dll")]
- public static extern int CQ_sendPrivateMsg([Description("")] int AuthCode, [Description("目标QQ")] long QQID,
- [Description("消息内容")] string msg);
-
- ///
- /// 发送群消息
- ///
- ///
- /// 目标群
- /// 消息内容
- ///
- [DllImport("CQP.dll")]
+ ///
+ /// 发送好友消息
+ ///
+ ///
+ /// 目标帐号
+ /// 消息内容
+ ///
+ [DllImport("CQP.dll")]
+ public static extern int CQ_sendPrivateMsg([Description("")] int AuthCode,
+ [Description("目标帐号")] long Account, [Description("消息内容")] string msg);
+
+ ///
+ /// 发送群消息
+ ///
+ ///
+ /// 目标群
+ /// 消息内容
+ ///
+ [DllImport("CQP.dll")]
public static extern int CQ_sendGroupMsg([Description("")] int AuthCode, [Description("目标群")] long 群号,
[Description("消息内容")] string msg);
- ///
- /// 发送讨论组消息
- ///
- ///
- /// 目标讨论组
- /// 消息内容
- ///
- [DllImport("CQP.dll")]
+ ///
+ /// 发送讨论组消息
+ ///
+ ///
+ /// 目标讨论组
+ /// 消息内容
+ ///
+ [DllImport("CQP.dll")]
public static extern int CQ_sendDiscussMsg([Description("")] int AuthCode, [Description("目标讨论组")] long 讨论组号,
[Description("消息内容")] string msg);
- ///
- /// 撤回消息
- ///
- ///
- /// 消息ID
- ///
- [DllImport("CQP.dll")]
+ ///
+ /// 撤回消息
+ ///
+ ///
+ /// 消息ID
+ ///
+ [DllImport("CQP.dll")]
public static extern int CQ_deleteMsg([Description("")] int AuthCode, [Description("消息ID")] long MsgId);
- ///
- /// 发送赞
- ///
- ///
- /// 目标QQ
- /// 赞的次数,最多10次
- ///
- [DllImport("CQP.dll")]
- public static extern int CQ_sendLikeV2([Description("")] int AuthCode, [Description("目标QQ")] long QQID,
+ ///
+ /// 发送赞
+ ///
+ ///
+ /// 目标帐号
+ /// 赞的次数,最多10次
+ ///
+ [DllImport("CQP.dll")]
+ public static extern int CQ_sendLikeV2([Description("")] int AuthCode, [Description("目标帐号")] long Account,
[Description("赞的次数,最多10次")] int times);
- ///
- /// 取Cookies(慎用
- ///
- ///
- ///
- [DllImport("CQP.dll")]
- public static extern string CQ_getCookies([Description("")] int AuthCode);
-
- ///
- /// 接收语音
- ///
- ///
- /// 收到消息中的语音文件名(file)
- /// 应用所需的格式
- ///
- [DllImport("CQP.dll")]
+ ///
+ /// 取Cookies(慎用
+ ///
+ ///
+ /// 目标域名,如 api.example.com
+ ///
+ [DllImport("CQP.dll")]
+ public static extern string CQ_getCookiesV2([Description("")] int AuthCode,
+ [Description("目标域名,如 api.example.com")]
+ string domain);
+
+ ///
+ /// 【已弃用】接收语音,并返回语音文件相对路径
+ ///
+ ///
+ /// 收到消息中的语音文件名(file)
+ /// 应用所需的格式
+ ///
+ [DllImport("CQP.dll")]
public static extern string CQ_getRecord([Description("")] int AuthCode,
[Description("收到消息中的语音文件名(file)")] string file, [Description("应用所需的格式")] string outformat);
- ///
- /// 取CsrfToken(慎用
- ///
- ///
- ///
- [DllImport("CQP.dll")]
+ ///
+ /// 接收语音,并返回语音文件绝对路径
+ ///
+ ///
+ /// 收到消息中的语音文件名(file)
+ /// 应用所需的格式
+ ///
+ [DllImport("CQP.dll")]
+ public static extern string CQ_getRecordV2([Description("")] int AuthCode,
+ [Description("收到消息中的语音文件名(file)")] string file, [Description("应用所需的格式")] string outformat);
+
+ ///
+ /// 接收图片,并返回图片文件绝对路径
+ ///
+ ///
+ /// 收到消息中的图片文件名(file)
+ ///
+ [DllImport("CQP.dll")]
+ public static extern string CQ_getImage([Description("")] int AuthCode,
+ [Description("收到消息中的图片文件名(file)")] string file);
+
+ ///
+ /// 是否支持发送图片,返回大于 0 为支持,等于 0 为不支持
+ ///
+ ///
+ ///
+ [DllImport("CQP.dll")]
+ public static extern int CQ_canSendImage([Description("")] int AuthCode);
+
+ ///
+ /// 是否支持发送语音,返回大于 0 为支持,等于 0 为不支持
+ ///
+ ///
+ ///
+ [DllImport("CQP.dll")]
+ public static extern int CQ_canSendRecord([Description("")] int AuthCode);
+
+ ///
+ /// 取CsrfToken(慎用
+ ///
+ ///
+ ///
+ [DllImport("CQP.dll")]
public static extern int CQ_getCsrfToken([Description("")] int AuthCode);
- ///
- /// 取应用目录
- ///
- ///
- ///
- [DllImport("CQP.dll")]
+ ///
+ /// 取应用目录
+ ///
+ ///
+ ///
+ [DllImport("CQP.dll")]
public static extern string CQ_getAppDirectory([Description("")] int AuthCode);
- ///
- /// 取登录QQ
- ///
- ///
- ///
- [DllImport("CQP.dll")]
+ ///
+ /// 取登录帐号
+ ///
+ ///
+ ///
+ [DllImport("CQP.dll")]
public static extern long CQ_getLoginQQ([Description("")] int AuthCode);
- ///
- /// 取登录昵称
- ///
- ///
- ///
- [DllImport("CQP.dll")]
+ ///
+ /// 取登录昵称
+ ///
+ ///
+ ///
+ [DllImport("CQP.dll")]
public static extern string CQ_getLoginNick([Description("")] int AuthCode);
- ///
- /// 置群员移除
- ///
- ///
- /// 目标群
- /// 目标QQ
- /// 如果为真,则“不再接收此人加群申请”,请慎用
- ///
- [DllImport("CQP.dll")]
+ ///
+ /// 置群员移除
+ ///
+ ///
+ /// 目标群
+ /// 目标帐号
+ /// 如果为真,则“不再接收此人加群申请”,请慎用
+ ///
+ [DllImport("CQP.dll")]
public static extern int CQ_setGroupKick([Description("")] int AuthCode, [Description("目标群")] long 群号,
- [Description("目标QQ")] long QQID, [Description("如果为真,则“不再接收此人加群申请”,请慎用")]
+ [Description("目标帐号")] long Account, [Description("如果为真,则“不再接收此人加群申请”,请慎用")]
bool 拒绝再加群);
- ///
- /// 置群员禁言
- ///
- ///
- /// 目标群
- /// 目标QQ
- /// 禁言的时间,单位为秒。如果要解禁,这里填写0
- ///
- [DllImport("CQP.dll")]
+ ///
+ /// 置群员禁言
+ ///
+ ///
+ /// 目标群
+ /// 目标帐号
+ /// 禁言的时间,单位为秒。如果要解禁,这里填写0
+ ///
+ [DllImport("CQP.dll")]
public static extern int CQ_setGroupBan([Description("")] int AuthCode, [Description("目标群")] long 群号,
- [Description("目标QQ")] long QQID, [Description("禁言的时间,单位为秒。如果要解禁,这里填写0")]
+ [Description("目标帐号")] long Account, [Description("禁言的时间,单位为秒。如果要解禁,这里填写0")]
long 禁言时间);
- ///
- /// 置群管理员
- ///
- ///
- /// 目标群
- /// 被设置的QQ
- /// 真/设置管理员 假/取消管理员
- ///
- [DllImport("CQP.dll")]
+ ///
+ /// 置群管理员
+ ///
+ ///
+ /// 目标群
+ /// 被设置的帐号
+ /// 真/设置管理员 假/取消管理员
+ ///
+ [DllImport("CQP.dll")]
public static extern int CQ_setGroupAdmin([Description("")] int AuthCode, [Description("目标群")] long 群号,
- [Description("被设置的QQ")] long QQID, [Description("真/设置管理员 假/取消管理员")] bool 成为管理员);
-
- ///
- /// 置群成员专属头衔
- ///
- ///
- /// 目标群
- /// 目标QQ
- /// 如果要删除,这里填空
- /// 专属头衔有效期,单位为秒。如果永久有效,这里填写-1
- ///
- [DllImport("CQP.dll")]
+ [Description("被设置的帐号")] long Account, [Description("真/设置管理员 假/取消管理员")] bool 成为管理员);
+
+ ///
+ /// 置群成员专属头衔
+ ///
+ ///
+ /// 目标群
+ /// 目标帐号
+ /// 如果要删除,这里填空
+ /// 专属头衔有效期,单位为秒。如果永久有效,这里填写-1
+ ///
+ [DllImport("CQP.dll")]
public static extern int CQ_setGroupSpecialTitle([Description("")] int AuthCode,
- [Description("目标群")] long 群号, [Description("目标QQ")] long QQID, [Description("如果要删除,这里填空")] string 头衔,
+ [Description("目标群")] long 群号, [Description("目标帐号")] long Account, [Description("如果要删除,这里填空")] string 头衔,
[Description("专属头衔有效期,单位为秒。如果永久有效,这里填写-1")]
long 过期时间);
- ///
- /// 置全群禁言
- ///
- ///
- /// 目标群
- /// 真/开启 假/关闭
- ///
- [DllImport("CQP.dll")]
+ ///
+ /// 置全群禁言
+ ///
+ ///
+ /// 目标群
+ /// 真/开启 假/关闭
+ ///
+ [DllImport("CQP.dll")]
public static extern int CQ_setGroupWholeBan([Description("")] int AuthCode, [Description("目标群")] long 群号,
[Description("真/开启 假/关闭")] bool 开启禁言);
- ///
- /// 置匿名群员禁言
- ///
- ///
- /// 目标群
- /// 群消息事件收到的“匿名”参数
- /// 禁言的时间,单位为秒。不支持解禁
- ///
- [DllImport("CQP.dll")]
+ ///
+ /// 置匿名群员禁言
+ ///
+ ///
+ /// 目标群
+ /// 群消息事件收到的“匿名”参数
+ /// 禁言的时间,单位为秒。不支持解禁
+ ///
+ [DllImport("CQP.dll")]
public static extern int CQ_setGroupAnonymousBan([Description("")] int AuthCode,
[Description("目标群")] long 群号, [Description("群消息事件收到的“匿名”参数")] string 匿名,
[Description("禁言的时间,单位为秒。不支持解禁")] long 禁言时间);
- ///
- /// 置群匿名设置
- ///
- ///
- ///
- ///
- ///
- [DllImport("CQP.dll")]
+ ///
+ /// 置群匿名设置
+ ///
+ ///
+ ///
+ ///
+ ///
+ [DllImport("CQP.dll")]
public static extern int CQ_setGroupAnonymous([Description("")] int AuthCode, [Description("")] long 群号,
[Description("")] bool 开启匿名);
- ///
- /// 置群成员名片
- ///
- ///
- /// 目标群
- /// 被设置的QQ
- ///
- ///
- [DllImport("CQP.dll")]
+ ///
+ /// 置群成员名片
+ ///
+ ///
+ /// 目标群
+ /// 被设置的帐号
+ ///
+ ///
+ [DllImport("CQP.dll")]
public static extern int CQ_setGroupCard([Description("")] int AuthCode, [Description("目标群")] long 群号,
- [Description("被设置的QQ")] long QQID, [Description("")] string 新名片_昵称);
-
- ///
- /// 置群退出
- ///
- ///
- /// 目标群
- /// 真/解散本群(群主) 假/退出本群(管理、群成员)
- ///
- [DllImport("CQP.dll")]
+ [Description("被设置的帐号")] long Account, [Description("")] string 新名片_昵称);
+
+ ///
+ /// 置群退出
+ ///
+ ///
+ /// 目标群
+ /// 真/解散本群(群主) 假/退出本群(管理、群成员)
+ ///
+ [DllImport("CQP.dll")]
public static extern int CQ_setGroupLeave([Description("")] int AuthCode, [Description("目标群")] long 群号,
[Description("真/解散本群(群主) 假/退出本群(管理、群成员)")]
bool 是否解散);
- ///
- /// 置讨论组退出
- ///
- ///
- /// 目标讨论组
- ///
- [DllImport("CQP.dll")]
+ ///
+ /// 置讨论组退出
+ ///
+ ///
+ /// 目标讨论组
+ ///
+ [DllImport("CQP.dll")]
public static extern int CQ_setDiscussLeave([Description("")] int AuthCode,
[Description("目标讨论组")] long 讨论组号);
- ///
- /// 置好友添加请求
- ///
- ///
- /// 请求事件收到的“反馈标识”参数
- /// #请求_通过 或 #请求_拒绝
- /// 添加后的好友备注
- ///
- [DllImport("CQP.dll")]
+ ///
+ /// 置好友添加请求
+ ///
+ ///
+ /// 请求事件收到的“反馈标识”参数
+ /// #请求_通过 或 #请求_拒绝
+ /// 添加后的好友备注
+ ///
+ [DllImport("CQP.dll")]
public static extern int CQ_setFriendAddRequest([Description("")] int AuthCode,
[Description("请求事件收到的“反馈标识”参数")] string 请求反馈标识, [Description("#请求_通过 或 #请求_拒绝")] int 反馈类型,
[Description("添加后的好友备注")] string 备注);
- ///
- /// 置群添加请求
- ///
- ///
- /// 请求事件收到的“反馈标识”参数
- /// 根据请求事件的子类型区分 #请求_群添加 或 #请求_群邀请
- /// #请求_通过 或 #请求_拒绝
- /// 操作理由,仅 #请求_群添加 且 #请求_拒绝 时可用
- ///
- [DllImport("CQP.dll")]
+ ///
+ /// 置群添加请求
+ ///
+ ///
+ /// 请求事件收到的“反馈标识”参数
+ /// 根据请求事件的子类型区分 #请求_群添加 或 #请求_群邀请
+ /// #请求_通过 或 #请求_拒绝
+ /// 操作理由,仅 #请求_群添加 且 #请求_拒绝 时可用
+ ///
+ [DllImport("CQP.dll")]
public static extern int CQ_setGroupAddRequestV2([Description("")] int AuthCode,
[Description("请求事件收到的“反馈标识”参数")] string 请求反馈标识, [Description("根据请求事件的子类型区分 #请求_群添加 或 #请求_群邀请")]
int 请求类型, [Description("#请求_通过 或 #请求_拒绝")] int 反馈类型, [Description("操作理由,仅 #请求_群添加 且 #请求_拒绝 时可用")]
string 理由);
- ///
- /// 增加运行日志
- ///
- ///
- /// #Log_ 开头常量
- ///
- ///
- ///
- [DllImport("CQP.dll")]
+ ///
+ /// 增加运行日志
+ ///
+ ///
+ /// #Log_ 开头常量
+ ///
+ ///
+ ///
+ [DllImport("CQP.dll")]
public static extern int CQ_addLog([Description("")] int AuthCode, [Description("#Log_ 开头常量")] int 优先级,
[Description("")] string 类型, [Description("")] string 内容);
- ///
- /// 置致命错误提示
- ///
- ///
- ///
- ///
- [DllImport("CQP.dll")]
+ ///
+ /// 置致命错误提示
+ ///
+ ///
+ ///
+ ///
+ [DllImport("CQP.dll")]
public static extern int CQ_setFatal([Description("")] int AuthCode, [Description("")] string 错误信息);
- ///
- /// 取群成员信息(支持缓存)
- ///
- ///
- /// 目标QQ所在群
- /// 目标QQ
- ///
- ///
- [DllImport("CQP.dll")]
+ ///
+ /// 取群成员信息(支持缓存)
+ ///
+ ///
+ /// 目标帐号所在群
+ /// 目标帐号
+ ///
+ ///
+ [DllImport("CQP.dll")]
public static extern string CQ_getGroupMemberInfoV2([Description("")] int AuthCode,
- [Description("目标QQ所在群")] long 群号, [Description("目标QQ")] long QQID, [Description("")] bool 不使用缓存);
-
- ///
- /// 取群成员列表
- ///
- ///
- /// 目标QQ所在群
- ///
- [DllImport("CQP.dll")]
+ [Description("目标帐号所在群")] long 群号, [Description("目标帐号")] long Account, [Description("")] bool 不使用缓存);
+
+ ///
+ /// 取群成员列表
+ ///
+ ///
+ /// 目标帐号所在群
+ ///
+ [DllImport("CQP.dll")]
public static extern string CQ_getGroupMemberList([Description("")] int AuthCode,
- [Description("目标QQ所在群")] long 群号);
-
- ///
- /// 取群列表
- ///
- ///
- ///
- [DllImport("CQP.dll")]
+ [Description("目标帐号所在群")] long 群号);
+
+ ///
+ /// 取群列表
+ ///
+ ///
+ ///
+ [DllImport("CQP.dll")]
public static extern string CQ_getGroupList([Description("")] int AuthCode);
- ///
- /// 取陌生人信息(支持缓存)
- ///
- ///
- /// 目标QQ
- ///
- ///
- [DllImport("CQP.dll")]
+ ///
+ /// 取好友列表
+ ///
+ ///
+ /// 保留参数,请传入“假”
+ ///
+ [DllImport("CQP.dll")]
+ public static extern string CQ_getFriendList([Description("")] int AuthCode,
+ [Description("保留参数,请传入“假”")] bool reserved);
+
+ ///
+ /// 取陌生人信息(支持缓存)
+ ///
+ ///
+ /// 目标帐号
+ ///
+ ///
+ [DllImport("CQP.dll")]
public static extern string CQ_getStrangerInfo([Description("")] int AuthCode,
- [Description("目标QQ")] long QQID, [Description("")] bool 不使用缓存);
-
- ///
- ///
- /// 址
- /// 址
- ///
- ///
- /// 址
- /// 0
- /// 0
- ///
- [DllImport("CQP.dll")]
+ [Description("目标帐号")] long Account, [Description("")] bool 不使用缓存);
+
+ ///
+ /// 取群信息(支持缓存)
+ ///
+ ///
+ /// 目标群
+ ///
+ ///
+ [DllImport("CQP.dll")]
+ public static extern string CQ_getGroupInfo([Description("")] int AuthCode, [Description("目标群")] long 群号,
+ [Description("")] bool 不使用缓存);
+
+ ///
+ ///
+ ///
+ /// 址
+ /// 址
+ ///
+ ///
+ /// 址
+ /// 0
+ /// 0
+ ///
+ [DllImport("CQP.dll")]
public static extern bool CryptStringToBinaryA([Description("址")] string pszString,
[Description("址")] int cchString, [Description("")] int dwFlags, [Description("")] int pbBinary,
[Description("址")] int pcbBinary, [Description("0")] int pdwSkip, [Description("0")] int pdwFlags);
- ///
- ///
- /// 址
- /// 址
- ///
- /// 址
- /// 址
- /// 0
- /// 0
- ///
- [DllImport("CQP.dll")]
+ ///
+ ///
+ ///
+ /// 址
+ /// 址
+ ///
+ /// 址
+ /// 址
+ /// 0
+ /// 0
+ ///
+ [DllImport("CQP.dll")]
public static extern bool CryptStringToBinaryA([Description("址")] string pszString,
[Description("址")] int cchString, [Description("")] int dwFlags, [Description("址")] byte[] pbBinary,
[Description("址")] int pcbBinary, [Description("0")] int pdwSkip, [Description("0")] int pdwFlags);
diff --git a/src/Newbe.Mahua.CQP.Native/Newbe.Mahua.CQP.Native.csproj b/src/Newbe.Mahua.CQP.Native/Newbe.Mahua.CQP.Native.csproj
index 47d322c..5b2c32d 100644
--- a/src/Newbe.Mahua.CQP.Native/Newbe.Mahua.CQP.Native.csproj
+++ b/src/Newbe.Mahua.CQP.Native/Newbe.Mahua.CQP.Native.csproj
@@ -55,8 +55,8 @@
2
-
- ..\packages\Autofac.4.9.1\lib\net45\Autofac.dll
+
+ ..\packages\Autofac.4.9.4\lib\net45\Autofac.dll
True
diff --git a/src/Newbe.Mahua.CQP.Native/packages.config b/src/Newbe.Mahua.CQP.Native/packages.config
index 47324c7..b1f1fe0 100644
--- a/src/Newbe.Mahua.CQP.Native/packages.config
+++ b/src/Newbe.Mahua.CQP.Native/packages.config
@@ -1,4 +1,4 @@
-
+
\ No newline at end of file
diff --git a/src/Newbe.Mahua.CQP/CqpMahuaApiHandler.cs b/src/Newbe.Mahua.CQP/CqpMahuaApiHandler.cs
index ab95d73..c02c0f2 100644
--- a/src/Newbe.Mahua.CQP/CqpMahuaApiHandler.cs
+++ b/src/Newbe.Mahua.CQP/CqpMahuaApiHandler.cs
@@ -5,13 +5,12 @@
// this file is generate from tools, do not change this file
-// generate time 2019/01/23
+// generate time 2019/12/15
namespace Newbe.Mahua.CQP
{
public class CqpMahuaApiHandler : IPlatformMahuaApiHandler
{
-
private readonly IMahuaCenter _mahuaCenter;
private readonly ICqpApi _cqpApi;
private readonly ICqpAuthCodeContainer _cqpAuthCodeContainer;
@@ -25,161 +24,227 @@ public CqpMahuaApiHandler(
_cqpApi = cqpApi;
_cqpAuthCodeContainer = cqpAuthCodeContainer;
}
+
public Task Run(string typeCode, IReadOnlyDictionary data)
{
switch (typeCode)
{
case "CQ_sendPrivateMsg":
var CQ_sendPrivateMsgResult =
- _cqpApi.CQ_sendPrivateMsg(AuthCode: _cqpAuthCodeContainer.AuthCode, QQID: Convert.ToInt64(data["QQID"]), msg: data["msg"].ToString());
+ _cqpApi.CQ_sendPrivateMsg(AuthCode: _cqpAuthCodeContainer.AuthCode,
+ Account: Convert.ToInt64(data["Account"]), msg: data["msg"].ToString());
return _mahuaCenter.HandleMahuaOutput(new CQ_sendPrivateMsgApiOut
- { Result = CQ_sendPrivateMsgResult });
+ {Result = CQ_sendPrivateMsgResult});
case "CQ_sendGroupMsg":
var CQ_sendGroupMsgResult =
- _cqpApi.CQ_sendGroupMsg(AuthCode: _cqpAuthCodeContainer.AuthCode, 群号: Convert.ToInt64(data["群号"]), msg: data["msg"].ToString());
+ _cqpApi.CQ_sendGroupMsg(AuthCode: _cqpAuthCodeContainer.AuthCode,
+ 群号: Convert.ToInt64(data["群号"]), msg: data["msg"].ToString());
return _mahuaCenter.HandleMahuaOutput(new CQ_sendGroupMsgApiOut
- { Result = CQ_sendGroupMsgResult });
+ {Result = CQ_sendGroupMsgResult});
case "CQ_sendDiscussMsg":
var CQ_sendDiscussMsgResult =
- _cqpApi.CQ_sendDiscussMsg(AuthCode: _cqpAuthCodeContainer.AuthCode, 讨论组号: Convert.ToInt64(data["讨论组号"]), msg: data["msg"].ToString());
+ _cqpApi.CQ_sendDiscussMsg(AuthCode: _cqpAuthCodeContainer.AuthCode,
+ 讨论组号: Convert.ToInt64(data["讨论组号"]), msg: data["msg"].ToString());
return _mahuaCenter.HandleMahuaOutput(new CQ_sendDiscussMsgApiOut
- { Result = CQ_sendDiscussMsgResult });
+ {Result = CQ_sendDiscussMsgResult});
case "CQ_deleteMsg":
var CQ_deleteMsgResult =
- _cqpApi.CQ_deleteMsg(AuthCode: _cqpAuthCodeContainer.AuthCode, MsgId: Convert.ToInt64(data["MsgId"]));
+ _cqpApi.CQ_deleteMsg(AuthCode: _cqpAuthCodeContainer.AuthCode,
+ MsgId: Convert.ToInt64(data["MsgId"]));
return _mahuaCenter.HandleMahuaOutput(new CQ_deleteMsgApiOut
- { Result = CQ_deleteMsgResult });
+ {Result = CQ_deleteMsgResult});
case "CQ_sendLikeV2":
var CQ_sendLikeV2Result =
- _cqpApi.CQ_sendLikeV2(AuthCode: _cqpAuthCodeContainer.AuthCode, QQID: Convert.ToInt64(data["QQID"]), times: Convert.ToInt32(data["times"]));
+ _cqpApi.CQ_sendLikeV2(AuthCode: _cqpAuthCodeContainer.AuthCode,
+ Account: Convert.ToInt64(data["Account"]), times: Convert.ToInt32(data["times"]));
return _mahuaCenter.HandleMahuaOutput(new CQ_sendLikeV2ApiOut
- { Result = CQ_sendLikeV2Result });
- case "CQ_getCookies":
- var CQ_getCookiesResult =
- _cqpApi.CQ_getCookies(AuthCode: _cqpAuthCodeContainer.AuthCode);
- return _mahuaCenter.HandleMahuaOutput(new CQ_getCookiesApiOut
- { Result = CQ_getCookiesResult });
+ {Result = CQ_sendLikeV2Result});
+ case "CQ_getCookiesV2":
+ var CQ_getCookiesV2Result =
+ _cqpApi.CQ_getCookiesV2(AuthCode: _cqpAuthCodeContainer.AuthCode,
+ domain: data["domain"].ToString());
+ return _mahuaCenter.HandleMahuaOutput(new CQ_getCookiesV2ApiOut
+ {Result = CQ_getCookiesV2Result});
case "CQ_getRecord":
var CQ_getRecordResult =
- _cqpApi.CQ_getRecord(AuthCode: _cqpAuthCodeContainer.AuthCode, file: data["file"].ToString(), outformat: data["outformat"].ToString());
+ _cqpApi.CQ_getRecord(AuthCode: _cqpAuthCodeContainer.AuthCode, file: data["file"].ToString(),
+ outformat: data["outformat"].ToString());
return _mahuaCenter.HandleMahuaOutput(new CQ_getRecordApiOut
- { Result = CQ_getRecordResult });
+ {Result = CQ_getRecordResult});
+ case "CQ_getRecordV2":
+ var CQ_getRecordV2Result =
+ _cqpApi.CQ_getRecordV2(AuthCode: _cqpAuthCodeContainer.AuthCode, file: data["file"].ToString(),
+ outformat: data["outformat"].ToString());
+ return _mahuaCenter.HandleMahuaOutput(new CQ_getRecordV2ApiOut
+ {Result = CQ_getRecordV2Result});
+ case "CQ_getImage":
+ var CQ_getImageResult =
+ _cqpApi.CQ_getImage(AuthCode: _cqpAuthCodeContainer.AuthCode, file: data["file"].ToString());
+ return _mahuaCenter.HandleMahuaOutput(new CQ_getImageApiOut
+ {Result = CQ_getImageResult});
+ case "CQ_canSendImage":
+ var CQ_canSendImageResult =
+ _cqpApi.CQ_canSendImage(AuthCode: _cqpAuthCodeContainer.AuthCode);
+ return _mahuaCenter.HandleMahuaOutput(new CQ_canSendImageApiOut
+ {Result = CQ_canSendImageResult});
+ case "CQ_canSendRecord":
+ var CQ_canSendRecordResult =
+ _cqpApi.CQ_canSendRecord(AuthCode: _cqpAuthCodeContainer.AuthCode);
+ return _mahuaCenter.HandleMahuaOutput(new CQ_canSendRecordApiOut
+ {Result = CQ_canSendRecordResult});
case "CQ_getCsrfToken":
var CQ_getCsrfTokenResult =
- _cqpApi.CQ_getCsrfToken(AuthCode: _cqpAuthCodeContainer.AuthCode);
+ _cqpApi.CQ_getCsrfToken(AuthCode: _cqpAuthCodeContainer.AuthCode);
return _mahuaCenter.HandleMahuaOutput(new CQ_getCsrfTokenApiOut
- { Result = CQ_getCsrfTokenResult });
+ {Result = CQ_getCsrfTokenResult});
case "CQ_getAppDirectory":
var CQ_getAppDirectoryResult =
- _cqpApi.CQ_getAppDirectory(AuthCode: _cqpAuthCodeContainer.AuthCode);
+ _cqpApi.CQ_getAppDirectory(AuthCode: _cqpAuthCodeContainer.AuthCode);
return _mahuaCenter.HandleMahuaOutput(new CQ_getAppDirectoryApiOut
- { Result = CQ_getAppDirectoryResult });
+ {Result = CQ_getAppDirectoryResult});
case "CQ_getLoginQQ":
var CQ_getLoginQQResult =
- _cqpApi.CQ_getLoginQQ(AuthCode: _cqpAuthCodeContainer.AuthCode);
+ _cqpApi.CQ_getLoginQQ(AuthCode: _cqpAuthCodeContainer.AuthCode);
return _mahuaCenter.HandleMahuaOutput(new CQ_getLoginQQApiOut
- { Result = CQ_getLoginQQResult });
+ {Result = CQ_getLoginQQResult});
case "CQ_getLoginNick":
var CQ_getLoginNickResult =
- _cqpApi.CQ_getLoginNick(AuthCode: _cqpAuthCodeContainer.AuthCode);
+ _cqpApi.CQ_getLoginNick(AuthCode: _cqpAuthCodeContainer.AuthCode);
return _mahuaCenter.HandleMahuaOutput(new CQ_getLoginNickApiOut
- { Result = CQ_getLoginNickResult });
+ {Result = CQ_getLoginNickResult});
case "CQ_setGroupKick":
var CQ_setGroupKickResult =
- _cqpApi.CQ_setGroupKick(AuthCode: _cqpAuthCodeContainer.AuthCode, 群号: Convert.ToInt64(data["群号"]), QQID: Convert.ToInt64(data["QQID"]), 拒绝再加群: Convert.ToBoolean(data["拒绝再加群"]));
+ _cqpApi.CQ_setGroupKick(AuthCode: _cqpAuthCodeContainer.AuthCode,
+ 群号: Convert.ToInt64(data["群号"]), Account: Convert.ToInt64(data["Account"]),
+ 拒绝再加群: Convert.ToBoolean(data["拒绝再加群"]));
return _mahuaCenter.HandleMahuaOutput(new CQ_setGroupKickApiOut
- { Result = CQ_setGroupKickResult });
+ {Result = CQ_setGroupKickResult});
case "CQ_setGroupBan":
var CQ_setGroupBanResult =
- _cqpApi.CQ_setGroupBan(AuthCode: _cqpAuthCodeContainer.AuthCode, 群号: Convert.ToInt64(data["群号"]), QQID: Convert.ToInt64(data["QQID"]), 禁言时间: Convert.ToInt64(data["禁言时间"]));
+ _cqpApi.CQ_setGroupBan(AuthCode: _cqpAuthCodeContainer.AuthCode,
+ 群号: Convert.ToInt64(data["群号"]), Account: Convert.ToInt64(data["Account"]),
+ 禁言时间: Convert.ToInt64(data["禁言时间"]));
return _mahuaCenter.HandleMahuaOutput(new CQ_setGroupBanApiOut
- { Result = CQ_setGroupBanResult });
+ {Result = CQ_setGroupBanResult});
case "CQ_setGroupAdmin":
var CQ_setGroupAdminResult =
- _cqpApi.CQ_setGroupAdmin(AuthCode: _cqpAuthCodeContainer.AuthCode, 群号: Convert.ToInt64(data["群号"]), QQID: Convert.ToInt64(data["QQID"]), 成为管理员: Convert.ToBoolean(data["成为管理员"]));
+ _cqpApi.CQ_setGroupAdmin(AuthCode: _cqpAuthCodeContainer.AuthCode,
+ 群号: Convert.ToInt64(data["群号"]), Account: Convert.ToInt64(data["Account"]),
+ 成为管理员: Convert.ToBoolean(data["成为管理员"]));
return _mahuaCenter.HandleMahuaOutput(new CQ_setGroupAdminApiOut
- { Result = CQ_setGroupAdminResult });
+ {Result = CQ_setGroupAdminResult});
case "CQ_setGroupSpecialTitle":
var CQ_setGroupSpecialTitleResult =
- _cqpApi.CQ_setGroupSpecialTitle(AuthCode: _cqpAuthCodeContainer.AuthCode, 群号: Convert.ToInt64(data["群号"]), QQID: Convert.ToInt64(data["QQID"]), 头衔: data["头衔"].ToString(), 过期时间: Convert.ToInt64(data["过期时间"]));
+ _cqpApi.CQ_setGroupSpecialTitle(AuthCode: _cqpAuthCodeContainer.AuthCode,
+ 群号: Convert.ToInt64(data["群号"]), Account: Convert.ToInt64(data["Account"]),
+ 头衔: data["头衔"].ToString(), 过期时间: Convert.ToInt64(data["过期时间"]));
return _mahuaCenter.HandleMahuaOutput(new CQ_setGroupSpecialTitleApiOut
- { Result = CQ_setGroupSpecialTitleResult });
+ {Result = CQ_setGroupSpecialTitleResult});
case "CQ_setGroupWholeBan":
var CQ_setGroupWholeBanResult =
- _cqpApi.CQ_setGroupWholeBan(AuthCode: _cqpAuthCodeContainer.AuthCode, 群号: Convert.ToInt64(data["群号"]), 开启禁言: Convert.ToBoolean(data["开启禁言"]));
+ _cqpApi.CQ_setGroupWholeBan(AuthCode: _cqpAuthCodeContainer.AuthCode,
+ 群号: Convert.ToInt64(data["群号"]), 开启禁言: Convert.ToBoolean(data["开启禁言"]));
return _mahuaCenter.HandleMahuaOutput(new CQ_setGroupWholeBanApiOut
- { Result = CQ_setGroupWholeBanResult });
+ {Result = CQ_setGroupWholeBanResult});
case "CQ_setGroupAnonymousBan":
var CQ_setGroupAnonymousBanResult =
- _cqpApi.CQ_setGroupAnonymousBan(AuthCode: _cqpAuthCodeContainer.AuthCode, 群号: Convert.ToInt64(data["群号"]), 匿名: data["匿名"].ToString(), 禁言时间: Convert.ToInt64(data["禁言时间"]));
+ _cqpApi.CQ_setGroupAnonymousBan(AuthCode: _cqpAuthCodeContainer.AuthCode,
+ 群号: Convert.ToInt64(data["群号"]), 匿名: data["匿名"].ToString(),
+ 禁言时间: Convert.ToInt64(data["禁言时间"]));
return _mahuaCenter.HandleMahuaOutput(new CQ_setGroupAnonymousBanApiOut
- { Result = CQ_setGroupAnonymousBanResult });
+ {Result = CQ_setGroupAnonymousBanResult});
case "CQ_setGroupAnonymous":
var CQ_setGroupAnonymousResult =
- _cqpApi.CQ_setGroupAnonymous(AuthCode: _cqpAuthCodeContainer.AuthCode, 群号: Convert.ToInt64(data["群号"]), 开启匿名: Convert.ToBoolean(data["开启匿名"]));
+ _cqpApi.CQ_setGroupAnonymous(AuthCode: _cqpAuthCodeContainer.AuthCode,
+ 群号: Convert.ToInt64(data["群号"]), 开启匿名: Convert.ToBoolean(data["开启匿名"]));
return _mahuaCenter.HandleMahuaOutput(new CQ_setGroupAnonymousApiOut
- { Result = CQ_setGroupAnonymousResult });
+ {Result = CQ_setGroupAnonymousResult});
case "CQ_setGroupCard":
var CQ_setGroupCardResult =
- _cqpApi.CQ_setGroupCard(AuthCode: _cqpAuthCodeContainer.AuthCode, 群号: Convert.ToInt64(data["群号"]), QQID: Convert.ToInt64(data["QQID"]), 新名片_昵称: data["新名片_昵称"].ToString());
+ _cqpApi.CQ_setGroupCard(AuthCode: _cqpAuthCodeContainer.AuthCode,
+ 群号: Convert.ToInt64(data["群号"]), Account: Convert.ToInt64(data["Account"]),
+ 新名片_昵称: data["新名片_昵称"].ToString());
return _mahuaCenter.HandleMahuaOutput(new CQ_setGroupCardApiOut
- { Result = CQ_setGroupCardResult });
+ {Result = CQ_setGroupCardResult});
case "CQ_setGroupLeave":
var CQ_setGroupLeaveResult =
- _cqpApi.CQ_setGroupLeave(AuthCode: _cqpAuthCodeContainer.AuthCode, 群号: Convert.ToInt64(data["群号"]), 是否解散: Convert.ToBoolean(data["是否解散"]));
+ _cqpApi.CQ_setGroupLeave(AuthCode: _cqpAuthCodeContainer.AuthCode,
+ 群号: Convert.ToInt64(data["群号"]), 是否解散: Convert.ToBoolean(data["是否解散"]));
return _mahuaCenter.HandleMahuaOutput(new CQ_setGroupLeaveApiOut
- { Result = CQ_setGroupLeaveResult });
+ {Result = CQ_setGroupLeaveResult});
case "CQ_setDiscussLeave":
var CQ_setDiscussLeaveResult =
- _cqpApi.CQ_setDiscussLeave(AuthCode: _cqpAuthCodeContainer.AuthCode, 讨论组号: Convert.ToInt64(data["讨论组号"]));
+ _cqpApi.CQ_setDiscussLeave(AuthCode: _cqpAuthCodeContainer.AuthCode,
+ 讨论组号: Convert.ToInt64(data["讨论组号"]));
return _mahuaCenter.HandleMahuaOutput(new CQ_setDiscussLeaveApiOut
- { Result = CQ_setDiscussLeaveResult });
+ {Result = CQ_setDiscussLeaveResult});
case "CQ_setFriendAddRequest":
var CQ_setFriendAddRequestResult =
- _cqpApi.CQ_setFriendAddRequest(AuthCode: _cqpAuthCodeContainer.AuthCode, 请求反馈标识: data["请求反馈标识"].ToString(), 反馈类型: Convert.ToInt32(data["反馈类型"]), 备注: data["备注"].ToString());
+ _cqpApi.CQ_setFriendAddRequest(AuthCode: _cqpAuthCodeContainer.AuthCode,
+ 请求反馈标识: data["请求反馈标识"].ToString(), 反馈类型: Convert.ToInt32(data["反馈类型"]),
+ 备注: data["备注"].ToString());
return _mahuaCenter.HandleMahuaOutput(new CQ_setFriendAddRequestApiOut
- { Result = CQ_setFriendAddRequestResult });
+ {Result = CQ_setFriendAddRequestResult});
case "CQ_setGroupAddRequestV2":
var CQ_setGroupAddRequestV2Result =
- _cqpApi.CQ_setGroupAddRequestV2(AuthCode: _cqpAuthCodeContainer.AuthCode, 请求反馈标识: data["请求反馈标识"].ToString(), 请求类型: Convert.ToInt32(data["请求类型"]), 反馈类型: Convert.ToInt32(data["反馈类型"]), 理由: data["理由"].ToString());
+ _cqpApi.CQ_setGroupAddRequestV2(AuthCode: _cqpAuthCodeContainer.AuthCode,
+ 请求反馈标识: data["请求反馈标识"].ToString(), 请求类型: Convert.ToInt32(data["请求类型"]),
+ 反馈类型: Convert.ToInt32(data["反馈类型"]), 理由: data["理由"].ToString());
return _mahuaCenter.HandleMahuaOutput(new CQ_setGroupAddRequestV2ApiOut
- { Result = CQ_setGroupAddRequestV2Result });
+ {Result = CQ_setGroupAddRequestV2Result});
case "CQ_addLog":
var CQ_addLogResult =
- _cqpApi.CQ_addLog(AuthCode: _cqpAuthCodeContainer.AuthCode, 优先级: Convert.ToInt32(data["优先级"]), 类型: data["类型"].ToString(), 内容: data["内容"].ToString());
+ _cqpApi.CQ_addLog(AuthCode: _cqpAuthCodeContainer.AuthCode, 优先级: Convert.ToInt32(data["优先级"]),
+ 类型: data["类型"].ToString(), 内容: data["内容"].ToString());
return _mahuaCenter.HandleMahuaOutput(new CQ_addLogApiOut
- { Result = CQ_addLogResult });
+ {Result = CQ_addLogResult});
case "CQ_setFatal":
var CQ_setFatalResult =
- _cqpApi.CQ_setFatal(AuthCode: _cqpAuthCodeContainer.AuthCode, 错误信息: data["错误信息"].ToString());
+ _cqpApi.CQ_setFatal(AuthCode: _cqpAuthCodeContainer.AuthCode, 错误信息: data["错误信息"].ToString());
return _mahuaCenter.HandleMahuaOutput(new CQ_setFatalApiOut
- { Result = CQ_setFatalResult });
+ {Result = CQ_setFatalResult});
case "CQ_getGroupMemberInfoV2":
var CQ_getGroupMemberInfoV2Result =
- _cqpApi.CQ_getGroupMemberInfoV2(AuthCode: _cqpAuthCodeContainer.AuthCode, 群号: Convert.ToInt64(data["群号"]), QQID: Convert.ToInt64(data["QQID"]), 不使用缓存: Convert.ToBoolean(data["不使用缓存"]));
+ _cqpApi.CQ_getGroupMemberInfoV2(AuthCode: _cqpAuthCodeContainer.AuthCode,
+ 群号: Convert.ToInt64(data["群号"]), Account: Convert.ToInt64(data["Account"]),
+ 不使用缓存: Convert.ToBoolean(data["不使用缓存"]));
return _mahuaCenter.HandleMahuaOutput(new CQ_getGroupMemberInfoV2ApiOut
- { Result = CQ_getGroupMemberInfoV2Result });
+ {Result = CQ_getGroupMemberInfoV2Result});
case "CQ_getGroupMemberList":
var CQ_getGroupMemberListResult =
- _cqpApi.CQ_getGroupMemberList(AuthCode: _cqpAuthCodeContainer.AuthCode, 群号: Convert.ToInt64(data["群号"]));
+ _cqpApi.CQ_getGroupMemberList(AuthCode: _cqpAuthCodeContainer.AuthCode,
+ 群号: Convert.ToInt64(data["群号"]));
return _mahuaCenter.HandleMahuaOutput(new CQ_getGroupMemberListApiOut
- { Result = CQ_getGroupMemberListResult });
+ {Result = CQ_getGroupMemberListResult});
case "CQ_getGroupList":
var CQ_getGroupListResult =
- _cqpApi.CQ_getGroupList(AuthCode: _cqpAuthCodeContainer.AuthCode);
+ _cqpApi.CQ_getGroupList(AuthCode: _cqpAuthCodeContainer.AuthCode);
return _mahuaCenter.HandleMahuaOutput(new CQ_getGroupListApiOut
- { Result = CQ_getGroupListResult });
+ {Result = CQ_getGroupListResult});
+ case "CQ_getFriendList":
+ var CQ_getFriendListResult =
+ _cqpApi.CQ_getFriendList(AuthCode: _cqpAuthCodeContainer.AuthCode,
+ reserved: Convert.ToBoolean(data["reserved"]));
+ return _mahuaCenter.HandleMahuaOutput(new CQ_getFriendListApiOut
+ {Result = CQ_getFriendListResult});
case "CQ_getStrangerInfo":
var CQ_getStrangerInfoResult =
- _cqpApi.CQ_getStrangerInfo(AuthCode: _cqpAuthCodeContainer.AuthCode, QQID: Convert.ToInt64(data["QQID"]), 不使用缓存: Convert.ToBoolean(data["不使用缓存"]));
+ _cqpApi.CQ_getStrangerInfo(AuthCode: _cqpAuthCodeContainer.AuthCode,
+ Account: Convert.ToInt64(data["Account"]), 不使用缓存: Convert.ToBoolean(data["不使用缓存"]));
return _mahuaCenter.HandleMahuaOutput(new CQ_getStrangerInfoApiOut
- { Result = CQ_getStrangerInfoResult });
-
+ {Result = CQ_getStrangerInfoResult});
+ case "CQ_getGroupInfo":
+ var CQ_getGroupInfoResult =
+ _cqpApi.CQ_getGroupInfo(AuthCode: _cqpAuthCodeContainer.AuthCode,
+ 群号: Convert.ToInt64(data["群号"]), 不使用缓存: Convert.ToBoolean(data["不使用缓存"]));
+ return _mahuaCenter.HandleMahuaOutput(new CQ_getGroupInfoApiOut
+ {Result = CQ_getGroupInfoResult});
default:
throw new ArgumentOutOfRangeException(nameof(typeCode));
}
}
}
+
///
/// api out of method CQ_sendPrivateMsg
///
@@ -188,6 +253,7 @@ public class CQ_sendPrivateMsgApiOut : CqpApiOutput
public int Result { get; set; }
public override string TypeCode => nameof(CQ_sendPrivateMsgApiOut);
}
+
///
/// api out of method CQ_sendGroupMsg
///
@@ -196,6 +262,7 @@ public class CQ_sendGroupMsgApiOut : CqpApiOutput
public int Result { get; set; }
public override string TypeCode => nameof(CQ_sendGroupMsgApiOut);
}
+
///
/// api out of method CQ_sendDiscussMsg
///
@@ -204,6 +271,7 @@ public class CQ_sendDiscussMsgApiOut : CqpApiOutput
public int Result { get; set; }
public override string TypeCode => nameof(CQ_sendDiscussMsgApiOut);
}
+
///
/// api out of method CQ_deleteMsg
///
@@ -212,6 +280,7 @@ public class CQ_deleteMsgApiOut : CqpApiOutput
public int Result { get; set; }
public override string TypeCode => nameof(CQ_deleteMsgApiOut);
}
+
///
/// api out of method CQ_sendLikeV2
///
@@ -220,14 +289,16 @@ public class CQ_sendLikeV2ApiOut : CqpApiOutput
public int Result { get; set; }
public override string TypeCode => nameof(CQ_sendLikeV2ApiOut);
}
+
///
- /// api out of method CQ_getCookies
+ /// api out of method CQ_getCookiesV2
///
- public class CQ_getCookiesApiOut : CqpApiOutput
+ public class CQ_getCookiesV2ApiOut : CqpApiOutput
{
public string Result { get; set; }
- public override string TypeCode => nameof(CQ_getCookiesApiOut);
+ public override string TypeCode => nameof(CQ_getCookiesV2ApiOut);
}
+
///
/// api out of method CQ_getRecord
///
@@ -236,6 +307,43 @@ public class CQ_getRecordApiOut : CqpApiOutput
public string Result { get; set; }
public override string TypeCode => nameof(CQ_getRecordApiOut);
}
+
+ ///
+ /// api out of method CQ_getRecordV2
+ ///
+ public class CQ_getRecordV2ApiOut : CqpApiOutput
+ {
+ public string Result { get; set; }
+ public override string TypeCode => nameof(CQ_getRecordV2ApiOut);
+ }
+
+ ///
+ /// api out of method CQ_getImage
+ ///
+ public class CQ_getImageApiOut : CqpApiOutput
+ {
+ public string Result { get; set; }
+ public override string TypeCode => nameof(CQ_getImageApiOut);
+ }
+
+ ///
+ /// api out of method CQ_canSendImage
+ ///
+ public class CQ_canSendImageApiOut : CqpApiOutput
+ {
+ public int Result { get; set; }
+ public override string TypeCode => nameof(CQ_canSendImageApiOut);
+ }
+
+ ///
+ /// api out of method CQ_canSendRecord
+ ///
+ public class CQ_canSendRecordApiOut : CqpApiOutput
+ {
+ public int Result { get; set; }
+ public override string TypeCode => nameof(CQ_canSendRecordApiOut);
+ }
+
///
/// api out of method CQ_getCsrfToken
///
@@ -244,6 +352,7 @@ public class CQ_getCsrfTokenApiOut : CqpApiOutput
public int Result { get; set; }
public override string TypeCode => nameof(CQ_getCsrfTokenApiOut);
}
+
///
/// api out of method CQ_getAppDirectory
///
@@ -252,6 +361,7 @@ public class CQ_getAppDirectoryApiOut : CqpApiOutput
public string Result { get; set; }
public override string TypeCode => nameof(CQ_getAppDirectoryApiOut);
}
+
///
/// api out of method CQ_getLoginQQ
///
@@ -260,6 +370,7 @@ public class CQ_getLoginQQApiOut : CqpApiOutput
public long Result { get; set; }
public override string TypeCode => nameof(CQ_getLoginQQApiOut);
}
+
///
/// api out of method CQ_getLoginNick
///
@@ -268,6 +379,7 @@ public class CQ_getLoginNickApiOut : CqpApiOutput
public string Result { get; set; }
public override string TypeCode => nameof(CQ_getLoginNickApiOut);
}
+
///
/// api out of method CQ_setGroupKick
///
@@ -276,6 +388,7 @@ public class CQ_setGroupKickApiOut : CqpApiOutput
public int Result { get; set; }
public override string TypeCode => nameof(CQ_setGroupKickApiOut);
}
+
///
/// api out of method CQ_setGroupBan
///
@@ -284,6 +397,7 @@ public class CQ_setGroupBanApiOut : CqpApiOutput
public int Result { get; set; }
public override string TypeCode => nameof(CQ_setGroupBanApiOut);
}
+
///
/// api out of method CQ_setGroupAdmin
///
@@ -292,6 +406,7 @@ public class CQ_setGroupAdminApiOut : CqpApiOutput
public int Result { get; set; }
public override string TypeCode => nameof(CQ_setGroupAdminApiOut);
}
+
///
/// api out of method CQ_setGroupSpecialTitle
///
@@ -300,6 +415,7 @@ public class CQ_setGroupSpecialTitleApiOut : CqpApiOutput
public int Result { get; set; }
public override string TypeCode => nameof(CQ_setGroupSpecialTitleApiOut);
}
+
///
/// api out of method CQ_setGroupWholeBan
///
@@ -308,6 +424,7 @@ public class CQ_setGroupWholeBanApiOut : CqpApiOutput
public int Result { get; set; }
public override string TypeCode => nameof(CQ_setGroupWholeBanApiOut);
}
+
///
/// api out of method CQ_setGroupAnonymousBan
///
@@ -316,6 +433,7 @@ public class CQ_setGroupAnonymousBanApiOut : CqpApiOutput
public int Result { get; set; }
public override string TypeCode => nameof(CQ_setGroupAnonymousBanApiOut);
}
+
///
/// api out of method CQ_setGroupAnonymous
///
@@ -324,6 +442,7 @@ public class CQ_setGroupAnonymousApiOut : CqpApiOutput
public int Result { get; set; }
public override string TypeCode => nameof(CQ_setGroupAnonymousApiOut);
}
+
///
/// api out of method CQ_setGroupCard
///
@@ -332,6 +451,7 @@ public class CQ_setGroupCardApiOut : CqpApiOutput
public int Result { get; set; }
public override string TypeCode => nameof(CQ_setGroupCardApiOut);
}
+
///
/// api out of method CQ_setGroupLeave
///
@@ -340,6 +460,7 @@ public class CQ_setGroupLeaveApiOut : CqpApiOutput
public int Result { get; set; }
public override string TypeCode => nameof(CQ_setGroupLeaveApiOut);
}
+
///
/// api out of method CQ_setDiscussLeave
///
@@ -348,6 +469,7 @@ public class CQ_setDiscussLeaveApiOut : CqpApiOutput
public int Result { get; set; }
public override string TypeCode => nameof(CQ_setDiscussLeaveApiOut);
}
+
///
/// api out of method CQ_setFriendAddRequest
///
@@ -356,6 +478,7 @@ public class CQ_setFriendAddRequestApiOut : CqpApiOutput
public int Result { get; set; }
public override string TypeCode => nameof(CQ_setFriendAddRequestApiOut);
}
+
///
/// api out of method CQ_setGroupAddRequestV2
///
@@ -364,6 +487,7 @@ public class CQ_setGroupAddRequestV2ApiOut : CqpApiOutput
public int Result { get; set; }
public override string TypeCode => nameof(CQ_setGroupAddRequestV2ApiOut);
}
+
///
/// api out of method CQ_addLog
///
@@ -372,6 +496,7 @@ public class CQ_addLogApiOut : CqpApiOutput
public int Result { get; set; }
public override string TypeCode => nameof(CQ_addLogApiOut);
}
+
///
/// api out of method CQ_setFatal
///
@@ -380,6 +505,7 @@ public class CQ_setFatalApiOut : CqpApiOutput
public int Result { get; set; }
public override string TypeCode => nameof(CQ_setFatalApiOut);
}
+
///
/// api out of method CQ_getGroupMemberInfoV2
///
@@ -388,6 +514,7 @@ public class CQ_getGroupMemberInfoV2ApiOut : CqpApiOutput
public string Result { get; set; }
public override string TypeCode => nameof(CQ_getGroupMemberInfoV2ApiOut);
}
+
///
/// api out of method CQ_getGroupMemberList
///
@@ -396,6 +523,7 @@ public class CQ_getGroupMemberListApiOut : CqpApiOutput
public string Result { get; set; }
public override string TypeCode => nameof(CQ_getGroupMemberListApiOut);
}
+
///
/// api out of method CQ_getGroupList
///
@@ -404,6 +532,16 @@ public class CQ_getGroupListApiOut : CqpApiOutput
public string Result { get; set; }
public override string TypeCode => nameof(CQ_getGroupListApiOut);
}
+
+ ///
+ /// api out of method CQ_getFriendList
+ ///
+ public class CQ_getFriendListApiOut : CqpApiOutput
+ {
+ public string Result { get; set; }
+ public override string TypeCode => nameof(CQ_getFriendListApiOut);
+ }
+
///
/// api out of method CQ_getStrangerInfo
///
@@ -412,4 +550,13 @@ public class CQ_getStrangerInfoApiOut : CqpApiOutput
public string Result { get; set; }
public override string TypeCode => nameof(CQ_getStrangerInfoApiOut);
}
-}
+
+ ///
+ /// api out of method CQ_getGroupInfo
+ ///
+ public class CQ_getGroupInfoApiOut : CqpApiOutput
+ {
+ public string Result { get; set; }
+ public override string TypeCode => nameof(CQ_getGroupInfoApiOut);
+ }
+}
\ No newline at end of file
diff --git a/src/Newbe.Mahua.DevJobs.Tests/Newbe.Mahua.DevJobs.Tests.csproj b/src/Newbe.Mahua.DevJobs.Tests/Newbe.Mahua.DevJobs.Tests.csproj
index 809675a..b112d0a 100644
--- a/src/Newbe.Mahua.DevJobs.Tests/Newbe.Mahua.DevJobs.Tests.csproj
+++ b/src/Newbe.Mahua.DevJobs.Tests/Newbe.Mahua.DevJobs.Tests.csproj
@@ -7,8 +7,8 @@
-
-
+
+
diff --git a/src/Newbe.Mahua.DevJobs/Jobs/HttpApiInputControllers/CqpJob.cs b/src/Newbe.Mahua.DevJobs/Jobs/HttpApiInputControllers/CqpJob.cs
index bd4556f..6eb79fc 100644
--- a/src/Newbe.Mahua.DevJobs/Jobs/HttpApiInputControllers/CqpJob.cs
+++ b/src/Newbe.Mahua.DevJobs/Jobs/HttpApiInputControllers/CqpJob.cs
@@ -7,15 +7,18 @@ namespace Newbe.Mahua.NativeApiClassfy.Jobs.HttpApiInputControllers
{
public class CqpJob : IJob
{
+ private readonly ISourceFileProvider _sourceFileProvider;
private readonly INativeApiInfoProvider _nativeApiInfoProvider;
private readonly IHttpApiInputModelsGenerator _httpApiInputModelsGenerator;
public CqpJob(
INativeApiInfoProvider nativeApiInfoProvider,
- IHttpApiInputModelsGenerator httpApiInputModelsGenerator)
+ IHttpApiInputModelsGenerator httpApiInputModelsGenerator,
+ ISourceFileProvider sourceFileProvider)
{
_nativeApiInfoProvider = nativeApiInfoProvider;
_httpApiInputModelsGenerator = httpApiInputModelsGenerator;
+ _sourceFileProvider = sourceFileProvider;
}
public Task Run()
@@ -28,7 +31,9 @@ public Task Run()
SkipProperties = new[] {"AuthCode"},
});
var code = CodeFormatter.FormatCode(nativeApiIn);
- File.WriteAllText("../Newbe.Mahua.InputReceivers.HttpApi/Services/Controllers/CqpController.cs",
+ var filename = Path.Combine(_sourceFileProvider.GetBasePath(),
+ "Newbe.Mahua.InputReceivers.HttpApi/Services/Controllers/CqpController.cs");
+ File.WriteAllText(filename,
code,
Encoding.UTF8);
return Task.CompletedTask;
diff --git a/src/Newbe.Mahua.DevJobs/Jobs/HttpApiInputControllers/MpqJob.cs b/src/Newbe.Mahua.DevJobs/Jobs/HttpApiInputControllers/MpqJob.cs
index b0b39e0..f3d4494 100644
--- a/src/Newbe.Mahua.DevJobs/Jobs/HttpApiInputControllers/MpqJob.cs
+++ b/src/Newbe.Mahua.DevJobs/Jobs/HttpApiInputControllers/MpqJob.cs
@@ -7,15 +7,18 @@ namespace Newbe.Mahua.NativeApiClassfy.Jobs.HttpApiInputControllers
{
public class MpqJob : IJob
{
+ private readonly ISourceFileProvider _sourceFileProvider;
private readonly INativeApiInfoProvider _nativeApiInfoProvider;
private readonly IHttpApiInputModelsGenerator _httpApiInputModelsGenerator;
public MpqJob(
IHttpApiInputModelsGenerator httpApiInputModelsGenerator,
- INativeApiInfoProvider nativeApiInfoProvider)
+ INativeApiInfoProvider nativeApiInfoProvider,
+ ISourceFileProvider sourceFileProvider)
{
_httpApiInputModelsGenerator = httpApiInputModelsGenerator;
_nativeApiInfoProvider = nativeApiInfoProvider;
+ _sourceFileProvider = sourceFileProvider;
}
public Task Run()
@@ -27,7 +30,9 @@ public Task Run()
MahuaPlatform = MahuaPlatform.Mpq
});
var code = CodeFormatter.FormatCode(nativeApiIn);
- File.WriteAllText("../Newbe.Mahua.InputReceivers.HttpApi/Services/Controllers/MpqController.cs",
+ var filename = Path.Combine(_sourceFileProvider.GetBasePath(),
+ "Newbe.Mahua.InputReceivers.HttpApi/Services/Controllers/MpqController.cs");
+ File.WriteAllText(filename,
code,
Encoding.UTF8);
diff --git a/src/Newbe.Mahua.DevJobs/Jobs/HttpApiInputControllers/QQLightJob.cs b/src/Newbe.Mahua.DevJobs/Jobs/HttpApiInputControllers/QQLightJob.cs
index be7e9cc..a0b021e 100644
--- a/src/Newbe.Mahua.DevJobs/Jobs/HttpApiInputControllers/QQLightJob.cs
+++ b/src/Newbe.Mahua.DevJobs/Jobs/HttpApiInputControllers/QQLightJob.cs
@@ -7,15 +7,18 @@ namespace Newbe.Mahua.NativeApiClassfy.Jobs.HttpApiInputControllers
{
public class QQLightJob : IJob
{
+ private readonly ISourceFileProvider _sourceFileProvider;
private readonly INativeApiInfoProvider _nativeApiInfoProvider;
private readonly IHttpApiInputModelsGenerator _httpApiInputModelsGenerator;
public QQLightJob(
IHttpApiInputModelsGenerator httpApiInputModelsGenerator,
- INativeApiInfoProvider nativeApiInfoProvider)
+ INativeApiInfoProvider nativeApiInfoProvider,
+ ISourceFileProvider sourceFileProvider)
{
_httpApiInputModelsGenerator = httpApiInputModelsGenerator;
_nativeApiInfoProvider = nativeApiInfoProvider;
+ _sourceFileProvider = sourceFileProvider;
}
public Task Run()
@@ -28,9 +31,12 @@ public Task Run()
SkipProperties = new[] {"AuthCode"},
});
var code = CodeFormatter.FormatCode(nativeApiIn);
- File.WriteAllText("../Newbe.Mahua.InputReceivers.HttpApi/Services/Controllers/QQLightController.cs",
+ var filename = Path.Combine(_sourceFileProvider.GetBasePath(),
+ "Newbe.Mahua.InputReceivers.HttpApi/Services/Controllers/QQLightController.cs");
+ File.WriteAllText(filename,
code,
Encoding.UTF8);
+
return Task.CompletedTask;
}
}
diff --git a/src/Newbe.Mahua.DevJobs/Jobs/PlatformApIHandlers/CqpJob.cs b/src/Newbe.Mahua.DevJobs/Jobs/PlatformApIHandlers/CqpJob.cs
index 6b82f3e..8bbe08a 100644
--- a/src/Newbe.Mahua.DevJobs/Jobs/PlatformApIHandlers/CqpJob.cs
+++ b/src/Newbe.Mahua.DevJobs/Jobs/PlatformApIHandlers/CqpJob.cs
@@ -7,15 +7,18 @@ namespace Newbe.Mahua.NativeApiClassfy.Jobs.PlatformApIHandlers
{
public class CqpJob : IJob
{
+ private readonly ISourceFileProvider _sourceFileProvider;
private readonly IApiHandlerGenerator _apiHandlerGenerator;
private readonly INativeApiInfoProvider _nativeApiInfoProvider;
public CqpJob(
IApiHandlerGenerator apiHandlerGenerator,
- INativeApiInfoProvider nativeApiInfoProvider)
+ INativeApiInfoProvider nativeApiInfoProvider,
+ ISourceFileProvider sourceFileProvider)
{
_apiHandlerGenerator = apiHandlerGenerator;
_nativeApiInfoProvider = nativeApiInfoProvider;
+ _sourceFileProvider = sourceFileProvider;
}
public Task Run()
@@ -30,9 +33,12 @@ public Task Run()
AuthCodeContainerInterfaceName = "ICqpAuthCodeContainer",
});
- File.WriteAllText("../Newbe.Mahua.CQP/CqpMahuaApiHandler.cs",
+ var filename = Path.Combine(_sourceFileProvider.GetBasePath(),
+ "Newbe.Mahua.CQP/CqpMahuaApiHandler.cs");
+ File.WriteAllText(filename,
CodeFormatter.FormatCode(apiHandler),
Encoding.UTF8);
+
return Task.CompletedTask;
}
}
diff --git a/src/Newbe.Mahua.DevJobs/Jobs/PlatformApIHandlers/MpqJob.cs b/src/Newbe.Mahua.DevJobs/Jobs/PlatformApIHandlers/MpqJob.cs
index 5ad7d1e..47857ef 100644
--- a/src/Newbe.Mahua.DevJobs/Jobs/PlatformApIHandlers/MpqJob.cs
+++ b/src/Newbe.Mahua.DevJobs/Jobs/PlatformApIHandlers/MpqJob.cs
@@ -7,15 +7,18 @@ namespace Newbe.Mahua.NativeApiClassfy.Jobs.PlatformApIHandlers
{
public class MpqJob : IJob
{
+ private readonly ISourceFileProvider _sourceFileProvider;
private readonly IApiHandlerGenerator _apiHandlerGenerator;
private readonly INativeApiInfoProvider _nativeApiInfoProvider;
public MpqJob(
IApiHandlerGenerator apiHandlerGenerator,
- INativeApiInfoProvider nativeApiInfoProvider)
+ INativeApiInfoProvider nativeApiInfoProvider,
+ ISourceFileProvider sourceFileProvider)
{
_apiHandlerGenerator = apiHandlerGenerator;
_nativeApiInfoProvider = nativeApiInfoProvider;
+ _sourceFileProvider = sourceFileProvider;
}
public Task Run()
@@ -23,13 +26,15 @@ public Task Run()
var nativeApiInfo = _nativeApiInfoProvider.Get(MahuaPlatform.Mpq);
var apiHandler = _apiHandlerGenerator.Generate(new ApiHandlerGeneratorInput
{
- Namespace = "Newbe.Mahua.QQLight",
+ Namespace = "Newbe.Mahua.Mpq",
NativeApiInfo = nativeApiInfo,
- ApiOutBaseName = "QQLightApiOutput",
- ApiHandlerClassName = "QQLightMahuaApiHandler",
+ ApiOutBaseName = "MpqApiOutput",
+ ApiHandlerClassName = "MpqMahuaApiHandler",
});
- File.WriteAllText("../Newbe.Mahua.QQLight/QQLightMahuaApiHandler.cs",
+ var filename = Path.Combine(_sourceFileProvider.GetBasePath(),
+ "Newbe.Mahua.MPQ/MpqMahuaApiHandler.cs");
+ File.WriteAllText(filename,
CodeFormatter.FormatCode(apiHandler),
Encoding.UTF8);
return Task.CompletedTask;
diff --git a/src/Newbe.Mahua.DevJobs/Jobs/PlatformApIHandlers/QQLightJob.cs b/src/Newbe.Mahua.DevJobs/Jobs/PlatformApIHandlers/QQLightJob.cs
index 11a0ce9..50582c2 100644
--- a/src/Newbe.Mahua.DevJobs/Jobs/PlatformApIHandlers/QQLightJob.cs
+++ b/src/Newbe.Mahua.DevJobs/Jobs/PlatformApIHandlers/QQLightJob.cs
@@ -7,13 +7,16 @@ namespace Newbe.Mahua.NativeApiClassfy.Jobs.PlatformApIHandlers
{
public class QQLightJob : IJob
{
+ private readonly ISourceFileProvider _sourceFileProvider;
private readonly IApiHandlerGenerator _apiHandlerGenerator;
private readonly INativeApiInfoProvider _nativeApiInfoProvider;
public QQLightJob(
+ ISourceFileProvider sourceFileProvider,
IApiHandlerGenerator apiHandlerGenerator,
INativeApiInfoProvider nativeApiInfoProvider)
{
+ _sourceFileProvider = sourceFileProvider;
_apiHandlerGenerator = apiHandlerGenerator;
_nativeApiInfoProvider = nativeApiInfoProvider;
}
@@ -30,7 +33,9 @@ public Task Run()
AuthCodeContainerInterfaceName = "IQqLightAuthCodeContainer",
});
- File.WriteAllText("../Newbe.Mahua.QQLight/QQLightMahuaApiHandler.cs",
+ var filename = Path.Combine(_sourceFileProvider.GetBasePath(),
+ "Newbe.Mahua.QQLight/QQLightMahuaApiHandler.cs");
+ File.WriteAllText(filename,
CodeFormatter.FormatCode(apiHandler),
Encoding.UTF8);
return Task.CompletedTask;
diff --git a/src/Newbe.Mahua.DevJobs/Newbe.Mahua.DevJobs.csproj b/src/Newbe.Mahua.DevJobs/Newbe.Mahua.DevJobs.csproj
index 7479eda..162974c 100644
--- a/src/Newbe.Mahua.DevJobs/Newbe.Mahua.DevJobs.csproj
+++ b/src/Newbe.Mahua.DevJobs/Newbe.Mahua.DevJobs.csproj
@@ -4,6 +4,7 @@
Exe
net461
Newbe.Mahua.NativeApiClassfy
+ false
diff --git a/src/Newbe.Mahua.DevJobs/Program.cs b/src/Newbe.Mahua.DevJobs/Program.cs
index 4f45239..ba12aa2 100644
--- a/src/Newbe.Mahua.DevJobs/Program.cs
+++ b/src/Newbe.Mahua.DevJobs/Program.cs
@@ -30,6 +30,11 @@ private static Task Main(string[] args)
.As()
.SingleInstance();
+ var sourceFileProvider = new SourceFileProvider("D:/Repo/newbe/Newbe.Mahua.Framework/src");
+ builder.RegisterInstance(sourceFileProvider)
+ .AsImplementedInterfaces()
+ .SingleInstance();
+
foreach (var jobType in typeof(Program).Assembly.GetTypes()
.Where(x => x.GetInterface(nameof(IJob)) != null))
{
diff --git a/src/Newbe.Mahua.DevJobs/Services/ISourceFileProvider.cs b/src/Newbe.Mahua.DevJobs/Services/ISourceFileProvider.cs
new file mode 100644
index 0000000..660e2d2
--- /dev/null
+++ b/src/Newbe.Mahua.DevJobs/Services/ISourceFileProvider.cs
@@ -0,0 +1,7 @@
+namespace Newbe.Mahua.NativeApiClassfy.Services
+{
+ public interface ISourceFileProvider
+ {
+ string GetBasePath();
+ }
+}
\ No newline at end of file
diff --git a/src/Newbe.Mahua.DevJobs/Services/Impl/NativeApiInfoProvider.cs b/src/Newbe.Mahua.DevJobs/Services/Impl/NativeApiInfoProvider.cs
index b66511b..da6d44a 100644
--- a/src/Newbe.Mahua.DevJobs/Services/Impl/NativeApiInfoProvider.cs
+++ b/src/Newbe.Mahua.DevJobs/Services/Impl/NativeApiInfoProvider.cs
@@ -6,11 +6,14 @@ namespace Newbe.Mahua.NativeApiClassfy.Services.Impl
{
public class NativeApiInfoProvider : INativeApiInfoProvider
{
+ private readonly ISourceFileProvider _sourceFileProvider;
private readonly INativeApiInfoResolver _nativeApiInfoResolver;
public NativeApiInfoProvider(
+ ISourceFileProvider sourceFileProvider,
INativeApiInfoResolver nativeApiInfoResolver)
{
+ _sourceFileProvider = sourceFileProvider;
_nativeApiInfoResolver = nativeApiInfoResolver;
}
@@ -25,21 +28,18 @@ public NativeApiInfo Get(MahuaPlatform mahuaPlatform)
private NativeApiInfo ResolveNativeApiInfo(MahuaPlatform mahuaPlatform)
{
- string filename;
- switch (mahuaPlatform)
+ var basePath = _sourceFileProvider.GetBasePath();
+ var filePath = mahuaPlatform switch
{
- case MahuaPlatform.Cqp:
- filename = "../Newbe.Mahua/NativeApi/ICqpApi.cs";
- break;
- case MahuaPlatform.Mpq:
- filename = "../Newbe.Mahua/NativeApi/IMpqApi.cs";
- break;
- case MahuaPlatform.QQLight:
- filename = "../Newbe.Mahua/NativeApi/IQQLightApi.cs";
- break;
- default:
- throw new ArgumentOutOfRangeException(nameof(mahuaPlatform), mahuaPlatform, null);
- }
+ MahuaPlatform.Cqp => "Newbe.Mahua/NativeApi/ICqpApi.cs",
+ MahuaPlatform.Mpq => "Newbe.Mahua/NativeApi/IMpqApi.cs",
+ MahuaPlatform.QQLight => "Newbe.Mahua/NativeApi/IQQLightApi.cs",
+ MahuaPlatform.Amanda => throw new NotSupportedException(),
+ MahuaPlatform.CleverQQ => throw new NotSupportedException(),
+ _ => throw new ArgumentOutOfRangeException(nameof(mahuaPlatform), mahuaPlatform, null)
+ };
+
+ var filename = Path.Combine(basePath, filePath);
var apiSourceFile = File.ReadAllText(filename);
var nativeApiInfo = _nativeApiInfoResolver.GetMahuaApiInfo(apiSourceFile);
diff --git a/src/Newbe.Mahua.DevJobs/Services/SourceFileProvider.cs b/src/Newbe.Mahua.DevJobs/Services/SourceFileProvider.cs
new file mode 100644
index 0000000..d0b9c6c
--- /dev/null
+++ b/src/Newbe.Mahua.DevJobs/Services/SourceFileProvider.cs
@@ -0,0 +1,18 @@
+namespace Newbe.Mahua.NativeApiClassfy.Services
+{
+ public class SourceFileProvider : ISourceFileProvider
+ {
+ private readonly string _basePath;
+
+ public SourceFileProvider(
+ string basePath)
+ {
+ _basePath = basePath;
+ }
+
+ public string GetBasePath()
+ {
+ return _basePath;
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/Newbe.Mahua.InputReceivers.HttpApi/Newbe.Mahua.InputReceivers.HttpApi.csproj b/src/Newbe.Mahua.InputReceivers.HttpApi/Newbe.Mahua.InputReceivers.HttpApi.csproj
index fbae717..f2f2fd1 100644
--- a/src/Newbe.Mahua.InputReceivers.HttpApi/Newbe.Mahua.InputReceivers.HttpApi.csproj
+++ b/src/Newbe.Mahua.InputReceivers.HttpApi/Newbe.Mahua.InputReceivers.HttpApi.csproj
@@ -9,7 +9,7 @@
-
+
diff --git a/src/Newbe.Mahua.InputReceivers.HttpApi/Services/Controllers/CqpController.cs b/src/Newbe.Mahua.InputReceivers.HttpApi/Services/Controllers/CqpController.cs
index 9c60dec..9012423 100644
--- a/src/Newbe.Mahua.InputReceivers.HttpApi/Services/Controllers/CqpController.cs
+++ b/src/Newbe.Mahua.InputReceivers.HttpApi/Services/Controllers/CqpController.cs
@@ -5,7 +5,7 @@
// this file is generate from tools, do not change this file
-// generate time 2019/01/23
+// generate time 2019/12/15
namespace Newbe.Mahua.InputReceivers.HttpApi.Services.Controllers.Cqp
{
@@ -32,7 +32,7 @@ public Task CQ_sendPrivateMsg([FromBody] CqpCQ_sendPrivateMsgHttpInput input)
MahuaPlatform = MahuaPlatform.Cqp,
Data = new ReadOnlyDictionary(new Dictionary
{
-{nameof(input.QQID), input.QQID},
+{nameof(input.Account), input.Account},
{nameof(input.msg), input.msg},
}
)
@@ -46,9 +46,9 @@ public Task CQ_sendPrivateMsg([FromBody] CqpCQ_sendPrivateMsgHttpInput input)
public class CqpCQ_sendPrivateMsgHttpInput
{
///
- /// 目标QQ
+ /// 目标帐号
///
- public long QQID { get; set; }
+ public long Account { get; set; }
///
/// 消息内容
///
@@ -163,7 +163,7 @@ public Task CQ_sendLikeV2([FromBody] CqpCQ_sendLikeV2HttpInput input)
MahuaPlatform = MahuaPlatform.Cqp,
Data = new ReadOnlyDictionary(new Dictionary
{
-{nameof(input.QQID), input.QQID},
+{nameof(input.Account), input.Account},
{nameof(input.times), input.times},
}
)
@@ -177,9 +177,9 @@ public Task CQ_sendLikeV2([FromBody] CqpCQ_sendLikeV2HttpInput input)
public class CqpCQ_sendLikeV2HttpInput
{
///
- /// 目标QQ
+ /// 目标帐号
///
- public long QQID { get; set; }
+ public long Account { get; set; }
///
/// 赞的次数,最多10次
///
@@ -188,16 +188,17 @@ public class CqpCQ_sendLikeV2HttpInput
///
/// 取Cookies(慎用
///
- [HttpPost("CQ_getCookies")]
- public Task CQ_getCookies([FromBody] CqpCQ_getCookiesHttpInput input)
+ [HttpPost("CQ_getCookiesV2")]
+ public Task CQ_getCookiesV2([FromBody] CqpCQ_getCookiesV2HttpInput input)
{
var httpInput = new HttpInput
{
- TypeCode = nameof(CQ_getCookies),
+ TypeCode = nameof(CQ_getCookiesV2),
MahuaPlatform = MahuaPlatform.Cqp,
Data = new ReadOnlyDictionary(new Dictionary
- {
- }
+{
+{nameof(input.domain), input.domain},
+}
)
}
;
@@ -206,11 +207,15 @@ public Task CQ_getCookies([FromBody] CqpCQ_getCookiesHttpInput input)
///
/// 取Cookies(慎用
///
- public class CqpCQ_getCookiesHttpInput
+ public class CqpCQ_getCookiesV2HttpInput
{
+ ///
+ /// 目标域名,如 api.example.com
+ ///
+ public string domain { get; set; }
}
///
- /// 接收语音
+ /// 【已弃用】接收语音,并返回语音文件相对路径
///
[HttpPost("CQ_getRecord")]
public Task CQ_getRecord([FromBody] CqpCQ_getRecordHttpInput input)
@@ -230,7 +235,7 @@ public Task CQ_getRecord([FromBody] CqpCQ_getRecordHttpInput input)
return _mahuaCenter.HandleMahuaInput(httpInput);
}
///
- /// 接收语音
+ /// 【已弃用】接收语音,并返回语音文件相对路径
///
public class CqpCQ_getRecordHttpInput
{
@@ -244,6 +249,117 @@ public class CqpCQ_getRecordHttpInput
public string outformat { get; set; }
}
///
+ /// 接收语音,并返回语音文件绝对路径
+ ///
+ [HttpPost("CQ_getRecordV2")]
+ public Task CQ_getRecordV2([FromBody] CqpCQ_getRecordV2HttpInput input)
+ {
+ var httpInput = new HttpInput
+ {
+ TypeCode = nameof(CQ_getRecordV2),
+ MahuaPlatform = MahuaPlatform.Cqp,
+ Data = new ReadOnlyDictionary(new Dictionary
+{
+{nameof(input.file), input.file},
+{nameof(input.outformat), input.outformat},
+}
+ )
+ }
+ ;
+ return _mahuaCenter.HandleMahuaInput(httpInput);
+ }
+ ///
+ /// 接收语音,并返回语音文件绝对路径
+ ///
+ public class CqpCQ_getRecordV2HttpInput
+ {
+ ///
+ /// 收到消息中的语音文件名(file)
+ ///
+ public string file { get; set; }
+ ///
+ /// 应用所需的格式
+ ///
+ public string outformat { get; set; }
+ }
+ ///
+ /// 接收图片,并返回图片文件绝对路径
+ ///
+ [HttpPost("CQ_getImage")]
+ public Task CQ_getImage([FromBody] CqpCQ_getImageHttpInput input)
+ {
+ var httpInput = new HttpInput
+ {
+ TypeCode = nameof(CQ_getImage),
+ MahuaPlatform = MahuaPlatform.Cqp,
+ Data = new ReadOnlyDictionary(new Dictionary
+{
+{nameof(input.file), input.file},
+}
+ )
+ }
+ ;
+ return _mahuaCenter.HandleMahuaInput(httpInput);
+ }
+ ///
+ /// 接收图片,并返回图片文件绝对路径
+ ///
+ public class CqpCQ_getImageHttpInput
+ {
+ ///
+ /// 收到消息中的图片文件名(file)
+ ///
+ public string file { get; set; }
+ }
+ ///
+ /// 是否支持发送图片,返回大于 0 为支持,等于 0 为不支持
+ ///
+ [HttpPost("CQ_canSendImage")]
+ public Task CQ_canSendImage([FromBody] CqpCQ_canSendImageHttpInput input)
+ {
+ var httpInput = new HttpInput
+ {
+ TypeCode = nameof(CQ_canSendImage),
+ MahuaPlatform = MahuaPlatform.Cqp,
+ Data = new ReadOnlyDictionary(new Dictionary
+ {
+ }
+ )
+ }
+ ;
+ return _mahuaCenter.HandleMahuaInput(httpInput);
+ }
+ ///
+ /// 是否支持发送图片,返回大于 0 为支持,等于 0 为不支持
+ ///
+ public class CqpCQ_canSendImageHttpInput
+ {
+ }
+ ///
+ /// 是否支持发送语音,返回大于 0 为支持,等于 0 为不支持
+ ///
+ [HttpPost("CQ_canSendRecord")]
+ public Task CQ_canSendRecord([FromBody] CqpCQ_canSendRecordHttpInput input)
+ {
+ var httpInput = new HttpInput
+ {
+ TypeCode = nameof(CQ_canSendRecord),
+ MahuaPlatform = MahuaPlatform.Cqp,
+ Data = new ReadOnlyDictionary(new Dictionary
+ {
+ }
+ )
+ }
+ ;
+ return _mahuaCenter.HandleMahuaInput(httpInput);
+ }
+ ///
+ /// 是否支持发送语音,返回大于 0 为支持,等于 0 为不支持
+ ///
+ public class CqpCQ_canSendRecordHttpInput
+ {
+ }
+ ///
/// 取CsrfToken(慎用
///
[HttpPost("CQ_getCsrfToken")]
@@ -292,7 +408,7 @@ public class CqpCQ_getAppDirectoryHttpInput
{
}
///
- /// 取登录QQ
+ /// 取登录帐号
///
[HttpPost("CQ_getLoginQQ")]
public Task CQ_getLoginQQ([FromBody] CqpCQ_getLoginQQHttpInput input)
@@ -310,7 +426,7 @@ public Task CQ_getLoginQQ([FromBody] CqpCQ_getLoginQQHttpInput input)
return _mahuaCenter.HandleMahuaInput(httpInput);
}
///
- /// 取登录QQ
+ /// 取登录帐号
///
public class CqpCQ_getLoginQQHttpInput
{
@@ -352,7 +468,7 @@ public Task CQ_setGroupKick([FromBody] CqpCQ_setGroupKickHttpInput input)
Data = new ReadOnlyDictionary(new Dictionary
{
{nameof(input.群号), input.群号},
-{nameof(input.QQID), input.QQID},
+{nameof(input.Account), input.Account},
{nameof(input.拒绝再加群), input.拒绝再加群},
}
)
@@ -370,9 +486,9 @@ public class CqpCQ_setGroupKickHttpInput
///
public long 群号 { get; set; }
///
- /// 目标QQ
+ /// 目标帐号
///
- public long QQID { get; set; }
+ public long Account { get; set; }
///
/// 如果为真,则“不再接收此人加群申请”,请慎用
///
@@ -391,7 +507,7 @@ public Task CQ_setGroupBan([FromBody] CqpCQ_setGroupBanHttpInput input)
Data = new ReadOnlyDictionary(new Dictionary
{
{nameof(input.群号), input.群号},
-{nameof(input.QQID), input.QQID},
+{nameof(input.Account), input.Account},
{nameof(input.禁言时间), input.禁言时间},
}
)
@@ -409,9 +525,9 @@ public class CqpCQ_setGroupBanHttpInput
///
public long 群号 { get; set; }
///
- /// 目标QQ
+ /// 目标帐号
///
- public long QQID { get; set; }
+ public long Account { get; set; }
///
/// 禁言的时间,单位为秒。如果要解禁,这里填写0
///
@@ -430,7 +546,7 @@ public Task CQ_setGroupAdmin([FromBody] CqpCQ_setGroupAdminHttpInput input)
Data = new ReadOnlyDictionary(new Dictionary
{
{nameof(input.群号), input.群号},
-{nameof(input.QQID), input.QQID},
+{nameof(input.Account), input.Account},
{nameof(input.成为管理员), input.成为管理员},
}
)
@@ -448,9 +564,9 @@ public class CqpCQ_setGroupAdminHttpInput
///
public long 群号 { get; set; }
///
- /// 被设置的QQ
+ /// 被设置的帐号
///
- public long QQID { get; set; }
+ public long Account { get; set; }
///
/// 真/设置管理员 假/取消管理员
///
@@ -469,7 +585,7 @@ public Task CQ_setGroupSpecialTitle([FromBody] CqpCQ_setGroupSpecialTitleHttpInp
Data = new ReadOnlyDictionary(new Dictionary
{
{nameof(input.群号), input.群号},
-{nameof(input.QQID), input.QQID},
+{nameof(input.Account), input.Account},
{nameof(input.头衔), input.头衔},
{nameof(input.过期时间), input.过期时间},
}
@@ -488,9 +604,9 @@ public class CqpCQ_setGroupSpecialTitleHttpInput
///
public long 群号 { get; set; }
///
- /// 目标QQ
+ /// 目标帐号
///
- public long QQID { get; set; }
+ public long Account { get; set; }
///
/// 如果要删除,这里填空
///
@@ -620,7 +736,7 @@ public Task CQ_setGroupCard([FromBody] CqpCQ_setGroupCardHttpInput input)
Data = new ReadOnlyDictionary(new Dictionary
{
{nameof(input.群号), input.群号},
-{nameof(input.QQID), input.QQID},
+{nameof(input.Account), input.Account},
{nameof(input.新名片_昵称), input.新名片_昵称},
}
)
@@ -638,9 +754,9 @@ public class CqpCQ_setGroupCardHttpInput
///
public long 群号 { get; set; }
///
- /// 被设置的QQ
+ /// 被设置的帐号
///
- public long QQID { get; set; }
+ public long Account { get; set; }
///
///
///
@@ -873,7 +989,7 @@ public Task CQ_getGroupMemberInfoV2([FromBody] CqpCQ_getGroupMemberInfoV2HttpInp
Data = new ReadOnlyDictionary(new Dictionary
{
{nameof(input.群号), input.群号},
-{nameof(input.QQID), input.QQID},
+{nameof(input.Account), input.Account},
{nameof(input.不使用缓存), input.不使用缓存},
}
)
@@ -887,13 +1003,13 @@ public Task CQ_getGroupMemberInfoV2([FromBody] CqpCQ_getGroupMemberInfoV2HttpInp
public class CqpCQ_getGroupMemberInfoV2HttpInput
{
///
- /// 目标QQ所在群
+ /// 目标帐号所在群
///
public long 群号 { get; set; }
///
- /// 目标QQ
+ /// 目标帐号
///
- public long QQID { get; set; }
+ public long Account { get; set; }
///
///
///
@@ -924,7 +1040,7 @@ public Task CQ_getGroupMemberList([FromBody] CqpCQ_getGroupMemberListHttpInput i
public class CqpCQ_getGroupMemberListHttpInput
{
///
- /// 目标QQ所在群
+ /// 目标帐号所在群
///
public long 群号 { get; set; }
}
@@ -953,6 +1069,35 @@ public class CqpCQ_getGroupListHttpInput
{
}
///
+ /// 取好友列表
+ ///
+ [HttpPost("CQ_getFriendList")]
+ public Task CQ_getFriendList([FromBody] CqpCQ_getFriendListHttpInput input)
+ {
+ var httpInput = new HttpInput
+ {
+ TypeCode = nameof(CQ_getFriendList),
+ MahuaPlatform = MahuaPlatform.Cqp,
+ Data = new ReadOnlyDictionary(new Dictionary
+{
+{nameof(input.reserved), input.reserved},
+}
+ )
+ }
+ ;
+ return _mahuaCenter.HandleMahuaInput(httpInput);
+ }
+ ///
+ /// 取好友列表
+ ///
+ public class CqpCQ_getFriendListHttpInput
+ {
+ ///
+ /// 保留参数,请传入“假”
+ ///
+ public bool reserved { get; set; }
+ }
+ ///
/// 取陌生人信息(支持缓存)
///
[HttpPost("CQ_getStrangerInfo")]
@@ -964,7 +1109,7 @@ public Task CQ_getStrangerInfo([FromBody] CqpCQ_getStrangerInfoHttpInput input)
MahuaPlatform = MahuaPlatform.Cqp,
Data = new ReadOnlyDictionary(new Dictionary
{
-{nameof(input.QQID), input.QQID},
+{nameof(input.Account), input.Account},
{nameof(input.不使用缓存), input.不使用缓存},
}
)
@@ -978,9 +1123,43 @@ public Task CQ_getStrangerInfo([FromBody] CqpCQ_getStrangerInfoHttpInput input)
public class CqpCQ_getStrangerInfoHttpInput
{
///
- /// 目标QQ
+ /// 目标帐号
+ ///
+ public long Account { get; set; }
+ ///
+ ///
///
- public long QQID { get; set; }
+ public bool 不使用缓存 { get; set; }
+ }
+ ///
+ /// 取群信息(支持缓存)
+ ///
+ [HttpPost("CQ_getGroupInfo")]
+ public Task CQ_getGroupInfo([FromBody] CqpCQ_getGroupInfoHttpInput input)
+ {
+ var httpInput = new HttpInput
+ {
+ TypeCode = nameof(CQ_getGroupInfo),
+ MahuaPlatform = MahuaPlatform.Cqp,
+ Data = new ReadOnlyDictionary(new Dictionary
+{
+{nameof(input.群号), input.群号},
+{nameof(input.不使用缓存), input.不使用缓存},
+}
+ )
+ }
+ ;
+ return _mahuaCenter.HandleMahuaInput(httpInput);
+ }
+ ///
+ /// 取群信息(支持缓存)
+ ///
+ public class CqpCQ_getGroupInfoHttpInput
+ {
+ ///
+ /// 目标群
+ ///
+ public long 群号 { get; set; }
///
///
///
diff --git a/src/Newbe.Mahua.InputReceivers.HttpApi/Services/Controllers/MpqController.cs b/src/Newbe.Mahua.InputReceivers.HttpApi/Services/Controllers/MpqController.cs
index dc9b144..bdf26c9 100644
--- a/src/Newbe.Mahua.InputReceivers.HttpApi/Services/Controllers/MpqController.cs
+++ b/src/Newbe.Mahua.InputReceivers.HttpApi/Services/Controllers/MpqController.cs
@@ -5,7 +5,7 @@
// this file is generate from tools, do not change this file
-// generate time 2019/01/23
+// generate time 2019/12/15
namespace Newbe.Mahua.InputReceivers.HttpApi.Services.Controllers.Mpq
{
@@ -471,6 +471,45 @@ public class MpqApi_ShutupHttpInput
public int 时长 { get; set; }
}
///
+ /// 根据群号+QQ判断指定群员是否被禁言 获取失败的情况下亦会返回假
+ ///
+ [HttpPost("Api_IsShutup")]
+ public Task Api_IsShutup([FromBody] MpqApi_IsShutupHttpInput input)
+ {
+ var httpInput = new HttpInput
+ {
+ TypeCode = nameof(Api_IsShutup),
+ MahuaPlatform = MahuaPlatform.Mpq,
+ Data = new ReadOnlyDictionary(new Dictionary
+{
+{nameof(input.响应的QQ), input.响应的QQ},
+{nameof(input.群号), input.群号},
+{nameof(input.QQ), input.QQ},
+}
+ )
+ }
+ ;
+ return _mahuaCenter.HandleMahuaInput(httpInput);
+ }
+ ///
+ /// 根据群号+QQ判断指定群员是否被禁言 获取失败的情况下亦会返回假
+ ///
+ public class MpqApi_IsShutupHttpInput
+ {
+ ///
+ ///
+ ///
+ public string 响应的QQ { get; set; }
+ ///
+ /// 欲判断对象所在群.
+ ///
+ public string 群号 { get; set; }
+ ///
+ /// 欲判断对象
+ ///
+ public string QQ { get; set; }
+ }
+ ///
/// 发群公告`
///
[HttpPost("Api_SetNotice")]
@@ -2348,6 +2387,60 @@ public class MpqApi_SendMusicHttpInput
///
/// `
///
+ [HttpPost("Api_SendXml")]
+ public Task Api_SendXml([FromBody] MpqApi_SendXmlHttpInput input)
+ {
+ var httpInput = new HttpInput
+ {
+ TypeCode = nameof(Api_SendXml),
+ MahuaPlatform = MahuaPlatform.Mpq,
+ Data = new ReadOnlyDictionary(new Dictionary
+{
+{nameof(input.响应的QQ), input.响应的QQ},
+{nameof(input.收信对象类型), input.收信对象类型},
+{nameof(input.收信对象所属群_讨论组), input.收信对象所属群_讨论组},
+{nameof(input.收信对象QQ), input.收信对象QQ},
+{nameof(input.ObjectMsg), input.ObjectMsg},
+{nameof(input.结构子类型), input.结构子类型},
+}
+ )
+ }
+ ;
+ return _mahuaCenter.HandleMahuaInput(httpInput);
+ }
+ ///
+ /// `
+ ///
+ public class MpqApi_SendXmlHttpInput
+ {
+ ///
+ ///
+ ///
+ public string 响应的QQ { get; set; }
+ ///
+ /// 同Api_SendMsg 1好友 2群 3讨论组 4群临时会话 5讨论组临时会话
+ ///
+ public int 收信对象类型 { get; set; }
+ ///
+ /// 发群内、临时会话必填 好友可不填
+ ///
+ public string 收信对象所属群_讨论组 { get; set; }
+ ///
+ /// 临时会话、好友必填 发至群内可不填
+ ///
+ public string 收信对象QQ { get; set; }
+ ///
+ ///
+ ///
+ public string ObjectMsg { get; set; }
+ ///
+ /// 00 基本 02 点歌 其他不明
+ ///
+ public int 结构子类型 { get; set; }
+ }
+ ///
+ /// `
+ ///
[HttpPost("Api_SendObjectMsg")]
public Task Api_SendObjectMsg([FromBody] MpqApi_SendObjectMsgHttpInput input)
{
@@ -2433,5 +2526,907 @@ public class MpqApi_IsFriendHttpInput
///
public string 对象QQ { get; set; }
}
+ ///
+ /// 主动加好友 成功返回真 失败返回假 当对象设置需要正确回答问题或不允许任何人添加时无条件失败
+ ///
+ [HttpPost("Api_AddFriend")]
+ public Task Api_AddFriend([FromBody] MpqApi_AddFriendHttpInput input)
+ {
+ var httpInput = new HttpInput
+ {
+ TypeCode = nameof(Api_AddFriend),
+ MahuaPlatform = MahuaPlatform.Mpq,
+ Data = new ReadOnlyDictionary(new Dictionary
+{
+{nameof(input.响应的QQ), input.响应的QQ},
+{nameof(input.对象QQ), input.对象QQ},
+{nameof(input.附加理由), input.附加理由},
+}
+ )
+ }
+ ;
+ return _mahuaCenter.HandleMahuaInput(httpInput);
+ }
+ ///
+ /// 主动加好友 成功返回真 失败返回假 当对象设置需要正确回答问题或不允许任何人添加时无条件失败
+ ///
+ public class MpqApi_AddFriendHttpInput
+ {
+ ///
+ /// 机器人QQ
+ ///
+ public string 响应的QQ { get; set; }
+ ///
+ /// 加谁
+ ///
+ public string 对象QQ { get; set; }
+ ///
+ /// 加好友提交的理由
+ ///
+ public string 附加理由 { get; set; }
+ }
+ ///
+ /// 无参 用于插件自身请求禁用插件自身
+ ///
+ [HttpPost("Api_SelfDisable")]
+ public Task Api_SelfDisable([FromBody] MpqApi_SelfDisableHttpInput input)
+ {
+ var httpInput = new HttpInput
+ {
+ TypeCode = nameof(Api_SelfDisable),
+ MahuaPlatform = MahuaPlatform.Mpq,
+ Data = new ReadOnlyDictionary(new Dictionary
+ {
+ }
+ )
+ }
+ ;
+ return _mahuaCenter.HandleMahuaInput(httpInput);
+ }
+ ///
+ /// 无参 用于插件自身请求禁用插件自身
+ ///
+ public class MpqApi_SelfDisableHttpInput
+ {
+ }
+ ///
+ /// 取协议客户端类型常量 失败返回0
+ ///
+ [HttpPost("Api_GetClientType")]
+ public Task Api_GetClientType([FromBody] MpqApi_GetClientTypeHttpInput input)
+ {
+ var httpInput = new HttpInput
+ {
+ TypeCode = nameof(Api_GetClientType),
+ MahuaPlatform = MahuaPlatform.Mpq,
+ Data = new ReadOnlyDictionary(new Dictionary
+ {
+ }
+ )
+ }
+ ;
+ return _mahuaCenter.HandleMahuaInput(httpInput);
+ }
+ ///
+ /// 取协议客户端类型常量 失败返回0
+ ///
+ public class MpqApi_GetClientTypeHttpInput
+ {
+ }
+ ///
+ /// 取协议客户端版本号常量 失败返回0
+ ///
+ [HttpPost("Api_GetClientVer")]
+ public Task Api_GetClientVer([FromBody] MpqApi_GetClientVerHttpInput input)
+ {
+ var httpInput = new HttpInput
+ {
+ TypeCode = nameof(Api_GetClientVer),
+ MahuaPlatform = MahuaPlatform.Mpq,
+ Data = new ReadOnlyDictionary(new Dictionary
+ {
+ }
+ )
+ }
+ ;
+ return _mahuaCenter.HandleMahuaInput(httpInput);
+ }
+ ///
+ /// 取协议客户端版本号常量 失败返回0
+ ///
+ public class MpqApi_GetClientVerHttpInput
+ {
+ }
+ ///
+ /// 取协议客户端公开版本号常量 失败返回0
+ ///
+ [HttpPost("Api_GetPubNo")]
+ public Task Api_GetPubNo([FromBody] MpqApi_GetPubNoHttpInput input)
+ {
+ var httpInput = new HttpInput
+ {
+ TypeCode = nameof(Api_GetPubNo),
+ MahuaPlatform = MahuaPlatform.Mpq,
+ Data = new ReadOnlyDictionary(new Dictionary
+ {
+ }
+ )
+ }
+ ;
+ return _mahuaCenter.HandleMahuaInput(httpInput);
+ }
+ ///
+ /// 取协议客户端公开版本号常量 失败返回0
+ ///
+ public class MpqApi_GetPubNoHttpInput
+ {
+ }
+ ///
+ /// 取协议客户端主版本号常量 失败返回0
+ ///
+ [HttpPost("Api_GetMainVer")]
+ public Task Api_GetMainVer([FromBody] MpqApi_GetMainVerHttpInput input)
+ {
+ var httpInput = new HttpInput
+ {
+ TypeCode = nameof(Api_GetMainVer),
+ MahuaPlatform = MahuaPlatform.Mpq,
+ Data = new ReadOnlyDictionary(new Dictionary
+ {
+ }
+ )
+ }
+ ;
+ return _mahuaCenter.HandleMahuaInput(httpInput);
+ }
+ ///
+ /// 取协议客户端主版本号常量 失败返回0
+ ///
+ public class MpqApi_GetMainVerHttpInput
+ {
+ }
+ ///
+ /// 取协议客户端通信模块(TXSSO)版本号常量 失败返回0
+ ///
+ [HttpPost("Api_GetTXSSOVer")]
+ public Task Api_GetTXSSOVer([FromBody] MpqApi_GetTXSSOVerHttpInput input)
+ {
+ var httpInput = new HttpInput
+ {
+ TypeCode = nameof(Api_GetTXSSOVer),
+ MahuaPlatform = MahuaPlatform.Mpq,
+ Data = new ReadOnlyDictionary(new Dictionary
+ {
+ }
+ )
+ }
+ ;
+ return _mahuaCenter.HandleMahuaInput(httpInput);
+ }
+ ///
+ /// 取协议客户端通信模块(TXSSO)版本号常量 失败返回0
+ ///
+ public class MpqApi_GetTXSSOVerHttpInput
+ {
+ }
+ ///
+ /// 通过音频、语音guid取得下载连接
+ ///
+ [HttpPost("Api_GuidGetVoiceLink")]
+ public Task Api_GuidGetVoiceLink([FromBody] MpqApi_GuidGetVoiceLinkHttpInput input)
+ {
+ var httpInput = new HttpInput
+ {
+ TypeCode = nameof(Api_GuidGetVoiceLink),
+ MahuaPlatform = MahuaPlatform.Mpq,
+ Data = new ReadOnlyDictionary(new Dictionary
+{
+{nameof(input.响应的QQ), input.响应的QQ},
+{nameof(input.GUID), input.GUID},
+}
+ )
+ }
+ ;
+ return _mahuaCenter.HandleMahuaInput(httpInput);
+ }
+ ///
+ /// 通过音频、语音guid取得下载连接
+ ///
+ public class MpqApi_GuidGetVoiceLinkHttpInput
+ {
+ ///
+ ///
+ ///
+ public string 响应的QQ { get; set; }
+ ///
+ /// 格式:{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx}.amr
+ ///
+ public string GUID { get; set; }
+ }
+ ///
+ /// 上传音频文件 成功返回guid用于发送
+ ///
+ [HttpPost("Api_UploadVoice")]
+ public Task Api_UploadVoice([FromBody] MpqApi_UploadVoiceHttpInput input)
+ {
+ var httpInput = new HttpInput
+ {
+ TypeCode = nameof(Api_UploadVoice),
+ MahuaPlatform = MahuaPlatform.Mpq,
+ Data = new ReadOnlyDictionary(new Dictionary
+{
+{nameof(input.响应的QQ), input.响应的QQ},
+{nameof(input.amr音频数据), input.amr音频数据},
+}
+ )
+ }
+ ;
+ return _mahuaCenter.HandleMahuaInput(httpInput);
+ }
+ ///
+ /// 上传音频文件 成功返回guid用于发送
+ ///
+ public class MpqApi_UploadVoiceHttpInput
+ {
+ ///
+ ///
+ ///
+ public string 响应的QQ { get; set; }
+ ///
+ /// 音频字节集数据
+ ///
+ public string amr音频数据 { get; set; }
+ }
+ ///
+ /// 移除由Api_AddLogHandler添加、设置的日志处理函数
+ ///
+ [HttpPost("Api_RemoveLogHandler")]
+ public Task Api_RemoveLogHandler([FromBody] MpqApi_RemoveLogHandlerHttpInput input)
+ {
+ var httpInput = new HttpInput
+ {
+ TypeCode = nameof(Api_RemoveLogHandler),
+ MahuaPlatform = MahuaPlatform.Mpq,
+ Data = new ReadOnlyDictionary(new Dictionary
+ {
+ }
+ )
+ }
+ ;
+ return _mahuaCenter.HandleMahuaInput(httpInput);
+ }
+ ///
+ /// 移除由Api_AddLogHandler添加、设置的日志处理函数
+ ///
+ public class MpqApi_RemoveLogHandlerHttpInput
+ {
+ }
+ ///
+ /// 取群名
+ ///
+ [HttpPost("Api_GetGroupName")]
+ public Task Api_GetGroupName([FromBody] MpqApi_GetGroupNameHttpInput input)
+ {
+ var httpInput = new HttpInput
+ {
+ TypeCode = nameof(Api_GetGroupName),
+ MahuaPlatform = MahuaPlatform.Mpq,
+ Data = new ReadOnlyDictionary(new Dictionary
+{
+{nameof(input.响应的QQ), input.响应的QQ},
+{nameof(input.群号), input.群号},
+}
+ )
+ }
+ ;
+ return _mahuaCenter.HandleMahuaInput(httpInput);
+ }
+ ///
+ /// 取群名
+ ///
+ public class MpqApi_GetGroupNameHttpInput
+ {
+ ///
+ ///
+ ///
+ public string 响应的QQ { get; set; }
+ ///
+ ///
+ ///
+ public string 群号 { get; set; }
+ }
+ ///
+ /// 移除/取消由Api_SetMsgFilter所添加/设置的处理函数
+ ///
+ [HttpPost("Api_RemoveMsgFilter")]
+ public Task Api_RemoveMsgFilter([FromBody] MpqApi_RemoveMsgFilterHttpInput input)
+ {
+ var httpInput = new HttpInput
+ {
+ TypeCode = nameof(Api_RemoveMsgFilter),
+ MahuaPlatform = MahuaPlatform.Mpq,
+ Data = new ReadOnlyDictionary(new Dictionary
+ {
+ }
+ )
+ }
+ ;
+ return _mahuaCenter.HandleMahuaInput(httpInput);
+ }
+ ///
+ /// 移除/取消由Api_SetMsgFilter所添加/设置的处理函数
+ ///
+ public class MpqApi_RemoveMsgFilterHttpInput
+ {
+ }
+ ///
+ /// QQ名片赞 10赞每Q每日 至多50人/日系列 成功返回空 失败返回理由(腾讯爸爸给出的) 一次一赞 速度请自行管控以免冻结
+ ///
+ [HttpPost("Api_Like")]
+ public Task Api_Like([FromBody] MpqApi_LikeHttpInput input)
+ {
+ var httpInput = new HttpInput
+ {
+ TypeCode = nameof(Api_Like),
+ MahuaPlatform = MahuaPlatform.Mpq,
+ Data = new ReadOnlyDictionary(new Dictionary
+{
+{nameof(input.参_响应的QQ), input.参_响应的QQ},
+{nameof(input.参_被赞QQ), input.参_被赞QQ},
+}
+ )
+ }
+ ;
+ return _mahuaCenter.HandleMahuaInput(httpInput);
+ }
+ ///
+ /// QQ名片赞 10赞每Q每日 至多50人/日系列 成功返回空 失败返回理由(腾讯爸爸给出的) 一次一赞 速度请自行管控以免冻结
+ ///
+ public class MpqApi_LikeHttpInput
+ {
+ ///
+ ///
+ ///
+ public string 参_响应的QQ { get; set; }
+ ///
+ ///
+ ///
+ public string 参_被赞QQ { get; set; }
+ }
+ ///
+ /// 上传群文件
+ ///
+ [HttpPost("Api_UploadGroupFile")]
+ public Task Api_UploadGroupFile([FromBody] MpqApi_UploadGroupFileHttpInput input)
+ {
+ var httpInput = new HttpInput
+ {
+ TypeCode = nameof(Api_UploadGroupFile),
+ MahuaPlatform = MahuaPlatform.Mpq,
+ Data = new ReadOnlyDictionary(new Dictionary
+{
+{nameof(input.参_响应的QQ), input.参_响应的QQ},
+{nameof(input.参_群号), input.参_群号},
+{nameof(input.参_上传文件名), input.参_上传文件名},
+{nameof(input.参_路径), input.参_路径},
+{nameof(input.参_图片数据), input.参_图片数据},
+}
+ )
+ }
+ ;
+ return _mahuaCenter.HandleMahuaInput(httpInput);
+ }
+ ///
+ /// 上传群文件
+ ///
+ public class MpqApi_UploadGroupFileHttpInput
+ {
+ ///
+ ///
+ ///
+ public string 参_响应的QQ { get; set; }
+ ///
+ ///
+ ///
+ public string 参_群号 { get; set; }
+ ///
+ /// 实际显示在群文件列表中的文件名
+ ///
+ public string 参_上传文件名 { get; set; }
+ ///
+ /// 本地文件路径 选填
+ ///
+ public string 参_路径 { get; set; }
+ ///
+ /// 图片字节集数据 选填
+ ///
+ public string 参_图片数据 { get; set; }
+ }
+ ///
+ /// 根据图片GUID取得图片下载连接 失败返回空
+ ///
+ [HttpPost("Api_GuidGetPicLinkEx")]
+ public Task Api_GuidGetPicLinkEx([FromBody] MpqApi_GuidGetPicLinkExHttpInput input)
+ {
+ var httpInput = new HttpInput
+ {
+ TypeCode = nameof(Api_GuidGetPicLinkEx),
+ MahuaPlatform = MahuaPlatform.Mpq,
+ Data = new ReadOnlyDictionary(new Dictionary
+{
+{nameof(input.参_图片GUID), input.参_图片GUID},
+{nameof(input.参_图片类型), input.参_图片类型},
+{nameof(input.参_图片参考对象), input.参_图片参考对象},
+}
+ )
+ }
+ ;
+ return _mahuaCenter.HandleMahuaInput(httpInput);
+ }
+ ///
+ /// 根据图片GUID取得图片下载连接 失败返回空
+ ///
+ public class MpqApi_GuidGetPicLinkExHttpInput
+ {
+ ///
+ /// {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}.jpg这样的GUID
+ ///
+ public string 参_图片GUID { get; set; }
+ ///
+ /// 1好友/临时会话图片 2 群图
+ ///
+ public int 参_图片类型 { get; set; }
+ ///
+ /// 好友QQ或群号 根据参数2填写
+ ///
+ public string 参_图片参考对象 { get; set; }
+ }
+ ///
+ /// 撤回群信息 需为群管
+ ///
+ [HttpPost("Api_CancelGroupMsgA")]
+ public Task Api_CancelGroupMsgA([FromBody] MpqApi_CancelGroupMsgAHttpInput input)
+ {
+ var httpInput = new HttpInput
+ {
+ TypeCode = nameof(Api_CancelGroupMsgA),
+ MahuaPlatform = MahuaPlatform.Mpq,
+ Data = new ReadOnlyDictionary(new Dictionary
+{
+{nameof(input.响应的QQ), input.响应的QQ},
+{nameof(input.原始信息), input.原始信息},
+}
+ )
+ }
+ ;
+ return _mahuaCenter.HandleMahuaInput(httpInput);
+ }
+ ///
+ /// 撤回群信息 需为群管
+ ///
+ public class MpqApi_CancelGroupMsgAHttpInput
+ {
+ ///
+ /// 机器人QQ
+ ///
+ public string 响应的QQ { get; set; }
+ ///
+ /// Event函数中的'参_原始信息' 经过解密后的封包字节数据
+ ///
+ public string 原始信息 { get; set; }
+ }
+ ///
+ /// 取得用于登陆腾讯子业务的Cookies 如xxx.qq.com
+ ///
+ [HttpPost("Api_GetCookiesByDomain")]
+ public Task Api_GetCookiesByDomain([FromBody] MpqApi_GetCookiesByDomainHttpInput input)
+ {
+ var httpInput = new HttpInput
+ {
+ TypeCode = nameof(Api_GetCookiesByDomain),
+ MahuaPlatform = MahuaPlatform.Mpq,
+ Data = new ReadOnlyDictionary(new Dictionary
+{
+{nameof(input.响应的QQ), input.响应的QQ},
+{nameof(input.域名), input.域名},
+}
+ )
+ }
+ ;
+ return _mahuaCenter.HandleMahuaInput(httpInput);
+ }
+ ///
+ /// 取得用于登陆腾讯子业务的Cookies 如xxx.qq.com
+ ///
+ public class MpqApi_GetCookiesByDomainHttpInput
+ {
+ ///
+ ///
+ ///
+ public string 响应的QQ { get; set; }
+ ///
+ /// 如qun.qq.com
+ ///
+ public string 域名 { get; set; }
+ }
+ ///
+ ///
+ ///
+ [HttpPost("Api_ChangeProtocol")]
+ public Task Api_ChangeProtocol([FromBody] MpqApi_ChangeProtocolHttpInput input)
+ {
+ var httpInput = new HttpInput
+ {
+ TypeCode = nameof(Api_ChangeProtocol),
+ MahuaPlatform = MahuaPlatform.Mpq,
+ Data = new ReadOnlyDictionary(new Dictionary
+{
+{nameof(input.i), input.i},
+}
+ )
+ }
+ ;
+ return _mahuaCenter.HandleMahuaInput(httpInput);
+ }
+ ///
+ ///
+ ///
+ public class MpqApi_ChangeProtocolHttpInput
+ {
+ ///
+ ///
+ ///
+ public int i { get; set; }
+ }
+ ///
+ /// 从框架中删除QQ
+ ///
+ [HttpPost("Api_DeleteQQ")]
+ public Task Api_DeleteQQ([FromBody] MpqApi_DeleteQQHttpInput input)
+ {
+ var httpInput = new HttpInput
+ {
+ TypeCode = nameof(Api_DeleteQQ),
+ MahuaPlatform = MahuaPlatform.Mpq,
+ Data = new ReadOnlyDictionary(new Dictionary
+{
+{nameof(input.被操作QQ), input.被操作QQ},
+}
+ )
+ }
+ ;
+ return _mahuaCenter.HandleMahuaInput(httpInput);
+ }
+ ///
+ /// 从框架中删除QQ
+ ///
+ public class MpqApi_DeleteQQHttpInput
+ {
+ ///
+ ///
+ ///
+ public string 被操作QQ { get; set; }
+ }
+ ///
+ ///
+ ///
+ [HttpPost("Api_SendAppMsg")]
+ public Task Api_SendAppMsg([FromBody] MpqApi_SendAppMsgHttpInput input)
+ {
+ var httpInput = new HttpInput
+ {
+ TypeCode = nameof(Api_SendAppMsg),
+ MahuaPlatform = MahuaPlatform.Mpq,
+ Data = new ReadOnlyDictionary(new Dictionary
+{
+{nameof(input.响应的QQ), input.响应的QQ},
+{nameof(input.收信对象类型), input.收信对象类型},
+{nameof(input.信对象所属群_讨论组), input.信对象所属群_讨论组},
+{nameof(input.收信对象QQ), input.收信对象QQ},
+{nameof(input.AppMsg), input.AppMsg},
+}
+ )
+ }
+ ;
+ return _mahuaCenter.HandleMahuaInput(httpInput);
+ }
+ ///
+ ///
+ ///
+ public class MpqApi_SendAppMsgHttpInput
+ {
+ ///
+ ///
+ ///
+ public string 响应的QQ { get; set; }
+ ///
+ /// 同Api_SendMsg 1好友 2群 3讨论组 4群临时会话 5讨论组临时会话
+ ///
+ public int 收信对象类型 { get; set; }
+ ///
+ /// 文本型, , 发群内、临时会话必填 好友可不填
+ ///
+ public string 信对象所属群_讨论组 { get; set; }
+ ///
+ /// 临时会话、好友必填 发至群内可不填
+ ///
+ public string 收信对象QQ { get; set; }
+ ///
+ ///
+ ///
+ public string AppMsg { get; set; }
+ }
+ ///
+ /// 取生日 失败返回空 未公开生日信息返回 \"0 年0月0日\
+ ///
+ [HttpPost("Api_GetBirthday")]
+ public Task Api_GetBirthday([FromBody] MpqApi_GetBirthdayHttpInput input)
+ {
+ var httpInput = new HttpInput
+ {
+ TypeCode = nameof(Api_GetBirthday),
+ MahuaPlatform = MahuaPlatform.Mpq,
+ Data = new ReadOnlyDictionary(new Dictionary
+{
+{nameof(input.响应的QQ), input.响应的QQ},
+{nameof(input.QQ), input.QQ},
+}
+ )
+ }
+ ;
+ return _mahuaCenter.HandleMahuaInput(httpInput);
+ }
+ ///
+ /// 取生日 失败返回空 未公开生日信息返回 \"0 年0月0日\
+ ///
+ public class MpqApi_GetBirthdayHttpInput
+ {
+ ///
+ ///
+ ///
+ public string 响应的QQ { get; set; }
+ ///
+ ///
+ ///
+ public string QQ { get; set; }
+ }
+ ///
+ /// 取用户个人信息页面字节数据 包含各种资料 返回内容为原始明文数据
+ ///
+ [HttpPost("Api_GetUserInfo")]
+ public Task Api_GetUserInfo([FromBody] MpqApi_GetUserInfoHttpInput input)
+ {
+ var httpInput = new HttpInput
+ {
+ TypeCode = nameof(Api_GetUserInfo),
+ MahuaPlatform = MahuaPlatform.Mpq,
+ Data = new ReadOnlyDictionary(new Dictionary
+{
+{nameof(input.响应的QQ), input.响应的QQ},
+{nameof(input.QQ), input.QQ},
+}
+ )
+ }
+ ;
+ return _mahuaCenter.HandleMahuaInput(httpInput);
+ }
+ ///
+ /// 取用户个人信息页面字节数据 包含各种资料 返回内容为原始明文数据
+ ///
+ public class MpqApi_GetUserInfoHttpInput
+ {
+ ///
+ ///
+ ///
+ public string 响应的QQ { get; set; }
+ ///
+ ///
+ ///
+ public string QQ { get; set; }
+ }
+ ///
+ ///
+ ///
+ [HttpPost("Api_GetFriendListA")]
+ public Task Api_GetFriendListA([FromBody] MpqApi_GetFriendListAHttpInput input)
+ {
+ var httpInput = new HttpInput
+ {
+ TypeCode = nameof(Api_GetFriendListA),
+ MahuaPlatform = MahuaPlatform.Mpq,
+ Data = new ReadOnlyDictionary(new Dictionary
+{
+{nameof(input.响应的QQ), input.响应的QQ},
+}
+ )
+ }
+ ;
+ return _mahuaCenter.HandleMahuaInput(httpInput);
+ }
+ ///
+ ///
+ ///
+ public class MpqApi_GetFriendListAHttpInput
+ {
+ ///
+ ///
+ ///
+ public string 响应的QQ { get; set; }
+ }
+ ///
+ /// 仅商用版可用
+ ///
+ [HttpPost("Api_GetLoginQRCode")]
+ public Task Api_GetLoginQRCode([FromBody] MpqApi_GetLoginQRCodeHttpInput input)
+ {
+ var httpInput = new HttpInput
+ {
+ TypeCode = nameof(Api_GetLoginQRCode),
+ MahuaPlatform = MahuaPlatform.Mpq,
+ Data = new ReadOnlyDictionary(new Dictionary
+ {
+ }
+ )
+ }
+ ;
+ return _mahuaCenter.HandleMahuaInput(httpInput);
+ }
+ ///
+ /// 仅商用版可用
+ ///
+ public class MpqApi_GetLoginQRCodeHttpInput
+ {
+ }
+ ///
+ /// 仅商用版可用 上传头像 接受字节集参数 返回值:0 上传成功 -1参数有误 -2图片大于1MB -3获取上传令牌失败受限 -4其他理由上传失败
+ ///
+ [HttpPost("Api_UploadCface_Byte")]
+ public Task Api_UploadCface_Byte([FromBody] MpqApi_UploadCface_ByteHttpInput input)
+ {
+ var httpInput = new HttpInput
+ {
+ TypeCode = nameof(Api_UploadCface_Byte),
+ MahuaPlatform = MahuaPlatform.Mpq,
+ Data = new ReadOnlyDictionary(new Dictionary
+{
+{nameof(input.参_响应的QQ), input.参_响应的QQ},
+{nameof(input.参_图片数据), input.参_图片数据},
+}
+ )
+ }
+ ;
+ return _mahuaCenter.HandleMahuaInput(httpInput);
+ }
+ ///
+ /// 仅商用版可用 上传头像 接受字节集参数 返回值:0 上传成功 -1参数有误 -2图片大于1MB -3获取上传令牌失败受限 -4其他理由上传失败
+ ///
+ public class MpqApi_UploadCface_ByteHttpInput
+ {
+ ///
+ /// 机器人QQ
+ ///
+ public string 参_响应的QQ { get; set; }
+ ///
+ /// 图片字节集数据,由于易语言DLL限制你可能在这里读到的是\"整数型\" 请自己改成字节集,图片不限PNG JPG 大小1MB以内
+ ///
+ public int 参_图片数据 { get; set; }
+ }
+ ///
+ /// 仅商用版可用 上传头像 接受路径参数 URL 或 本地路径 返回值:0 上传成功 -1参数有误 -2图片大于1MB -3获取上传令牌失败受限 -4其他理由上传失败
+ ///
+ [HttpPost("Api_UploadCface_Path")]
+ public Task Api_UploadCface_Path([FromBody] MpqApi_UploadCface_PathHttpInput input)
+ {
+ var httpInput = new HttpInput
+ {
+ TypeCode = nameof(Api_UploadCface_Path),
+ MahuaPlatform = MahuaPlatform.Mpq,
+ Data = new ReadOnlyDictionary(new Dictionary
+{
+{nameof(input.参_响应的QQ), input.参_响应的QQ},
+{nameof(input.参_图片路径), input.参_图片路径},
+}
+ )
+ }
+ ;
+ return _mahuaCenter.HandleMahuaInput(httpInput);
+ }
+ ///
+ /// 仅商用版可用 上传头像 接受路径参数 URL 或 本地路径 返回值:0 上传成功 -1参数有误 -2图片大于1MB -3获取上传令牌失败受限 -4其他理由上传失败
+ ///
+ public class MpqApi_UploadCface_PathHttpInput
+ {
+ ///
+ /// 机器人QQ
+ ///
+ public string 参_响应的QQ { get; set; }
+ ///
+ /// 路径 可选URL 或 本地路径 http://www.baidu,com/图片.jpg C:/1.jpg,
+ ///
+ public string 参_图片路径 { get; set; }
+ }
+ ///
+ /// 异步处理被加好友事件 在事件1001下返回值需>30 如50 以强制忽略且确保无其他插件处理
+ ///
+ [HttpPost("Api_HandleFriendRequestAsync")]
+ public Task Api_HandleFriendRequestAsync([FromBody] MpqApi_HandleFriendRequestAsyncHttpInput input)
+ {
+ var httpInput = new HttpInput
+ {
+ TypeCode = nameof(Api_HandleFriendRequestAsync),
+ MahuaPlatform = MahuaPlatform.Mpq,
+ Data = new ReadOnlyDictionary(new Dictionary
+{
+{nameof(input.参_原始信息), input.参_原始信息},
+{nameof(input.参_处理方式), input.参_处理方式},
+{nameof(input.参_附加信息), input.参_附加信息},
+}
+ )
+ }
+ ;
+ return _mahuaCenter.HandleMahuaInput(httpInput);
+ }
+ ///
+ /// 异步处理被加好友事件 在事件1001下返回值需>30 如50 以强制忽略且确保无其他插件处理
+ ///
+ public class MpqApi_HandleFriendRequestAsyncHttpInput
+ {
+ ///
+ /// 在事件1001下取得 参_原始信息 填入
+ ///
+ public string 参_原始信息 { get; set; }
+ ///
+ /// 0忽略 10同意 20拒绝 30单向同意(成为单向好友)
+ ///
+ public int 参_处理方式 { get; set; }
+ ///
+ /// 拒绝时的附加理由 可以留空
+ ///
+ public string 参_附加信息 { get; set; }
+ }
+ ///
+ /// 异步处理被加群类事件 在事件200x下返回值需>30 如50 以强制忽略且确保无其他插件处理
+ ///
+ [HttpPost("Api_HandleGroupRequestAsync")]
+ public Task Api_HandleGroupRequestAsync([FromBody] MpqApi_HandleGroupRequestAsyncHttpInput input)
+ {
+ var httpInput = new HttpInput
+ {
+ TypeCode = nameof(Api_HandleGroupRequestAsync),
+ MahuaPlatform = MahuaPlatform.Mpq,
+ Data = new ReadOnlyDictionary(new Dictionary
+{
+{nameof(input.参_响应的QQ), input.参_响应的QQ},
+{nameof(input.参_原始信息), input.参_原始信息},
+{nameof(input.参_处理方式), input.参_处理方式},
+{nameof(input.参_附加信息), input.参_附加信息},
+}
+ )
+ }
+ ;
+ return _mahuaCenter.HandleMahuaInput(httpInput);
+ }
+ ///
+ /// 异步处理被加群类事件 在事件200x下返回值需>30 如50 以强制忽略且确保无其他插件处理
+ ///
+ public class MpqApi_HandleGroupRequestAsyncHttpInput
+ {
+ ///
+ /// 机器人QQ
+ ///
+ public string 参_响应的QQ { get; set; }
+ ///
+ /// 在事件200x下取得 参_原始信息 填入
+ ///
+ public string 参_原始信息 { get; set; }
+ ///
+ /// 0忽略 10同意 20拒绝 30拒绝并不再接受
+ ///
+ public int 参_处理方式 { get; set; }
+ ///
+ /// 拒绝时的附加理由 可以留空
+ ///
+ public string 参_附加信息 { get; set; }
+ }
}
}
diff --git a/src/Newbe.Mahua.InputReceivers.HttpApi/Services/Controllers/QQLightController.cs b/src/Newbe.Mahua.InputReceivers.HttpApi/Services/Controllers/QQLightController.cs
index 2fb70d1..acd80d4 100644
--- a/src/Newbe.Mahua.InputReceivers.HttpApi/Services/Controllers/QQLightController.cs
+++ b/src/Newbe.Mahua.InputReceivers.HttpApi/Services/Controllers/QQLightController.cs
@@ -5,7 +5,7 @@
// this file is generate from tools, do not change this file
-// generate time 2019/01/23
+// generate time 2019/12/15
namespace Newbe.Mahua.InputReceivers.HttpApi.Services.Controllers.QQLight
{
@@ -21,7 +21,7 @@ public QQLightController(
_mahuaCenter = mahuaCenter;
}
///
- ///
+ /// //给QQ点名片赞,PCQQ点赞不稳定,容易失效
///
[HttpPost("Api_SendPraise")]
public Task Api_SendPraise([FromBody] QQLightApi_SendPraiseHttpInput input)
@@ -32,7 +32,7 @@ public Task Api_SendPraise([FromBody] QQLightApi_SendPraiseHttpInput input)
MahuaPlatform = MahuaPlatform.QQLight,
Data = new ReadOnlyDictionary(new Dictionary
{
-{nameof(input.QQ号), input.QQ号},
+{nameof(input.QQID), input.QQID},
}
)
}
@@ -40,17 +40,17 @@ public Task Api_SendPraise([FromBody] QQLightApi_SendPraiseHttpInput input)
return _mahuaCenter.HandleMahuaInput(httpInput);
}
///
- ///
+ /// //给QQ点名片赞,PCQQ点赞不稳定,容易失效
///
public class QQLightApi_SendPraiseHttpInput
{
///
///
///
- public string QQ号 { get; set; }
+ public string QQID { get; set; }
}
///
- ///
+ /// //抖动好友窗口
///
[HttpPost("Api_SendShake")]
public Task Api_SendShake([FromBody] QQLightApi_SendShakeHttpInput input)
@@ -61,7 +61,7 @@ public Task Api_SendShake([FromBody] QQLightApi_SendShakeHttpInput input)
MahuaPlatform = MahuaPlatform.QQLight,
Data = new ReadOnlyDictionary(new Dictionary
{
-{nameof(input.QQ号), input.QQ号},
+{nameof(input.QQID), input.QQID},
}
)
}
@@ -69,17 +69,17 @@ public Task Api_SendShake([FromBody] QQLightApi_SendShakeHttpInput input)
return _mahuaCenter.HandleMahuaInput(httpInput);
}
///
- ///
+ /// //抖动好友窗口
///
public class QQLightApi_SendShakeHttpInput
{
///
///
///
- public string QQ号 { get; set; }
+ public string QQID { get; set; }
}
///
- ///
+ /// //取得网页操作时需要用到的bkn/Gtk
///
[HttpPost("Api_Getbkn")]
public Task Api_Getbkn([FromBody] QQLightApi_GetbknHttpInput input)
@@ -89,21 +89,55 @@ public Task Api_Getbkn([FromBody] QQLightApi_GetbknHttpInput input)
TypeCode = nameof(Api_Getbkn),
MahuaPlatform = MahuaPlatform.QQLight,
Data = new ReadOnlyDictionary(new Dictionary
- {
- }
+{
+{nameof(input.Cookies), input.Cookies},
+}
)
}
;
return _mahuaCenter.HandleMahuaInput(httpInput);
}
///
- ///
+ /// //取得网页操作时需要用到的bkn/Gtk
///
public class QQLightApi_GetbknHttpInput
{
+ ///
+ ///
+ ///
+ public string Cookies { get; set; }
}
///
- ///
+ /// //取得网页操作时需要用到的bkn/Gtk
+ ///
+ [HttpPost("Api_Getbkn_Long")]
+ public Task Api_Getbkn_Long([FromBody] QQLightApi_Getbkn_LongHttpInput input)
+ {
+ var httpInput = new HttpInput
+ {
+ TypeCode = nameof(Api_Getbkn_Long),
+ MahuaPlatform = MahuaPlatform.QQLight,
+ Data = new ReadOnlyDictionary(new Dictionary
+{
+{nameof(input.Cookies), input.Cookies},
+}
+ )
+ }
+ ;
+ return _mahuaCenter.HandleMahuaInput(httpInput);
+ }
+ ///
+ /// //取得网页操作时需要用到的bkn/Gtk
+ ///
+ public class QQLightApi_Getbkn_LongHttpInput
+ {
+ ///
+ ///
+ ///
+ public string Cookies { get; set; }
+ }
+ ///
+ /// //退出群
///
[HttpPost("Api_QuitGroup")]
public Task Api_QuitGroup([FromBody] QQLightApi_QuitGroupHttpInput input)
@@ -114,7 +148,7 @@ public Task Api_QuitGroup([FromBody] QQLightApi_QuitGroupHttpInput input)
MahuaPlatform = MahuaPlatform.QQLight,
Data = new ReadOnlyDictionary(new Dictionary
{
-{nameof(input.群号), input.群号},
+{nameof(input.GroupID), input.GroupID},
}
)
}
@@ -122,17 +156,17 @@ public Task Api_QuitGroup([FromBody] QQLightApi_QuitGroupHttpInput input)
return _mahuaCenter.HandleMahuaInput(httpInput);
}
///
- ///
+ /// //退出群
///
public class QQLightApi_QuitGroupHttpInput
{
///
///
///
- public string 群号 { get; set; }
+ public string GroupID { get; set; }
}
///
- ///
+ /// //退出讨论组
///
[HttpPost("Api_QuitDiscussGroup")]
public Task Api_QuitDiscussGroup([FromBody] QQLightApi_QuitDiscussGroupHttpInput input)
@@ -143,7 +177,7 @@ public Task Api_QuitDiscussGroup([FromBody] QQLightApi_QuitDiscussGroupHttpInput
MahuaPlatform = MahuaPlatform.QQLight,
Data = new ReadOnlyDictionary(new Dictionary
{
-{nameof(input.讨论组号), input.讨论组号},
+{nameof(input.GroupID), input.GroupID},
}
)
}
@@ -151,17 +185,17 @@ public Task Api_QuitDiscussGroup([FromBody] QQLightApi_QuitDiscussGroupHttpInput
return _mahuaCenter.HandleMahuaInput(httpInput);
}
///
- ///
+ /// //退出讨论组
///
public class QQLightApi_QuitDiscussGroupHttpInput
{
///
///
///
- public string 讨论组号 { get; set; }
+ public string GroupID { get; set; }
}
///
- ///
+ /// //修改个性签名
///
[HttpPost("Api_SetSignature")]
public Task Api_SetSignature([FromBody] QQLightApi_SetSignatureHttpInput input)
@@ -172,7 +206,7 @@ public Task Api_SetSignature([FromBody] QQLightApi_SetSignatureHttpInput input)
MahuaPlatform = MahuaPlatform.QQLight,
Data = new ReadOnlyDictionary(new Dictionary
{
-{nameof(input.个性签名), input.个性签名},
+{nameof(input.Signature), input.Signature},
}
)
}
@@ -180,17 +214,17 @@ public Task Api_SetSignature([FromBody] QQLightApi_SetSignatureHttpInput input)
return _mahuaCenter.HandleMahuaInput(httpInput);
}
///
- ///
+ /// //修改个性签名
///
public class QQLightApi_SetSignatureHttpInput
{
///
///
///
- public string 个性签名 { get; set; }
+ public string Signature { get; set; }
}
///
- ///
+ /// //修改讨论组名称
///
[HttpPost("Api_SetDiscussName")]
public Task Api_SetDiscussName([FromBody] QQLightApi_SetDiscussNameHttpInput input)
@@ -201,8 +235,8 @@ public Task Api_SetDiscussName([FromBody] QQLightApi_SetDiscussNameHttpInput inp
MahuaPlatform = MahuaPlatform.QQLight,
Data = new ReadOnlyDictionary(new Dictionary
{
-{nameof(input.讨论组号), input.讨论组号},
-{nameof(input.名称), input.名称},
+{nameof(input.DiscussGroupID), input.DiscussGroupID},
+{nameof(input.Name), input.Name},
}
)
}
@@ -210,33 +244,33 @@ public Task Api_SetDiscussName([FromBody] QQLightApi_SetDiscussNameHttpInput inp
return _mahuaCenter.HandleMahuaInput(httpInput);
}
///
- ///
+ /// //修改讨论组名称
///
public class QQLightApi_SetDiscussNameHttpInput
{
///
///
///
- public string 讨论组号 { get; set; }
+ public string DiscussGroupID { get; set; }
///
///
///
- public string 名称 { get; set; }
+ public string Name { get; set; }
}
///
- ///
+ /// //修改群名称
///
- [HttpPost("Api_BanGroup")]
- public Task Api_BanGroup([FromBody] QQLightApi_BanGroupHttpInput input)
+ [HttpPost("Api_SetGroupName")]
+ public Task Api_SetGroupName([FromBody] QQLightApi_SetGroupNameHttpInput input)
{
var httpInput = new HttpInput
{
- TypeCode = nameof(Api_BanGroup),
+ TypeCode = nameof(Api_SetGroupName),
MahuaPlatform = MahuaPlatform.QQLight,
Data = new ReadOnlyDictionary(new Dictionary
{
-{nameof(input.群号), input.群号},
-{nameof(input.是否全群禁言), input.是否全群禁言},
+{nameof(input.GroupID), input.GroupID},
+{nameof(input.Name), input.Name},
}
)
}
@@ -244,32 +278,33 @@ public Task Api_BanGroup([FromBody] QQLightApi_BanGroupHttpInput input)
return _mahuaCenter.HandleMahuaInput(httpInput);
}
///
- ///
+ /// //修改群名称
///
- public class QQLightApi_BanGroupHttpInput
+ public class QQLightApi_SetGroupNameHttpInput
{
///
///
///
- public string 群号 { get; set; }
+ public string GroupID { get; set; }
///
///
///
- public bool 是否全群禁言 { get; set; }
+ public string Name { get; set; }
}
///
- ///
+ /// //设置全群禁言
///
- [HttpPost("Api_RemoveGroup")]
- public Task Api_RemoveGroup([FromBody] QQLightApi_RemoveGroupHttpInput input)
+ [HttpPost("Api_BanGroup")]
+ public Task Api_BanGroup([FromBody] QQLightApi_BanGroupHttpInput input)
{
var httpInput = new HttpInput
{
- TypeCode = nameof(Api_RemoveGroup),
+ TypeCode = nameof(Api_BanGroup),
MahuaPlatform = MahuaPlatform.QQLight,
Data = new ReadOnlyDictionary(new Dictionary
{
-{nameof(input.群号), input.群号},
+{nameof(input.GroupID), input.GroupID},
+{nameof(input.IsBanGroup), input.IsBanGroup},
}
)
}
@@ -277,17 +312,21 @@ public Task Api_RemoveGroup([FromBody] QQLightApi_RemoveGroupHttpInput input)
return _mahuaCenter.HandleMahuaInput(httpInput);
}
///
- ///
+ /// //设置全群禁言
///
- public class QQLightApi_RemoveGroupHttpInput
+ public class QQLightApi_BanGroupHttpInput
{
///
///
///
- public string 群号 { get; set; }
+ public string GroupID { get; set; }
+ ///
+ /// 真 开启全群禁言 假 关闭全群禁言
+ ///
+ public bool IsBanGroup { get; set; }
}
///
- ///
+ /// //设置管理员权限
///
[HttpPost("Api_SetManager")]
public Task Api_SetManager([FromBody] QQLightApi_SetManagerHttpInput input)
@@ -298,9 +337,9 @@ public Task Api_SetManager([FromBody] QQLightApi_SetManagerHttpInput input)
MahuaPlatform = MahuaPlatform.QQLight,
Data = new ReadOnlyDictionary(new Dictionary
{
-{nameof(input.群号), input.群号},
-{nameof(input.QQ号), input.QQ号},
-{nameof(input.是否设置为管理员), input.是否设置为管理员},
+{nameof(input.GroupID), input.GroupID},
+{nameof(input.QQID), input.QQID},
+{nameof(input.IsManager), input.IsManager},
}
)
}
@@ -308,25 +347,25 @@ public Task Api_SetManager([FromBody] QQLightApi_SetManagerHttpInput input)
return _mahuaCenter.HandleMahuaInput(httpInput);
}
///
- ///
+ /// //设置管理员权限
///
public class QQLightApi_SetManagerHttpInput
{
///
///
///
- public string 群号 { get; set; }
+ public string GroupID { get; set; }
///
///
///
- public string QQ号 { get; set; }
+ public string QQID { get; set; }
///
/// 真,设置 假,取消
///
- public bool 是否设置为管理员 { get; set; }
+ public bool IsManager { get; set; }
}
///
- ///
+ /// //禁言群成员
///
[HttpPost("Api_Ban")]
public Task Api_Ban([FromBody] QQLightApi_BanHttpInput input)
@@ -337,9 +376,9 @@ public Task Api_Ban([FromBody] QQLightApi_BanHttpInput input)
MahuaPlatform = MahuaPlatform.QQLight,
Data = new ReadOnlyDictionary(new Dictionary
{
-{nameof(input.群号), input.群号},
+{nameof(input.GroupID), input.GroupID},
{nameof(input.QQ), input.QQ},
-{nameof(input.禁言时长), input.禁言时长},
+{nameof(input.time), input.time},
}
)
}
@@ -347,14 +386,14 @@ public Task Api_Ban([FromBody] QQLightApi_BanHttpInput input)
return _mahuaCenter.HandleMahuaInput(httpInput);
}
///
- ///
+ /// //禁言群成员
///
public class QQLightApi_BanHttpInput
{
///
///
///
- public string 群号 { get; set; }
+ public string GroupID { get; set; }
///
///
///
@@ -362,10 +401,10 @@ public class QQLightApi_BanHttpInput
///
/// 单位:秒 0为解除禁言
///
- public int 禁言时长 { get; set; }
+ public int time { get; set; }
}
///
- ///
+ /// //修改匿名权限
///
[HttpPost("Api_SetAnony")]
public Task Api_SetAnony([FromBody] QQLightApi_SetAnonyHttpInput input)
@@ -376,8 +415,8 @@ public Task Api_SetAnony([FromBody] QQLightApi_SetAnonyHttpInput input)
MahuaPlatform = MahuaPlatform.QQLight,
Data = new ReadOnlyDictionary(new Dictionary
{
-{nameof(input.群号), input.群号},
-{nameof(input.是否允许匿名聊天), input.是否允许匿名聊天},
+{nameof(input.GroupID), input.GroupID},
+{nameof(input.IsSetAnony), input.IsSetAnony},
}
)
}
@@ -385,21 +424,21 @@ public Task Api_SetAnony([FromBody] QQLightApi_SetAnonyHttpInput input)
return _mahuaCenter.HandleMahuaInput(httpInput);
}
///
- ///
+ /// //修改匿名权限
///
public class QQLightApi_SetAnonyHttpInput
{
///
///
///
- public string 群号 { get; set; }
+ public string GroupID { get; set; }
///
- ///
+ /// 真 允许匿名 假 禁止匿名
///
- public bool 是否允许匿名聊天 { get; set; }
+ public bool IsSetAnony { get; set; }
}
///
- ///
+ /// //踢出群成员
///
[HttpPost("Api_RemoveMember")]
public Task Api_RemoveMember([FromBody] QQLightApi_RemoveMemberHttpInput input)
@@ -410,9 +449,9 @@ public Task Api_RemoveMember([FromBody] QQLightApi_RemoveMemberHttpInput input)
MahuaPlatform = MahuaPlatform.QQLight,
Data = new ReadOnlyDictionary(new Dictionary
{
-{nameof(input.群号), input.群号},
-{nameof(input.QQ号), input.QQ号},
-{nameof(input.是否不再接收加群申请), input.是否不再接收加群申请},
+{nameof(input.GroupID), input.GroupID},
+{nameof(input.QQID), input.QQID},
+{nameof(input.IsBan), input.IsBan},
}
)
}
@@ -420,25 +459,54 @@ public Task Api_RemoveMember([FromBody] QQLightApi_RemoveMemberHttpInput input)
return _mahuaCenter.HandleMahuaInput(httpInput);
}
///
- ///
+ /// //踢出群成员
///
public class QQLightApi_RemoveMemberHttpInput
{
///
///
///
- public string 群号 { get; set; }
+ public string GroupID { get; set; }
///
///
///
- public string QQ号 { get; set; }
+ public string QQID { get; set; }
///
- ///
+ /// 不再接受此人加群
///
- public bool 是否不再接收加群申请 { get; set; }
+ public bool IsBan { get; set; }
}
///
- ///
+ /// //解散群
+ ///
+ [HttpPost("Api_RemoveGroup")]
+ public Task Api_RemoveGroup([FromBody] QQLightApi_RemoveGroupHttpInput input)
+ {
+ var httpInput = new HttpInput
+ {
+ TypeCode = nameof(Api_RemoveGroup),
+ MahuaPlatform = MahuaPlatform.QQLight,
+ Data = new ReadOnlyDictionary(new Dictionary
+{
+{nameof(input.GroupID), input.GroupID},
+}
+ )
+ }
+ ;
+ return _mahuaCenter.HandleMahuaInput(httpInput);
+ }
+ ///
+ /// //解散群
+ ///
+ public class QQLightApi_RemoveGroupHttpInput
+ {
+ ///
+ /// 群号
+ ///
+ public string GroupID { get; set; }
+ }
+ ///
+ /// //取得操作网页所需要的Cookies
///
[HttpPost("Api_GetCookies")]
public Task Api_GetCookies([FromBody] QQLightApi_GetCookiesHttpInput input)
@@ -456,20 +524,20 @@ public Task Api_GetCookies([FromBody] QQLightApi_GetCookiesHttpInput input)
return _mahuaCenter.HandleMahuaInput(httpInput);
}
///
- ///
+ /// //取得操作网页所需要的Cookies
///
public class QQLightApi_GetCookiesHttpInput
{
}
///
- ///
+ /// //取得QQ空间Token
///
- [HttpPost("Api_GetClientKey")]
- public Task Api_GetClientKey([FromBody] QQLightApi_GetClientKeyHttpInput input)
+ [HttpPost("Api_GetQzoneToken")]
+ public Task Api_GetQzoneToken([FromBody] QQLightApi_GetQzoneTokenHttpInput input)
{
var httpInput = new HttpInput
{
- TypeCode = nameof(Api_GetClientKey),
+ TypeCode = nameof(Api_GetQzoneToken),
MahuaPlatform = MahuaPlatform.QQLight,
Data = new ReadOnlyDictionary(new Dictionary
{
@@ -480,20 +548,20 @@ public Task Api_GetClientKey([FromBody] QQLightApi_GetClientKeyHttpInput input)
return _mahuaCenter.HandleMahuaInput(httpInput);
}
///
- ///
+ /// //取得QQ空间Token
///
- public class QQLightApi_GetClientKeyHttpInput
+ public class QQLightApi_GetQzoneTokenHttpInput
{
}
///
- ///
+ /// //取得QQ空间Cookies
///
- [HttpPost("Api_GetLoginQQ")]
- public Task Api_GetLoginQQ([FromBody] QQLightApi_GetLoginQQHttpInput input)
+ [HttpPost("Api_GetQzoneCookies")]
+ public Task Api_GetQzoneCookies([FromBody] QQLightApi_GetQzoneCookiesHttpInput input)
{
var httpInput = new HttpInput
{
- TypeCode = nameof(Api_GetLoginQQ),
+ TypeCode = nameof(Api_GetQzoneCookies),
MahuaPlatform = MahuaPlatform.QQLight,
Data = new ReadOnlyDictionary(new Dictionary
{
@@ -504,20 +572,49 @@ public Task Api_GetLoginQQ([FromBody] QQLightApi_GetLoginQQHttpInput input)
return _mahuaCenter.HandleMahuaInput(httpInput);
}
///
- ///
+ /// //取得QQ空间Cookies
///
- public class QQLightApi_GetLoginQQHttpInput
+ public class QQLightApi_GetQzoneCookiesHttpInput
+ {
+ }
+ ///
+ /// //发表说说
+ ///
+ [HttpPost("Api_SendTaotao")]
+ public Task Api_SendTaotao([FromBody] QQLightApi_SendTaotaoHttpInput input)
+ {
+ var httpInput = new HttpInput
+ {
+ TypeCode = nameof(Api_SendTaotao),
+ MahuaPlatform = MahuaPlatform.QQLight,
+ Data = new ReadOnlyDictionary(new Dictionary
+{
+{nameof(input.Str), input.Str},
+}
+ )
+ }
+ ;
+ return _mahuaCenter.HandleMahuaInput(httpInput);
+ }
+ ///
+ /// //发表说说
+ ///
+ public class QQLightApi_SendTaotaoHttpInput
{
+ ///
+ ///
+ ///
+ public string Str { get; set; }
}
///
- /// 是否开启/关闭
+ /// //取得所登录的QQ
///
- [HttpPost("Api_GetPluginState")]
- public Task Api_GetPluginState([FromBody] QQLightApi_GetPluginStateHttpInput input)
+ [HttpPost("Api_GetLoginQQ")]
+ public Task Api_GetLoginQQ([FromBody] QQLightApi_GetLoginQQHttpInput input)
{
var httpInput = new HttpInput
{
- TypeCode = nameof(Api_GetPluginState),
+ TypeCode = nameof(Api_GetLoginQQ),
MahuaPlatform = MahuaPlatform.QQLight,
Data = new ReadOnlyDictionary(new Dictionary
{
@@ -528,13 +625,13 @@ public Task Api_GetPluginState([FromBody] QQLightApi_GetPluginStateHttpInput inp
return _mahuaCenter.HandleMahuaInput(httpInput);
}
///
- /// 是否开启/关闭
+ /// //取得所登录的QQ
///
- public class QQLightApi_GetPluginStateHttpInput
+ public class QQLightApi_GetLoginQQHttpInput
{
}
///
- /// 框架为插件所创建的一个目录
+ /// //框架为插件所创建的插件目录
///
[HttpPost("Api_GetPath")]
public Task Api_GetPath([FromBody] QQLightApi_GetPathHttpInput input)
@@ -552,13 +649,47 @@ public Task Api_GetPath([FromBody] QQLightApi_GetPathHttpInput input)
return _mahuaCenter.HandleMahuaInput(httpInput);
}
///
- /// 框架为插件所创建的一个目录
+ /// //框架为插件所创建的插件目录
///
public class QQLightApi_GetPathHttpInput
{
}
///
- /// 机器人发送消息
+ /// //置插件错误管理
+ ///
+ [HttpPost("Api_Error")]
+ public Task Api_Error([FromBody] QQLightApi_ErrorHttpInput input)
+ {
+ var httpInput = new HttpInput
+ {
+ TypeCode = nameof(Api_Error),
+ MahuaPlatform = MahuaPlatform.QQLight,
+ Data = new ReadOnlyDictionary(new Dictionary
+{
+{nameof(input.Code), input.Code},
+{nameof(input.Str), input.Str},
+}
+ )
+ }
+ ;
+ return _mahuaCenter.HandleMahuaInput(httpInput);
+ }
+ ///
+ /// //置插件错误管理
+ ///
+ public class QQLightApi_ErrorHttpInput
+ {
+ ///
+ ///
+ ///
+ public string Code { get; set; }
+ ///
+ ///
+ ///
+ public string Str { get; set; }
+ }
+ ///
+ /// //机器人发送消息,返回值为该条消息的ID
///
[HttpPost("Api_SendMsg")]
public Task Api_SendMsg([FromBody] QQLightApi_SendMsgHttpInput input)
@@ -569,10 +700,10 @@ public Task Api_SendMsg([FromBody] QQLightApi_SendMsgHttpInput input)
MahuaPlatform = MahuaPlatform.QQLight,
Data = new ReadOnlyDictionary(new Dictionary
{
-{nameof(input.类型), input.类型},
-{nameof(input.群组), input.群组},
-{nameof(input.QQ号), input.QQ号},
-{nameof(input.内容), input.内容},
+{nameof(input.Type), input.Type},
+{nameof(input.GroupID), input.GroupID},
+{nameof(input.QQID), input.QQID},
+{nameof(input.Msg), input.Msg},
}
)
}
@@ -580,29 +711,29 @@ public Task Api_SendMsg([FromBody] QQLightApi_SendMsgHttpInput input)
return _mahuaCenter.HandleMahuaInput(httpInput);
}
///
- /// 机器人发送消息
+ /// //机器人发送消息,返回值为该条消息的ID
///
public class QQLightApi_SendMsgHttpInput
{
///
/// 1.好友消息 2.群消息 3.群临时消息 4.讨论组消息 5.讨论组临时消息 6.QQ临时消息
///
- public int 类型 { get; set; }
+ public int Type { get; set; }
///
///
///
- public string 群组 { get; set; }
+ public string GroupID { get; set; }
///
/// 类型为2,4时可留空
///
- public string QQ号 { get; set; }
+ public string QQID { get; set; }
///
///
///
- public string 内容 { get; set; }
+ public string Msg { get; set; }
}
///
- /// 处理加群消息
+ /// //处理加群消息
///
[HttpPost("Api_SetGroupAdd")]
public Task Api_SetGroupAdd([FromBody] QQLightApi_SetGroupAddHttpInput input)
@@ -613,11 +744,11 @@ public Task Api_SetGroupAdd([FromBody] QQLightApi_SetGroupAddHttpInput input)
MahuaPlatform = MahuaPlatform.QQLight,
Data = new ReadOnlyDictionary(new Dictionary
{
-{nameof(input.群号), input.群号},
-{nameof(input.QQ号), input.QQ号},
+{nameof(input.GroupID), input.GroupID},
+{nameof(input.QQID), input.QQID},
{nameof(input.Seq), input.Seq},
-{nameof(input.操作方式), input.操作方式},
-{nameof(input.拒绝理由), input.拒绝理由},
+{nameof(input.Type), input.Type},
+{nameof(input.Reason), input.Reason},
}
)
}
@@ -625,18 +756,18 @@ public Task Api_SetGroupAdd([FromBody] QQLightApi_SetGroupAddHttpInput input)
return _mahuaCenter.HandleMahuaInput(httpInput);
}
///
- /// 处理加群消息
+ /// //处理加群消息
///
public class QQLightApi_SetGroupAddHttpInput
{
///
///
///
- public string 群号 { get; set; }
+ public string GroupID { get; set; }
///
///
///
- public string QQ号 { get; set; }
+ public string QQID { get; set; }
///
///
///
@@ -644,14 +775,14 @@ public class QQLightApi_SetGroupAddHttpInput
///
/// 1.同意 2.拒绝 3.忽略
///
- public int 操作方式 { get; set; }
+ public int Type { get; set; }
///
/// 参数可为空,且为 拒绝 时有效
///
- public string 拒绝理由 { get; set; }
+ public string Reason { get; set; }
}
///
- /// 处理加好友消息
+ /// //处理加好友消息
///
[HttpPost("Api_SetFriendAdd")]
public Task Api_SetFriendAdd([FromBody] QQLightApi_SetFriendAddHttpInput input)
@@ -662,9 +793,9 @@ public Task Api_SetFriendAdd([FromBody] QQLightApi_SetFriendAddHttpInput input)
MahuaPlatform = MahuaPlatform.QQLight,
Data = new ReadOnlyDictionary(new Dictionary
{
-{nameof(input.QQ号), input.QQ号},
-{nameof(input.操作方式), input.操作方式},
-{nameof(input.拒绝理由), input.拒绝理由},
+{nameof(input.QQID), input.QQID},
+{nameof(input.Type), input.Type},
+{nameof(input.Reason), input.Reason},
}
)
}
@@ -672,25 +803,25 @@ public Task Api_SetFriendAdd([FromBody] QQLightApi_SetFriendAddHttpInput input)
return _mahuaCenter.HandleMahuaInput(httpInput);
}
///
- /// 处理加好友消息
+ /// //处理加好友消息
///
public class QQLightApi_SetFriendAddHttpInput
{
///
///
///
- public string QQ号 { get; set; }
+ public string QQID { get; set; }
///
/// 1.同意 2.拒绝 3.忽略
///
- public int 操作方式 { get; set; }
+ public int Type { get; set; }
///
/// 参数可为空,且为 拒绝 时有效
///
- public string 拒绝理由 { get; set; }
+ public string Reason { get; set; }
}
///
- ///
+ /// //向框架推送一条日志
///
[HttpPost("Api_SendLog")]
public Task Api_SendLog([FromBody] QQLightApi_SendLogHttpInput input)
@@ -701,9 +832,9 @@ public Task Api_SendLog([FromBody] QQLightApi_SendLogHttpInput input)
MahuaPlatform = MahuaPlatform.QQLight,
Data = new ReadOnlyDictionary(new Dictionary
{
-{nameof(input.类型), input.类型},
-{nameof(input.内容), input.内容},
-{nameof(input.字体颜色), input.字体颜色},
+{nameof(input.Type), input.Type},
+{nameof(input.Msg), input.Msg},
+{nameof(input.FontColor), input.FontColor},
}
)
}
@@ -711,25 +842,25 @@ public Task Api_SendLog([FromBody] QQLightApi_SendLogHttpInput input)
return _mahuaCenter.HandleMahuaInput(httpInput);
}
///
- ///
+ /// //向框架推送一条日志
///
public class QQLightApi_SendLogHttpInput
{
///
- ///
+ /// 日志类型(自定义)
///
- public string 类型 { get; set; }
+ public string Type { get; set; }
///
- ///
+ /// 日志内容
///
- public string 内容 { get; set; }
+ public string Msg { get; set; }
///
- ///
+ /// 日志颜色
///
- public int 字体颜色 { get; set; }
+ public int FontColor { get; set; }
}
///
- ///
+ /// //修改好友备注
///
[HttpPost("Api_SetFriendName")]
public Task Api_SetFriendName([FromBody] QQLightApi_SetFriendNameHttpInput input)
@@ -740,8 +871,8 @@ public Task Api_SetFriendName([FromBody] QQLightApi_SetFriendNameHttpInput input
MahuaPlatform = MahuaPlatform.QQLight,
Data = new ReadOnlyDictionary(new Dictionary
{
-{nameof(input.好友QQ), input.好友QQ},
-{nameof(input.备注名), input.备注名},
+{nameof(input.QQID), input.QQID},
+{nameof(input.Name), input.Name},
}
)
}
@@ -749,21 +880,21 @@ public Task Api_SetFriendName([FromBody] QQLightApi_SetFriendNameHttpInput input
return _mahuaCenter.HandleMahuaInput(httpInput);
}
///
- ///
+ /// //修改好友备注
///
public class QQLightApi_SetFriendNameHttpInput
{
///
///
///
- public string 好友QQ { get; set; }
+ public string QQID { get; set; }
///
///
///
- public string 备注名 { get; set; }
+ public string Name { get; set; }
}
///
- ///
+ /// //删除好友
///
[HttpPost("Api_DeleteFriend")]
public Task Api_DeleteFriend([FromBody] QQLightApi_DeleteFriendHttpInput input)
@@ -774,7 +905,7 @@ public Task Api_DeleteFriend([FromBody] QQLightApi_DeleteFriendHttpInput input)
MahuaPlatform = MahuaPlatform.QQLight,
Data = new ReadOnlyDictionary(new Dictionary
{
-{nameof(input.好友QQ), input.好友QQ},
+{nameof(input.QQID), input.QQID},
}
)
}
@@ -782,17 +913,17 @@ public Task Api_DeleteFriend([FromBody] QQLightApi_DeleteFriendHttpInput input)
return _mahuaCenter.HandleMahuaInput(httpInput);
}
///
- ///
+ /// //删除好友
///
public class QQLightApi_DeleteFriendHttpInput
{
///
///
///
- public string 好友QQ { get; set; }
+ public string QQID { get; set; }
}
///
- ///
+ /// //主动添加群
///
[HttpPost("Api_AddGroup")]
public Task Api_AddGroup([FromBody] QQLightApi_AddGroupHttpInput input)
@@ -803,7 +934,7 @@ public Task Api_AddGroup([FromBody] QQLightApi_AddGroupHttpInput input)
MahuaPlatform = MahuaPlatform.QQLight,
Data = new ReadOnlyDictionary(new Dictionary
{
-{nameof(input.群号), input.群号},
+{nameof(input.GroupID), input.GroupID},
{nameof(input.附加信息), input.附加信息},
}
)
@@ -812,21 +943,21 @@ public Task Api_AddGroup([FromBody] QQLightApi_AddGroupHttpInput input)
return _mahuaCenter.HandleMahuaInput(httpInput);
}
///
- ///
+ /// //主动添加群
///
public class QQLightApi_AddGroupHttpInput
{
///
///
///
- public string 群号 { get; set; }
+ public string GroupID { get; set; }
///
///
///
public string 附加信息 { get; set; }
}
///
- ///
+ /// //主动添加好友
///
[HttpPost("Api_AddFriend")]
public Task Api_AddFriend([FromBody] QQLightApi_AddFriendHttpInput input)
@@ -837,8 +968,8 @@ public Task Api_AddFriend([FromBody] QQLightApi_AddFriendHttpInput input)
MahuaPlatform = MahuaPlatform.QQLight,
Data = new ReadOnlyDictionary(new Dictionary
{
-{nameof(input.目标QQ), input.目标QQ},
-{nameof(input.附加信息), input.附加信息},
+{nameof(input.QQID), input.QQID},
+{nameof(input.Info), input.Info},
}
)
}
@@ -846,32 +977,32 @@ public Task Api_AddFriend([FromBody] QQLightApi_AddFriendHttpInput input)
return _mahuaCenter.HandleMahuaInput(httpInput);
}
///
- ///
+ /// //主动添加好友
///
public class QQLightApi_AddFriendHttpInput
{
///
///
///
- public string 目标QQ { get; set; }
+ public string QQID { get; set; }
///
///
///
- public string 附加信息 { get; set; }
+ public string Info { get; set; }
}
///
- /// 返回网易云点歌XML
+ /// //返回卡片点歌JSON代码
///
- [HttpPost("Api_163Music")]
- public Task Api_163Music([FromBody] QQLightApi_163MusicHttpInput input)
+ [HttpPost("Api_JsonMusic")]
+ public Task Api_JsonMusic([FromBody] QQLightApi_JsonMusicHttpInput input)
{
var httpInput = new HttpInput
{
- TypeCode = nameof(Api_163Music),
+ TypeCode = nameof(Api_JsonMusic),
MahuaPlatform = MahuaPlatform.QQLight,
Data = new ReadOnlyDictionary(new Dictionary
{
-{nameof(input.歌曲ID), input.歌曲ID},
+{nameof(input.SongID), input.SongID},
}
)
}
@@ -879,28 +1010,29 @@ public Task Api_163Music([FromBody] QQLightApi_163MusicHttpInput input)
return _mahuaCenter.HandleMahuaInput(httpInput);
}
///
- /// 返回网易云点歌XML
+ /// //返回卡片点歌JSON代码
///
- public class QQLightApi_163MusicHttpInput
+ public class QQLightApi_JsonMusicHttpInput
{
///
///
///
- public string 歌曲ID { get; set; }
+ public string SongID { get; set; }
}
///
- /// 返回QQ点歌XML
+ /// //取得群内成员的名片
///
- [HttpPost("Api_QQMusic")]
- public Task Api_QQMusic([FromBody] QQLightApi_QQMusicHttpInput input)
+ [HttpPost("Api_GetGroupCard")]
+ public Task Api_GetGroupCard([FromBody] QQLightApi_GetGroupCardHttpInput input)
{
var httpInput = new HttpInput
{
- TypeCode = nameof(Api_QQMusic),
+ TypeCode = nameof(Api_GetGroupCard),
MahuaPlatform = MahuaPlatform.QQLight,
Data = new ReadOnlyDictionary(new Dictionary
{
-{nameof(input.歌曲ID), input.歌曲ID},
+{nameof(input.GroupID), input.GroupID},
+{nameof(input.QQID), input.QQID},
}
)
}
@@ -908,28 +1040,32 @@ public Task Api_QQMusic([FromBody] QQLightApi_QQMusicHttpInput input)
return _mahuaCenter.HandleMahuaInput(httpInput);
}
///
- /// 返回QQ点歌XML
+ /// //取得群内成员的名片
///
- public class QQLightApi_QQMusicHttpInput
+ public class QQLightApi_GetGroupCardHttpInput
{
///
///
///
- public string 歌曲ID { get; set; }
+ public string GroupID { get; set; }
+ ///
+ ///
+ ///
+ public string QQID { get; set; }
}
///
- /// 返回Json点歌XML
+ /// //取指定QQ的昵称
///
- [HttpPost("Api_JsonMusic")]
- public Task Api_JsonMusic([FromBody] QQLightApi_JsonMusicHttpInput input)
+ [HttpPost("Api_GetNick")]
+ public Task Api_GetNick([FromBody] QQLightApi_GetNickHttpInput input)
{
var httpInput = new HttpInput
{
- TypeCode = nameof(Api_JsonMusic),
+ TypeCode = nameof(Api_GetNick),
MahuaPlatform = MahuaPlatform.QQLight,
Data = new ReadOnlyDictionary(new Dictionary
{
-{nameof(input.歌曲ID), input.歌曲ID},
+{nameof(input.QQID), input.QQID},
}
)
}
@@ -937,29 +1073,28 @@ public Task Api_JsonMusic([FromBody] QQLightApi_JsonMusicHttpInput input)
return _mahuaCenter.HandleMahuaInput(httpInput);
}
///
- /// 返回Json点歌XML
+ /// //取指定QQ的昵称
///
- public class QQLightApi_JsonMusicHttpInput
+ public class QQLightApi_GetNickHttpInput
{
///
///
///
- public string 歌曲ID { get; set; }
+ public string QQID { get; set; }
}
///
- /// 置插件错误管理
+ ///
///
- [HttpPost("Api_Error")]
- public Task Api_Error([FromBody] QQLightApi_ErrorHttpInput input)
+ [HttpPost("Api_GetGroupName")]
+ public Task Api_GetGroupName([FromBody] QQLightApi_GetGroupNameHttpInput input)
{
var httpInput = new HttpInput
{
- TypeCode = nameof(Api_Error),
+ TypeCode = nameof(Api_GetGroupName),
MahuaPlatform = MahuaPlatform.QQLight,
Data = new ReadOnlyDictionary(new Dictionary
{
-{nameof(input.Code), input.Code},
-{nameof(input.Str), input.Str},
+{nameof(input.GroupID), input.GroupID},
}
)
}
@@ -967,66 +1102,52 @@ public Task Api_Error([FromBody] QQLightApi_ErrorHttpInput input)
return _mahuaCenter.HandleMahuaInput(httpInput);
}
///
- /// 置插件错误管理
+ ///
///
- public class QQLightApi_ErrorHttpInput
+ public class QQLightApi_GetGroupNameHttpInput
{
///
///
///
- public string Code { get; set; }
- ///
- ///
- ///
- public string Str { get; set; }
+ public string GroupID { get; set; }
}
///
- /// 取得群内成员的名片
+ ///
///
- [HttpPost("Api_GetGroupCard")]
- public Task Api_GetGroupCard([FromBody] QQLightApi_GetGroupCardHttpInput input)
+ [HttpPost("Api_GetSoftVersion")]
+ public Task Api_GetSoftVersion([FromBody] QQLightApi_GetSoftVersionHttpInput input)
{
var httpInput = new HttpInput
{
- TypeCode = nameof(Api_GetGroupCard),
+ TypeCode = nameof(Api_GetSoftVersion),
MahuaPlatform = MahuaPlatform.QQLight,
Data = new ReadOnlyDictionary(new Dictionary
-{
-{nameof(input.群号), input.群号},
-{nameof(input.QQ号), input.QQ号},
-}
+ {
+ }
)
}
;
return _mahuaCenter.HandleMahuaInput(httpInput);
}
///
- /// 取得群内成员的名片
+ ///
///
- public class QQLightApi_GetGroupCardHttpInput
+ public class QQLightApi_GetSoftVersionHttpInput
{
- ///
- ///
- ///
- public string 群号 { get; set; }
- ///
- ///
- ///
- public string QQ号 { get; set; }
}
///
- /// 取得某个QQ的昵称
+ ///
///
- [HttpPost("Api_GetNick")]
- public Task Api_GetNick([FromBody] QQLightApi_GetNickHttpInput input)
+ [HttpPost("Api_GetGroupIntroduce")]
+ public Task Api_GetGroupIntroduce([FromBody] QQLightApi_GetGroupIntroduceHttpInput input)
{
var httpInput = new HttpInput
{
- TypeCode = nameof(Api_GetNick),
+ TypeCode = nameof(Api_GetGroupIntroduce),
MahuaPlatform = MahuaPlatform.QQLight,
Data = new ReadOnlyDictionary(new Dictionary
{
-{nameof(input.QQ号), input.QQ号},
+{nameof(input.GroupID), input.GroupID},
}
)
}
@@ -1034,30 +1155,28 @@ public Task Api_GetNick([FromBody] QQLightApi_GetNickHttpInput input)
return _mahuaCenter.HandleMahuaInput(httpInput);
}
///
- /// 取得某个QQ的昵称
+ ///
///
- public class QQLightApi_GetNickHttpInput
+ public class QQLightApi_GetGroupIntroduceHttpInput
{
///
///
///
- public string QQ号 { get; set; }
+ public string GroupID { get; set; }
}
///
- /// 修改群内成员的名片
+ ///
///
- [HttpPost("Api_SetGroupCard")]
- public Task Api_SetGroupCard([FromBody] QQLightApi_SetGroupCardHttpInput input)
+ [HttpPost("Api_GetGroupOwner")]
+ public Task Api_GetGroupOwner([FromBody] QQLightApi_GetGroupOwnerHttpInput input)
{
var httpInput = new HttpInput
{
- TypeCode = nameof(Api_SetGroupCard),
+ TypeCode = nameof(Api_GetGroupOwner),
MahuaPlatform = MahuaPlatform.QQLight,
Data = new ReadOnlyDictionary(new Dictionary
{
-{nameof(input.群号), input.群号},
-{nameof(input.QQ号), input.QQ号},
-{nameof(input.新名片), input.新名片},
+{nameof(input.GroupID), input.GroupID},
}
)
}
@@ -1065,25 +1184,56 @@ public Task Api_SetGroupCard([FromBody] QQLightApi_SetGroupCardHttpInput input)
return _mahuaCenter.HandleMahuaInput(httpInput);
}
///
- /// 修改群内成员的名片
+ ///
+ ///
+ public class QQLightApi_GetGroupOwnerHttpInput
+ {
+ ///
+ ///
+ ///
+ public string GroupID { get; set; }
+ }
+ ///
+ /// //修改群成员的名片
+ ///
+ [HttpPost("Api_SetGroupCard")]
+ public Task Api_SetGroupCard([FromBody] QQLightApi_SetGroupCardHttpInput input)
+ {
+ var httpInput = new HttpInput
+ {
+ TypeCode = nameof(Api_SetGroupCard),
+ MahuaPlatform = MahuaPlatform.QQLight,
+ Data = new ReadOnlyDictionary(new Dictionary
+{
+{nameof(input.GroupID), input.GroupID},
+{nameof(input.QQID), input.QQID},
+{nameof(input.NewCard), input.NewCard},
+}
+ )
+ }
+ ;
+ return _mahuaCenter.HandleMahuaInput(httpInput);
+ }
+ ///
+ /// //修改群成员的名片
///
public class QQLightApi_SetGroupCardHttpInput
{
///
///
///
- public string 群号 { get; set; }
+ public string GroupID { get; set; }
///
///
///
- public string QQ号 { get; set; }
+ public string QQID { get; set; }
///
///
///
- public string 新名片 { get; set; }
+ public string NewCard { get; set; }
}
///
- /// 取得某个QQ的名片赞数量
+ /// //取得某个QQ的名片赞数量
///
[HttpPost("Api_GetPraiseNum")]
public Task Api_GetPraiseNum([FromBody] QQLightApi_GetPraiseNumHttpInput input)
@@ -1094,7 +1244,7 @@ public Task Api_GetPraiseNum([FromBody] QQLightApi_GetPraiseNumHttpInput input)
MahuaPlatform = MahuaPlatform.QQLight,
Data = new ReadOnlyDictionary(new Dictionary
{
-{nameof(input.QQ号), input.QQ号},
+{nameof(input.QQID), input.QQID},
}
)
}
@@ -1102,17 +1252,206 @@ public Task Api_GetPraiseNum([FromBody] QQLightApi_GetPraiseNumHttpInput input)
return _mahuaCenter.HandleMahuaInput(httpInput);
}
///
- /// 取得某个QQ的名片赞数量
+ /// //取得某个QQ的名片赞数量
///
public class QQLightApi_GetPraiseNumHttpInput
{
///
///
///
- public string QQ号 { get; set; }
+ public string QQID { get; set; }
+ }
+ ///
+ /// //取得某个QQ的等级
+ ///
+ [HttpPost("Api_GetQQLevel")]
+ public Task Api_GetQQLevel([FromBody] QQLightApi_GetQQLevelHttpInput input)
+ {
+ var httpInput = new HttpInput
+ {
+ TypeCode = nameof(Api_GetQQLevel),
+ MahuaPlatform = MahuaPlatform.QQLight,
+ Data = new ReadOnlyDictionary(new Dictionary
+{
+{nameof(input.QQID), input.QQID},
+}
+ )
+ }
+ ;
+ return _mahuaCenter.HandleMahuaInput(httpInput);
+ }
+ ///
+ /// //取得某个QQ的等级
+ ///
+ public class QQLightApi_GetQQLevelHttpInput
+ {
+ ///
+ ///
+ ///
+ public string QQID { get; set; }
+ }
+ ///
+ ///
+ ///
+ [HttpPost("Api_SetNick")]
+ public Task Api_SetNick([FromBody] QQLightApi_SetNickHttpInput input)
+ {
+ var httpInput = new HttpInput
+ {
+ TypeCode = nameof(Api_SetNick),
+ MahuaPlatform = MahuaPlatform.QQLight,
+ Data = new ReadOnlyDictionary(new Dictionary
+{
+{nameof(input.NewNick), input.NewNick},
+}
+ )
+ }
+ ;
+ return _mahuaCenter.HandleMahuaInput(httpInput);
+ }
+ ///
+ ///
+ ///
+ public class QQLightApi_SetNickHttpInput
+ {
+ ///
+ ///
+ ///
+ public string NewNick { get; set; }
+ }
+ ///
+ ///
+ ///
+ [HttpPost("Api_Taotaodolike")]
+ public Task Api_Taotaodolike([FromBody] QQLightApi_TaotaodolikeHttpInput input)
+ {
+ var httpInput = new HttpInput
+ {
+ TypeCode = nameof(Api_Taotaodolike),
+ MahuaPlatform = MahuaPlatform.QQLight,
+ Data = new ReadOnlyDictionary(new Dictionary
+{
+{nameof(input.QQID), input.QQID},
+{nameof(input.URL), input.URL},
+}
+ )
+ }
+ ;
+ return _mahuaCenter.HandleMahuaInput(httpInput);
+ }
+ ///
+ ///
+ ///
+ public class QQLightApi_TaotaodolikeHttpInput
+ {
+ ///
+ ///
+ ///
+ public string QQID { get; set; }
+ ///
+ ///
+ ///
+ public string URL { get; set; }
+ }
+ ///
+ ///
+ ///
+ [HttpPost("Api_Taotaofeeds")]
+ public Task Api_Taotaofeeds([FromBody] QQLightApi_TaotaofeedsHttpInput input)
+ {
+ var httpInput = new HttpInput
+ {
+ TypeCode = nameof(Api_Taotaofeeds),
+ MahuaPlatform = MahuaPlatform.QQLight,
+ Data = new ReadOnlyDictionary(new Dictionary
+{
+{nameof(input.QQID), input.QQID},
+{nameof(input.URL), input.URL},
+{nameof(input.Content), input.Content},
+}
+ )
+ }
+ ;
+ return _mahuaCenter.HandleMahuaInput(httpInput);
+ }
+ ///
+ ///
+ ///
+ public class QQLightApi_TaotaofeedsHttpInput
+ {
+ ///
+ ///
+ ///
+ public string QQID { get; set; }
+ ///
+ ///
+ ///
+ public string URL { get; set; }
+ ///
+ ///
+ ///
+ public string Content { get; set; }
+ }
+ ///
+ ///
+ ///
+ [HttpPost("Api_GetQQAge")]
+ public Task Api_GetQQAge([FromBody] QQLightApi_GetQQAgeHttpInput input)
+ {
+ var httpInput = new HttpInput
+ {
+ TypeCode = nameof(Api_GetQQAge),
+ MahuaPlatform = MahuaPlatform.QQLight,
+ Data = new ReadOnlyDictionary(new Dictionary
+{
+{nameof(input.QQID), input.QQID},
+}
+ )
+ }
+ ;
+ return _mahuaCenter.HandleMahuaInput(httpInput);
}
///
- /// 以JSON形式取得好友列表
+ ///
+ ///
+ public class QQLightApi_GetQQAgeHttpInput
+ {
+ ///
+ ///
+ ///
+ public string QQID { get; set; }
+ }
+ ///
+ ///
+ ///
+ [HttpPost("Api_GetQQSex")]
+ public Task Api_GetQQSex([FromBody] QQLightApi_GetQQSexHttpInput input)
+ {
+ var httpInput = new HttpInput
+ {
+ TypeCode = nameof(Api_GetQQSex),
+ MahuaPlatform = MahuaPlatform.QQLight,
+ Data = new ReadOnlyDictionary(new Dictionary
+{
+{nameof(input.QQID), input.QQID},
+}
+ )
+ }
+ ;
+ return _mahuaCenter.HandleMahuaInput(httpInput);
+ }
+ ///
+ ///
+ ///
+ public class QQLightApi_GetQQSexHttpInput
+ {
+ ///
+ ///
+ ///
+ public string QQID { get; set; }
+ }
+ ///
+ /// //以JSON形式取得好友列表
///
[HttpPost("Api_GetFriendList")]
public Task Api_GetFriendList([FromBody] QQLightApi_GetFriendListHttpInput input)
@@ -1122,21 +1461,26 @@ public Task Api_GetFriendList([FromBody] QQLightApi_GetFriendListHttpInput input
TypeCode = nameof(Api_GetFriendList),
MahuaPlatform = MahuaPlatform.QQLight,
Data = new ReadOnlyDictionary(new Dictionary
- {
- }
+{
+{nameof(input.Cache), input.Cache},
+}
)
}
;
return _mahuaCenter.HandleMahuaInput(httpInput);
}
///
- /// 以JSON形式取得好友列表
+ /// //以JSON形式取得好友列表
///
public class QQLightApi_GetFriendListHttpInput
{
+ ///
+ ///
+ ///
+ public bool Cache { get; set; }
}
///
- /// 以JSON形式取得群列表
+ /// //以JSON形式取得群列表
///
[HttpPost("Api_GetGroupList")]
public Task Api_GetGroupList([FromBody] QQLightApi_GetGroupListHttpInput input)
@@ -1146,21 +1490,26 @@ public Task Api_GetGroupList([FromBody] QQLightApi_GetGroupListHttpInput input)
TypeCode = nameof(Api_GetGroupList),
MahuaPlatform = MahuaPlatform.QQLight,
Data = new ReadOnlyDictionary(new Dictionary
- {
- }
+{
+{nameof(input.Cache), input.Cache},
+}
)
}
;
return _mahuaCenter.HandleMahuaInput(httpInput);
}
///
- /// 以JSON形式取得群列表
+ /// //以JSON形式取得群列表
///
public class QQLightApi_GetGroupListHttpInput
{
+ ///
+ ///
+ ///
+ public bool Cache { get; set; }
}
///
- /// 以JSON形式取得群成员列表
+ /// //以JSON形式取得群成员列表
///
[HttpPost("Api_GetGroupMemberList")]
public Task Api_GetGroupMemberList([FromBody] QQLightApi_GetGroupMemberListHttpInput input)
@@ -1171,7 +1520,8 @@ public Task Api_GetGroupMemberList([FromBody] QQLightApi_GetGroupMemberListHttpI
MahuaPlatform = MahuaPlatform.QQLight,
Data = new ReadOnlyDictionary(new Dictionary
{
-{nameof(input.群号), input.群号},
+{nameof(input.GroupID), input.GroupID},
+{nameof(input.Cache), input.Cache},
}
)
}
@@ -1179,17 +1529,21 @@ public Task Api_GetGroupMemberList([FromBody] QQLightApi_GetGroupMemberListHttpI
return _mahuaCenter.HandleMahuaInput(httpInput);
}
///
- /// 以JSON形式取得群成员列表
+ /// //以JSON形式取得群成员列表
///
public class QQLightApi_GetGroupMemberListHttpInput
{
///
///
///
- public string 群号 { get; set; }
+ public string GroupID { get; set; }
+ ///
+ ///
+ ///
+ public bool Cache { get; set; }
}
///
- /// 以JSON形式取得某QQ个人信息
+ /// //以JSON形式取得某QQ个人信息
///
[HttpPost("Api_GetQQInfo")]
public Task Api_GetQQInfo([FromBody] QQLightApi_GetQQInfoHttpInput input)
@@ -1200,7 +1554,7 @@ public Task Api_GetQQInfo([FromBody] QQLightApi_GetQQInfoHttpInput input)
MahuaPlatform = MahuaPlatform.QQLight,
Data = new ReadOnlyDictionary(new Dictionary
{
-{nameof(input.QQ号), input.QQ号},
+{nameof(input.QQID), input.QQID},
}
)
}
@@ -1208,17 +1562,17 @@ public Task Api_GetQQInfo([FromBody] QQLightApi_GetQQInfoHttpInput input)
return _mahuaCenter.HandleMahuaInput(httpInput);
}
///
- /// 以JSON形式取得某QQ个人信息
+ /// //以JSON形式取得某QQ个人信息
///
public class QQLightApi_GetQQInfoHttpInput
{
///
///
///
- public string QQ号 { get; set; }
+ public string QQID { get; set; }
}
///
- /// 以JSON形式取得某群信息
+ /// //以JSON形式取得某群信息
///
[HttpPost("Api_GetGroupInfo")]
public Task Api_GetGroupInfo([FromBody] QQLightApi_GetGroupInfoHttpInput input)
@@ -1229,7 +1583,7 @@ public Task Api_GetGroupInfo([FromBody] QQLightApi_GetGroupInfoHttpInput input)
MahuaPlatform = MahuaPlatform.QQLight,
Data = new ReadOnlyDictionary(new Dictionary
{
-{nameof(input.群号), input.群号},
+{nameof(input.GroupID), input.GroupID},
}
)
}
@@ -1237,48 +1591,160 @@ public Task Api_GetGroupInfo([FromBody] QQLightApi_GetGroupInfoHttpInput input)
return _mahuaCenter.HandleMahuaInput(httpInput);
}
///
- /// 以JSON形式取得某群信息
+ /// //以JSON形式取得某群信息
///
public class QQLightApi_GetGroupInfoHttpInput
{
///
///
///
- public string 群号 { get; set; }
+ public string GroupID { get; set; }
}
///
- /// 让机器人快速重启
+ /// //撤回自身消息 发出消息不可以秒撤回,腾讯限制,1~2s后才可撤回
///
- [HttpPost("Api_Restart")]
- public Task Api_Restart([FromBody] QQLightApi_RestartHttpInput input)
+ [HttpPost("Api_DeleteMsg")]
+ public Task Api_DeleteMsg([FromBody] QQLightApi_DeleteMsgHttpInput input)
{
var httpInput = new HttpInput
{
- TypeCode = nameof(Api_Restart),
+ TypeCode = nameof(Api_DeleteMsg),
MahuaPlatform = MahuaPlatform.QQLight,
Data = new ReadOnlyDictionary(new Dictionary
- {
- }
+{
+{nameof(input.Type), input.Type},
+{nameof(input.GroupID), input.GroupID},
+{nameof(input.QQID), input.QQID},
+{nameof(input.MsgID), input.MsgID},
+}
+ )
+ }
+ ;
+ return _mahuaCenter.HandleMahuaInput(httpInput);
+ }
+ ///
+ /// //撤回自身消息 发出消息不可以秒撤回,腾讯限制,1~2s后才可撤回
+ ///
+ public class QQLightApi_DeleteMsgHttpInput
+ {
+ ///
+ /// 1.好友消息 2.群消息 3.群临时消息 4.讨论组消息 5.讨论组临时消息 6.QQ临时消息
+ ///
+ public int Type { get; set; }
+ ///
+ /// 撤回群消息、群临时消息、讨论组消息、讨论组临时消息必须填写,其余情况可留空
+ ///
+ public string GroupID { get; set; }
+ ///
+ /// 撤回好友消息、群临时消息、讨论组临时消息、QQ临时消息必须填写,其余情况可留空
+ ///
+ public string QQID { get; set; }
+ ///
+ /// 撤回的消息ID,机器人发送消息会返回自身的消息ID
+ ///
+ public string MsgID { get; set; }
+ }
+ ///
+ /// //改变QQ在线状态
+ ///
+ [HttpPost("Api_SetQQState")]
+ public Task Api_SetQQState([FromBody] QQLightApi_SetQQStateHttpInput input)
+ {
+ var httpInput = new HttpInput
+ {
+ TypeCode = nameof(Api_SetQQState),
+ MahuaPlatform = MahuaPlatform.QQLight,
+ Data = new ReadOnlyDictionary(new Dictionary
+{
+{nameof(input.Type), input.Type},
+}
+ )
+ }
+ ;
+ return _mahuaCenter.HandleMahuaInput(httpInput);
+ }
+ ///
+ /// //改变QQ在线状态
+ ///
+ public class QQLightApi_SetQQStateHttpInput
+ {
+ ///
+ /// 1.我在线上 2.Q我吧 3.离开 4.忙碌 5.请勿打扰 6.隐身
+ ///
+ public int Type { get; set; }
+ }
+ ///
+ /// //邀请好友入群
+ ///
+ [HttpPost("Api_InviteFriend")]
+ public Task Api_InviteFriend([FromBody] QQLightApi_InviteFriendHttpInput input)
+ {
+ var httpInput = new HttpInput
+ {
+ TypeCode = nameof(Api_InviteFriend),
+ MahuaPlatform = MahuaPlatform.QQLight,
+ Data = new ReadOnlyDictionary(new Dictionary
+{
+{nameof(input.GroupID), input.GroupID},
+{nameof(input.QQID), input.QQID},
+}
+ )
+ }
+ ;
+ return _mahuaCenter.HandleMahuaInput(httpInput);
+ }
+ ///
+ /// //邀请好友入群
+ ///
+ public class QQLightApi_InviteFriendHttpInput
+ {
+ ///
+ ///
+ ///
+ public string GroupID { get; set; }
+ ///
+ ///
+ ///
+ public string QQID { get; set; }
+ }
+ ///
+ ///
+ ///
+ [HttpPost("Api_GetQQInfo_v2")]
+ public Task Api_GetQQInfo_v2([FromBody] QQLightApi_GetQQInfo_v2HttpInput input)
+ {
+ var httpInput = new HttpInput
+ {
+ TypeCode = nameof(Api_GetQQInfo_v2),
+ MahuaPlatform = MahuaPlatform.QQLight,
+ Data = new ReadOnlyDictionary(new Dictionary
+{
+{nameof(input.QQID), input.QQID},
+}
)
}
;
return _mahuaCenter.HandleMahuaInput(httpInput);
}
///
- /// 让机器人快速重启
+ ///
///
- public class QQLightApi_RestartHttpInput
+ public class QQLightApi_GetQQInfo_v2HttpInput
{
+ ///
+ ///
+ ///
+ public string QQID { get; set; }
}
///
- /// 让机器人刷新插件
+ /// //取消COM库
///
- [HttpPost("Api_UpdatePlugin")]
- public Task Api_UpdatePlugin([FromBody] QQLightApi_UpdatePluginHttpInput input)
+ [HttpPost("CoUninitialize")]
+ public Task CoUninitialize([FromBody] QQLightCoUninitializeHttpInput input)
{
var httpInput = new HttpInput
{
- TypeCode = nameof(Api_UpdatePlugin),
+ TypeCode = nameof(CoUninitialize),
MahuaPlatform = MahuaPlatform.QQLight,
Data = new ReadOnlyDictionary(new Dictionary
{
@@ -1289,25 +1755,24 @@ public Task Api_UpdatePlugin([FromBody] QQLightApi_UpdatePluginHttpInput input)
return _mahuaCenter.HandleMahuaInput(httpInput);
}
///
- /// 让机器人刷新插件
+ /// //取消COM库
///
- public class QQLightApi_UpdatePluginHttpInput
+ public class QQLightCoUninitializeHttpInput
{
}
///
- /// 撤回群成员的消息 机器人必须为管理员
+ /// //初始化COM库
///
- [HttpPost("Api_DeleteMsg")]
- public Task Api_DeleteMsg([FromBody] QQLightApi_DeleteMsgHttpInput input)
+ [HttpPost("CoInitialize")]
+ public Task CoInitialize([FromBody] QQLightCoInitializeHttpInput input)
{
var httpInput = new HttpInput
{
- TypeCode = nameof(Api_DeleteMsg),
+ TypeCode = nameof(CoInitialize),
MahuaPlatform = MahuaPlatform.QQLight,
Data = new ReadOnlyDictionary(new Dictionary
{
-{nameof(input.群号), input.群号},
-{nameof(input.消息ID), input.消息ID},
+{nameof(input.pvReserved), input.pvReserved},
}
)
}
@@ -1315,32 +1780,67 @@ public Task Api_DeleteMsg([FromBody] QQLightApi_DeleteMsgHttpInput input)
return _mahuaCenter.HandleMahuaInput(httpInput);
}
///
- /// 撤回群成员的消息 机器人必须为管理员
+ /// //初始化COM库
///
- public class QQLightApi_DeleteMsgHttpInput
+ public class QQLightCoInitializeHttpInput
{
///
///
///
- public string 群号 { get; set; }
+ public int pvReserved { get; set; }
+ }
+ ///
+ /// //上传图片,获得图片GUID,
+ ///
+ [HttpPost("Api_UpLoadPic")]
+ public Task Api_UpLoadPic([FromBody] QQLightApi_UpLoadPicHttpInput input)
+ {
+ var httpInput = new HttpInput
+ {
+ TypeCode = nameof(Api_UpLoadPic),
+ MahuaPlatform = MahuaPlatform.QQLight,
+ Data = new ReadOnlyDictionary(new Dictionary
+{
+{nameof(input.Type), input.Type},
+{nameof(input.对象), input.对象},
+{nameof(input.Bin), input.Bin},
+}
+ )
+ }
+ ;
+ return _mahuaCenter.HandleMahuaInput(httpInput);
+ }
+ ///
+ /// //上传图片,获得图片GUID,
+ ///
+ public class QQLightApi_UpLoadPicHttpInput
+ {
///
- ///
+ /// 1.私聊图片 2.群聊图片
+ ///
+ public int Type { get; set; }
+ ///
+ /// 私聊图片填写QQID,群聊/讨论组图片填写群号讨论组号
///
- public string 消息ID { get; set; }
+ public string 对象 { get; set; }
+ ///
+ /// 图片的Hex流
+ ///
+ public string Bin { get; set; }
}
///
- /// 改变QQ在线状态
+ /// //设置插件状态,开启或关闭
///
- [HttpPost("Api_SetQQState")]
- public Task Api_SetQQState([FromBody] QQLightApi_SetQQStateHttpInput input)
+ [HttpPost("Api_SetPluginState")]
+ public Task Api_SetPluginState([FromBody] QQLightApi_SetPluginStateHttpInput input)
{
var httpInput = new HttpInput
{
- TypeCode = nameof(Api_SetQQState),
+ TypeCode = nameof(Api_SetPluginState),
MahuaPlatform = MahuaPlatform.QQLight,
Data = new ReadOnlyDictionary(new Dictionary
{
-{nameof(input.类型), input.类型},
+{nameof(input.State), input.State},
}
)
}
@@ -1348,29 +1848,29 @@ public Task Api_SetQQState([FromBody] QQLightApi_SetQQStateHttpInput input)
return _mahuaCenter.HandleMahuaInput(httpInput);
}
///
- /// 改变QQ在线状态
+ /// //设置插件状态,开启或关闭
///
- public class QQLightApi_SetQQStateHttpInput
+ public class QQLightApi_SetPluginStateHttpInput
{
///
- /// 1.我在线上 2.Q我吧 3.离开 4.忙碌 5.请勿打扰 6.隐身
+ /// 真:启用自身 假:关闭自身
///
- public int 类型 { get; set; }
+ public bool State { get; set; }
}
///
///
///
- [HttpPost("Api_InviteFriend")]
- public Task Api_InviteFriend([FromBody] QQLightApi_InviteFriendHttpInput input)
+ [HttpPost("Api_DeleteFile")]
+ public Task Api_DeleteFile([FromBody] QQLightApi_DeleteFileHttpInput input)
{
var httpInput = new HttpInput
{
- TypeCode = nameof(Api_InviteFriend),
+ TypeCode = nameof(Api_DeleteFile),
MahuaPlatform = MahuaPlatform.QQLight,
Data = new ReadOnlyDictionary(new Dictionary
{
{nameof(input.群号), input.群号},
-{nameof(input.好友QQ), input.好友QQ},
+{nameof(input.文件GUID), input.文件GUID},
}
)
}
@@ -1380,7 +1880,7 @@ public Task Api_InviteFriend([FromBody] QQLightApi_InviteFriendHttpInput input)
///
///
///
- public class QQLightApi_InviteFriendHttpInput
+ public class QQLightApi_DeleteFileHttpInput
{
///
///
@@ -1389,21 +1889,23 @@ public class QQLightApi_InviteFriendHttpInput
///
///
///
- public string 好友QQ { get; set; }
+ public string 文件GUID { get; set; }
}
///
///
///
- [HttpPost("Api_GetQQinfo_v2")]
- public Task Api_GetQQinfo_v2([FromBody] QQLightApi_GetQQinfo_v2HttpInput input)
+ [HttpPost("Api_RepeatFile")]
+ public Task Api_RepeatFile([FromBody] QQLightApi_RepeatFileHttpInput input)
{
var httpInput = new HttpInput
{
- TypeCode = nameof(Api_GetQQinfo_v2),
+ TypeCode = nameof(Api_RepeatFile),
MahuaPlatform = MahuaPlatform.QQLight,
Data = new ReadOnlyDictionary(new Dictionary
{
-{nameof(input.QQ号), input.QQ号},
+{nameof(input.来源对象), input.来源对象},
+{nameof(input.转发群号), input.转发群号},
+{nameof(input.文件GUID), input.文件GUID},
}
)
}
@@ -1413,28 +1915,65 @@ public Task Api_GetQQinfo_v2([FromBody] QQLightApi_GetQQinfo_v2HttpInput input)
///
///
///
- public class QQLightApi_GetQQinfo_v2HttpInput
+ public class QQLightApi_RepeatFileHttpInput
{
///
///
///
- public string QQ号 { get; set; }
+ public string 来源对象 { get; set; }
+ ///
+ ///
+ ///
+ public string 转发群号 { get; set; }
+ ///
+ ///
+ ///
+ public string 文件GUID { get; set; }
}
///
///
///
- [HttpPost("Api_UpLoadPic")]
- public Task Api_UpLoadPic([FromBody] QQLightApi_UpLoadPicHttpInput input)
+ [HttpPost("Api_ClearOffLineFile")]
+ public Task Api_ClearOffLineFile([FromBody] QQLightApi_ClearOffLineFileHttpInput input)
{
var httpInput = new HttpInput
{
- TypeCode = nameof(Api_UpLoadPic),
+ TypeCode = nameof(Api_ClearOffLineFile),
+ MahuaPlatform = MahuaPlatform.QQLight,
+ Data = new ReadOnlyDictionary(new Dictionary
+ {
+ }
+ )
+ }
+ ;
+ return _mahuaCenter.HandleMahuaInput(httpInput);
+ }
+ ///
+ ///
+ ///
+ public class QQLightApi_ClearOffLineFileHttpInput
+ {
+ }
+ ///
+ ///
+ ///
+ [HttpPost("WideCharToMultiByte")]
+ public Task WideCharToMultiByte([FromBody] QQLightWideCharToMultiByteHttpInput input)
+ {
+ var httpInput = new HttpInput
+ {
+ TypeCode = nameof(WideCharToMultiByte),
MahuaPlatform = MahuaPlatform.QQLight,
Data = new ReadOnlyDictionary(new Dictionary
{
-{nameof(input.类型), input.类型},
-{nameof(input.对象), input.对象},
-{nameof(input.图片字节集), input.图片字节集},
+{nameof(input.CodePage), input.CodePage},
+{nameof(input.dwFlags), input.dwFlags},
+{nameof(input.lpWideCharStr), input.lpWideCharStr},
+{nameof(input.cchWideChar), input.cchWideChar},
+{nameof(input.lpMultiByteStr), input.lpMultiByteStr},
+{nameof(input.cchMultiByte), input.cchMultiByte},
+{nameof(input.lpDefaultChar), input.lpDefaultChar},
+{nameof(input.lpUsedDefaultChar), input.lpUsedDefaultChar},
}
)
}
@@ -1444,20 +1983,40 @@ public Task Api_UpLoadPic([FromBody] QQLightApi_UpLoadPicHttpInput input)
///
///
///
- public class QQLightApi_UpLoadPicHttpInput
+ public class QQLightWideCharToMultiByteHttpInput
{
///
///
///
- public int 类型 { get; set; }
+ public int CodePage { get; set; }
///
///
///
- public string 对象 { get; set; }
+ public int dwFlags { get; set; }
///
- /// Hex形式
+ /// 址
+ ///
+ public string lpWideCharStr { get; set; }
+ ///
+ ///
+ ///
+ public int cchWideChar { get; set; }
+ ///
+ /// 址
+ ///
+ public string lpMultiByteStr { get; set; }
+ ///
+ ///
+ ///
+ public int cchMultiByte { get; set; }
+ ///
+ ///
+ ///
+ public int lpDefaultChar { get; set; }
+ ///
+ ///
///
- public string 图片字节集 { get; set; }
+ public int lpUsedDefaultChar { get; set; }
}
}
}
diff --git a/src/Newbe.Mahua.InputReceivers.WebsocketApi/Newbe.Mahua.InputReceivers.WebsocketApi.csproj b/src/Newbe.Mahua.InputReceivers.WebsocketApi/Newbe.Mahua.InputReceivers.WebsocketApi.csproj
index c8f17ce..505143d 100644
--- a/src/Newbe.Mahua.InputReceivers.WebsocketApi/Newbe.Mahua.InputReceivers.WebsocketApi.csproj
+++ b/src/Newbe.Mahua.InputReceivers.WebsocketApi/Newbe.Mahua.InputReceivers.WebsocketApi.csproj
@@ -7,10 +7,10 @@
-
-
+
+
-
+
diff --git a/src/Newbe.Mahua.MPQ.Native/MpqApi.cs b/src/Newbe.Mahua.MPQ.Native/MpqApi.cs
index ff74e40..98dc1d9 100644
--- a/src/Newbe.Mahua.MPQ.Native/MpqApi.cs
+++ b/src/Newbe.Mahua.MPQ.Native/MpqApi.cs
@@ -7,113 +7,91 @@ namespace Newbe.Mahua.MPQ.Native
public class MpqApi : IMpqApi
{
///
- /// 根据提交的QQ号计算得到页面操作用参数Bkn或G_tk`
+ /// 根据提交的QQ号计算得到页面操作用参数Bkn或G_tk`
///
///
///
string IMpqApi.Api_GetGtk_Bkn([Description("")] string 响应的QQ)
- {
- return NativeMethods.Api_GetGtk_Bkn(响应的QQ);
- }
+ => NativeMethods.Api_GetGtk_Bkn(响应的QQ);
///
- /// 根据提交的QQ号计算得到页面操作用参数长Bkn或长G_tk`
+ /// 根据提交的QQ号计算得到页面操作用参数长Bkn或长G_tk`
///
///
///
string IMpqApi.Api_GetBkn32([Description("")] string 响应的QQ)
- {
- return NativeMethods.Api_GetBkn32(响应的QQ);
- }
+ => NativeMethods.Api_GetBkn32(响应的QQ);
///
- /// 根据提交的QQ号计算得到页面操作用参数长Ldw`
+ /// 根据提交的QQ号计算得到页面操作用参数长Ldw`
///
///
///
string IMpqApi.Api_GetLdw([Description("")] string 响应的QQ)
- {
- return NativeMethods.Api_GetLdw(响应的QQ);
- }
+ => NativeMethods.Api_GetLdw(响应的QQ);
///
- /// 取得框架所在目录.可能鸡肋了。`
+ /// 取得框架所在目录.可能鸡肋了。`
///
///
string IMpqApi.Api_GetRunPath()
- {
- return NativeMethods.Api_GetRunPath();
- }
+ => NativeMethods.Api_GetRunPath();
///
- /// 取得当前框架内在线可用的QQ列表`
+ /// 取得当前框架内在线可用的QQ列表`
///
///
string IMpqApi.Api_GetOnlineQQlist()
- {
- return NativeMethods.Api_GetOnlineQQlist();
- }
+ => NativeMethods.Api_GetOnlineQQlist();
///
- /// 取得框架内所有QQ列表。包括未登录以及登录失败的QQ`
+ /// 取得框架内所有QQ列表。包括未登录以及登录失败的QQ`
///
///
string IMpqApi.Api_GetQQlist()
- {
- return NativeMethods.Api_GetQQlist();
- }
+ => NativeMethods.Api_GetQQlist();
///
- /// 根据QQ取得对应的会话秘钥`
+ /// 根据QQ取得对应的会话秘钥`
///
///
///
string IMpqApi.Api_GetSessionkey([Description("")] string 响应的QQ)
- {
- return NativeMethods.Api_GetSessionkey(响应的QQ);
- }
+ => NativeMethods.Api_GetSessionkey(响应的QQ);
///
- /// 取得页面登录用的Clientkey`
+ /// 取得页面登录用的Clientkey`
///
///
///
string IMpqApi.Api_GetClientkey([Description("")] string 响应的QQ)
- {
- return NativeMethods.Api_GetClientkey(响应的QQ);
- }
+ => NativeMethods.Api_GetClientkey(响应的QQ);
///
- /// 取得页面登录用的长Clientkey`
+ /// 取得页面登录用的长Clientkey`
///
///
///
string IMpqApi.Api_GetLongClientkey([Description("")] string 响应的QQ)
- {
- return NativeMethods.Api_GetLongClientkey(响应的QQ);
- }
+ => NativeMethods.Api_GetLongClientkey(响应的QQ);
///
- /// 取得页面操作用的Cookies`
+ /// 取得页面操作用的Cookies`
///
///
///
string IMpqApi.Api_GetCookies([Description("")] string 响应的QQ)
- {
- return NativeMethods.Api_GetCookies(响应的QQ);
- }
+ => NativeMethods.Api_GetCookies(响应的QQ);
///
- /// 取得框架内设置的信息发送前缀`
+ /// 取得框架内设置的信息发送前缀`
///
///
string IMpqApi.Api_GetPrefix()
- {
- return NativeMethods.Api_GetPrefix();
- }
+ => NativeMethods.Api_GetPrefix();
///
- /// 将群名片加入高速缓存当作.`
+ /// 将群名片加入高速缓存当作.`
///
///
///
@@ -121,34 +99,28 @@ string IMpqApi.Api_GetPrefix()
///
void IMpqApi.Api_Cache_NameCard([Description("")] string 群号, [Description("")] string QQ,
[Description("")] string 名片)
- {
- NativeMethods.Api_Cache_NameCard(群号, QQ, 名片);
- }
+ => NativeMethods.Api_Cache_NameCard(群号, QQ, 名片);
///
- /// 将指定QQ移出QQ黑名单`
+ /// 将指定QQ移出QQ黑名单`
///
///
///
///
void IMpqApi.Api_DBan([Description("")] string 响应的QQ, [Description("")] string QQ)
- {
- NativeMethods.Api_DBan(响应的QQ, QQ);
- }
+ => NativeMethods.Api_DBan(响应的QQ, QQ);
///
- /// 将指定QQ列入QQ黑名单`
+ /// 将指定QQ列入QQ黑名单`
///
///
///
///
void IMpqApi.Api_Ban([Description("")] string 响应的QQ, [Description("")] string QQ)
- {
- NativeMethods.Api_Ban(响应的QQ, QQ);
- }
+ => NativeMethods.Api_Ban(响应的QQ, QQ);
///
- /// 禁言群成员`
+ /// 禁言群成员`
///
///
/// 禁言对象所在群.
@@ -158,12 +130,21 @@ void IMpqApi.Api_Ban([Description("")] string 响应的QQ, [Description("")] str
bool IMpqApi.Api_Shutup([Description("")] string 响应的QQ, [Description("禁言对象所在群.")] string 群号,
[Description("禁言对象.留空为全群禁言")] string QQ, [Description("单位:秒 最大为1个月. 为零解除对象或全群禁言")]
int 时长)
- {
- return NativeMethods.Api_Shutup(响应的QQ, 群号, QQ, 时长);
- }
+ => NativeMethods.Api_Shutup(响应的QQ, 群号, QQ, 时长);
+
+ ///
+ /// 根据群号+QQ判断指定群员是否被禁言 获取失败的情况下亦会返回假
+ ///
+ ///
+ /// 欲判断对象所在群.
+ /// 欲判断对象
+ ///
+ bool IMpqApi.Api_IsShutup([Description("")] string 响应的QQ, [Description("欲判断对象所在群.")] string 群号,
+ [Description("欲判断对象")] string QQ)
+ => NativeMethods.Api_IsShutup(响应的QQ, 群号, QQ);
///
- /// 发群公告`
+ /// 发群公告`
///
///
///
@@ -172,23 +153,19 @@ bool IMpqApi.Api_Shutup([Description("")] string 响应的QQ, [Description("禁
///
void IMpqApi.Api_SetNotice([Description("")] string 响应的QQ, [Description("")] string 群号,
[Description("")] string 标题, [Description("")] string 内容)
- {
- NativeMethods.Api_SetNotice(响应的QQ, 群号, 标题, 内容);
- }
+ => NativeMethods.Api_SetNotice(响应的QQ, 群号, 标题, 内容);
///
- /// 取群公告`
+ /// 取群公告`
///
///
///
///
string IMpqApi.Api_GetNotice([Description("")] string 响应的QQ, [Description("")] string 群号)
- {
- return NativeMethods.Api_GetNotice(响应的QQ, 群号);
- }
+ => NativeMethods.Api_GetNotice(响应的QQ, 群号);
///
- /// 取群名片`
+ /// 取群名片`
///
///
///
@@ -196,12 +173,10 @@ string IMpqApi.Api_GetNotice([Description("")] string 响应的QQ, [Description(
///
string IMpqApi.Api_GetNameCard([Description("")] string 响应的QQ, [Description("")] string 群号,
[Description("")] string QQ)
- {
- return NativeMethods.Api_GetNameCard(响应的QQ, 群号, QQ);
- }
+ => NativeMethods.Api_GetNameCard(响应的QQ, 群号, QQ);
///
- /// 设置群名片`
+ /// 设置群名片`
///
///
///
@@ -210,46 +185,38 @@ string IMpqApi.Api_GetNameCard([Description("")] string 响应的QQ, [Descriptio
///
void IMpqApi.Api_SetNameCard([Description("")] string 响应的QQ, [Description("")] string 群号,
[Description("")] string QQ, [Description("")] string 名片)
- {
- NativeMethods.Api_SetNameCard(响应的QQ, 群号, QQ, 名片);
- }
+ => NativeMethods.Api_SetNameCard(响应的QQ, 群号, QQ, 名片);
///
- /// 退出讨论组`
+ /// 退出讨论组`
///
///
///
///
void IMpqApi.Api_QuitDG([Description("")] string 响应的QQ, [Description("")] string 讨论组ID)
- {
- NativeMethods.Api_QuitDG(响应的QQ, 讨论组ID);
- }
+ => NativeMethods.Api_QuitDG(响应的QQ, 讨论组ID);
///
- /// 删除好友`
+ /// 删除好友`
///
///
///
///
bool IMpqApi.Api_DelFriend([Description("")] string 响应的QQ, [Description("")] string QQ)
- {
- return NativeMethods.Api_DelFriend(响应的QQ, QQ);
- }
+ => NativeMethods.Api_DelFriend(响应的QQ, QQ);
///
- /// 将对象移除群`
+ /// 将对象移除群`
///
///
///
///
///
bool IMpqApi.Api_Kick([Description("")] string 响应的QQ, [Description("")] string 群号, [Description("")] string 对象)
- {
- return NativeMethods.Api_Kick(响应的QQ, 群号, 对象);
- }
+ => NativeMethods.Api_Kick(响应的QQ, 群号, 对象);
///
- /// 主动加群.为了避免广告、群发行为。出现验证码时将会直接失败不处理`
+ /// 主动加群.为了避免广告、群发行为。出现验证码时将会直接失败不处理`
///
///
///
@@ -257,23 +224,19 @@ bool IMpqApi.Api_Kick([Description("")] string 响应的QQ, [Description("")] st
///
void IMpqApi.Api_JoinGroup([Description("")] string 响应的QQ, [Description("")] string 群号,
[Description("")] string 附加理由)
- {
- NativeMethods.Api_JoinGroup(响应的QQ, 群号, 附加理由);
- }
+ => NativeMethods.Api_JoinGroup(响应的QQ, 群号, 附加理由);
///
- /// 退出群`
+ /// 退出群`
///
///
///
///
void IMpqApi.Api_QuitGroup([Description("")] string 响应的QQ, [Description("")] string 群号)
- {
- NativeMethods.Api_QuitGroup(响应的QQ, 群号);
- }
+ => NativeMethods.Api_QuitGroup(响应的QQ, 群号);
///
- /// 返回值:成功返回图片GUID用于发送该图片.失败返回空. 图片尺寸应小于4MB`
+ /// 返回值:成功返回图片GUID用于发送该图片.失败返回空. 图片尺寸应小于4MB`
///
/// 机器人QQ
/// 1好友2群 注:好友图和群图的GUID并不相同并不通用 需要非别上传。群、讨论组用类型2 临时会话、好友信息需要类型1
@@ -284,23 +247,19 @@ string IMpqApi.Api_UploadPic([Description("机器人QQ")] string 响应的QQ,
[Description("1好友2群 注:好友图和群图的GUID并不相同并不通用 需要非别上传。群、讨论组用类型2 临时会话、好友信息需要类型1")]
int 参_上传类型, [Description("上传该图片所属的群号或QQ")] string 参_参考对象,
[Description("址, 图片字节集数据或字节集数据指针()")] byte[] 参_图片数据)
- {
- return NativeMethods.Api_UploadPic(响应的QQ, 参_上传类型, 参_参考对象, 参_图片数据);
- }
+ => NativeMethods.Api_UploadPic(响应的QQ, 参_上传类型, 参_参考对象, 参_图片数据);
///
- /// 根据图片GUID取得图片下载连接 失败返回空`
+ /// 根据图片GUID取得图片下载连接 失败返回空`
///
/// {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}.jpg这样的GUID
///
string IMpqApi.Api_GuidGetPicLink([Description("{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}.jpg这样的GUID")]
string 图片GUID)
- {
- return NativeMethods.Api_GuidGetPicLink(图片GUID);
- }
+ => NativeMethods.Api_GuidGetPicLink(图片GUID);
///
- /// 回复信息 请尽量避免使用该API`
+ /// 回复信息 请尽量避免使用该API`
///
///
/// 1好友 2群 3讨论组 4群临时会话 5讨论组临时会话
@@ -309,12 +268,10 @@ string IMpqApi.Api_GuidGetPicLink([Description("{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxx
///
int IMpqApi.Api_Reply([Description("")] string 响应的QQ, [Description("1好友 2群 3讨论组 4群临时会话 5讨论组临时会话")]
int 信息类型, [Description("接收这条信息的对象")] string 回复对象, [Description("信息内容")] string 内容)
- {
- return NativeMethods.Api_Reply(响应的QQ, 信息类型, 回复对象, 内容);
- }
+ => NativeMethods.Api_Reply(响应的QQ, 信息类型, 回复对象, 内容);
///
- /// 向对象、目标发送信息 支持好友 群 讨论组 群临时会话 讨论组临时会话`
+ /// 向对象、目标发送信息 支持好友 群 讨论组 群临时会话 讨论组临时会话`
///
///
/// 1好友 2群 3讨论组 4群临时会话 5讨论组临时会话
@@ -326,351 +283,283 @@ int IMpqApi.Api_Reply([Description("")] string 响应的QQ, [Description("1好
int IMpqApi.Api_SendMsg([Description("")] string 响应的QQ, [Description("1好友 2群 3讨论组 4群临时会话 5讨论组临时会话")]
int 信息类型, [Description("无特殊说明情况下留空或填零")] int 参考子类型, [Description("发送群信息、讨论组信息、群临时会话信息、讨论组临时会话信息时填写")]
string 收信群_讨论组, [Description("最终接收这条信息的对象QQ")] string 收信对象, [Description("信息内容")] string 内容)
- {
- return NativeMethods.Api_SendMsg(响应的QQ, 信息类型, 参考子类型, 收信群_讨论组, 收信对象, 内容);
- }
+ => NativeMethods.Api_SendMsg(响应的QQ, 信息类型, 参考子类型, 收信群_讨论组, 收信对象, 内容);
///
- /// 发送封包`
+ /// 发送封包`
///
///
///
string IMpqApi.Api_Send([Description("")] string 封包内容)
- {
- return NativeMethods.Api_Send(封包内容);
- }
+ => NativeMethods.Api_Send(封包内容);
///
- /// 在框架记录页输出一行信息`
+ /// 在框架记录页输出一行信息`
///
/// 输出的内容
///
int IMpqApi.Api_OutPut([Description("输出的内容")] string 内容)
- {
- return NativeMethods.Api_OutPut(内容);
- }
+ => NativeMethods.Api_OutPut(内容);
///
- /// 取得本插件启用状态`
+ /// 取得本插件启用状态`
///
///
bool IMpqApi.Api_IsEnable()
- {
- return NativeMethods.Api_IsEnable();
- }
+ => NativeMethods.Api_IsEnable();
///
- /// 登录一个现存的QQ`
+ /// 登录一个现存的QQ`
///
/// 欲登录的Q
///
bool IMpqApi.Api_Login([Description("欲登录的Q")] string QQ)
- {
- return NativeMethods.Api_Login(QQ);
- }
+ => NativeMethods.Api_Login(QQ);
///
- /// 让指定QQ下线`
+ /// 让指定QQ下线`
///
///
///
void IMpqApi.Api_Logout([Description("")] string QQ)
- {
- NativeMethods.Api_Logout(QQ);
- }
+ => NativeMethods.Api_Logout(QQ);
///
- /// tean加密算法`
+ /// tean加密算法`
///
///
///
///
string IMpqApi.Api_Tea加密([Description("")] string 加密内容, [Description("")] string Key)
- {
- return NativeMethods.Api_Tea加密(加密内容, Key);
- }
+ => NativeMethods.Api_Tea加密(加密内容, Key);
///
- /// tean解密算法`
+ /// tean解密算法`
///
///
///
///
string IMpqApi.Api_Tea解密([Description("")] string 解密内容, [Description("")] string Key)
- {
- return NativeMethods.Api_Tea解密(解密内容, Key);
- }
+ => NativeMethods.Api_Tea解密(解密内容, Key);
///
- /// 取用户名`
+ /// 取用户名`
///
///
///
string IMpqApi.Api_GetNick([Description("")] string QQ)
- {
- return NativeMethods.Api_GetNick(QQ);
- }
+ => NativeMethods.Api_GetNick(QQ);
///
- /// 取QQ等级+QQ会员等级 返回json格式信息`
+ /// 取QQ等级+QQ会员等级 返回json格式信息`
///
///
///
string IMpqApi.Api_GetQQLevel([Description("")] string QQ)
- {
- return NativeMethods.Api_GetQQLevel(QQ);
- }
+ => NativeMethods.Api_GetQQLevel(QQ);
///
- /// 群号转群ID`
+ /// 群号转群ID`
///
///
///
string IMpqApi.Api_GNGetGid([Description("")] string 群号)
- {
- return NativeMethods.Api_GNGetGid(群号);
- }
+ => NativeMethods.Api_GNGetGid(群号);
///
- /// 群ID转群号`
+ /// 群ID转群号`
///
///
///
string IMpqApi.Api_GidGetGN([Description("")] string 群ID)
- {
- return NativeMethods.Api_GidGetGN(群ID);
- }
+ => NativeMethods.Api_GidGetGN(群ID);
///
- /// 取框架版本号(发布时间戳`
+ /// 取框架版本号(发布时间戳`
///
///
int IMpqApi.Api_GetVersion()
- {
- return NativeMethods.Api_GetVersion();
- }
+ => NativeMethods.Api_GetVersion();
///
- /// 取框架版本名`
+ /// 取框架版本名`
///
///
string IMpqApi.Api_GetVersionName()
- {
- return NativeMethods.Api_GetVersionName();
- }
+ => NativeMethods.Api_GetVersionName();
///
- /// 取当前框架内部时间戳_周期性与服务器时间同步`
+ /// 取当前框架内部时间戳_周期性与服务器时间同步`
///
///
int IMpqApi.Api_GetTimeStamp()
- {
- return NativeMethods.Api_GetTimeStamp();
- }
+ => NativeMethods.Api_GetTimeStamp();
///
- /// 取得框架输出列表内所有信息`
+ /// 取得框架输出列表内所有信息`
///
///
string IMpqApi.Api_GetLog()
- {
- return NativeMethods.Api_GetLog();
- }
+ => NativeMethods.Api_GetLog();
///
- /// 判断是否处于被屏蔽群信息状态。`
+ /// 判断是否处于被屏蔽群信息状态。`
///
///
///
bool IMpqApi.Api_IfBlock([Description("")] string 响应的QQ)
- {
- return NativeMethods.Api_IfBlock(响应的QQ);
- }
+ => NativeMethods.Api_IfBlock(响应的QQ);
///
- /// 取包括群主在内的群管列表`
+ /// 取包括群主在内的群管列表`
///
///
///
///
string IMpqApi.Api_GetAdminList([Description("")] string 响应的QQ, [Description("")] string 群号)
- {
- return NativeMethods.Api_GetAdminList(响应的QQ, 群号);
- }
+ => NativeMethods.Api_GetAdminList(响应的QQ, 群号);
///
- /// 发说说`
+ /// 发说说`
///
///
///
///
string IMpqApi.Api_AddTaotao([Description("")] string 响应的QQ, [Description("")] string 内容)
- {
- return NativeMethods.Api_AddTaotao(响应的QQ, 内容);
- }
+ => NativeMethods.Api_AddTaotao(响应的QQ, 内容);
///
- /// 取个签`
+ /// 取个签`
///
///
///
///
string IMpqApi.Api_GetSign([Description("")] string 响应的QQ, [Description("")] string 对象)
- {
- return NativeMethods.Api_GetSign(响应的QQ, 对象);
- }
+ => NativeMethods.Api_GetSign(响应的QQ, 对象);
///
- /// 设置个签`
+ /// 设置个签`
///
///
///
///
string IMpqApi.Api_SetSign([Description("")] string 响应的QQ, [Description("")] string 内容)
- {
- return NativeMethods.Api_SetSign(响应的QQ, 内容);
- }
+ => NativeMethods.Api_SetSign(响应的QQ, 内容);
///
- /// 通过qun.qzone.qq.com接口取得取群列表.成功返回转码后的JSON格式文本信息`
+ /// 通过qun.qzone.qq.com接口取得取群列表.成功返回转码后的JSON格式文本信息`
///
///
///
string IMpqApi.Api_GetGroupListA([Description("")] string 响应的QQ)
- {
- return NativeMethods.Api_GetGroupListA(响应的QQ);
- }
+ => NativeMethods.Api_GetGroupListA(响应的QQ);
///
- /// 通过qun.qq.com接口取得取群列表.成功返回转码后的JSON格式文本信息`
+ /// 通过qun.qq.com接口取得取群列表.成功返回转码后的JSON格式文本信息`
///
///
///
string IMpqApi.Api_GetGroupListB([Description("")] string 响应的QQ)
- {
- return NativeMethods.Api_GetGroupListB(响应的QQ);
- }
+ => NativeMethods.Api_GetGroupListB(响应的QQ);
///
- /// 通过qun.qq.com接口取得群成员列表 成功返回转码后的JSON格式文本`
+ /// 通过qun.qq.com接口取得群成员列表 成功返回转码后的JSON格式文本`
///
///
///
///
string IMpqApi.Api_GetGroupMemberA([Description("")] string 响应的QQ, [Description("")] string 群号)
- {
- return NativeMethods.Api_GetGroupMemberA(响应的QQ, 群号);
- }
+ => NativeMethods.Api_GetGroupMemberA(响应的QQ, 群号);
///
- /// 通过qun.qzone.qq.com接口取得群成员列表 成功返回转码后的JSON格式文本`
+ /// 通过qun.qzone.qq.com接口取得群成员列表 成功返回转码后的JSON格式文本`
///
///
///
///
string IMpqApi.Api_GetGroupMemberB([Description("")] string 响应的QQ, [Description("")] string 群号)
- {
- return NativeMethods.Api_GetGroupMemberB(响应的QQ, 群号);
- }
+ => NativeMethods.Api_GetGroupMemberB(响应的QQ, 群号);
///
- /// 通过qun.qq.com接口取得好友列表。成功返回转码后的JSON文本`
+ /// 通过qun.qq.com接口取得好友列表。成功返回转码后的JSON文本`
///
///
///
string IMpqApi.Api_GetFriendList([Description("")] string 响应的QQ)
- {
- return NativeMethods.Api_GetFriendList(响应的QQ);
- }
+ => NativeMethods.Api_GetFriendList(响应的QQ);
///
- /// 取Q龄 成功返回Q龄 失败返回-1`
+ /// 取Q龄 成功返回Q龄 失败返回-1`
///
///
///
///
int IMpqApi.Api_GetQQAge([Description("")] string 响应的QQ, [Description("")] string QQ)
- {
- return NativeMethods.Api_GetQQAge(响应的QQ, QQ);
- }
+ => NativeMethods.Api_GetQQAge(响应的QQ, QQ);
///
- /// 取年龄 成功返回年龄 失败返回-1`
+ /// 取年龄 成功返回年龄 失败返回-1`
///
///
///
///
int IMpqApi.Api_GetAge([Description("")] string 响应的QQ, [Description("")] string QQ)
- {
- return NativeMethods.Api_GetAge(响应的QQ, QQ);
- }
+ => NativeMethods.Api_GetAge(响应的QQ, QQ);
///
- /// 取个人说明`
+ /// 取个人说明`
///
///
/// 对象QQ
///
string IMpqApi.Api_GetPersonalProfile([Description("")] string 响应的QQ, [Description("对象QQ")] string QQ)
- {
- return NativeMethods.Api_GetPersonalProfile(响应的QQ, QQ);
- }
+ => NativeMethods.Api_GetPersonalProfile(响应的QQ, QQ);
///
- /// 取邮箱 成功返回邮箱 失败返回空`
+ /// 取邮箱 成功返回邮箱 失败返回空`
///
///
///
///
string IMpqApi.Api_GetEmail([Description("")] string 响应的QQ, [Description("")] string QQ)
- {
- return NativeMethods.Api_GetEmail(响应的QQ, QQ);
- }
+ => NativeMethods.Api_GetEmail(响应的QQ, QQ);
///
- /// 取对象性别 1男 2女 未或失败返回-1`
+ /// 取对象性别 1男 2女 未或失败返回-1`
///
///
///
///
int IMpqApi.Api_GetGender([Description("")] string 响应的QQ, [Description("")] string QQ)
- {
- return NativeMethods.Api_GetGender(响应的QQ, QQ);
- }
+ => NativeMethods.Api_GetGender(响应的QQ, QQ);
///
- /// 向好友发送‘正在输入’的状态信息.当好友收到信息之后 “正在输入”状态会立刻被打断`
+ /// 向好友发送‘正在输入’的状态信息.当好友收到信息之后 “正在输入”状态会立刻被打断`
///
///
///
///
int IMpqApi.Api_SendTyping([Description("")] string 响应的QQ, [Description("")] string QQ)
- {
- return NativeMethods.Api_SendTyping(响应的QQ, QQ);
- }
+ => NativeMethods.Api_SendTyping(响应的QQ, QQ);
///
- /// 向好友发送窗口抖动信息`
+ /// 向好友发送窗口抖动信息`
///
///
///
///
int IMpqApi.Api_SendShake([Description("")] string 响应的QQ, [Description("")] string QQ)
- {
- return NativeMethods.Api_SendShake(响应的QQ, QQ);
- }
+ => NativeMethods.Api_SendShake(响应的QQ, QQ);
///
- /// 取得框架内随机一个在线且可以使用的QQ`
+ /// 取得框架内随机一个在线且可以使用的QQ`
///
///
string IMpqApi.Api_GetRadomOnlineQQ()
- {
- return NativeMethods.Api_GetRadomOnlineQQ();
- }
+ => NativeMethods.Api_GetRadomOnlineQQ();
///
- /// 往帐号列表添加一个Q.当该Q已存在时则覆盖密码`
+ /// 往帐号列表添加一个Q.当该Q已存在时则覆盖密码`
///
///
///
@@ -679,12 +568,10 @@ string IMpqApi.Api_GetRadomOnlineQQ()
bool IMpqApi.Api_AddQQ([Description("")] string QQ, [Description("")] string 密码,
[Description("运行框架时是否自动登录该Q.若添加后需要登录该Q则需要通过Api_Login操作")]
bool 自动登录)
- {
- return NativeMethods.Api_AddQQ(QQ, 密码, 自动登录);
- }
+ => NativeMethods.Api_AddQQ(QQ, 密码, 自动登录);
///
- /// 设置在线状态+附加信息 `
+ /// 设置在线状态+附加信息 `
///
///
/// 1~6 分别对应我在线上, Q我吧, 离开, 忙碌, 请勿打扰, 隐身
@@ -693,21 +580,17 @@ bool IMpqApi.Api_AddQQ([Description("")] string QQ, [Description("")] string 密
bool IMpqApi.Api_SetOLStatus([Description("")] string 响应的QQ,
[Description("1~6 分别对应我在线上, Q我吧, 离开, 忙碌, 请勿打扰, 隐身")]
int 在线状态, [Description("最大255字节")] string 状态附加信息)
- {
- return NativeMethods.Api_SetOLStatus(响应的QQ, 在线状态, 状态附加信息);
- }
+ => NativeMethods.Api_SetOLStatus(响应的QQ, 在线状态, 状态附加信息);
///
- /// 取得机器码`
+ /// 取得机器码`
///
///
string IMpqApi.Api_GetMC()
- {
- return NativeMethods.Api_GetMC();
- }
+ => NativeMethods.Api_GetMC();
///
- /// 邀请对象加入群 失败返回错误理由`
+ /// 邀请对象加入群 失败返回错误理由`
///
///
/// 多个好友用换行分割
@@ -715,22 +598,18 @@ string IMpqApi.Api_GetMC()
///
string IMpqApi.Api_GroupInvitation([Description("")] string 响应的QQ, [Description("多个好友用换行分割")] string 好友QQ,
[Description("")] string 群号)
- {
- return NativeMethods.Api_GroupInvitation(响应的QQ, 好友QQ, 群号);
- }
+ => NativeMethods.Api_GroupInvitation(响应的QQ, 好友QQ, 群号);
///
- /// 创建一个讨论组 成功返回讨论组ID 失败返回空 注:每24小时只能创建100个讨论组 悠着点用`
+ /// 创建一个讨论组 成功返回讨论组ID 失败返回空 注:每24小时只能创建100个讨论组 悠着点用`
///
///
///
string IMpqApi.Api_CreateDG([Description("")] string 响应的QQ)
- {
- return NativeMethods.Api_CreateDG(响应的QQ);
- }
+ => NativeMethods.Api_CreateDG(响应的QQ);
///
- /// 将对象移除讨论组.成功返回空 失败返回理由`
+ /// 将对象移除讨论组.成功返回空 失败返回理由`
///
///
///
@@ -738,12 +617,10 @@ string IMpqApi.Api_CreateDG([Description("")] string 响应的QQ)
///
string IMpqApi.Api_KickDG([Description("")] string 响应的QQ, [Description("")] string 讨论组ID,
[Description("")] string 成员)
- {
- return NativeMethods.Api_KickDG(响应的QQ, 讨论组ID, 成员);
- }
+ => NativeMethods.Api_KickDG(响应的QQ, 讨论组ID, 成员);
///
- /// 邀请对象加入讨论组 成功返回空 失败返回理由`
+ /// 邀请对象加入讨论组 成功返回空 失败返回理由`
///
///
///
@@ -751,22 +628,18 @@ string IMpqApi.Api_KickDG([Description("")] string 响应的QQ, [Description("")
///
string IMpqApi.Api_DGInvitation([Description("")] string 响应的QQ, [Description("")] string 讨论组ID,
[Description("多个成员用换行符分割")] string 成员组)
- {
- return NativeMethods.Api_DGInvitation(响应的QQ, 讨论组ID, 成员组);
- }
+ => NativeMethods.Api_DGInvitation(响应的QQ, 讨论组ID, 成员组);
///
- /// 成功返回以换行符分割的讨论组号列表.最大为100个讨论组 失败返回空`
+ /// 成功返回以换行符分割的讨论组号列表.最大为100个讨论组 失败返回空`
///
///
///
string IMpqApi.Api_GetDGList([Description("")] string 响应的QQ)
- {
- return NativeMethods.Api_GetDGList(响应的QQ);
- }
+ => NativeMethods.Api_GetDGList(响应的QQ);
///
- /// 向对象发送一条音乐信息(所谓的点歌)次数不限`
+ /// 向对象发送一条音乐信息(所谓的点歌)次数不限`
///
///
/// 同Api_SendMsg 1好友 2群 3讨论组 4群临时会话 5讨论组临时会话
@@ -791,13 +664,28 @@ bool IMpqApi.Api_SendMusic([Description("")] string 响应的QQ,
[Description("可空 为空默认QQ音乐")] string 音乐来源名,
[Description("可空 为空默认QQ音乐 http://qzonestyle.gtimg.cn/ac/qzone/applogo/64/308/100497308_64.gif")]
string 音乐来源图标连接)
- {
- return NativeMethods.Api_SendMusic(响应的QQ, 收信对象类型, 收信对象所属群_讨论组, 收信对象QQ, 音乐简介, 音乐播放页面连接, 音乐封面连接, 音乐文件直连连接, 曲名,
+ => NativeMethods.Api_SendMusic(响应的QQ, 收信对象类型, 收信对象所属群_讨论组, 收信对象QQ, 音乐简介, 音乐播放页面连接, 音乐封面连接, 音乐文件直连连接, 曲名,
歌手名, 音乐来源名, 音乐来源图标连接);
- }
///
- /// `
+ /// `
+ ///
+ ///
+ /// 同Api_SendMsg 1好友 2群 3讨论组 4群临时会话 5讨论组临时会话
+ /// 发群内、临时会话必填 好友可不填
+ /// 临时会话、好友必填 发至群内可不填
+ ///
+ /// 00 基本 02 点歌 其他不明
+ ///
+ bool IMpqApi.Api_SendXml([Description("")] string 响应的QQ,
+ [Description("同Api_SendMsg 1好友 2群 3讨论组 4群临时会话 5讨论组临时会话")]
+ int 收信对象类型, [Description("发群内、临时会话必填 好友可不填")] string 收信对象所属群_讨论组,
+ [Description("临时会话、好友必填 发至群内可不填")] string 收信对象QQ, [Description("")] string ObjectMsg,
+ [Description("00 基本 02 点歌 其他不明")] int 结构子类型)
+ => NativeMethods.Api_SendXml(响应的QQ, 收信对象类型, 收信对象所属群_讨论组, 收信对象QQ, ObjectMsg, 结构子类型);
+
+ ///
+ /// `
///
///
/// 同Api_SendMsg 1好友 2群 3讨论组 4群临时会话 5讨论组临时会话
@@ -811,281 +699,550 @@ bool IMpqApi.Api_SendObjectMsg([Description("")] string 响应的QQ,
int 收信对象类型, [Description("发群内、临时会话必填 好友可不填")] string 收信对象所属群_讨论组,
[Description("临时会话、好友必填 发至群内可不填")] string 收信对象QQ, [Description("")] string ObjectMsg,
[Description("00 基本 02 点歌 其他不明")] int 结构子类型)
- {
- return NativeMethods.Api_SendObjectMsg(响应的QQ, 收信对象类型, 收信对象所属群_讨论组, 收信对象QQ, ObjectMsg, 结构子类型);
- }
+ => NativeMethods.Api_SendObjectMsg(响应的QQ, 收信对象类型, 收信对象所属群_讨论组, 收信对象QQ, ObjectMsg, 结构子类型);
///
- /// 判断对象是否为好友(双向)`
+ /// 判断对象是否为好友(双向)`
///
///
///
///
bool IMpqApi.Api_IsFriend([Description("")] string 响应的QQ, [Description("")] string 对象QQ)
- {
- return NativeMethods.Api_IsFriend(响应的QQ, 对象QQ);
- }
+ => NativeMethods.Api_IsFriend(响应的QQ, 对象QQ);
+
+ ///
+ /// 主动加好友 成功返回真 失败返回假 当对象设置需要正确回答问题或不允许任何人添加时无条件失败
+ ///
+ /// 机器人QQ
+ /// 加谁
+ /// 加好友提交的理由
+ ///
+ bool IMpqApi.Api_AddFriend([Description("机器人QQ")] string 响应的QQ, [Description("加谁")] string 对象QQ,
+ [Description("加好友提交的理由")] string 附加理由)
+ => NativeMethods.Api_AddFriend(响应的QQ, 对象QQ, 附加理由);
+
+ ///
+ /// 无参 用于插件自身请求禁用插件自身
+ ///
+ ///
+ void IMpqApi.Api_SelfDisable()
+ => NativeMethods.Api_SelfDisable();
+
+ ///
+ /// 取协议客户端类型常量 失败返回0
+ ///
+ ///
+ int IMpqApi.Api_GetClientType()
+ => NativeMethods.Api_GetClientType();
+
+ ///
+ /// 取协议客户端版本号常量 失败返回0
+ ///
+ ///
+ int IMpqApi.Api_GetClientVer()
+ => NativeMethods.Api_GetClientVer();
+
+ ///
+ /// 取协议客户端公开版本号常量 失败返回0
+ ///
+ ///
+ int IMpqApi.Api_GetPubNo()
+ => NativeMethods.Api_GetPubNo();
+
+ ///
+ /// 取协议客户端主版本号常量 失败返回0
+ ///
+ ///
+ int IMpqApi.Api_GetMainVer()
+ => NativeMethods.Api_GetMainVer();
+
+ ///
+ /// 取协议客户端通信模块(TXSSO)版本号常量 失败返回0
+ ///
+ ///
+ int IMpqApi.Api_GetTXSSOVer()
+ => NativeMethods.Api_GetTXSSOVer();
+
+ ///
+ /// 通过音频、语音guid取得下载连接
+ ///
+ ///
+ /// 格式:{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx}.amr
+ ///
+ string IMpqApi.Api_GuidGetVoiceLink([Description("")] string 响应的QQ,
+ [Description("格式:{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx}.amr")]
+ string GUID)
+ => NativeMethods.Api_GuidGetVoiceLink(响应的QQ, GUID);
+
+ ///
+ /// 上传音频文件 成功返回guid用于发送
+ ///
+ ///
+ /// 音频字节集数据
+ ///
+ string IMpqApi.Api_UploadVoice([Description("")] string 响应的QQ, [Description("音频字节集数据")] byte[] amr音频数据)
+ => NativeMethods.Api_UploadVoice(响应的QQ, amr音频数据);
+
+ ///
+ /// 移除由Api_AddLogHandler添加、设置的日志处理函数
+ ///
+ ///
+ void IMpqApi.Api_RemoveLogHandler()
+ => NativeMethods.Api_RemoveLogHandler();
+
+ ///
+ /// 取群名
+ ///
+ ///
+ ///
+ ///
+ string IMpqApi.Api_GetGroupName([Description("")] string 响应的QQ, [Description("")] string 群号)
+ => NativeMethods.Api_GetGroupName(响应的QQ, 群号);
+
+ ///
+ /// 移除\取消由Api_SetMsgFilter所添加\设置的处理函数
+ ///
+ ///
+ void IMpqApi.Api_RemoveMsgFilter()
+ => NativeMethods.Api_RemoveMsgFilter();
+
+ ///
+ /// QQ名片赞 10赞每Q每日 至多50人\日系列 成功返回空 失败返回理由(腾讯爸爸给出的) 一次一赞 速度请自行管控以免冻结
+ ///
+ ///
+ ///
+ ///
+ string IMpqApi.Api_Like([Description("")] string 参_响应的QQ, [Description("")] string 参_被赞QQ)
+ => NativeMethods.Api_Like(参_响应的QQ, 参_被赞QQ);
+
+ ///
+ /// 上传群文件
+ ///
+ ///
+ ///
+ /// 实际显示在群文件列表中的文件名
+ /// 本地文件路径 选填
+ /// 图片字节集数据 选填
+ ///
+ bool IMpqApi.Api_UploadGroupFile([Description("")] string 参_响应的QQ, [Description("")] string 参_群号,
+ [Description("实际显示在群文件列表中的文件名")] string 参_上传文件名, [Description("本地文件路径 选填")] string 参_路径,
+ [Description("图片字节集数据 选填")] byte[] 参_图片数据)
+ => NativeMethods.Api_UploadGroupFile(参_响应的QQ, 参_群号, 参_上传文件名, 参_路径, 参_图片数据);
+
+ ///
+ /// 根据图片GUID取得图片下载连接 失败返回空
+ ///
+ /// {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}.jpg这样的GUID
+ /// 1好友\临时会话图片 2 群图
+ /// 好友QQ或群号 根据参数2填写
+ ///
+ string IMpqApi.Api_GuidGetPicLinkEx([Description("{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}.jpg这样的GUID")]
+ string 参_图片GUID, [Description("1好友/临时会话图片 2 群图")] int 参_图片类型,
+ [Description("好友QQ或群号 根据参数2填写")] string 参_图片参考对象)
+ => NativeMethods.Api_GuidGetPicLinkEx(参_图片GUID, 参_图片类型, 参_图片参考对象);
+
+ ///
+ /// 撤回群信息 需为群管
+ ///
+ /// 机器人QQ
+ /// Event函数中的'参_原始信息' 经过解密后的封包字节数据
+ ///
+ bool IMpqApi.Api_CancelGroupMsgA([Description("机器人QQ")] string 响应的QQ,
+ [Description("Event函数中的'参_原始信息' 经过解密后的封包字节数据")]
+ string 原始信息)
+ => NativeMethods.Api_CancelGroupMsgA(响应的QQ, 原始信息);
+
+ ///
+ /// 取得用于登陆腾讯子业务的Cookies 如xxx.qq.com
+ ///
+ ///
+ /// 如qun.qq.com
+ ///
+ string IMpqApi.Api_GetCookiesByDomain([Description("")] string 响应的QQ, [Description("如qun.qq.com")] string 域名)
+ => NativeMethods.Api_GetCookiesByDomain(响应的QQ, 域名);
+
+ ///
+ ///
+ ///
+ ///
+ ///
+ void IMpqApi.Api_ChangeProtocol([Description("")] int i)
+ => NativeMethods.Api_ChangeProtocol(i);
+
+ ///
+ /// 从框架中删除QQ
+ ///
+ ///
+ ///
+ void IMpqApi.Api_DeleteQQ([Description("")] string 被操作QQ)
+ => NativeMethods.Api_DeleteQQ(被操作QQ);
+
+ ///
+ ///
+ ///
+ ///
+ /// 同Api_SendMsg 1好友 2群 3讨论组 4群临时会话 5讨论组临时会话
+ /// 文本型, , 发群内、临时会话必填 好友可不填
+ /// 临时会话、好友必填 发至群内可不填
+ ///
+ ///
+ bool IMpqApi.Api_SendAppMsg([Description("")] string 响应的QQ,
+ [Description("同Api_SendMsg 1好友 2群 3讨论组 4群临时会话 5讨论组临时会话")]
+ int 收信对象类型, [Description("文本型, , 发群内、临时会话必填 好友可不填")]
+ string 信对象所属群_讨论组, [Description("临时会话、好友必填 发至群内可不填")] string 收信对象QQ, [Description("")] string AppMsg)
+ => NativeMethods.Api_SendAppMsg(响应的QQ, 收信对象类型, 信对象所属群_讨论组, 收信对象QQ, AppMsg);
+
+ ///
+ /// 取生日 失败返回空 未公开生日信息返回 "0年0月0日"
+ ///
+ ///
+ ///
+ ///
+ string IMpqApi.Api_GetBirthday([Description("")] string 响应的QQ, [Description("")] string QQ)
+ => NativeMethods.Api_GetBirthday(响应的QQ, QQ);
+
+ ///
+ /// 取用户个人信息页面字节数据 包含各种资料 返回内容为原始明文数据
+ ///
+ ///
+ ///
+ ///
+ string IMpqApi.Api_GetUserInfo([Description("")] string 响应的QQ, [Description("")] string QQ)
+ => NativeMethods.Api_GetUserInfo(响应的QQ, QQ);
+
+ ///
+ ///
+ ///
+ ///
+ ///
+ string IMpqApi.Api_GetFriendListA([Description("")] string 响应的QQ)
+ => NativeMethods.Api_GetFriendListA(响应的QQ);
+
+ ///
+ /// 仅商用版可用
+ ///
+ ///
+ string IMpqApi.Api_GetLoginQRCode()
+ => NativeMethods.Api_GetLoginQRCode();
+
+ ///
+ /// 仅商用版可用 上传头像 接受字节集参数 返回值:0 上传成功 -1参数有误 -2图片大于1MB -3获取上传令牌失败受限 -4其他理由上传失败
+ ///
+ /// 机器人QQ
+ /// 图片字节集数据,由于易语言DLL限制你可能在这里读到的是"整数型" 请自己改成字节集,图片不限PNG JPG 大小1MB以内
+ ///
+ int IMpqApi.Api_UploadCface_Byte([Description("机器人QQ")] string 参_响应的QQ,
+ [Description("图片字节集数据,由于易语言DLL限制你可能在这里读到的是\"整数型\" 请自己改成字节集,图片不限PNG JPG 大小1MB以内")]
+ int 参_图片数据)
+ => NativeMethods.Api_UploadCface_Byte(参_响应的QQ, 参_图片数据);
+
+ ///
+ /// 仅商用版可用 上传头像 接受路径参数 URL 或 本地路径 返回值:0 上传成功 -1参数有误 -2图片大于1MB -3获取上传令牌失败受限 -4其他理由上传失败
+ ///
+ /// 机器人QQ
+ /// 路径 可选URL 或 本地路径 http://www.baidu,com/图片.jpg C:\1.jpg,
+ ///
+ int IMpqApi.Api_UploadCface_Path([Description("机器人QQ")] string 参_响应的QQ,
+ [Description("路径 可选URL 或 本地路径 http://www.baidu,com/图片.jpg C:/1.jpg,")]
+ string 参_图片路径)
+ => NativeMethods.Api_UploadCface_Path(参_响应的QQ, 参_图片路径);
+
+ ///
+ /// 异步处理被加好友事件 在事件1001下返回值需>30 如50 以强制忽略且确保无其他插件处理
+ ///
+ /// 在事件1001下取得 参_原始信息 填入
+ /// 0忽略 10同意 20拒绝 30单向同意(成为单向好友)
+ /// 拒绝时的附加理由 可以留空
+ ///
+ void IMpqApi.Api_HandleFriendRequestAsync([Description("在事件1001下取得 参_原始信息 填入")] string 参_原始信息,
+ [Description("0忽略 10同意 20拒绝 30单向同意(成为单向好友)")]
+ int 参_处理方式, [Description("拒绝时的附加理由 可以留空")] string 参_附加信息)
+ => NativeMethods.Api_HandleFriendRequestAsync(参_原始信息, 参_处理方式, 参_附加信息);
+
+ ///
+ /// 异步处理被加群类事件 在事件200x下返回值需>30 如50 以强制忽略且确保无其他插件处理
+ ///
+ /// 机器人QQ
+ /// 在事件200x下取得 参_原始信息 填入
+ /// 0忽略 10同意 20拒绝 30拒绝并不再接受
+ /// 拒绝时的附加理由 可以留空
+ ///
+ void IMpqApi.Api_HandleGroupRequestAsync([Description("机器人QQ")] string 参_响应的QQ,
+ [Description("在事件200x下取得 参_原始信息 填入")] string 参_原始信息, [Description("0忽略 10同意 20拒绝 30拒绝并不再接受")]
+ int 参_处理方式, [Description("拒绝时的附加理由 可以留空")] string 参_附加信息)
+ => NativeMethods.Api_HandleGroupRequestAsync(参_响应的QQ, 参_原始信息, 参_处理方式, 参_附加信息);
private static class NativeMethods
{
///
- /// 根据提交的QQ号计算得到页面操作用参数Bkn或G_tk`
+ /// 根据提交的QQ号计算得到页面操作用参数Bkn或G_tk`
///
///
///
- [DllImport("message.dll")]
+ [DllImport("Message.dll")]
public static extern string Api_GetGtk_Bkn([Description("")] string 响应的QQ);
///
- /// 根据提交的QQ号计算得到页面操作用参数长Bkn或长G_tk`
+ /// 根据提交的QQ号计算得到页面操作用参数长Bkn或长G_tk`
///
///
///
- [DllImport("message.dll")]
+ [DllImport("Message.dll")]
public static extern string Api_GetBkn32([Description("")] string 响应的QQ);
///
- /// 根据提交的QQ号计算得到页面操作用参数长Ldw`
+ /// 根据提交的QQ号计算得到页面操作用参数长Ldw`
///
///
///
- [DllImport("message.dll")]
+ [DllImport("Message.dll")]
public static extern string Api_GetLdw([Description("")] string 响应的QQ);
///
- /// 取得框架所在目录.可能鸡肋了。`
+ /// 取得框架所在目录.可能鸡肋了。`
///
///
- [DllImport("message.dll")]
+ [DllImport("Message.dll")]
public static extern string Api_GetRunPath();
///
- /// 取得当前框架内在线可用的QQ列表`
+ /// 取得当前框架内在线可用的QQ列表`
///
///
- [DllImport("message.dll")]
+ [DllImport("Message.dll")]
public static extern string Api_GetOnlineQQlist();
///
- /// 取得框架内所有QQ列表。包括未登录以及登录失败的QQ`
+ /// 取得框架内所有QQ列表。包括未登录以及登录失败的QQ`
///
///
- [DllImport("message.dll")]
+ [DllImport("Message.dll")]
public static extern string Api_GetQQlist();
///
- /// 根据QQ取得对应的会话秘钥`
+ /// 根据QQ取得对应的会话秘钥`
///
///
///
- [DllImport("message.dll")]
+ [DllImport("Message.dll")]
public static extern string Api_GetSessionkey([Description("")] string 响应的QQ);
///
- /// 取得页面登录用的Clientkey`
+ /// 取得页面登录用的Clientkey`
///
///
///
- [DllImport("message.dll")]
+ [DllImport("Message.dll")]
public static extern string Api_GetClientkey([Description("")] string 响应的QQ);
///
- /// 取得页面登录用的长Clientkey`
+ /// 取得页面登录用的长Clientkey`
///
///
///
- [DllImport("message.dll")]
+ [DllImport("Message.dll")]
public static extern string Api_GetLongClientkey([Description("")] string 响应的QQ);
///
- /// 取得页面操作用的Cookies`
+ /// 取得页面操作用的Cookies`
///
///
///
- [DllImport("message.dll")]
+ [DllImport("Message.dll")]
public static extern string Api_GetCookies([Description("")] string 响应的QQ);
///
- /// 取得框架内设置的信息发送前缀`
+ /// 取得框架内设置的信息发送前缀`
///
///
- [DllImport("message.dll")]
+ [DllImport("Message.dll")]
public static extern string Api_GetPrefix();
///
- /// 将群名片加入高速缓存当作.`
+ /// 将群名片加入高速缓存当作.`
///
///
///
///
///
- [DllImport("message.dll")]
+ [DllImport("Message.dll")]
public static extern void Api_Cache_NameCard([Description("")] string 群号, [Description("")] string QQ,
[Description("")] string 名片);
///
- /// 将指定QQ移出QQ黑名单`
+ /// 将指定QQ移出QQ黑名单`
///
///
///
///
- [DllImport("message.dll")]
+ [DllImport("Message.dll")]
public static extern void Api_DBan([Description("")] string 响应的QQ, [Description("")] string QQ);
///
- /// 将指定QQ列入QQ黑名单`
+ /// 将指定QQ列入QQ黑名单`
///
///
///
///
- [DllImport("message.dll")]
+ [DllImport("Message.dll")]
public static extern void Api_Ban([Description("")] string 响应的QQ, [Description("")] string QQ);
///
- /// 禁言群成员`
+ /// 禁言群成员`
///
///
/// 禁言对象所在群.
/// 禁言对象.留空为全群禁言
/// 单位:秒 最大为1个月. 为零解除对象或全群禁言
///
- [DllImport("message.dll")]
+ [DllImport("Message.dll")]
public static extern bool Api_Shutup([Description("")] string 响应的QQ, [Description("禁言对象所在群.")] string 群号,
[Description("禁言对象.留空为全群禁言")] string QQ, [Description("单位:秒 最大为1个月. 为零解除对象或全群禁言")]
int 时长);
///
- /// 发群公告`
+ /// 根据群号+QQ判断指定群员是否被禁言 获取失败的情况下亦会返回假
+ ///
+ ///
+ /// 欲判断对象所在群.
+ /// 欲判断对象
+ ///
+ [DllImport("Message.dll")]
+ public static extern bool Api_IsShutup([Description("")] string 响应的QQ, [Description("欲判断对象所在群.")] string 群号,
+ [Description("欲判断对象")] string QQ);
+
+ ///
+ /// 发群公告`
///
///
///
///
///
///
- [DllImport("message.dll")]
+ [DllImport("Message.dll")]
public static extern void Api_SetNotice([Description("")] string 响应的QQ, [Description("")] string 群号,
[Description("")] string 标题, [Description("")] string 内容);
///
- /// 取群公告`
+ /// 取群公告`
///
///
///
///
- [DllImport("message.dll")]
+ [DllImport("Message.dll")]
public static extern string Api_GetNotice([Description("")] string 响应的QQ, [Description("")] string 群号);
///
- /// 取群名片`
+ /// 取群名片`
///
///
///
///
///
- [DllImport("message.dll")]
+ [DllImport("Message.dll")]
public static extern string Api_GetNameCard([Description("")] string 响应的QQ, [Description("")] string 群号,
[Description("")] string QQ);
///
- /// 设置群名片`
+ /// 设置群名片`
///
///
///
///
///
///
- [DllImport("message.dll")]
+ [DllImport("Message.dll")]
public static extern void Api_SetNameCard([Description("")] string 响应的QQ, [Description("")] string 群号,
[Description("")] string QQ, [Description("")] string 名片);
///
- /// 退出讨论组`
+ /// 退出讨论组`
///
///
///
///
- [DllImport("message.dll")]
+ [DllImport("Message.dll")]
public static extern void Api_QuitDG([Description("")] string 响应的QQ, [Description("")] string 讨论组ID);
///
- /// 删除好友`
+ /// 删除好友`
///
///
///
///
- [DllImport("message.dll")]
+ [DllImport("Message.dll")]
public static extern bool Api_DelFriend([Description("")] string 响应的QQ, [Description("")] string QQ);
///
- /// 将对象移除群`
+ /// 将对象移除群`
///
///
///
///
///
- [DllImport("message.dll")]
+ [DllImport("Message.dll")]
public static extern bool Api_Kick([Description("")] string 响应的QQ, [Description("")] string 群号,
[Description("")] string 对象);
///
- /// 主动加群.为了避免广告、群发行为。出现验证码时将会直接失败不处理`
+ /// 主动加群.为了避免广告、群发行为。出现验证码时将会直接失败不处理`
///
///
///
///
///
- [DllImport("message.dll")]
+ [DllImport("Message.dll")]
public static extern void Api_JoinGroup([Description("")] string 响应的QQ, [Description("")] string 群号,
[Description("")] string 附加理由);
///
- /// 退出群`
+ /// 退出群`
///
///
///
///
- [DllImport("message.dll")]
+ [DllImport("Message.dll")]
public static extern void Api_QuitGroup([Description("")] string 响应的QQ, [Description("")] string 群号);
///
- /// 返回值:成功返回图片GUID用于发送该图片.失败返回空. 图片尺寸应小于4MB`
+ /// 返回值:成功返回图片GUID用于发送该图片.失败返回空. 图片尺寸应小于4MB`
///
/// 机器人QQ
/// 1好友2群 注:好友图和群图的GUID并不相同并不通用 需要非别上传。群、讨论组用类型2 临时会话、好友信息需要类型1
/// 上传该图片所属的群号或QQ
/// 址, 图片字节集数据或字节集数据指针()
///
- [DllImport("message.dll")]
+ [DllImport("Message.dll")]
public static extern string Api_UploadPic([Description("机器人QQ")] string 响应的QQ,
[Description("1好友2群 注:好友图和群图的GUID并不相同并不通用 需要非别上传。群、讨论组用类型2 临时会话、好友信息需要类型1")]
int 参_上传类型, [Description("上传该图片所属的群号或QQ")] string 参_参考对象,
[Description("址, 图片字节集数据或字节集数据指针()")] byte[] 参_图片数据);
///
- /// 根据图片GUID取得图片下载连接 失败返回空`
+ /// 根据图片GUID取得图片下载连接 失败返回空`
///
/// {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}.jpg这样的GUID
///
- [DllImport("message.dll")]
+ [DllImport("Message.dll")]
public static extern string Api_GuidGetPicLink(
[Description("{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}.jpg这样的GUID")]
string 图片GUID);
///
- /// 回复信息 请尽量避免使用该API`
+ /// 回复信息 请尽量避免使用该API`
///
///
/// 1好友 2群 3讨论组 4群临时会话 5讨论组临时会话
/// 接收这条信息的对象
/// 信息内容
///
- [DllImport("message.dll")]
+ [DllImport("Message.dll")]
public static extern int Api_Reply([Description("")] string 响应的QQ,
[Description("1好友 2群 3讨论组 4群临时会话 5讨论组临时会话")]
int 信息类型, [Description("接收这条信息的对象")] string 回复对象, [Description("信息内容")] string 内容);
///
- /// 向对象、目标发送信息 支持好友 群 讨论组 群临时会话 讨论组临时会话`
+ /// 向对象、目标发送信息 支持好友 群 讨论组 群临时会话 讨论组临时会话`
///
///
/// 1好友 2群 3讨论组 4群临时会话 5讨论组临时会话
@@ -1094,370 +1251,370 @@ public static extern int Api_Reply([Description("")] string 响应的QQ,
/// 最终接收这条信息的对象QQ
/// 信息内容
///
- [DllImport("message.dll")]
+ [DllImport("Message.dll")]
public static extern int Api_SendMsg([Description("")] string 响应的QQ,
[Description("1好友 2群 3讨论组 4群临时会话 5讨论组临时会话")]
int 信息类型, [Description("无特殊说明情况下留空或填零")] int 参考子类型, [Description("发送群信息、讨论组信息、群临时会话信息、讨论组临时会话信息时填写")]
string 收信群_讨论组, [Description("最终接收这条信息的对象QQ")] string 收信对象, [Description("信息内容")] string 内容);
///
- /// 发送封包`
+ /// 发送封包`
///
///
///
- [DllImport("message.dll")]
+ [DllImport("Message.dll")]
public static extern string Api_Send([Description("")] string 封包内容);
///
- /// 在框架记录页输出一行信息`
+ /// 在框架记录页输出一行信息`
///
/// 输出的内容
///
- [DllImport("message.dll")]
+ [DllImport("Message.dll")]
public static extern int Api_OutPut([Description("输出的内容")] string 内容);
///
- /// 取得本插件启用状态`
+ /// 取得本插件启用状态`
///
///
- [DllImport("message.dll")]
+ [DllImport("Message.dll")]
public static extern bool Api_IsEnable();
///
- /// 登录一个现存的QQ`
+ /// 登录一个现存的QQ`
///
/// 欲登录的Q
///
- [DllImport("message.dll")]
+ [DllImport("Message.dll")]
public static extern bool Api_Login([Description("欲登录的Q")] string QQ);
///
- /// 让指定QQ下线`
+ /// 让指定QQ下线`
///
///
///
- [DllImport("message.dll")]
+ [DllImport("Message.dll")]
public static extern void Api_Logout([Description("")] string QQ);
///
- /// tean加密算法`
+ /// tean加密算法`
///
///
///
///
- [DllImport("message.dll")]
+ [DllImport("Message.dll")]
public static extern string Api_Tea加密([Description("")] string 加密内容, [Description("")] string Key);
///
- /// tean解密算法`
+ /// tean解密算法`
///
///
///
///
- [DllImport("message.dll")]
+ [DllImport("Message.dll")]
public static extern string Api_Tea解密([Description("")] string 解密内容, [Description("")] string Key);
///
- /// 取用户名`
+ /// 取用户名`
///
///
///
- [DllImport("message.dll")]
+ [DllImport("Message.dll")]
public static extern string Api_GetNick([Description("")] string QQ);
///
- /// 取QQ等级+QQ会员等级 返回json格式信息`
+ /// 取QQ等级+QQ会员等级 返回json格式信息`
///
///
///
- [DllImport("message.dll")]
+ [DllImport("Message.dll")]
public static extern string Api_GetQQLevel([Description("")] string QQ);
///
- /// 群号转群ID`
+ /// 群号转群ID`
///
///
///
- [DllImport("message.dll")]
+ [DllImport("Message.dll")]
public static extern string Api_GNGetGid([Description("")] string 群号);
///
- /// 群ID转群号`
+ /// 群ID转群号`
///
///
///
- [DllImport("message.dll")]
+ [DllImport("Message.dll")]
public static extern string Api_GidGetGN([Description("")] string 群ID);
///
- /// 取框架版本号(发布时间戳`
+ /// 取框架版本号(发布时间戳`
///
///
- [DllImport("message.dll")]
+ [DllImport("Message.dll")]
public static extern int Api_GetVersion();
///
- /// 取框架版本名`
+ /// 取框架版本名`
///
///
- [DllImport("message.dll")]
+ [DllImport("Message.dll")]
public static extern string Api_GetVersionName();
///
- /// 取当前框架内部时间戳_周期性与服务器时间同步`
+ /// 取当前框架内部时间戳_周期性与服务器时间同步`
///
///
- [DllImport("message.dll")]
+ [DllImport("Message.dll")]
public static extern int Api_GetTimeStamp();
///
- /// 取得框架输出列表内所有信息`
+ /// 取得框架输出列表内所有信息`
///
///
- [DllImport("message.dll")]
+ [DllImport("Message.dll")]
public static extern string Api_GetLog();
///
- /// 判断是否处于被屏蔽群信息状态。`
+ /// 判断是否处于被屏蔽群信息状态。`
///
///
///
- [DllImport("message.dll")]
+ [DllImport("Message.dll")]
public static extern bool Api_IfBlock([Description("")] string 响应的QQ);
///
- /// 取包括群主在内的群管列表`
+ /// 取包括群主在内的群管列表`
///
///
///
///
- [DllImport("message.dll")]
+ [DllImport("Message.dll")]
public static extern string Api_GetAdminList([Description("")] string 响应的QQ, [Description("")] string 群号);
///
- /// 发说说`
+ /// 发说说`
///
///
///
///
- [DllImport("message.dll")]
+ [DllImport("Message.dll")]
public static extern string Api_AddTaotao([Description("")] string 响应的QQ, [Description("")] string 内容);
///
- /// 取个签`
+ /// 取个签`
///
///
///
///
- [DllImport("message.dll")]
+ [DllImport("Message.dll")]
public static extern string Api_GetSign([Description("")] string 响应的QQ, [Description("")] string 对象);
///
- /// 设置个签`
+ /// 设置个签`
///
///
///
///
- [DllImport("message.dll")]
+ [DllImport("Message.dll")]
public static extern string Api_SetSign([Description("")] string 响应的QQ, [Description("")] string 内容);
///
- /// 通过qun.qzone.qq.com接口取得取群列表.成功返回转码后的JSON格式文本信息`
+ /// 通过qun.qzone.qq.com接口取得取群列表.成功返回转码后的JSON格式文本信息`
///
///
///
- [DllImport("message.dll")]
+ [DllImport("Message.dll")]
public static extern string Api_GetGroupListA([Description("")] string 响应的QQ);
///
- /// 通过qun.qq.com接口取得取群列表.成功返回转码后的JSON格式文本信息`
+ /// 通过qun.qq.com接口取得取群列表.成功返回转码后的JSON格式文本信息`
///
///
///
- [DllImport("message.dll")]
+ [DllImport("Message.dll")]
public static extern string Api_GetGroupListB([Description("")] string 响应的QQ);
///
- /// 通过qun.qq.com接口取得群成员列表 成功返回转码后的JSON格式文本`
+ /// 通过qun.qq.com接口取得群成员列表 成功返回转码后的JSON格式文本`
///
///
///
///
- [DllImport("message.dll")]
+ [DllImport("Message.dll")]
public static extern string
Api_GetGroupMemberA([Description("")] string 响应的QQ, [Description("")] string 群号);
///
- /// 通过qun.qzone.qq.com接口取得群成员列表 成功返回转码后的JSON格式文本`
+ /// 通过qun.qzone.qq.com接口取得群成员列表 成功返回转码后的JSON格式文本`
///
///
///
///
- [DllImport("message.dll")]
+ [DllImport("Message.dll")]
public static extern string
Api_GetGroupMemberB([Description("")] string 响应的QQ, [Description("")] string 群号);
///
- /// 通过qun.qq.com接口取得好友列表。成功返回转码后的JSON文本`
+ /// 通过qun.qq.com接口取得好友列表。成功返回转码后的JSON文本`
///
///
///
- [DllImport("message.dll")]
+ [DllImport("Message.dll")]
public static extern string Api_GetFriendList([Description("")] string 响应的QQ);
///
- /// 取Q龄 成功返回Q龄 失败返回-1`
+ /// 取Q龄 成功返回Q龄 失败返回-1`
///
///
///
///
- [DllImport("message.dll")]
+ [DllImport("Message.dll")]
public static extern int Api_GetQQAge([Description("")] string 响应的QQ, [Description("")] string QQ);
///
- /// 取年龄 成功返回年龄 失败返回-1`
+ /// 取年龄 成功返回年龄 失败返回-1`
///
///
///
///
- [DllImport("message.dll")]
+ [DllImport("Message.dll")]
public static extern int Api_GetAge([Description("")] string 响应的QQ, [Description("")] string QQ);
///
- /// 取个人说明`
+ /// 取个人说明`
///
///
/// 对象QQ
///
- [DllImport("message.dll")]
+ [DllImport("Message.dll")]
public static extern string Api_GetPersonalProfile([Description("")] string 响应的QQ,
[Description("对象QQ")] string QQ);
///
- /// 取邮箱 成功返回邮箱 失败返回空`
+ /// 取邮箱 成功返回邮箱 失败返回空`
///
///
///
///
- [DllImport("message.dll")]
+ [DllImport("Message.dll")]
public static extern string Api_GetEmail([Description("")] string 响应的QQ, [Description("")] string QQ);
///
- /// 取对象性别 1男 2女 未或失败返回-1`
+ /// 取对象性别 1男 2女 未或失败返回-1`
///
///
///
///
- [DllImport("message.dll")]
+ [DllImport("Message.dll")]
public static extern int Api_GetGender([Description("")] string 响应的QQ, [Description("")] string QQ);
///
- /// 向好友发送‘正在输入’的状态信息.当好友收到信息之后 “正在输入”状态会立刻被打断`
+ /// 向好友发送‘正在输入’的状态信息.当好友收到信息之后 “正在输入”状态会立刻被打断`
///
///
///
///
- [DllImport("message.dll")]
+ [DllImport("Message.dll")]
public static extern int Api_SendTyping([Description("")] string 响应的QQ, [Description("")] string QQ);
///
- /// 向好友发送窗口抖动信息`
+ /// 向好友发送窗口抖动信息`
///
///
///
///
- [DllImport("message.dll")]
+ [DllImport("Message.dll")]
public static extern int Api_SendShake([Description("")] string 响应的QQ, [Description("")] string QQ);
///
- /// 取得框架内随机一个在线且可以使用的QQ`
+ /// 取得框架内随机一个在线且可以使用的QQ`
///
///
- [DllImport("message.dll")]
+ [DllImport("Message.dll")]
public static extern string Api_GetRadomOnlineQQ();
///
- /// 往帐号列表添加一个Q.当该Q已存在时则覆盖密码`
+ /// 往帐号列表添加一个Q.当该Q已存在时则覆盖密码`
///
///
///
/// 运行框架时是否自动登录该Q.若添加后需要登录该Q则需要通过Api_Login操作
///
- [DllImport("message.dll")]
+ [DllImport("Message.dll")]
public static extern bool Api_AddQQ([Description("")] string QQ, [Description("")] string 密码,
[Description("运行框架时是否自动登录该Q.若添加后需要登录该Q则需要通过Api_Login操作")]
bool 自动登录);
///
- /// 设置在线状态+附加信息 `
+ /// 设置在线状态+附加信息 `
///
///
/// 1~6 分别对应我在线上, Q我吧, 离开, 忙碌, 请勿打扰, 隐身
/// 最大255字节
///
- [DllImport("message.dll")]
+ [DllImport("Message.dll")]
public static extern bool Api_SetOLStatus([Description("")] string 响应的QQ,
[Description("1~6 分别对应我在线上, Q我吧, 离开, 忙碌, 请勿打扰, 隐身")]
int 在线状态, [Description("最大255字节")] string 状态附加信息);
///
- /// 取得机器码`
+ /// 取得机器码`
///
///
- [DllImport("message.dll")]
+ [DllImport("Message.dll")]
public static extern string Api_GetMC();
///
- /// 邀请对象加入群 失败返回错误理由`
+ /// 邀请对象加入群 失败返回错误理由`
///
///
/// 多个好友用换行分割
///
///
- [DllImport("message.dll")]
+ [DllImport("Message.dll")]
public static extern string Api_GroupInvitation([Description("")] string 响应的QQ,
[Description("多个好友用换行分割")] string 好友QQ, [Description("")] string 群号);
///
- /// 创建一个讨论组 成功返回讨论组ID 失败返回空 注:每24小时只能创建100个讨论组 悠着点用`
+ /// 创建一个讨论组 成功返回讨论组ID 失败返回空 注:每24小时只能创建100个讨论组 悠着点用`
///
///
///
- [DllImport("message.dll")]
+ [DllImport("Message.dll")]
public static extern string Api_CreateDG([Description("")] string 响应的QQ);
///
- /// 将对象移除讨论组.成功返回空 失败返回理由`
+ /// 将对象移除讨论组.成功返回空 失败返回理由`
///
///
///
///
///
- [DllImport("message.dll")]
+ [DllImport("Message.dll")]
public static extern string Api_KickDG([Description("")] string 响应的QQ, [Description("")] string 讨论组ID,
[Description("")] string 成员);
///
- /// 邀请对象加入讨论组 成功返回空 失败返回理由`
+ /// 邀请对象加入讨论组 成功返回空 失败返回理由`
///
///
///
/// 多个成员用换行符分割
///
- [DllImport("message.dll")]
+ [DllImport("Message.dll")]
public static extern string Api_DGInvitation([Description("")] string 响应的QQ, [Description("")] string 讨论组ID,
[Description("多个成员用换行符分割")] string 成员组);
///
- /// 成功返回以换行符分割的讨论组号列表.最大为100个讨论组 失败返回空`
+ /// 成功返回以换行符分割的讨论组号列表.最大为100个讨论组 失败返回空`
///
///
///
- [DllImport("message.dll")]
+ [DllImport("Message.dll")]
public static extern string Api_GetDGList([Description("")] string 响应的QQ);
///
- /// 向对象发送一条音乐信息(所谓的点歌)次数不限`
+ /// 向对象发送一条音乐信息(所谓的点歌)次数不限`
///
///
/// 同Api_SendMsg 1好友 2群 3讨论组 4群临时会话 5讨论组临时会话
@@ -1472,7 +1629,7 @@ public static extern string Api_DGInvitation([Description("")] string 响应的Q
/// 可空 为空默认QQ音乐
/// 可空 为空默认QQ音乐 http://qzonestyle.gtimg.cn/ac/qzone/applogo/64/308/100497308_64.gif
///
- [DllImport("message.dll")]
+ [DllImport("Message.dll")]
public static extern bool Api_SendMusic([Description("")] string 响应的QQ,
[Description("同Api_SendMsg 1好友 2群 3讨论组 4群临时会话 5讨论组临时会话")]
int 收信对象类型, [Description("发群内、临时会话必填 好友可不填")] string 收信对象所属群_讨论组,
@@ -1486,7 +1643,7 @@ public static extern bool Api_SendMusic([Description("")] string 响应的QQ,
string 音乐来源图标连接);
///
- /// `
+ /// `
///
///
/// 同Api_SendMsg 1好友 2群 3讨论组 4群临时会话 5讨论组临时会话
@@ -1495,7 +1652,24 @@ public static extern bool Api_SendMusic([Description("")] string 响应的QQ,
///
/// 00 基本 02 点歌 其他不明
///
- [DllImport("message.dll")]
+ [DllImport("Message.dll")]
+ public static extern bool Api_SendXml([Description("")] string 响应的QQ,
+ [Description("同Api_SendMsg 1好友 2群 3讨论组 4群临时会话 5讨论组临时会话")]
+ int 收信对象类型, [Description("发群内、临时会话必填 好友可不填")] string 收信对象所属群_讨论组,
+ [Description("临时会话、好友必填 发至群内可不填")] string 收信对象QQ, [Description("")] string ObjectMsg,
+ [Description("00 基本 02 点歌 其他不明")] int 结构子类型);
+
+ ///
+ /// `
+ ///
+ ///
+ /// 同Api_SendMsg 1好友 2群 3讨论组 4群临时会话 5讨论组临时会话
+ /// 发群内、临时会话必填 好友可不填
+ /// 临时会话、好友必填 发至群内可不填
+ ///
+ /// 00 基本 02 点歌 其他不明
+ ///
+ [DllImport("Message.dll")]
public static extern bool Api_SendObjectMsg([Description("")] string 响应的QQ,
[Description("同Api_SendMsg 1好友 2群 3讨论组 4群临时会话 5讨论组临时会话")]
int 收信对象类型, [Description("发群内、临时会话必填 好友可不填")] string 收信对象所属群_讨论组,
@@ -1503,13 +1677,278 @@ public static extern bool Api_SendObjectMsg([Description("")] string 响应的QQ
[Description("00 基本 02 点歌 其他不明")] int 结构子类型);
///
- /// 判断对象是否为好友(双向)`
+ /// 判断对象是否为好友(双向)`
///
///
///
///
- [DllImport("message.dll")]
+ [DllImport("Message.dll")]
public static extern bool Api_IsFriend([Description("")] string 响应的QQ, [Description("")] string 对象QQ);
+
+ ///
+ /// 主动加好友 成功返回真 失败返回假 当对象设置需要正确回答问题或不允许任何人添加时无条件失败
+ ///
+ /// 机器人QQ
+ /// 加谁
+ /// 加好友提交的理由
+ ///
+ [DllImport("Message.dll")]
+ public static extern bool Api_AddFriend([Description("机器人QQ")] string 响应的QQ,
+ [Description("加谁")] string 对象QQ, [Description("加好友提交的理由")] string 附加理由);
+
+ ///
+ /// 无参 用于插件自身请求禁用插件自身
+ ///
+ ///
+ [DllImport("Message.dll")]
+ public static extern void Api_SelfDisable();
+
+ ///
+ /// 取协议客户端类型常量 失败返回0
+ ///
+ ///
+ [DllImport("Message.dll")]
+ public static extern int Api_GetClientType();
+
+ ///
+ /// 取协议客户端版本号常量 失败返回0
+ ///
+ ///
+ [DllImport("Message.dll")]
+ public static extern int Api_GetClientVer();
+
+ ///
+ /// 取协议客户端公开版本号常量 失败返回0
+ ///
+ ///
+ [DllImport("Message.dll")]
+ public static extern int Api_GetPubNo();
+
+ ///
+ /// 取协议客户端主版本号常量 失败返回0
+ ///
+ ///
+ [DllImport("Message.dll")]
+ public static extern int Api_GetMainVer();
+
+ ///
+ /// 取协议客户端通信模块(TXSSO)版本号常量 失败返回0
+ ///
+ ///
+ [DllImport("Message.dll")]
+ public static extern int Api_GetTXSSOVer();
+
+ ///
+ /// 通过音频、语音guid取得下载连接
+ ///
+ ///
+ /// 格式:{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx}.amr
+ ///
+ [DllImport("Message.dll")]
+ public static extern string Api_GuidGetVoiceLink([Description("")] string 响应的QQ,
+ [Description("格式:{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx}.amr")]
+ string GUID);
+
+ ///
+ /// 上传音频文件 成功返回guid用于发送
+ ///
+ ///
+ /// 音频字节集数据
+ ///
+ [DllImport("Message.dll")]
+ public static extern string Api_UploadVoice([Description("")] string 响应的QQ,
+ [Description("音频字节集数据")] byte[] amr音频数据);
+
+ ///
+ /// 移除由Api_AddLogHandler添加、设置的日志处理函数
+ ///
+ ///
+ [DllImport("Message.dll")]
+ public static extern void Api_RemoveLogHandler();
+
+ ///
+ /// 取群名
+ ///
+ ///
+ ///
+ ///
+ [DllImport("Message.dll")]
+ public static extern string Api_GetGroupName([Description("")] string 响应的QQ, [Description("")] string 群号);
+
+ ///
+ /// 移除\取消由Api_SetMsgFilter所添加\设置的处理函数
+ ///
+ ///
+ [DllImport("Message.dll")]
+ public static extern void Api_RemoveMsgFilter();
+
+ ///
+ /// QQ名片赞 10赞每Q每日 至多50人\日系列 成功返回空 失败返回理由(腾讯爸爸给出的) 一次一赞 速度请自行管控以免冻结
+ ///
+ ///
+ ///
+ ///
+ [DllImport("Message.dll")]
+ public static extern string Api_Like([Description("")] string 参_响应的QQ, [Description("")] string 参_被赞QQ);
+
+ ///
+ /// 上传群文件
+ ///
+ ///
+ ///
+ /// 实际显示在群文件列表中的文件名
+ /// 本地文件路径 选填
+ /// 图片字节集数据 选填
+ ///
+ [DllImport("Message.dll")]
+ public static extern bool Api_UploadGroupFile([Description("")] string 参_响应的QQ,
+ [Description("")] string 参_群号, [Description("实际显示在群文件列表中的文件名")] string 参_上传文件名,
+ [Description("本地文件路径 选填")] string 参_路径, [Description("图片字节集数据 选填")] byte[] 参_图片数据);
+
+ ///
+ /// 根据图片GUID取得图片下载连接 失败返回空
+ ///
+ /// {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}.jpg这样的GUID
+ /// 1好友\临时会话图片 2 群图
+ /// 好友QQ或群号 根据参数2填写
+ ///
+ [DllImport("Message.dll")]
+ public static extern string Api_GuidGetPicLinkEx(
+ [Description("{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}.jpg这样的GUID")]
+ string 参_图片GUID, [Description("1好友/临时会话图片 2 群图")] int 参_图片类型,
+ [Description("好友QQ或群号 根据参数2填写")] string 参_图片参考对象);
+
+ ///
+ /// 撤回群信息 需为群管
+ ///
+ /// 机器人QQ
+ /// Event函数中的'参_原始信息' 经过解密后的封包字节数据
+ ///
+ [DllImport("Message.dll")]
+ public static extern bool Api_CancelGroupMsgA([Description("机器人QQ")] string 响应的QQ,
+ [Description("Event函数中的'参_原始信息' 经过解密后的封包字节数据")]
+ string 原始信息);
+
+ ///
+ /// 取得用于登陆腾讯子业务的Cookies 如xxx.qq.com
+ ///
+ ///
+ /// 如qun.qq.com
+ ///
+ [DllImport("Message.dll")]
+ public static extern string Api_GetCookiesByDomain([Description("")] string 响应的QQ,
+ [Description("如qun.qq.com")] string 域名);
+
+ ///
+ ///
+ ///
+ ///
+ ///
+ [DllImport("Message.dll")]
+ public static extern void Api_ChangeProtocol([Description("")] int i);
+
+ ///
+ /// 从框架中删除QQ
+ ///
+ ///
+ ///
+ [DllImport("Message.dll")]
+ public static extern void Api_DeleteQQ([Description("")] string 被操作QQ);
+
+ ///
+ ///
+ ///
+ ///
+ /// 同Api_SendMsg 1好友 2群 3讨论组 4群临时会话 5讨论组临时会话
+ /// 文本型, , 发群内、临时会话必填 好友可不填
+ /// 临时会话、好友必填 发至群内可不填
+ ///
+ ///
+ [DllImport("Message.dll")]
+ public static extern bool Api_SendAppMsg([Description("")] string 响应的QQ,
+ [Description("同Api_SendMsg 1好友 2群 3讨论组 4群临时会话 5讨论组临时会话")]
+ int 收信对象类型, [Description("文本型, , 发群内、临时会话必填 好友可不填")]
+ string 信对象所属群_讨论组, [Description("临时会话、好友必填 发至群内可不填")] string 收信对象QQ, [Description("")] string AppMsg);
+
+ ///
+ /// 取生日 失败返回空 未公开生日信息返回 "0年0月0日"
+ ///
+ ///
+ ///
+ ///
+ [DllImport("Message.dll")]
+ public static extern string Api_GetBirthday([Description("")] string 响应的QQ, [Description("")] string QQ);
+
+ ///
+ /// 取用户个人信息页面字节数据 包含各种资料 返回内容为原始明文数据
+ ///
+ ///
+ ///
+ ///
+ [DllImport("Message.dll")]
+ public static extern string Api_GetUserInfo([Description("")] string 响应的QQ, [Description("")] string QQ);
+
+ ///
+ ///
+ ///
+ ///
+ ///
+ [DllImport("Message.dll")]
+ public static extern string Api_GetFriendListA([Description("")] string 响应的QQ);
+
+ ///
+ /// 仅商用版可用
+ ///
+ ///
+ [DllImport("Message.dll")]
+ public static extern string Api_GetLoginQRCode();
+
+ ///
+ /// 仅商用版可用 上传头像 接受字节集参数 返回值:0 上传成功 -1参数有误 -2图片大于1MB -3获取上传令牌失败受限 -4其他理由上传失败
+ ///
+ /// 机器人QQ
+ /// 图片字节集数据,由于易语言DLL限制你可能在这里读到的是"整数型" 请自己改成字节集,图片不限PNG JPG 大小1MB以内
+ ///
+ [DllImport("Message.dll")]
+ public static extern int Api_UploadCface_Byte([Description("机器人QQ")] string 参_响应的QQ,
+ [Description("图片字节集数据,由于易语言DLL限制你可能在这里读到的是\" 整数型\" 请自己改成字节集,图片不限PNG JPG 大小1MB以内")]
+ int 参_图片数据);
+
+ ///
+ /// 仅商用版可用 上传头像 接受路径参数 URL 或 本地路径 返回值:0 上传成功 -1参数有误 -2图片大于1MB -3获取上传令牌失败受限 -4其他理由上传失败
+ ///
+ /// 机器人QQ
+ /// 路径 可选URL 或 本地路径 http://www.baidu,com/图片.jpg C:\1.jpg,
+ ///
+ [DllImport("Message.dll")]
+ public static extern int Api_UploadCface_Path([Description("机器人QQ")] string 参_响应的QQ,
+ [Description("路径 可选URL 或 本地路径 http://www.baidu,com/图片.jpg C:/1.jpg,")]
+ string 参_图片路径);
+
+ ///
+ /// 异步处理被加好友事件 在事件1001下返回值需>30 如50 以强制忽略且确保无其他插件处理
+ ///
+ /// 在事件1001下取得 参_原始信息 填入
+ /// 0忽略 10同意 20拒绝 30单向同意(成为单向好友)
+ /// 拒绝时的附加理由 可以留空
+ ///
+ [DllImport("Message.dll")]
+ public static extern void Api_HandleFriendRequestAsync([Description("在事件1001下取得 参_原始信息 填入")] string 参_原始信息,
+ [Description("0忽略 10同意 20拒绝 30单向同意(成为单向好友)")]
+ int 参_处理方式, [Description("拒绝时的附加理由 可以留空")] string 参_附加信息);
+
+ ///
+ /// 异步处理被加群类事件 在事件200x下返回值需>30 如50 以强制忽略且确保无其他插件处理
+ ///
+ /// 机器人QQ
+ /// 在事件200x下取得 参_原始信息 填入
+ /// 0忽略 10同意 20拒绝 30拒绝并不再接受
+ /// 拒绝时的附加理由 可以留空
+ ///
+ [DllImport("Message.dll")]
+ public static extern void Api_HandleGroupRequestAsync([Description("机器人QQ")] string 参_响应的QQ,
+ [Description("在事件200x下取得 参_原始信息 填入")] string 参_原始信息, [Description("0忽略 10同意 20拒绝 30拒绝并不再接受")]
+ int 参_处理方式, [Description("拒绝时的附加理由 可以留空")] string 参_附加信息);
}
}
}
\ No newline at end of file
diff --git a/src/Newbe.Mahua.MPQ.Native/Newbe.Mahua.MPQ.Native.csproj b/src/Newbe.Mahua.MPQ.Native/Newbe.Mahua.MPQ.Native.csproj
index 9adefc8..25dd0b9 100644
--- a/src/Newbe.Mahua.MPQ.Native/Newbe.Mahua.MPQ.Native.csproj
+++ b/src/Newbe.Mahua.MPQ.Native/Newbe.Mahua.MPQ.Native.csproj
@@ -70,8 +70,8 @@
2
-
- ..\packages\Autofac.4.9.1\lib\net45\Autofac.dll
+
+ ..\packages\Autofac.4.9.4\lib\net45\Autofac.dll
True
diff --git a/src/Newbe.Mahua.MPQ.Native/packages.config b/src/Newbe.Mahua.MPQ.Native/packages.config
index 47324c7..b1f1fe0 100644
--- a/src/Newbe.Mahua.MPQ.Native/packages.config
+++ b/src/Newbe.Mahua.MPQ.Native/packages.config
@@ -1,4 +1,4 @@
-
+
\ No newline at end of file
diff --git a/src/Newbe.Mahua.MPQ/MahuaModule.cs b/src/Newbe.Mahua.MPQ/MahuaModule.cs
index b950c70..f7daa2f 100644
--- a/src/Newbe.Mahua.MPQ/MahuaModule.cs
+++ b/src/Newbe.Mahua.MPQ/MahuaModule.cs
@@ -1,4 +1,5 @@
using Autofac;
+using Newbe.Mahua.Mpq;
namespace Newbe.Mahua.MPQ
{
diff --git a/src/Newbe.Mahua.MPQ/MpqMahuaApiHandler.cs b/src/Newbe.Mahua.MPQ/MpqMahuaApiHandler.cs
index 4c10da3..249da5f 100644
--- a/src/Newbe.Mahua.MPQ/MpqMahuaApiHandler.cs
+++ b/src/Newbe.Mahua.MPQ/MpqMahuaApiHandler.cs
@@ -1,9 +1,14 @@
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
+using Newbe.Mahua.MPQ;
using Newbe.Mahua.NativeApi;
-namespace Newbe.Mahua.MPQ
+
+// this file is generate from tools, do not change this file
+// generate time 2019/12/15
+
+namespace Newbe.Mahua.Mpq
{
public class MpqMahuaApiHandler : IPlatformMahuaApiHandler
{
@@ -91,6 +96,11 @@ public Task Run(string typeCode, IReadOnlyDictionary data)
_mpqApi.Api_Shutup(响应的QQ: data["响应的QQ"].ToString(), 群号: data["群号"].ToString(), QQ: data["QQ"].ToString(), 时长: Convert.ToInt32(data["时长"]));
return _mahuaCenter.HandleMahuaOutput(new Api_ShutupApiOut
{ Result = Api_ShutupResult });
+ case "Api_IsShutup":
+ var Api_IsShutupResult =
+ _mpqApi.Api_IsShutup(响应的QQ: data["响应的QQ"].ToString(), 群号: data["群号"].ToString(), QQ: data["QQ"].ToString());
+ return _mahuaCenter.HandleMahuaOutput(new Api_IsShutupApiOut
+ { Result = Api_IsShutupResult });
case "Api_SetNotice":
_mpqApi.Api_SetNotice(响应的QQ: data["响应的QQ"].ToString(), 群号: data["群号"].ToString(), 标题: data["标题"].ToString(), 内容: data["内容"].ToString());
return Task.CompletedTask;
@@ -354,6 +364,11 @@ public Task Run(string typeCode, IReadOnlyDictionary data)
_mpqApi.Api_SendMusic(响应的QQ: data["响应的QQ"].ToString(), 收信对象类型: Convert.ToInt32(data["收信对象类型"]), 收信对象所属群_讨论组: data["收信对象所属群_讨论组"].ToString(), 收信对象QQ: data["收信对象QQ"].ToString(), 音乐简介: data["音乐简介"].ToString(), 音乐播放页面连接: data["音乐播放页面连接"].ToString(), 音乐封面连接: data["音乐封面连接"].ToString(), 音乐文件直连连接: data["音乐文件直连连接"].ToString(), 曲名: data["曲名"].ToString(), 歌手名: data["歌手名"].ToString(), 音乐来源名: data["音乐来源名"].ToString(), 音乐来源图标连接: data["音乐来源图标连接"].ToString());
return _mahuaCenter.HandleMahuaOutput(new Api_SendMusicApiOut
{ Result = Api_SendMusicResult });
+ case "Api_SendXml":
+ var Api_SendXmlResult =
+ _mpqApi.Api_SendXml(响应的QQ: data["响应的QQ"].ToString(), 收信对象类型: Convert.ToInt32(data["收信对象类型"]), 收信对象所属群_讨论组: data["收信对象所属群_讨论组"].ToString(), 收信对象QQ: data["收信对象QQ"].ToString(), ObjectMsg: data["ObjectMsg"].ToString(), 结构子类型: Convert.ToInt32(data["结构子类型"]));
+ return _mahuaCenter.HandleMahuaOutput(new Api_SendXmlApiOut
+ { Result = Api_SendXmlResult });
case "Api_SendObjectMsg":
var Api_SendObjectMsgResult =
_mpqApi.Api_SendObjectMsg(响应的QQ: data["响应的QQ"].ToString(), 收信对象类型: Convert.ToInt32(data["收信对象类型"]), 收信对象所属群_讨论组: data["收信对象所属群_讨论组"].ToString(), 收信对象QQ: data["收信对象QQ"].ToString(), ObjectMsg: data["ObjectMsg"].ToString(), 结构子类型: Convert.ToInt32(data["结构子类型"]));
@@ -364,6 +379,132 @@ public Task Run(string typeCode, IReadOnlyDictionary data)
_mpqApi.Api_IsFriend(响应的QQ: data["响应的QQ"].ToString(), 对象QQ: data["对象QQ"].ToString());
return _mahuaCenter.HandleMahuaOutput(new Api_IsFriendApiOut
{ Result = Api_IsFriendResult });
+ case "Api_AddFriend":
+ var Api_AddFriendResult =
+ _mpqApi.Api_AddFriend(响应的QQ: data["响应的QQ"].ToString(), 对象QQ: data["对象QQ"].ToString(), 附加理由: data["附加理由"].ToString());
+ return _mahuaCenter.HandleMahuaOutput(new Api_AddFriendApiOut
+ { Result = Api_AddFriendResult });
+ case "Api_SelfDisable":
+ _mpqApi.Api_SelfDisable();
+ return Task.CompletedTask;
+ case "Api_GetClientType":
+ var Api_GetClientTypeResult =
+ _mpqApi.Api_GetClientType();
+ return _mahuaCenter.HandleMahuaOutput(new Api_GetClientTypeApiOut
+ { Result = Api_GetClientTypeResult });
+ case "Api_GetClientVer":
+ var Api_GetClientVerResult =
+ _mpqApi.Api_GetClientVer();
+ return _mahuaCenter.HandleMahuaOutput(new Api_GetClientVerApiOut
+ { Result = Api_GetClientVerResult });
+ case "Api_GetPubNo":
+ var Api_GetPubNoResult =
+ _mpqApi.Api_GetPubNo();
+ return _mahuaCenter.HandleMahuaOutput(new Api_GetPubNoApiOut
+ { Result = Api_GetPubNoResult });
+ case "Api_GetMainVer":
+ var Api_GetMainVerResult =
+ _mpqApi.Api_GetMainVer();
+ return _mahuaCenter.HandleMahuaOutput(new Api_GetMainVerApiOut
+ { Result = Api_GetMainVerResult });
+ case "Api_GetTXSSOVer":
+ var Api_GetTXSSOVerResult =
+ _mpqApi.Api_GetTXSSOVer();
+ return _mahuaCenter.HandleMahuaOutput(new Api_GetTXSSOVerApiOut
+ { Result = Api_GetTXSSOVerResult });
+ case "Api_GuidGetVoiceLink":
+ var Api_GuidGetVoiceLinkResult =
+ _mpqApi.Api_GuidGetVoiceLink(响应的QQ: data["响应的QQ"].ToString(), GUID: data["GUID"].ToString());
+ return _mahuaCenter.HandleMahuaOutput(new Api_GuidGetVoiceLinkApiOut
+ { Result = Api_GuidGetVoiceLinkResult });
+ case "Api_UploadVoice":
+ var Api_UploadVoiceResult =
+ _mpqApi.Api_UploadVoice(响应的QQ: data["响应的QQ"].ToString(), amr音频数据: Convert.FromBase64String(data["amr音频数据"].ToString()));
+ return _mahuaCenter.HandleMahuaOutput(new Api_UploadVoiceApiOut
+ { Result = Api_UploadVoiceResult });
+ case "Api_RemoveLogHandler":
+ _mpqApi.Api_RemoveLogHandler();
+ return Task.CompletedTask;
+ case "Api_GetGroupName":
+ var Api_GetGroupNameResult =
+ _mpqApi.Api_GetGroupName(响应的QQ: data["响应的QQ"].ToString(), 群号: data["群号"].ToString());
+ return _mahuaCenter.HandleMahuaOutput(new Api_GetGroupNameApiOut
+ { Result = Api_GetGroupNameResult });
+ case "Api_RemoveMsgFilter":
+ _mpqApi.Api_RemoveMsgFilter();
+ return Task.CompletedTask;
+ case "Api_Like":
+ var Api_LikeResult =
+ _mpqApi.Api_Like(参_响应的QQ: data["参_响应的QQ"].ToString(), 参_被赞QQ: data["参_被赞QQ"].ToString());
+ return _mahuaCenter.HandleMahuaOutput(new Api_LikeApiOut
+ { Result = Api_LikeResult });
+ case "Api_UploadGroupFile":
+ var Api_UploadGroupFileResult =
+ _mpqApi.Api_UploadGroupFile(参_响应的QQ: data["参_响应的QQ"].ToString(), 参_群号: data["参_群号"].ToString(), 参_上传文件名: data["参_上传文件名"].ToString(), 参_路径: data["参_路径"].ToString(), 参_图片数据: Convert.FromBase64String(data["参_图片数据"].ToString()));
+ return _mahuaCenter.HandleMahuaOutput(new Api_UploadGroupFileApiOut
+ { Result = Api_UploadGroupFileResult });
+ case "Api_GuidGetPicLinkEx":
+ var Api_GuidGetPicLinkExResult =
+ _mpqApi.Api_GuidGetPicLinkEx(参_图片GUID: data["参_图片GUID"].ToString(), 参_图片类型: Convert.ToInt32(data["参_图片类型"]), 参_图片参考对象: data["参_图片参考对象"].ToString());
+ return _mahuaCenter.HandleMahuaOutput(new Api_GuidGetPicLinkExApiOut
+ { Result = Api_GuidGetPicLinkExResult });
+ case "Api_CancelGroupMsgA":
+ var Api_CancelGroupMsgAResult =
+ _mpqApi.Api_CancelGroupMsgA(响应的QQ: data["响应的QQ"].ToString(), 原始信息: data["原始信息"].ToString());
+ return _mahuaCenter.HandleMahuaOutput(new Api_CancelGroupMsgAApiOut
+ { Result = Api_CancelGroupMsgAResult });
+ case "Api_GetCookiesByDomain":
+ var Api_GetCookiesByDomainResult =
+ _mpqApi.Api_GetCookiesByDomain(响应的QQ: data["响应的QQ"].ToString(), 域名: data["域名"].ToString());
+ return _mahuaCenter.HandleMahuaOutput(new Api_GetCookiesByDomainApiOut
+ { Result = Api_GetCookiesByDomainResult });
+ case "Api_ChangeProtocol":
+ _mpqApi.Api_ChangeProtocol(i: Convert.ToInt32(data["i"]));
+ return Task.CompletedTask;
+ case "Api_DeleteQQ":
+ _mpqApi.Api_DeleteQQ(被操作QQ: data["被操作QQ"].ToString());
+ return Task.CompletedTask;
+ case "Api_SendAppMsg":
+ var Api_SendAppMsgResult =
+ _mpqApi.Api_SendAppMsg(响应的QQ: data["响应的QQ"].ToString(), 收信对象类型: Convert.ToInt32(data["收信对象类型"]), 信对象所属群_讨论组: data["信对象所属群_讨论组"].ToString(), 收信对象QQ: data["收信对象QQ"].ToString(), AppMsg: data["AppMsg"].ToString());
+ return _mahuaCenter.HandleMahuaOutput(new Api_SendAppMsgApiOut
+ { Result = Api_SendAppMsgResult });
+ case "Api_GetBirthday":
+ var Api_GetBirthdayResult =
+ _mpqApi.Api_GetBirthday(响应的QQ: data["响应的QQ"].ToString(), QQ: data["QQ"].ToString());
+ return _mahuaCenter.HandleMahuaOutput(new Api_GetBirthdayApiOut
+ { Result = Api_GetBirthdayResult });
+ case "Api_GetUserInfo":
+ var Api_GetUserInfoResult =
+ _mpqApi.Api_GetUserInfo(响应的QQ: data["响应的QQ"].ToString(), QQ: data["QQ"].ToString());
+ return _mahuaCenter.HandleMahuaOutput(new Api_GetUserInfoApiOut
+ { Result = Api_GetUserInfoResult });
+ case "Api_GetFriendListA":
+ var Api_GetFriendListAResult =
+ _mpqApi.Api_GetFriendListA(响应的QQ: data["响应的QQ"].ToString());
+ return _mahuaCenter.HandleMahuaOutput(new Api_GetFriendListAApiOut
+ { Result = Api_GetFriendListAResult });
+ case "Api_GetLoginQRCode":
+ var Api_GetLoginQRCodeResult =
+ _mpqApi.Api_GetLoginQRCode();
+ return _mahuaCenter.HandleMahuaOutput(new Api_GetLoginQRCodeApiOut
+ { Result = Api_GetLoginQRCodeResult });
+ case "Api_UploadCface_Byte":
+ var Api_UploadCface_ByteResult =
+ _mpqApi.Api_UploadCface_Byte(参_响应的QQ: data["参_响应的QQ"].ToString(), 参_图片数据: Convert.ToInt32(data["参_图片数据"]));
+ return _mahuaCenter.HandleMahuaOutput(new Api_UploadCface_ByteApiOut
+ { Result = Api_UploadCface_ByteResult });
+ case "Api_UploadCface_Path":
+ var Api_UploadCface_PathResult =
+ _mpqApi.Api_UploadCface_Path(参_响应的QQ: data["参_响应的QQ"].ToString(), 参_图片路径: data["参_图片路径"].ToString());
+ return _mahuaCenter.HandleMahuaOutput(new Api_UploadCface_PathApiOut
+ { Result = Api_UploadCface_PathResult });
+ case "Api_HandleFriendRequestAsync":
+ _mpqApi.Api_HandleFriendRequestAsync(参_原始信息: data["参_原始信息"].ToString(), 参_处理方式: Convert.ToInt32(data["参_处理方式"]), 参_附加信息: data["参_附加信息"].ToString());
+ return Task.CompletedTask;
+ case "Api_HandleGroupRequestAsync":
+ _mpqApi.Api_HandleGroupRequestAsync(参_响应的QQ: data["参_响应的QQ"].ToString(), 参_原始信息: data["参_原始信息"].ToString(), 参_处理方式: Convert.ToInt32(data["参_处理方式"]), 参_附加信息: data["参_附加信息"].ToString());
+ return Task.CompletedTask;
default:
throw new ArgumentOutOfRangeException(nameof(typeCode));
@@ -467,6 +608,14 @@ public class Api_ShutupApiOut : MpqApiOutput
public override string TypeCode => nameof(Api_ShutupApiOut);
}
///
+ /// api out of method Api_IsShutup
+ ///
+ public class Api_IsShutupApiOut : MpqApiOutput
+ {
+ public bool Result { get; set; }
+ public override string TypeCode => nameof(Api_IsShutupApiOut);
+ }
+ ///
/// api out of method Api_GetNotice
///
public class Api_GetNoticeApiOut : MpqApiOutput
@@ -859,6 +1008,14 @@ public class Api_SendMusicApiOut : MpqApiOutput
public override string TypeCode => nameof(Api_SendMusicApiOut);
}
///
+ /// api out of method Api_SendXml
+ ///
+ public class Api_SendXmlApiOut : MpqApiOutput
+ {
+ public bool Result { get; set; }
+ public override string TypeCode => nameof(Api_SendXmlApiOut);
+ }
+ ///
/// api out of method Api_SendObjectMsg
///
public class Api_SendObjectMsgApiOut : MpqApiOutput
@@ -874,4 +1031,172 @@ public class Api_IsFriendApiOut : MpqApiOutput
public bool Result { get; set; }
public override string TypeCode => nameof(Api_IsFriendApiOut);
}
+ ///
+ /// api out of method Api_AddFriend
+ ///
+ public class Api_AddFriendApiOut : MpqApiOutput
+ {
+ public bool Result { get; set; }
+ public override string TypeCode => nameof(Api_AddFriendApiOut);
+ }
+ ///
+ /// api out of method Api_GetClientType
+ ///
+ public class Api_GetClientTypeApiOut : MpqApiOutput
+ {
+ public int Result { get; set; }
+ public override string TypeCode => nameof(Api_GetClientTypeApiOut);
+ }
+ ///
+ /// api out of method Api_GetClientVer
+ ///
+ public class Api_GetClientVerApiOut : MpqApiOutput
+ {
+ public int Result { get; set; }
+ public override string TypeCode => nameof(Api_GetClientVerApiOut);
+ }
+ ///
+ /// api out of method Api_GetPubNo
+ ///
+ public class Api_GetPubNoApiOut : MpqApiOutput
+ {
+ public int Result { get; set; }
+ public override string TypeCode => nameof(Api_GetPubNoApiOut);
+ }
+ ///
+ /// api out of method Api_GetMainVer
+ ///
+ public class Api_GetMainVerApiOut : MpqApiOutput
+ {
+ public int Result { get; set; }
+ public override string TypeCode => nameof(Api_GetMainVerApiOut);
+ }
+ ///
+ /// api out of method Api_GetTXSSOVer
+ ///
+ public class Api_GetTXSSOVerApiOut : MpqApiOutput
+ {
+ public int Result { get; set; }
+ public override string TypeCode => nameof(Api_GetTXSSOVerApiOut);
+ }
+ ///
+ /// api out of method Api_GuidGetVoiceLink
+ ///
+ public class Api_GuidGetVoiceLinkApiOut : MpqApiOutput
+ {
+ public string Result { get; set; }
+ public override string TypeCode => nameof(Api_GuidGetVoiceLinkApiOut);
+ }
+ ///
+ /// api out of method Api_UploadVoice
+ ///
+ public class Api_UploadVoiceApiOut : MpqApiOutput
+ {
+ public string Result { get; set; }
+ public override string TypeCode => nameof(Api_UploadVoiceApiOut);
+ }
+ ///
+ /// api out of method Api_GetGroupName
+ ///
+ public class Api_GetGroupNameApiOut : MpqApiOutput
+ {
+ public string Result { get; set; }
+ public override string TypeCode => nameof(Api_GetGroupNameApiOut);
+ }
+ ///
+ /// api out of method Api_Like
+ ///
+ public class Api_LikeApiOut : MpqApiOutput
+ {
+ public string Result { get; set; }
+ public override string TypeCode => nameof(Api_LikeApiOut);
+ }
+ ///
+ /// api out of method Api_UploadGroupFile
+ ///
+ public class Api_UploadGroupFileApiOut : MpqApiOutput
+ {
+ public bool Result { get; set; }
+ public override string TypeCode => nameof(Api_UploadGroupFileApiOut);
+ }
+ ///
+ /// api out of method Api_GuidGetPicLinkEx
+ ///
+ public class Api_GuidGetPicLinkExApiOut : MpqApiOutput
+ {
+ public string Result { get; set; }
+ public override string TypeCode => nameof(Api_GuidGetPicLinkExApiOut);
+ }
+ ///
+ /// api out of method Api_CancelGroupMsgA
+ ///
+ public class Api_CancelGroupMsgAApiOut : MpqApiOutput
+ {
+ public bool Result { get; set; }
+ public override string TypeCode => nameof(Api_CancelGroupMsgAApiOut);
+ }
+ ///
+ /// api out of method Api_GetCookiesByDomain
+ ///
+ public class Api_GetCookiesByDomainApiOut : MpqApiOutput
+ {
+ public string Result { get; set; }
+ public override string TypeCode => nameof(Api_GetCookiesByDomainApiOut);
+ }
+ ///
+ /// api out of method Api_SendAppMsg
+ ///
+ public class Api_SendAppMsgApiOut : MpqApiOutput
+ {
+ public bool Result { get; set; }
+ public override string TypeCode => nameof(Api_SendAppMsgApiOut);
+ }
+ ///
+ /// api out of method Api_GetBirthday
+ ///
+ public class Api_GetBirthdayApiOut : MpqApiOutput
+ {
+ public string Result { get; set; }
+ public override string TypeCode => nameof(Api_GetBirthdayApiOut);
+ }
+ ///
+ /// api out of method Api_GetUserInfo
+ ///
+ public class Api_GetUserInfoApiOut : MpqApiOutput
+ {
+ public string Result { get; set; }
+ public override string TypeCode => nameof(Api_GetUserInfoApiOut);
+ }
+ ///
+ /// api out of method Api_GetFriendListA
+ ///
+ public class Api_GetFriendListAApiOut : MpqApiOutput
+ {
+ public string Result { get; set; }
+ public override string TypeCode => nameof(Api_GetFriendListAApiOut);
+ }
+ ///
+ /// api out of method Api_GetLoginQRCode
+ ///
+ public class Api_GetLoginQRCodeApiOut : MpqApiOutput
+ {
+ public string Result { get; set; }
+ public override string TypeCode => nameof(Api_GetLoginQRCodeApiOut);
+ }
+ ///
+ /// api out of method Api_UploadCface_Byte
+ ///
+ public class Api_UploadCface_ByteApiOut : MpqApiOutput
+ {
+ public int Result { get; set; }
+ public override string TypeCode => nameof(Api_UploadCface_ByteApiOut);
+ }
+ ///
+ /// api out of method Api_UploadCface_Path
+ ///
+ public class Api_UploadCface_PathApiOut : MpqApiOutput
+ {
+ public int Result { get; set; }
+ public override string TypeCode => nameof(Api_UploadCface_PathApiOut);
+ }
}
diff --git a/src/Newbe.Mahua.Plugin.Agent/build.ps1 b/src/Newbe.Mahua.Plugin.Agent/build.ps1
index b5a4eeb..06a2d6c 100644
--- a/src/Newbe.Mahua.Plugin.Agent/build.ps1
+++ b/src/Newbe.Mahua.Plugin.Agent/build.ps1
@@ -7,7 +7,7 @@ properties {
$currentBuild = "$releaseBase\$configuration\$fwVersion"
$pluginName = (Get-ChildItem *.csproj).Name.Replace(".csproj", "")
$nugetexe = "$rootNow\buildTools\nuget.exe"
- $version = "2.3"
+ $version = "2.4"
}
$platforms = @(
@@ -73,7 +73,7 @@ Task PackQQLight -depends Clean -Description "QQLight打包" {
# 插件运行时
Copy-Item -Path "$currentBuild\*", "../Newbe.Mahua.QQLight/bin/$configuration/$fwVersion/*" -Destination "$releaseBase\QQLight\$pluginName" -Recurse
# 机器人平台入口文件
- Copy-Item -Path "../Newbe.Mahua.QQLight.Native/bin/$configuration/x86/Newbe.Mahua.QQLight.Native.dll" -Destination "$releaseBase\QQLight\plugin\$pluginName.plugin.dll"
+ Copy-Item -Path "../Newbe.Mahua.QQLight.Native/bin/$configuration/x86/Newbe.Mahua.QQLight.Native.dll" -Destination "$releaseBase\QQLight\plugin\$pluginName.ql.dll"
# 复制配置文件
Copy-Item -Path "Configs/*" "$releaseBase/QQLight" -Recurse
}
diff --git a/src/Newbe.Mahua.PluginLoader/Newbe.Mahua.PluginLoader.csproj b/src/Newbe.Mahua.PluginLoader/Newbe.Mahua.PluginLoader.csproj
index bbebeaf..7a0f9a4 100644
--- a/src/Newbe.Mahua.PluginLoader/Newbe.Mahua.PluginLoader.csproj
+++ b/src/Newbe.Mahua.PluginLoader/Newbe.Mahua.PluginLoader.csproj
@@ -18,10 +18,10 @@
-
-
-
-
+
+
+
+
diff --git a/src/Newbe.Mahua.QQLight.Native/Newbe.Mahua.QQLight.Native.csproj b/src/Newbe.Mahua.QQLight.Native/Newbe.Mahua.QQLight.Native.csproj
index acf5924..e114ac9 100644
--- a/src/Newbe.Mahua.QQLight.Native/Newbe.Mahua.QQLight.Native.csproj
+++ b/src/Newbe.Mahua.QQLight.Native/Newbe.Mahua.QQLight.Native.csproj
@@ -48,8 +48,8 @@
2
-
- ..\packages\Autofac.4.9.1\lib\net45\Autofac.dll
+
+ ..\packages\Autofac.4.9.4\lib\net45\Autofac.dll
True
diff --git a/src/Newbe.Mahua.QQLight.Native/PluginApiExporter.cs b/src/Newbe.Mahua.QQLight.Native/PluginApiExporter.cs
index f163c88..c5b08ff 100644
--- a/src/Newbe.Mahua.QQLight.Native/PluginApiExporter.cs
+++ b/src/Newbe.Mahua.QQLight.Native/PluginApiExporter.cs
@@ -1,19 +1,21 @@
using System;
using System.Runtime.InteropServices;
+using Newbe.Mahua.Logging;
using Newbe.Mahua.QQLight.MahuaEventOutputs;
+using Newtonsoft.Json;
namespace Newbe.Mahua.QQLight.Native
{
public class PluginApiExporter : IPluginApiExporter
{
- private const string Continue = "0";
+ private static readonly ILog Logger = LogProvider.For();
- public string Stopped { get; } = "1";
+ private const string Continue = "0";
- private const string SdkVersion = "3";
+ private const string SdkVersion = "1";
[DllExport("Information", CallingConvention.StdCall)]
- public static string Information(string authCode)
+ public static string Information(int authCode)
{
QqLightAuthCodeContainer.StaticAuthCode = authCode;
PluginInstanceManager.GetInstance()
@@ -21,13 +23,10 @@ public static string Information(string authCode)
{
AuthCode = authCode,
});
- var info = $"pluginID={AgentInfo.Instance.Id};{Environment.NewLine}" +
- $"pluginName={AgentInfo.Instance.Name};{Environment.NewLine}" +
- $"pluginBrief={AgentInfo.Instance.Description};{Environment.NewLine}" +
- $"pluginVersion={AgentInfo.Instance.Version};{Environment.NewLine}" +
- $"pluginSDK={SdkVersion};{Environment.NewLine}" +
- $"pluginAuthor={AgentInfo.Instance.Author};{Environment.NewLine}" +
- $"pluginWindowsTitle={{_TestMenu1=设置中心}};";
+ var info =
+ $"{{\"plugin_id\":\"{AgentInfo.Instance.Id}\",\"plugin_name\":\"{AgentInfo.Instance.Name}\",\"plugin_author\":\"{AgentInfo.Instance.Author}\",\"plugin_version\":\"{AgentInfo.Instance.Version}\",\"plugin_brief\":\"{AgentInfo.Instance.Description}\",\"plugin_sdk\":\"{SdkVersion}\",\"plugin_menu\":\"true\"}}";
+ Logger.Info("Plugin Info :{info}", info);
+
return info;
}
@@ -60,7 +59,7 @@ public static int Event_pluginStart()
[DllExport("Event_pluginStop", CallingConvention.StdCall)]
public static int Event_pluginStop()
{
- Native.PluginInstanceManager.GetInstance().HandleMahuaOutput(new PluginStop());
+ PluginInstanceManager.GetInstance().HandleMahuaOutput(new PluginStop());
return 0;
}
@@ -74,7 +73,10 @@ public static int Event_pluginStop()
///
///
[DllExport("Event_GetNewMsg", CallingConvention.StdCall)]
- public static string Event_GetNewMsg(int type, string fromgroup, string fromqq, string message,
+ public static string Event_GetNewMsg(int type,
+ string fromgroup,
+ string fromqq,
+ string message,
string messageId)
{
PluginInstanceManager.GetInstance().HandleMahuaOutput(new GetNewMsg
@@ -153,7 +155,7 @@ public static string Event_GroupMemberIncrease(
string fromqq,
string operatorQq)
{
- Native.PluginInstanceManager.GetInstance().HandleMahuaOutput(new GroupMemberIncrease
+ PluginInstanceManager.GetInstance().HandleMahuaOutput(new GroupMemberIncrease
{
Type = type,
Fromqq = fromqq,
@@ -207,7 +209,7 @@ public static string Event_AddGroup(
string moreMsg,
string seq)
{
- Native.PluginInstanceManager.GetInstance().HandleMahuaOutput(new AddGroup
+ PluginInstanceManager.GetInstance().HandleMahuaOutput(new AddGroup
{
Type = type,
Fromqq = fromqq,
@@ -229,7 +231,7 @@ public static string Event_AddGroup(
[DllExport("Event_AddFrinend", CallingConvention.StdCall)]
public static string Event_AddFrinend(string fromqq, string reason)
{
- Native.PluginInstanceManager.GetInstance().HandleMahuaOutput(new AddFrinend
+ PluginInstanceManager.GetInstance().HandleMahuaOutput(new AddFrinend
{
Fromqq = fromqq,
Reason = reason
@@ -238,38 +240,26 @@ public static string Event_AddFrinend(string fromqq, string reason)
}
///
- /// 成为了好友事件
+ /// 好友变动事件(包含成为单向好友,双向好友,被好友删除)
+ /// type 1.成为好友(单向) 2、成为好友(双向) 3、解除好友关系
///
- ///
- ///
- [DllExport("Event_BecomeFriends", CallingConvention.StdCall)]
- public static string Event_BecomeFriends(string fromqq)
+ [DllExport("Event_FriendChange", CallingConvention.StdCall)]
+ public static string Event_FriendChange(int type, string fromqq)
{
- PluginInstanceManager.GetInstance().HandleMahuaOutput(new BecomeFriends
+ PluginInstanceManager.GetInstance().HandleMahuaOutput(new FriendChange
{
- Fromqq = fromqq
+ Fromqq = fromqq,
+ Type = type
});
return Continue;
}
- ///
- /// Cookies更新时会触发此事件
- ///
- ///
- /// 这个拼写就是这样,没毛病
- [DllExport("Event_UpdataCookies", CallingConvention.StdCall)]
- public static string Event_UpdataCookies()
- {
- PluginInstanceManager.GetInstance().HandleMahuaOutput(new UpdataCookies());
- return Continue;
- }
-
///
///
///
///
- [DllExport("_TestMenu1", CallingConvention.StdCall)]
- public static int _TestMenu1()
+ [DllExport("Event_Menu", CallingConvention.StdCall)]
+ public static int Event_Menu()
{
// TODO 点击设置中心,暂时没有任何作用
Console.WriteLine("nothing");
diff --git a/src/Newbe.Mahua.QQLight.Native/PluginInfoProvider.cs b/src/Newbe.Mahua.QQLight.Native/PluginInfoProvider.cs
index ee6de7d..a2d151e 100644
--- a/src/Newbe.Mahua.QQLight.Native/PluginInfoProvider.cs
+++ b/src/Newbe.Mahua.QQLight.Native/PluginInfoProvider.cs
@@ -8,7 +8,7 @@ internal static class PluginInfoProvider
public static PluginFileInfo GetPluginInfo()
{
var pluginApiExpDll = typeof(MahuaModule).Assembly.CodeBase;
- var pluginName = Path.GetFileNameWithoutExtension(pluginApiExpDll).Replace(".plugin", string.Empty);
+ var pluginName = Path.GetFileNameWithoutExtension(pluginApiExpDll).Replace(".ql", string.Empty);
var baseDir = AppDomain.CurrentDomain.BaseDirectory;
var dllDir = Path.GetFullPath(Path.Combine(baseDir, pluginName));
var re = new PluginFileInfo
diff --git a/src/Newbe.Mahua.QQLight.Native/QQLightApi.cs b/src/Newbe.Mahua.QQLight.Native/QQLightApi.cs
index afffc5a..06cbeaf 100644
--- a/src/Newbe.Mahua.QQLight.Native/QQLightApi.cs
+++ b/src/Newbe.Mahua.QQLight.Native/QQLightApi.cs
@@ -7,928 +7,1278 @@ namespace Newbe.Mahua.QQLight.Native
public class QQLightApi : IQQLightApi
{
///
- ///
+ /// //给QQ点名片赞,PCQQ点赞不稳定,容易失效
///
- ///
+ ///
///
///
- void IQQLightApi.Api_SendPraise([Description("")] string QQ号, [Description("")] string AuthCode)
- => NativeMethods.Api_SendPraise(QQ号, AuthCode);
+ void IQQLightApi.Api_SendPraise([Description("")] string QQID, [Description("")] int AuthCode)
+ => NativeMethods.Api_SendPraise(QQID, AuthCode);
///
- ///
+ /// //抖动好友窗口
///
- ///
+ ///
///
///
- void IQQLightApi.Api_SendShake([Description("")] string QQ号, [Description("")] string AuthCode)
- => NativeMethods.Api_SendShake(QQ号, AuthCode);
+ void IQQLightApi.Api_SendShake([Description("")] string QQID, [Description("")] int AuthCode)
+ => NativeMethods.Api_SendShake(QQID, AuthCode);
///
- ///
+ /// //取得网页操作时需要用到的bkn/Gtk
///
+ ///
///
///
- string IQQLightApi.Api_Getbkn([Description("")] string AuthCode)
- => NativeMethods.Api_Getbkn(AuthCode);
+ string IQQLightApi.Api_Getbkn([Description("")] string Cookies, [Description("")] int AuthCode)
+ => NativeMethods.Api_Getbkn(Cookies, AuthCode);
///
- ///
+ /// //取得网页操作时需要用到的bkn/Gtk
///
- ///
+ ///
///
///
- void IQQLightApi.Api_QuitGroup([Description("")] string 群号, [Description("")] string AuthCode)
- => NativeMethods.Api_QuitGroup(群号, AuthCode);
+ string IQQLightApi.Api_Getbkn_Long([Description("")] string Cookies, [Description("")] int AuthCode)
+ => NativeMethods.Api_Getbkn_Long(Cookies, AuthCode);
///
- ///
+ /// //退出群
///
- ///
+ ///
///
///
- void IQQLightApi.Api_QuitDiscussGroup([Description("")] string 讨论组号, [Description("")] string AuthCode)
- => NativeMethods.Api_QuitDiscussGroup(讨论组号, AuthCode);
+ void IQQLightApi.Api_QuitGroup([Description("")] string GroupID, [Description("")] int AuthCode)
+ => NativeMethods.Api_QuitGroup(GroupID, AuthCode);
///
- ///
+ /// //退出讨论组
///
- ///
+ ///
///
///
- void IQQLightApi.Api_SetSignature([Description("")] string 个性签名, [Description("")] string AuthCode)
- => NativeMethods.Api_SetSignature(个性签名, AuthCode);
+ void IQQLightApi.Api_QuitDiscussGroup([Description("")] string GroupID, [Description("")] int AuthCode)
+ => NativeMethods.Api_QuitDiscussGroup(GroupID, AuthCode);
///
- ///
+ /// //修改个性签名
///
- ///
- ///
+ ///
///
///
- void IQQLightApi.Api_SetDiscussName([Description("")] string 讨论组号, [Description("")] string 名称,
- [Description("")] string AuthCode)
- => NativeMethods.Api_SetDiscussName(讨论组号, 名称, AuthCode);
+ void IQQLightApi.Api_SetSignature([Description("")] string Signature, [Description("")] int AuthCode)
+ => NativeMethods.Api_SetSignature(Signature, AuthCode);
///
- ///
+ /// //修改讨论组名称
///
- ///
- ///
+ ///
+ ///
///
///
- void IQQLightApi.Api_BanGroup([Description("")] string 群号, [Description("")] bool 是否全群禁言,
- [Description("")] string AuthCode)
- => NativeMethods.Api_BanGroup(群号, 是否全群禁言, AuthCode);
+ void IQQLightApi.Api_SetDiscussName([Description("")] string DiscussGroupID, [Description("")] string Name,
+ [Description("")] int AuthCode)
+ => NativeMethods.Api_SetDiscussName(DiscussGroupID, Name, AuthCode);
///
- ///
+ /// //修改群名称
///
- ///
+ ///
+ ///
///
///
- void IQQLightApi.Api_RemoveGroup([Description("")] string 群号, [Description("")] string AuthCode)
- => NativeMethods.Api_RemoveGroup(群号, AuthCode);
+ void IQQLightApi.Api_SetGroupName([Description("")] string GroupID, [Description("")] string Name,
+ [Description("")] int AuthCode)
+ => NativeMethods.Api_SetGroupName(GroupID, Name, AuthCode);
///
- ///
+ /// //设置全群禁言
///
- ///
- ///
- /// 真,设置 假,取消
+ ///
+ /// 真 开启全群禁言 假 关闭全群禁言
///
///
- void IQQLightApi.Api_SetManager([Description("")] string 群号, [Description("")] string QQ号,
- [Description("真,设置 假,取消")] bool 是否设置为管理员, [Description("")] string AuthCode)
- => NativeMethods.Api_SetManager(群号, QQ号, 是否设置为管理员, AuthCode);
+ void IQQLightApi.Api_BanGroup([Description("")] string GroupID,
+ [Description("真 开启全群禁言 假 关闭全群禁言")] bool IsBanGroup, [Description("")] int AuthCode)
+ => NativeMethods.Api_BanGroup(GroupID, IsBanGroup, AuthCode);
///
- ///
+ /// //设置管理员权限
///
- ///
+ ///
+ ///
+ /// 真,设置 假,取消
+ ///
+ ///
+ void IQQLightApi.Api_SetManager([Description("")] string GroupID, [Description("")] string QQID,
+ [Description("真,设置 假,取消")] bool IsManager, [Description("")] int AuthCode)
+ => NativeMethods.Api_SetManager(GroupID, QQID, IsManager, AuthCode);
+
+ ///
+ /// //禁言群成员
+ ///
+ ///
///
- /// 单位:秒 0为解除禁言
+ /// 单位:秒 0为解除禁言
///
///
- void IQQLightApi.Api_Ban([Description("")] string 群号, [Description("")] string QQ,
- [Description("单位:秒 0为解除禁言")] int 禁言时长, [Description("")] string AuthCode)
- => NativeMethods.Api_Ban(群号, QQ, 禁言时长, AuthCode);
+ void IQQLightApi.Api_Ban([Description("")] string GroupID, [Description("")] string QQ,
+ [Description("单位:秒 0为解除禁言")] int time, [Description("")] int AuthCode)
+ => NativeMethods.Api_Ban(GroupID, QQ, time, AuthCode);
///
- ///
+ /// //修改匿名权限
///
- ///
- ///
+ ///
+ /// 真 允许匿名 假 禁止匿名
///
///
- void IQQLightApi.Api_SetAnony([Description("")] string 群号, [Description("")] bool 是否允许匿名聊天,
- [Description("")] string AuthCode)
- => NativeMethods.Api_SetAnony(群号, 是否允许匿名聊天, AuthCode);
+ void IQQLightApi.Api_SetAnony([Description("")] string GroupID, [Description("真 允许匿名 假 禁止匿名")] bool IsSetAnony,
+ [Description("")] int AuthCode)
+ => NativeMethods.Api_SetAnony(GroupID, IsSetAnony, AuthCode);
///
- ///
+ /// //踢出群成员
///
- ///
- ///
- ///
+ ///
+ ///
+ /// 不再接受此人加群
///
///
- void IQQLightApi.Api_RemoveMember([Description("")] string 群号, [Description("")] string QQ号,
- [Description("")] bool 是否不再接收加群申请, [Description("")] string AuthCode)
- => NativeMethods.Api_RemoveMember(群号, QQ号, 是否不再接收加群申请, AuthCode);
+ void IQQLightApi.Api_RemoveMember([Description("")] string GroupID, [Description("")] string QQID,
+ [Description("不再接受此人加群")] bool IsBan, [Description("")] int AuthCode)
+ => NativeMethods.Api_RemoveMember(GroupID, QQID, IsBan, AuthCode);
///
- ///
+ /// //解散群
///
+ /// 群号
///
///
- string IQQLightApi.Api_GetCookies([Description("")] string AuthCode)
+ void IQQLightApi.Api_RemoveGroup([Description("群号")] string GroupID, [Description("")] int AuthCode)
+ => NativeMethods.Api_RemoveGroup(GroupID, AuthCode);
+
+ ///
+ /// //取得操作网页所需要的Cookies
+ ///
+ ///
+ ///
+ string IQQLightApi.Api_GetCookies([Description("")] int AuthCode)
=> NativeMethods.Api_GetCookies(AuthCode);
///
- ///
+ /// //取得QQ空间Token
///
///
///
- string IQQLightApi.Api_GetClientKey([Description("")] string AuthCode)
- => NativeMethods.Api_GetClientKey(AuthCode);
+ string IQQLightApi.Api_GetQzoneToken([Description("")] int AuthCode)
+ => NativeMethods.Api_GetQzoneToken(AuthCode);
///
- ///
+ /// //取得QQ空间Cookies
///
///
///
- string IQQLightApi.Api_GetLoginQQ([Description("")] string AuthCode)
- => NativeMethods.Api_GetLoginQQ(AuthCode);
+ string IQQLightApi.Api_GetQzoneCookies([Description("")] int AuthCode)
+ => NativeMethods.Api_GetQzoneCookies(AuthCode);
///
- /// 是否开启/关闭
+ /// //发表说说
///
+ ///
///
///
- bool IQQLightApi.Api_GetPluginState([Description("")] string AuthCode)
- => NativeMethods.Api_GetPluginState(AuthCode);
+ string IQQLightApi.Api_SendTaotao([Description("")] string Str, [Description("")] int AuthCode)
+ => NativeMethods.Api_SendTaotao(Str, AuthCode);
///
- /// 框架为插件所创建的一个目录
+ /// //取得所登录的QQ
///
///
///
- string IQQLightApi.Api_GetPath([Description("")] string AuthCode)
+ string IQQLightApi.Api_GetLoginQQ([Description("")] int AuthCode)
+ => NativeMethods.Api_GetLoginQQ(AuthCode);
+
+ ///
+ /// //框架为插件所创建的插件目录
+ ///
+ ///
+ ///
+ string IQQLightApi.Api_GetPath([Description("")] int AuthCode)
=> NativeMethods.Api_GetPath(AuthCode);
///
- /// 机器人发送消息
+ /// //置插件错误管理
///
- /// 1.好友消息 2.群消息 3.群临时消息 4.讨论组消息 5.讨论组临时消息 6.QQ临时消息
- ///
- /// 类型为2,4时可留空
- ///
+ ///
+ ///
///
///
- void IQQLightApi.Api_SendMsg([Description("1.好友消息 2.群消息 3.群临时消息 4.讨论组消息 5.讨论组临时消息 6.QQ临时消息")]
- int 类型, [Description("")] string 群组, [Description("类型为2,4时可留空")] string QQ号, [Description("")] string 内容,
- [Description("")] string AuthCode)
- => NativeMethods.Api_SendMsg(类型, 群组, QQ号, 内容, AuthCode);
+ string IQQLightApi.Api_Error([Description("")] string Code, [Description("")] string Str,
+ [Description("")] int AuthCode)
+ => NativeMethods.Api_Error(Code, Str, AuthCode);
///
- /// 处理加群消息
+ /// //机器人发送消息,返回值为该条消息的ID
///
- ///
- ///
+ /// 1.好友消息 2.群消息 3.群临时消息 4.讨论组消息 5.讨论组临时消息 6.QQ临时消息
+ ///
+ /// 类型为2,4时可留空
+ ///
+ ///
+ ///
+ string IQQLightApi.Api_SendMsg([Description("1.好友消息 2.群消息 3.群临时消息 4.讨论组消息 5.讨论组临时消息 6.QQ临时消息")]
+ int Type, [Description("")] string GroupID, [Description("类型为2,4时可留空")] string QQID,
+ [Description("")] string Msg, [Description("")] int AuthCode)
+ => NativeMethods.Api_SendMsg(Type, GroupID, QQID, Msg, AuthCode);
+
+ ///
+ /// //处理加群消息
+ ///
+ ///
+ ///
///
- /// 1.同意 2.拒绝 3.忽略
- /// 参数可为空,且为 拒绝 时有效
+ /// 1.同意 2.拒绝 3.忽略
+ /// 参数可为空,且为 拒绝 时有效
///
///
- void IQQLightApi.Api_SetGroupAdd([Description("")] string 群号, [Description("")] string QQ号,
- [Description("")] string Seq, [Description("1.同意 2.拒绝 3.忽略")] int 操作方式,
- [Description("参数可为空,且为 拒绝 时有效")] string 拒绝理由, [Description("")] string AuthCode)
- => NativeMethods.Api_SetGroupAdd(群号, QQ号, Seq, 操作方式, 拒绝理由, AuthCode);
+ void IQQLightApi.Api_SetGroupAdd([Description("")] string GroupID, [Description("")] string QQID,
+ [Description("")] string Seq, [Description("1.同意 2.拒绝 3.忽略")] int Type,
+ [Description("参数可为空,且为 拒绝 时有效")] string Reason, [Description("")] int AuthCode)
+ => NativeMethods.Api_SetGroupAdd(GroupID, QQID, Seq, Type, Reason, AuthCode);
///
- /// 处理加好友消息
+ /// //处理加好友消息
///
- ///
- /// 1.同意 2.拒绝 3.忽略
- /// 参数可为空,且为 拒绝 时有效
+ ///
+ /// 1.同意 2.拒绝 3.忽略
+ /// 参数可为空,且为 拒绝 时有效
///
///
- void IQQLightApi.Api_SetFriendAdd([Description("")] string QQ号, [Description("1.同意 2.拒绝 3.忽略")] int 操作方式,
- [Description("参数可为空,且为 拒绝 时有效")] string 拒绝理由, [Description("")] string AuthCode)
- => NativeMethods.Api_SetFriendAdd(QQ号, 操作方式, 拒绝理由, AuthCode);
+ void IQQLightApi.Api_SetFriendAdd([Description("")] string QQID, [Description("1.同意 2.拒绝 3.忽略")] int Type,
+ [Description("参数可为空,且为 拒绝 时有效")] string Reason, [Description("")] int AuthCode)
+ => NativeMethods.Api_SetFriendAdd(QQID, Type, Reason, AuthCode);
///
- ///
+ /// //向框架推送一条日志
///
- ///
- ///
- ///
+ /// 日志类型(自定义)
+ /// 日志内容
+ /// 日志颜色
+ ///
+ ///
+ void IQQLightApi.Api_SendLog([Description("日志类型(自定义)")] string Type, [Description("日志内容")] string Msg,
+ [Description("日志颜色")] int FontColor, [Description("")] int AuthCode)
+ => NativeMethods.Api_SendLog(Type, Msg, FontColor, AuthCode);
+
+ ///
+ /// //修改好友备注
+ ///
+ ///
+ ///
+ ///
+ ///
+ void IQQLightApi.Api_SetFriendName([Description("")] string QQID, [Description("")] string Name,
+ [Description("")] int AuthCode)
+ => NativeMethods.Api_SetFriendName(QQID, Name, AuthCode);
+
+ ///
+ /// //删除好友
+ ///
+ ///
+ ///
+ ///
+ void IQQLightApi.Api_DeleteFriend([Description("")] string QQID, [Description("")] int AuthCode)
+ => NativeMethods.Api_DeleteFriend(QQID, AuthCode);
+
+ ///
+ /// //主动添加群
+ ///
+ ///
+ ///
///
///
- void IQQLightApi.Api_SendLog([Description("")] string 类型, [Description("")] string 内容,
- [Description("")] int 字体颜色, [Description("")] string AuthCode)
- => NativeMethods.Api_SendLog(类型, 内容, 字体颜色, AuthCode);
+ void IQQLightApi.Api_AddGroup([Description("")] string GroupID, [Description("")] string 附加信息,
+ [Description("")] int AuthCode)
+ => NativeMethods.Api_AddGroup(GroupID, 附加信息, AuthCode);
+
+ ///
+ /// //主动添加好友
+ ///
+ ///
+ ///
+ ///
+ ///
+ void IQQLightApi.Api_AddFriend([Description("")] string QQID, [Description("")] string Info,
+ [Description("")] int AuthCode)
+ => NativeMethods.Api_AddFriend(QQID, Info, AuthCode);
+
+ ///
+ /// //返回卡片点歌JSON代码
+ ///
+ ///
+ ///
+ ///
+ string IQQLightApi.Api_JsonMusic([Description("")] string SongID, [Description("")] int AuthCode)
+ => NativeMethods.Api_JsonMusic(SongID, AuthCode);
+
+ ///
+ /// //取得群内成员的名片
+ ///
+ ///
+ ///
+ ///
+ ///
+ string IQQLightApi.Api_GetGroupCard([Description("")] string GroupID, [Description("")] string QQID,
+ [Description("")] int AuthCode)
+ => NativeMethods.Api_GetGroupCard(GroupID, QQID, AuthCode);
+
+ ///
+ /// //取指定QQ的昵称
+ ///
+ ///
+ ///
+ ///
+ string IQQLightApi.Api_GetNick([Description("")] string QQID, [Description("")] int AuthCode)
+ => NativeMethods.Api_GetNick(QQID, AuthCode);
///
///
///
- ///
- ///
+ ///
///
///
- void IQQLightApi.Api_SetFriendName([Description("")] string 好友QQ, [Description("")] string 备注名,
- [Description("")] string AuthCode)
- => NativeMethods.Api_SetFriendName(好友QQ, 备注名, AuthCode);
+ string IQQLightApi.Api_GetGroupName([Description("")] string GroupID, [Description("")] int AuthCode)
+ => NativeMethods.Api_GetGroupName(GroupID, AuthCode);
///
///
///
- ///
///
///
- void IQQLightApi.Api_DeleteFriend([Description("")] string 好友QQ, [Description("")] string AuthCode)
- => NativeMethods.Api_DeleteFriend(好友QQ, AuthCode);
+ string IQQLightApi.Api_GetSoftVersion([Description("")] int AuthCode)
+ => NativeMethods.Api_GetSoftVersion(AuthCode);
///
///
///
- ///
- ///
+ ///
///
///
- void IQQLightApi.Api_AddGroup([Description("")] string 群号, [Description("")] string 附加信息,
- [Description("")] string AuthCode)
- => NativeMethods.Api_AddGroup(群号, 附加信息, AuthCode);
+ string IQQLightApi.Api_GetGroupIntroduce([Description("")] string GroupID, [Description("")] int AuthCode)
+ => NativeMethods.Api_GetGroupIntroduce(GroupID, AuthCode);
///
///
///
- ///
- ///
+ ///
///
///
- void IQQLightApi.Api_AddFriend([Description("")] string 目标QQ, [Description("")] string 附加信息,
- [Description("")] string AuthCode)
- => NativeMethods.Api_AddFriend(目标QQ, 附加信息, AuthCode);
+ string IQQLightApi.Api_GetGroupOwner([Description("")] string GroupID, [Description("")] int AuthCode)
+ => NativeMethods.Api_GetGroupOwner(GroupID, AuthCode);
///
- /// 返回网易云点歌XML
+ /// //修改群成员的名片
///
- ///
+ ///
+ ///
+ ///
///
///
- string IQQLightApi.Api_163Music([Description("")] string 歌曲ID, [Description("")] string AuthCode)
- => NativeMethods.Api_163Music(歌曲ID, AuthCode);
+ void IQQLightApi.Api_SetGroupCard([Description("")] string GroupID, [Description("")] string QQID,
+ [Description("")] string NewCard, [Description("")] int AuthCode)
+ => NativeMethods.Api_SetGroupCard(GroupID, QQID, NewCard, AuthCode);
///
- /// 返回QQ点歌XML
+ /// //取得某个QQ的名片赞数量
///
- ///
+ ///
///
///
- string IQQLightApi.Api_QQMusic([Description("")] string 歌曲ID, [Description("")] string AuthCode)
- => NativeMethods.Api_QQMusic(歌曲ID, AuthCode);
+ string IQQLightApi.Api_GetPraiseNum([Description("")] string QQID, [Description("")] int AuthCode)
+ => NativeMethods.Api_GetPraiseNum(QQID, AuthCode);
///
- /// 返回Json点歌XML
+ /// //取得某个QQ的等级
///
- ///
+ ///
///
///
- string IQQLightApi.Api_JsonMusic([Description("")] string 歌曲ID, [Description("")] string AuthCode)
- => NativeMethods.Api_JsonMusic(歌曲ID, AuthCode);
+ int IQQLightApi.Api_GetQQLevel([Description("")] string QQID, [Description("")] int AuthCode)
+ => NativeMethods.Api_GetQQLevel(QQID, AuthCode);
///
- /// 置插件错误管理
+ ///
///
- ///
- ///
+ ///
///
///
- string IQQLightApi.Api_Error([Description("")] string Code, [Description("")] string Str,
- [Description("")] string AuthCode)
- => NativeMethods.Api_Error(Code, Str, AuthCode);
+ void IQQLightApi.Api_SetNick([Description("")] string NewNick, [Description("")] int AuthCode)
+ => NativeMethods.Api_SetNick(NewNick, AuthCode);
///
- /// 取得群内成员的名片
+ ///
///
- ///
- ///
+ ///
+ ///
///
///
- string IQQLightApi.Api_GetGroupCard([Description("")] string 群号, [Description("")] string QQ号,
- [Description("")] string AuthCode)
- => NativeMethods.Api_GetGroupCard(群号, QQ号, AuthCode);
+ string IQQLightApi.Api_Taotaodolike([Description("")] string QQID, [Description("")] string URL,
+ [Description("")] int AuthCode)
+ => NativeMethods.Api_Taotaodolike(QQID, URL, AuthCode);
///
- /// 取得某个QQ的昵称
+ ///
///
- ///
+ ///
+ ///
+ ///
///
///
- string IQQLightApi.Api_GetNick([Description("")] string QQ号, [Description("")] string AuthCode)
- => NativeMethods.Api_GetNick(QQ号, AuthCode);
+ string IQQLightApi.Api_Taotaofeeds([Description("")] string QQID, [Description("")] string URL,
+ [Description("")] string Content, [Description("")] int AuthCode)
+ => NativeMethods.Api_Taotaofeeds(QQID, URL, Content, AuthCode);
///
- /// 修改群内成员的名片
+ ///
///
- ///
- ///
- ///
+ ///
///
///
- void IQQLightApi.Api_SetGroupCard([Description("")] string 群号, [Description("")] string QQ号,
- [Description("")] string 新名片, [Description("")] string AuthCode)
- => NativeMethods.Api_SetGroupCard(群号, QQ号, 新名片, AuthCode);
+ int IQQLightApi.Api_GetQQAge([Description("")] string QQID, [Description("")] int AuthCode)
+ => NativeMethods.Api_GetQQAge(QQID, AuthCode);
///
- /// 取得某个QQ的名片赞数量
+ ///
///
- ///
+ ///
///
///
- string IQQLightApi.Api_GetPraiseNum([Description("")] string QQ号, [Description("")] string AuthCode)
- => NativeMethods.Api_GetPraiseNum(QQ号, AuthCode);
+ int IQQLightApi.Api_GetQQSex([Description("")] string QQID, [Description("")] int AuthCode)
+ => NativeMethods.Api_GetQQSex(QQID, AuthCode);
///
- /// 以JSON形式取得好友列表
+ /// //以JSON形式取得好友列表
///
+ ///
///
///
- string IQQLightApi.Api_GetFriendList([Description("")] string AuthCode)
- => NativeMethods.Api_GetFriendList(AuthCode);
+ string IQQLightApi.Api_GetFriendList([Description("")] bool Cache, [Description("")] int AuthCode)
+ => NativeMethods.Api_GetFriendList(Cache, AuthCode);
///
- /// 以JSON形式取得群列表
+ /// //以JSON形式取得群列表
///
+ ///
///
///
- string IQQLightApi.Api_GetGroupList([Description("")] string AuthCode)
- => NativeMethods.Api_GetGroupList(AuthCode);
+ string IQQLightApi.Api_GetGroupList([Description("")] bool Cache, [Description("")] int AuthCode)
+ => NativeMethods.Api_GetGroupList(Cache, AuthCode);
///
- /// 以JSON形式取得群成员列表
+ /// //以JSON形式取得群成员列表
///
- ///
+ ///
+ ///
///
///
- string IQQLightApi.Api_GetGroupMemberList([Description("")] string 群号, [Description("")] string AuthCode)
- => NativeMethods.Api_GetGroupMemberList(群号, AuthCode);
+ string IQQLightApi.Api_GetGroupMemberList([Description("")] string GroupID, [Description("")] bool Cache,
+ [Description("")] int AuthCode)
+ => NativeMethods.Api_GetGroupMemberList(GroupID, Cache, AuthCode);
///
- /// 以JSON形式取得某QQ个人信息
+ /// //以JSON形式取得某QQ个人信息
///
- ///
+ ///
///
///
- string IQQLightApi.Api_GetQQInfo([Description("")] string QQ号, [Description("")] string AuthCode)
- => NativeMethods.Api_GetQQInfo(QQ号, AuthCode);
+ string IQQLightApi.Api_GetQQInfo([Description("")] string QQID, [Description("")] int AuthCode)
+ => NativeMethods.Api_GetQQInfo(QQID, AuthCode);
///
- /// 以JSON形式取得某群信息
+ /// //以JSON形式取得某群信息
///
- ///
+ ///
///
///
- string IQQLightApi.Api_GetGroupInfo([Description("")] string 群号, [Description("")] string AuthCode)
- => NativeMethods.Api_GetGroupInfo(群号, AuthCode);
+ string IQQLightApi.Api_GetGroupInfo([Description("")] string GroupID, [Description("")] int AuthCode)
+ => NativeMethods.Api_GetGroupInfo(GroupID, AuthCode);
///
- /// 让机器人快速重启
+ /// //撤回自身消息 发出消息不可以秒撤回,腾讯限制,1~2s后才可撤回
///
+ /// 1.好友消息 2.群消息 3.群临时消息 4.讨论组消息 5.讨论组临时消息 6.QQ临时消息
+ /// 撤回群消息、群临时消息、讨论组消息、讨论组临时消息必须填写,其余情况可留空
+ /// 撤回好友消息、群临时消息、讨论组临时消息、QQ临时消息必须填写,其余情况可留空
+ /// 撤回的消息ID,机器人发送消息会返回自身的消息ID
///
///
- string IQQLightApi.Api_Restart([Description("")] string AuthCode)
- => NativeMethods.Api_Restart(AuthCode);
+ void IQQLightApi.Api_DeleteMsg([Description("1.好友消息 2.群消息 3.群临时消息 4.讨论组消息 5.讨论组临时消息 6.QQ临时消息")]
+ int Type, [Description("撤回群消息、群临时消息、讨论组消息、讨论组临时消息必须填写,其余情况可留空")]
+ string GroupID, [Description("撤回好友消息、群临时消息、讨论组临时消息、QQ临时消息必须填写,其余情况可留空")]
+ string QQID, [Description("撤回的消息ID,机器人发送消息会返回自身的消息ID")]
+ string MsgID, [Description("")] int AuthCode)
+ => NativeMethods.Api_DeleteMsg(Type, GroupID, QQID, MsgID, AuthCode);
///
- /// 让机器人刷新插件
+ /// //改变QQ在线状态
///
+ /// 1.我在线上 2.Q我吧 3.离开 4.忙碌 5.请勿打扰 6.隐身
///
///
- string IQQLightApi.Api_UpdatePlugin([Description("")] string AuthCode)
- => NativeMethods.Api_UpdatePlugin(AuthCode);
+ void IQQLightApi.Api_SetQQState([Description("1.我在线上 2.Q我吧 3.离开 4.忙碌 5.请勿打扰 6.隐身")]
+ int Type, [Description("")] int AuthCode)
+ => NativeMethods.Api_SetQQState(Type, AuthCode);
///
- /// 撤回群成员的消息 机器人必须为管理员
+ /// //邀请好友入群
///
- ///
- ///
+ ///
+ ///
+ ///
+ ///
+ void IQQLightApi.Api_InviteFriend([Description("")] string GroupID, [Description("")] string QQID,
+ [Description("")] int AuthCode)
+ => NativeMethods.Api_InviteFriend(GroupID, QQID, AuthCode);
+
+ ///
+ ///
+ ///
+ ///
///
///
- string IQQLightApi.Api_DeleteMsg([Description("")] string 群号, [Description("")] string 消息ID,
- [Description("")] string AuthCode)
- => NativeMethods.Api_DeleteMsg(群号, 消息ID, AuthCode);
+ string IQQLightApi.Api_GetQQInfo_v2([Description("")] string QQID, [Description("")] int AuthCode)
+ => NativeMethods.Api_GetQQInfo_v2(QQID, AuthCode);
+
+ ///
+ /// //取消COM库
+ ///
+ ///
+ void IQQLightApi.CoUninitialize()
+ => NativeMethods.CoUninitialize();
+
+ ///
+ /// //初始化COM库
+ ///
+ ///
+ ///
+ void IQQLightApi.CoInitialize([Description("")] int pvReserved)
+ => NativeMethods.CoInitialize(pvReserved);
///
- /// 改变QQ在线状态
+ /// //上传图片,获得图片GUID,
///
- /// 1.我在线上 2.Q我吧 3.离开 4.忙碌 5.请勿打扰 6.隐身
+ /// 1.私聊图片 2.群聊图片
+ /// 私聊图片填写QQID,群聊/讨论组图片填写群号讨论组号
+ /// 图片的Hex流
///
///
- string IQQLightApi.Api_SetQQState([Description("1.我在线上 2.Q我吧 3.离开 4.忙碌 5.请勿打扰 6.隐身")]
- int 类型, [Description("")] string AuthCode)
- => NativeMethods.Api_SetQQState(类型, AuthCode);
+ string IQQLightApi.Api_UpLoadPic([Description("1.私聊图片 2.群聊图片")] int Type,
+ [Description("私聊图片填写QQID,群聊/讨论组图片填写群号讨论组号")]
+ string 对象, [Description("图片的Hex流")] string Bin, [Description("")] int AuthCode)
+ => NativeMethods.Api_UpLoadPic(Type, 对象, Bin, AuthCode);
+
+ ///
+ /// //设置插件状态,开启或关闭
+ ///
+ /// 真:启用自身 假:关闭自身
+ ///
+ ///
+ string IQQLightApi.Api_SetPluginState([Description("真:启用自身 假:关闭自身")] bool State,
+ [Description("")] int AuthCode)
+ => NativeMethods.Api_SetPluginState(State, AuthCode);
///
///
///
///
- ///
+ ///
///
///
- void IQQLightApi.Api_InviteFriend([Description("")] string 群号, [Description("")] string 好友QQ,
- [Description("")] string AuthCode)
- => NativeMethods.Api_InviteFriend(群号, 好友QQ, AuthCode);
+ void IQQLightApi.Api_DeleteFile([Description("")] string 群号, [Description("")] string 文件GUID,
+ [Description("")] int AuthCode)
+ => NativeMethods.Api_DeleteFile(群号, 文件GUID, AuthCode);
///
///
///
- ///
+ ///
+ ///
+ ///
///
///
- string IQQLightApi.Api_GetQQinfo_v2([Description("")] string QQ号, [Description("")] string AuthCode)
- => NativeMethods.Api_GetQQinfo_v2(QQ号, AuthCode);
+ void IQQLightApi.Api_RepeatFile([Description("")] string 来源对象, [Description("")] string 转发群号,
+ [Description("")] string 文件GUID, [Description("")] int AuthCode)
+ => NativeMethods.Api_RepeatFile(来源对象, 转发群号, 文件GUID, AuthCode);
///
///
///
- ///
- ///
- /// Hex形式
///
///
- string IQQLightApi.Api_UpLoadPic([Description("")] int 类型, [Description("")] string 对象,
- [Description("Hex形式")] string 图片字节集, [Description("")] string AuthCode)
- => NativeMethods.Api_UpLoadPic(类型, 对象, 图片字节集, AuthCode);
+ void IQQLightApi.Api_ClearOffLineFile([Description("")] int AuthCode)
+ => NativeMethods.Api_ClearOffLineFile(AuthCode);
+
+ ///
+ ///
+ ///
+ ///
+ ///
+ /// 址
+ ///
+ /// 址
+ ///
+ ///
+ ///
+ ///
+ int IQQLightApi.WideCharToMultiByte([Description("")] int CodePage, [Description("")] int dwFlags,
+ [Description("址")] byte[] lpWideCharStr, [Description("")] int cchWideChar,
+ [Description("址")] string lpMultiByteStr, [Description("")] int cchMultiByte,
+ [Description("")] int lpDefaultChar, [Description("")] int lpUsedDefaultChar)
+ => NativeMethods.WideCharToMultiByte(CodePage, dwFlags, lpWideCharStr, cchWideChar, lpMultiByteStr,
+ cchMultiByte, lpDefaultChar, lpUsedDefaultChar);
private static class NativeMethods
{
///
- ///
+ /// //给QQ点名片赞,PCQQ点赞不稳定,容易失效
///
- ///
+ ///
///
///
[DllImport("bin/message.dll")]
- public static extern void Api_SendPraise([Description("")] string QQ号, [Description("")] string AuthCode);
+ public static extern void Api_SendPraise([Description("")] string QQID, [Description("")] int AuthCode);
///
- ///
+ /// //抖动好友窗口
///
- ///
+ ///
///
///
[DllImport("bin/message.dll")]
- public static extern void Api_SendShake([Description("")] string QQ号, [Description("")] string AuthCode);
+ public static extern void Api_SendShake([Description("")] string QQID, [Description("")] int AuthCode);
///
- ///
+ /// //取得网页操作时需要用到的bkn/Gtk
///
+ ///
///
///
[DllImport("bin/message.dll")]
- public static extern string Api_Getbkn([Description("")] string AuthCode);
+ public static extern string Api_Getbkn([Description("")] string Cookies, [Description("")] int AuthCode);
///
- ///
+ /// //取得网页操作时需要用到的bkn/Gtk
///
- ///
+ ///
///
///
[DllImport("bin/message.dll")]
- public static extern void Api_QuitGroup([Description("")] string 群号, [Description("")] string AuthCode);
+ public static extern string Api_Getbkn_Long([Description("")] string Cookies,
+ [Description("")] int AuthCode);
///
- ///
+ /// //退出群
///
- ///
+ ///
///
///
[DllImport("bin/message.dll")]
- public static extern void Api_QuitDiscussGroup([Description("")] string 讨论组号,
- [Description("")] string AuthCode);
+ public static extern void Api_QuitGroup([Description("")] string GroupID, [Description("")] int AuthCode);
///
- ///
+ /// //退出讨论组
///
- ///
+ ///
///
///
[DllImport("bin/message.dll")]
- public static extern void Api_SetSignature([Description("")] string 个性签名,
- [Description("")] string AuthCode);
+ public static extern void Api_QuitDiscussGroup([Description("")] string GroupID,
+ [Description("")] int AuthCode);
///
- ///
+ /// //修改个性签名
///
- ///
- ///
+ ///
///
///
[DllImport("bin/message.dll")]
- public static extern void Api_SetDiscussName([Description("")] string 讨论组号, [Description("")] string 名称,
- [Description("")] string AuthCode);
+ public static extern void Api_SetSignature([Description("")] string Signature,
+ [Description("")] int AuthCode);
///
- ///
+ /// //修改讨论组名称
///
- ///
- ///
+ ///
+ ///
///
///
[DllImport("bin/message.dll")]
- public static extern void Api_BanGroup([Description("")] string 群号, [Description("")] bool 是否全群禁言,
- [Description("")] string AuthCode);
+ public static extern void Api_SetDiscussName([Description("")] string DiscussGroupID,
+ [Description("")] string Name, [Description("")] int AuthCode);
///
- ///
+ /// //修改群名称
///
- ///
+ ///
+ ///
///
///
[DllImport("bin/message.dll")]
- public static extern void Api_RemoveGroup([Description("")] string 群号, [Description("")] string AuthCode);
+ public static extern void Api_SetGroupName([Description("")] string GroupID, [Description("")] string Name,
+ [Description("")] int AuthCode);
///
- ///
+ /// //设置全群禁言
///
- ///
- ///
- /// 真,设置 假,取消
+ ///
+ /// 真 开启全群禁言 假 关闭全群禁言
///
///
[DllImport("bin/message.dll")]
- public static extern void Api_SetManager([Description("")] string 群号, [Description("")] string QQ号,
- [Description("真,设置 假,取消")] bool 是否设置为管理员, [Description("")] string AuthCode);
+ public static extern void Api_BanGroup([Description("")] string GroupID,
+ [Description("真 开启全群禁言 假 关闭全群禁言")] bool IsBanGroup, [Description("")] int AuthCode);
///
- ///
+ /// //设置管理员权限
///
- ///
+ ///
+ ///
+ /// 真,设置 假,取消
+ ///
+ ///
+ [DllImport("bin/message.dll")]
+ public static extern void Api_SetManager([Description("")] string GroupID, [Description("")] string QQID,
+ [Description("真,设置 假,取消")] bool IsManager, [Description("")] int AuthCode);
+
+ ///
+ /// //禁言群成员
+ ///
+ ///
///
- /// 单位:秒 0为解除禁言
+ /// 单位:秒 0为解除禁言
///
///
[DllImport("bin/message.dll")]
- public static extern void Api_Ban([Description("")] string 群号, [Description("")] string QQ,
- [Description("单位:秒 0为解除禁言")] int 禁言时长, [Description("")] string AuthCode);
+ public static extern void Api_Ban([Description("")] string GroupID, [Description("")] string QQ,
+ [Description("单位:秒 0为解除禁言")] int time, [Description("")] int AuthCode);
///
- ///
+ /// //修改匿名权限
///
- ///
- ///
+ ///
+ /// 真 允许匿名 假 禁止匿名
///
///
[DllImport("bin/message.dll")]
- public static extern void Api_SetAnony([Description("")] string 群号, [Description("")] bool 是否允许匿名聊天,
- [Description("")] string AuthCode);
+ public static extern void Api_SetAnony([Description("")] string GroupID,
+ [Description("真 允许匿名 假 禁止匿名")] bool IsSetAnony, [Description("")] int AuthCode);
///
- ///
+ /// //踢出群成员
///
- ///
- ///
- ///
+ ///
+ ///
+ /// 不再接受此人加群
///
///
[DllImport("bin/message.dll")]
- public static extern void Api_RemoveMember([Description("")] string 群号, [Description("")] string QQ号,
- [Description("")] bool 是否不再接收加群申请, [Description("")] string AuthCode);
+ public static extern void Api_RemoveMember([Description("")] string GroupID, [Description("")] string QQID,
+ [Description("不再接受此人加群")] bool IsBan, [Description("")] int AuthCode);
///
- ///
+ /// //解散群
///
+ /// 群号
///
///
[DllImport("bin/message.dll")]
- public static extern string Api_GetCookies([Description("")] string AuthCode);
+ public static extern void Api_RemoveGroup([Description("群号")] string GroupID,
+ [Description("")] int AuthCode);
///
- ///
+ /// //取得操作网页所需要的Cookies
///
///
///
[DllImport("bin/message.dll")]
- public static extern string Api_GetClientKey([Description("")] string AuthCode);
+ public static extern string Api_GetCookies([Description("")] int AuthCode);
///
- ///
+ /// //取得QQ空间Token
///
///
///
[DllImport("bin/message.dll")]
- public static extern string Api_GetLoginQQ([Description("")] string AuthCode);
+ public static extern string Api_GetQzoneToken([Description("")] int AuthCode);
///
- /// 是否开启/关闭
+ /// //取得QQ空间Cookies
///
///
///
[DllImport("bin/message.dll")]
- public static extern bool Api_GetPluginState([Description("")] string AuthCode);
+ public static extern string Api_GetQzoneCookies([Description("")] int AuthCode);
///
- /// 框架为插件所创建的一个目录
+ /// //发表说说
///
+ ///
///
///
[DllImport("bin/message.dll")]
- public static extern string Api_GetPath([Description("")] string AuthCode);
+ public static extern string Api_SendTaotao([Description("")] string Str, [Description("")] int AuthCode);
///
- /// 机器人发送消息
+ /// //取得所登录的QQ
///
- /// 1.好友消息 2.群消息 3.群临时消息 4.讨论组消息 5.讨论组临时消息 6.QQ临时消息
- ///
- /// 类型为2,4时可留空
- ///
///
///
[DllImport("bin/message.dll")]
- public static extern void Api_SendMsg([Description("1.好友消息 2.群消息 3.群临时消息 4.讨论组消息 5.讨论组临时消息 6.QQ临时消息")]
- int 类型, [Description("")] string 群组, [Description("类型为2,4时可留空")] string QQ号,
- [Description("")] string 内容, [Description("")] string AuthCode);
+ public static extern string Api_GetLoginQQ([Description("")] int AuthCode);
///
- /// 处理加群消息
+ /// //框架为插件所创建的插件目录
///
- ///
- ///
+ ///
+ ///
+ [DllImport("bin/message.dll")]
+ public static extern string Api_GetPath([Description("")] int AuthCode);
+
+ ///
+ /// //置插件错误管理
+ ///
+ ///
+ ///
+ ///
+ ///
+ [DllImport("bin/message.dll")]
+ public static extern string Api_Error([Description("")] string Code, [Description("")] string Str,
+ [Description("")] int AuthCode);
+
+ ///
+ /// //机器人发送消息,返回值为该条消息的ID
+ ///
+ /// 1.好友消息 2.群消息 3.群临时消息 4.讨论组消息 5.讨论组临时消息 6.QQ临时消息
+ ///
+ /// 类型为2,4时可留空
+ ///
+ ///
+ ///
+ [DllImport("bin/message.dll")]
+ public static extern string Api_SendMsg([Description("1.好友消息 2.群消息 3.群临时消息 4.讨论组消息 5.讨论组临时消息 6.QQ临时消息")]
+ int Type, [Description("")] string GroupID, [Description("类型为2,4时可留空")] string QQID,
+ [Description("")] string Msg, [Description("")] int AuthCode);
+
+ ///
+ /// //处理加群消息
+ ///
+ ///
+ ///
///
- /// 1.同意 2.拒绝 3.忽略
- /// 参数可为空,且为 拒绝 时有效
+ /// 1.同意 2.拒绝 3.忽略
+ /// 参数可为空,且为 拒绝 时有效
///
///
[DllImport("bin/message.dll")]
- public static extern void Api_SetGroupAdd([Description("")] string 群号, [Description("")] string QQ号,
- [Description("")] string Seq, [Description("1.同意 2.拒绝 3.忽略")] int 操作方式,
- [Description("参数可为空,且为 拒绝 时有效")] string 拒绝理由, [Description("")] string AuthCode);
+ public static extern void Api_SetGroupAdd([Description("")] string GroupID, [Description("")] string QQID,
+ [Description("")] string Seq, [Description("1.同意 2.拒绝 3.忽略")] int Type,
+ [Description("参数可为空,且为 拒绝 时有效")] string Reason, [Description("")] int AuthCode);
///
- /// 处理加好友消息
+ /// //处理加好友消息
///
- ///
- /// 1.同意 2.拒绝 3.忽略
- /// 参数可为空,且为 拒绝 时有效
+ ///
+ /// 1.同意 2.拒绝 3.忽略
+ /// 参数可为空,且为 拒绝 时有效
///
///
[DllImport("bin/message.dll")]
- public static extern void Api_SetFriendAdd([Description("")] string QQ号,
- [Description("1.同意 2.拒绝 3.忽略")] int 操作方式, [Description("参数可为空,且为 拒绝 时有效")] string 拒绝理由,
- [Description("")] string AuthCode);
+ public static extern void Api_SetFriendAdd([Description("")] string QQID,
+ [Description("1.同意 2.拒绝 3.忽略")] int Type, [Description("参数可为空,且为 拒绝 时有效")] string Reason,
+ [Description("")] int AuthCode);
///
- ///
+ /// //向框架推送一条日志
+ ///
+ /// 日志类型(自定义)
+ /// 日志内容
+ /// 日志颜色
+ ///
+ ///
+ [DllImport("bin/message.dll")]
+ public static extern void Api_SendLog([Description("日志类型(自定义)")] string Type,
+ [Description("日志内容")] string Msg, [Description("日志颜色")] int FontColor, [Description("")] int AuthCode);
+
+ ///
+ /// //修改好友备注
///
- ///
- ///
- ///
+ ///
+ ///
///
///
[DllImport("bin/message.dll")]
- public static extern void Api_SendLog([Description("")] string 类型, [Description("")] string 内容,
- [Description("")] int 字体颜色, [Description("")] string AuthCode);
+ public static extern void Api_SetFriendName([Description("")] string QQID, [Description("")] string Name,
+ [Description("")] int AuthCode);
+
+ ///
+ /// //删除好友
+ ///
+ ///
+ ///
+ ///
+ [DllImport("bin/message.dll")]
+ public static extern void Api_DeleteFriend([Description("")] string QQID, [Description("")] int AuthCode);
+
+ ///
+ /// //主动添加群
+ ///
+ ///
+ ///
+ ///
+ ///
+ [DllImport("bin/message.dll")]
+ public static extern void Api_AddGroup([Description("")] string GroupID, [Description("")] string 附加信息,
+ [Description("")] int AuthCode);
+
+ ///
+ /// //主动添加好友
+ ///
+ ///
+ ///
+ ///
+ ///
+ [DllImport("bin/message.dll")]
+ public static extern void Api_AddFriend([Description("")] string QQID, [Description("")] string Info,
+ [Description("")] int AuthCode);
+
+ ///
+ /// //返回卡片点歌JSON代码
+ ///
+ ///
+ ///
+ ///
+ [DllImport("bin/message.dll")]
+ public static extern string Api_JsonMusic([Description("")] string SongID, [Description("")] int AuthCode);
+
+ ///
+ /// //取得群内成员的名片
+ ///
+ ///
+ ///
+ ///
+ ///
+ [DllImport("bin/message.dll")]
+ public static extern string Api_GetGroupCard([Description("")] string GroupID,
+ [Description("")] string QQID, [Description("")] int AuthCode);
+
+ ///
+ /// //取指定QQ的昵称
+ ///
+ ///
+ ///
+ ///
+ [DllImport("bin/message.dll")]
+ public static extern string Api_GetNick([Description("")] string QQID, [Description("")] int AuthCode);
///
///
///
- ///
- ///
+ ///
///
///
[DllImport("bin/message.dll")]
- public static extern void Api_SetFriendName([Description("")] string 好友QQ, [Description("")] string 备注名,
- [Description("")] string AuthCode);
+ public static extern string Api_GetGroupName([Description("")] string GroupID,
+ [Description("")] int AuthCode);
///
///
///
- ///
///
///
[DllImport("bin/message.dll")]
- public static extern void Api_DeleteFriend([Description("")] string 好友QQ,
- [Description("")] string AuthCode);
+ public static extern string Api_GetSoftVersion([Description("")] int AuthCode);
///
///
///
- ///
- ///
+ ///
///
///
[DllImport("bin/message.dll")]
- public static extern void Api_AddGroup([Description("")] string 群号, [Description("")] string 附加信息,
- [Description("")] string AuthCode);
+ public static extern string Api_GetGroupIntroduce([Description("")] string GroupID,
+ [Description("")] int AuthCode);
///
///
///
- ///
- ///
+ ///
///
///
[DllImport("bin/message.dll")]
- public static extern void Api_AddFriend([Description("")] string 目标QQ, [Description("")] string 附加信息,
- [Description("")] string AuthCode);
+ public static extern string Api_GetGroupOwner([Description("")] string GroupID,
+ [Description("")] int AuthCode);
///
- /// 返回网易云点歌XML
+ /// //修改群成员的名片
///
- ///
+ ///
+ ///
+ ///
///
///
[DllImport("bin/message.dll")]
- public static extern string Api_163Music([Description("")] string 歌曲ID, [Description("")] string AuthCode);
+ public static extern void Api_SetGroupCard([Description("")] string GroupID, [Description("")] string QQID,
+ [Description("")] string NewCard, [Description("")] int AuthCode);
///
- /// 返回QQ点歌XML
+ /// //取得某个QQ的名片赞数量
///
- ///
+ ///
///
///
[DllImport("bin/message.dll")]
- public static extern string Api_QQMusic([Description("")] string 歌曲ID, [Description("")] string AuthCode);
+ public static extern string Api_GetPraiseNum([Description("")] string QQID, [Description("")] int AuthCode);
///
- /// 返回Json点歌XML
+ /// //取得某个QQ的等级
///
- ///
+ ///
///
///
[DllImport("bin/message.dll")]
- public static extern string Api_JsonMusic([Description("")] string 歌曲ID, [Description("")] string AuthCode);
+ public static extern int Api_GetQQLevel([Description("")] string QQID, [Description("")] int AuthCode);
///
- /// 置插件错误管理
+ ///
///
- ///
- ///
+ ///
///
///
[DllImport("bin/message.dll")]
- public static extern string Api_Error([Description("")] string Code, [Description("")] string Str,
- [Description("")] string AuthCode);
+ public static extern void Api_SetNick([Description("")] string NewNick, [Description("")] int AuthCode);
///
- /// 取得群内成员的名片
+ ///
///
- ///
- ///
+ ///
+ ///
///
///
[DllImport("bin/message.dll")]
- public static extern string Api_GetGroupCard([Description("")] string 群号, [Description("")] string QQ号,
- [Description("")] string AuthCode);
+ public static extern string Api_Taotaodolike([Description("")] string QQID, [Description("")] string URL,
+ [Description("")] int AuthCode);
///
- /// 取得某个QQ的昵称
+ ///
///
- ///
+ ///
+ ///
+ ///
///
///
[DllImport("bin/message.dll")]
- public static extern string Api_GetNick([Description("")] string QQ号, [Description("")] string AuthCode);
+ public static extern string Api_Taotaofeeds([Description("")] string QQID, [Description("")] string URL,
+ [Description("")] string Content, [Description("")] int AuthCode);
///
- /// 修改群内成员的名片
+ ///
///
- ///
- ///
- ///
+ ///
///
///
[DllImport("bin/message.dll")]
- public static extern void Api_SetGroupCard([Description("")] string 群号, [Description("")] string QQ号,
- [Description("")] string 新名片, [Description("")] string AuthCode);
+ public static extern int Api_GetQQAge([Description("")] string QQID, [Description("")] int AuthCode);
///
- /// 取得某个QQ的名片赞数量
+ ///
///
- ///
+ ///
///
///
[DllImport("bin/message.dll")]
- public static extern string Api_GetPraiseNum([Description("")] string QQ号,
- [Description("")] string AuthCode);
+ public static extern int Api_GetQQSex([Description("")] string QQID, [Description("")] int AuthCode);
///
- /// 以JSON形式取得好友列表
+ /// //以JSON形式取得好友列表
///
+ ///
///
///
[DllImport("bin/message.dll")]
- public static extern string Api_GetFriendList([Description("")] string AuthCode);
+ public static extern string Api_GetFriendList([Description("")] bool Cache, [Description("")] int AuthCode);
///
- /// 以JSON形式取得群列表
+ /// //以JSON形式取得群列表
///
+ ///
///
///
[DllImport("bin/message.dll")]
- public static extern string Api_GetGroupList([Description("")] string AuthCode);
+ public static extern string Api_GetGroupList([Description("")] bool Cache, [Description("")] int AuthCode);
///
- /// 以JSON形式取得群成员列表
+ /// //以JSON形式取得群成员列表
///
- ///
+ ///
+ ///
///
///
[DllImport("bin/message.dll")]
- public static extern string Api_GetGroupMemberList([Description("")] string 群号,
- [Description("")] string AuthCode);
+ public static extern string Api_GetGroupMemberList([Description("")] string GroupID,
+ [Description("")] bool Cache, [Description("")] int AuthCode);
///
- /// 以JSON形式取得某QQ个人信息
+ /// //以JSON形式取得某QQ个人信息
///
- ///
+ ///
///
///
[DllImport("bin/message.dll")]
- public static extern string Api_GetQQInfo([Description("")] string QQ号, [Description("")] string AuthCode);
+ public static extern string Api_GetQQInfo([Description("")] string QQID, [Description("")] int AuthCode);
///
- /// 以JSON形式取得某群信息
+ /// //以JSON形式取得某群信息
///
- ///
+ ///
///
///
[DllImport("bin/message.dll")]
- public static extern string
- Api_GetGroupInfo([Description("")] string 群号, [Description("")] string AuthCode);
+ public static extern string Api_GetGroupInfo([Description("")] string GroupID,
+ [Description("")] int AuthCode);
///
- /// 让机器人快速重启
+ /// //撤回自身消息 发出消息不可以秒撤回,腾讯限制,1~2s后才可撤回
///
+ /// 1.好友消息 2.群消息 3.群临时消息 4.讨论组消息 5.讨论组临时消息 6.QQ临时消息
+ /// 撤回群消息、群临时消息、讨论组消息、讨论组临时消息必须填写,其余情况可留空
+ /// 撤回好友消息、群临时消息、讨论组临时消息、QQ临时消息必须填写,其余情况可留空
+ /// 撤回的消息ID,机器人发送消息会返回自身的消息ID
///
///
[DllImport("bin/message.dll")]
- public static extern string Api_Restart([Description("")] string AuthCode);
+ public static extern void Api_DeleteMsg([Description("1.好友消息 2.群消息 3.群临时消息 4.讨论组消息 5.讨论组临时消息 6.QQ临时消息")]
+ int Type, [Description("撤回群消息、群临时消息、讨论组消息、讨论组临时消息必须填写,其余情况可留空")]
+ string GroupID, [Description("撤回好友消息、群临时消息、讨论组临时消息、QQ临时消息必须填写,其余情况可留空")]
+ string QQID, [Description("撤回的消息ID,机器人发送消息会返回自身的消息ID")]
+ string MsgID, [Description("")] int AuthCode);
///
- /// 让机器人刷新插件
+ /// //改变QQ在线状态
///
+ /// 1.我在线上 2.Q我吧 3.离开 4.忙碌 5.请勿打扰 6.隐身
///
///
[DllImport("bin/message.dll")]
- public static extern string Api_UpdatePlugin([Description("")] string AuthCode);
+ public static extern void Api_SetQQState([Description("1.我在线上 2.Q我吧 3.离开 4.忙碌 5.请勿打扰 6.隐身")]
+ int Type, [Description("")] int AuthCode);
///
- /// 撤回群成员的消息 机器人必须为管理员
+ /// //邀请好友入群
///
- ///
- ///
+ ///
+ ///
///
///
[DllImport("bin/message.dll")]
- public static extern string Api_DeleteMsg([Description("")] string 群号, [Description("")] string 消息ID,
- [Description("")] string AuthCode);
+ public static extern void Api_InviteFriend([Description("")] string GroupID, [Description("")] string QQID,
+ [Description("")] int AuthCode);
///
- /// 改变QQ在线状态
+ ///
///
- /// 1.我在线上 2.Q我吧 3.离开 4.忙碌 5.请勿打扰 6.隐身
+ ///
///
///
[DllImport("bin/message.dll")]
- public static extern string Api_SetQQState([Description("1.我在线上 2.Q我吧 3.离开 4.忙碌 5.请勿打扰 6.隐身")]
- int 类型, [Description("")] string AuthCode);
+ public static extern string Api_GetQQInfo_v2([Description("")] string QQID, [Description("")] int AuthCode);
+
+ ///
+ /// //取消COM库
+ ///
+ ///
+ [DllImport("bin/message.dll")]
+ public static extern void CoUninitialize();
+
+ ///
+ /// //初始化COM库
+ ///
+ ///
+ ///
+ [DllImport("bin/message.dll")]
+ public static extern void CoInitialize([Description("")] int pvReserved);
+
+ ///
+ /// //上传图片,获得图片GUID,
+ ///
+ /// 1.私聊图片 2.群聊图片
+ /// 私聊图片填写QQID,群聊/讨论组图片填写群号讨论组号
+ /// 图片的Hex流
+ ///
+ ///
+ [DllImport("bin/message.dll")]
+ public static extern string Api_UpLoadPic([Description("1.私聊图片 2.群聊图片")] int Type,
+ [Description("私聊图片填写QQID,群聊/讨论组图片填写群号讨论组号")]
+ string 对象, [Description("图片的Hex流")] string Bin, [Description("")] int AuthCode);
+
+ ///
+ /// //设置插件状态,开启或关闭
+ ///
+ /// 真:启用自身 假:关闭自身
+ ///
+ ///
+ [DllImport("bin/message.dll")]
+ public static extern string Api_SetPluginState([Description("真:启用自身 假:关闭自身")] bool State,
+ [Description("")] int AuthCode);
///
///
///
///
- ///
+ ///
///
///
[DllImport("bin/message.dll")]
- public static extern void Api_InviteFriend([Description("")] string 群号, [Description("")] string 好友QQ,
- [Description("")] string AuthCode);
+ public static extern void Api_DeleteFile([Description("")] string 群号, [Description("")] string 文件GUID,
+ [Description("")] int AuthCode);
///
///
///
- ///
+ ///
+ ///
+ ///
///
///
[DllImport("bin/message.dll")]
- public static extern string Api_GetQQinfo_v2([Description("")] string QQ号,
- [Description("")] string AuthCode);
+ public static extern void Api_RepeatFile([Description("")] string 来源对象, [Description("")] string 转发群号,
+ [Description("")] string 文件GUID, [Description("")] int AuthCode);
///
///
///
- ///
- ///
- /// Hex形式
///
///
[DllImport("bin/message.dll")]
- public static extern string Api_UpLoadPic([Description("")] int 类型, [Description("")] string 对象,
- [Description("Hex形式")] string 图片字节集, [Description("")] string AuthCode);
+ public static extern void Api_ClearOffLineFile([Description("")] int AuthCode);
+
+ ///
+ ///
+ ///
+ ///
+ ///
+ /// 址
+ ///
+ /// 址
+ ///
+ ///
+ ///
+ ///
+ [DllImport("bin/message.dll")]
+ public static extern int WideCharToMultiByte([Description("")] int CodePage, [Description("")] int dwFlags,
+ [Description("址")] byte[] lpWideCharStr, [Description("")] int cchWideChar,
+ [Description("址")] string lpMultiByteStr, [Description("")] int cchMultiByte,
+ [Description("")] int lpDefaultChar, [Description("")] int lpUsedDefaultChar);
}
}
}
\ No newline at end of file
diff --git a/src/Newbe.Mahua.QQLight.Native/QqLightAuthCodeContainer.cs b/src/Newbe.Mahua.QQLight.Native/QqLightAuthCodeContainer.cs
index e913d9f..c79c22d 100644
--- a/src/Newbe.Mahua.QQLight.Native/QqLightAuthCodeContainer.cs
+++ b/src/Newbe.Mahua.QQLight.Native/QqLightAuthCodeContainer.cs
@@ -2,11 +2,11 @@
{
internal class QqLightAuthCodeContainer : IQqLightAuthCodeContainer
{
- public string AuthCode
+ public int AuthCode
{
get => StaticAuthCode;
}
- public static string StaticAuthCode { get; set; }
+ public static int StaticAuthCode { get; set; }
}
}
\ No newline at end of file
diff --git a/src/Newbe.Mahua.QQLight.Native/packages.config b/src/Newbe.Mahua.QQLight.Native/packages.config
index 47324c7..b1f1fe0 100644
--- a/src/Newbe.Mahua.QQLight.Native/packages.config
+++ b/src/Newbe.Mahua.QQLight.Native/packages.config
@@ -1,4 +1,4 @@
-
+
\ No newline at end of file
diff --git a/src/Newbe.Mahua.QQLight/IQqLightAuthCodeContainer.cs b/src/Newbe.Mahua.QQLight/IQqLightAuthCodeContainer.cs
index 0521413..73e01b4 100644
--- a/src/Newbe.Mahua.QQLight/IQqLightAuthCodeContainer.cs
+++ b/src/Newbe.Mahua.QQLight/IQqLightAuthCodeContainer.cs
@@ -2,6 +2,6 @@
{
public interface IQqLightAuthCodeContainer
{
- string AuthCode { get; }
+ int AuthCode { get; }
}
}
diff --git a/src/Newbe.Mahua.QQLight/MahuaEventOutputs/BecomeFriends.cs b/src/Newbe.Mahua.QQLight/MahuaEventOutputs/BecomeFriends.cs
deleted file mode 100644
index 822828f..0000000
--- a/src/Newbe.Mahua.QQLight/MahuaEventOutputs/BecomeFriends.cs
+++ /dev/null
@@ -1,8 +0,0 @@
-namespace Newbe.Mahua.QQLight.MahuaEventOutputs
-{
- public class BecomeFriends : QQLighEventOutput
- {
- public override string TypeCode { get; } = nameof(BecomeFriends);
- public string Fromqq { get; set; }
- }
-}
\ No newline at end of file
diff --git a/src/Newbe.Mahua.QQLight/MahuaEventOutputs/FriendChange.cs b/src/Newbe.Mahua.QQLight/MahuaEventOutputs/FriendChange.cs
new file mode 100644
index 0000000..ac3752d
--- /dev/null
+++ b/src/Newbe.Mahua.QQLight/MahuaEventOutputs/FriendChange.cs
@@ -0,0 +1,9 @@
+namespace Newbe.Mahua.QQLight.MahuaEventOutputs
+{
+ public class FriendChange : QQLighEventOutput
+ {
+ public override string TypeCode { get; } = nameof(GetNewMsg);
+ public string Fromqq { get; set; }
+ public int Type { get; set; }
+ }
+}
\ No newline at end of file
diff --git a/src/Newbe.Mahua.QQLight/MahuaEventOutputs/Information.cs b/src/Newbe.Mahua.QQLight/MahuaEventOutputs/Information.cs
index d67fc07..2e4d0bc 100644
--- a/src/Newbe.Mahua.QQLight/MahuaEventOutputs/Information.cs
+++ b/src/Newbe.Mahua.QQLight/MahuaEventOutputs/Information.cs
@@ -3,6 +3,6 @@ namespace Newbe.Mahua.QQLight.MahuaEventOutputs
public class Information : QQLighEventOutput
{
public override string TypeCode { get; } = nameof(Information);
- public string AuthCode { get; set; }
+ public int AuthCode { get; set; }
}
}
\ No newline at end of file
diff --git a/src/Newbe.Mahua.QQLight/MahuaEventOutputs/UpdataCookies.cs b/src/Newbe.Mahua.QQLight/MahuaEventOutputs/UpdataCookies.cs
deleted file mode 100644
index 86da23b..0000000
--- a/src/Newbe.Mahua.QQLight/MahuaEventOutputs/UpdataCookies.cs
+++ /dev/null
@@ -1,7 +0,0 @@
-namespace Newbe.Mahua.QQLight.MahuaEventOutputs
-{
- public class UpdataCookies : QQLighEventOutput
- {
- public override string TypeCode { get; } = nameof(UpdataCookies);
- }
-}
\ No newline at end of file
diff --git a/src/Newbe.Mahua.QQLight/QQLightMahuaApiHandler.cs b/src/Newbe.Mahua.QQLight/QQLightMahuaApiHandler.cs
index ef6cb5a..bdcdd83 100644
--- a/src/Newbe.Mahua.QQLight/QQLightMahuaApiHandler.cs
+++ b/src/Newbe.Mahua.QQLight/QQLightMahuaApiHandler.cs
@@ -5,7 +5,7 @@
// this file is generate from tools, do not change this file
-// generate time 2019/01/23
+// generate time 2019/12/15
namespace Newbe.Mahua.QQLight
{
@@ -30,191 +30,255 @@ public Task Run(string typeCode, IReadOnlyDictionary data)
switch (typeCode)
{
case "Api_SendPraise":
- _qQLightApi.Api_SendPraise(QQ号: data["QQ号"].ToString(), AuthCode: _qqLightAuthCodeContainer.AuthCode);
+ _qQLightApi.Api_SendPraise(QQID: data["QQID"].ToString(), AuthCode: _qqLightAuthCodeContainer.AuthCode);
return Task.CompletedTask;
case "Api_SendShake":
- _qQLightApi.Api_SendShake(QQ号: data["QQ号"].ToString(), AuthCode: _qqLightAuthCodeContainer.AuthCode);
+ _qQLightApi.Api_SendShake(QQID: data["QQID"].ToString(), AuthCode: _qqLightAuthCodeContainer.AuthCode);
return Task.CompletedTask;
case "Api_Getbkn":
var Api_GetbknResult =
- _qQLightApi.Api_Getbkn(AuthCode: _qqLightAuthCodeContainer.AuthCode);
+ _qQLightApi.Api_Getbkn(Cookies: data["Cookies"].ToString(), AuthCode: _qqLightAuthCodeContainer.AuthCode);
return _mahuaCenter.HandleMahuaOutput(new Api_GetbknApiOut
{ Result = Api_GetbknResult });
+ case "Api_Getbkn_Long":
+ var Api_Getbkn_LongResult =
+ _qQLightApi.Api_Getbkn_Long(Cookies: data["Cookies"].ToString(), AuthCode: _qqLightAuthCodeContainer.AuthCode);
+ return _mahuaCenter.HandleMahuaOutput(new Api_Getbkn_LongApiOut
+ { Result = Api_Getbkn_LongResult });
case "Api_QuitGroup":
- _qQLightApi.Api_QuitGroup(群号: data["群号"].ToString(), AuthCode: _qqLightAuthCodeContainer.AuthCode);
+ _qQLightApi.Api_QuitGroup(GroupID: data["GroupID"].ToString(), AuthCode: _qqLightAuthCodeContainer.AuthCode);
return Task.CompletedTask;
case "Api_QuitDiscussGroup":
- _qQLightApi.Api_QuitDiscussGroup(讨论组号: data["讨论组号"].ToString(), AuthCode: _qqLightAuthCodeContainer.AuthCode);
+ _qQLightApi.Api_QuitDiscussGroup(GroupID: data["GroupID"].ToString(), AuthCode: _qqLightAuthCodeContainer.AuthCode);
return Task.CompletedTask;
case "Api_SetSignature":
- _qQLightApi.Api_SetSignature(个性签名: data["个性签名"].ToString(), AuthCode: _qqLightAuthCodeContainer.AuthCode);
+ _qQLightApi.Api_SetSignature(Signature: data["Signature"].ToString(), AuthCode: _qqLightAuthCodeContainer.AuthCode);
return Task.CompletedTask;
case "Api_SetDiscussName":
- _qQLightApi.Api_SetDiscussName(讨论组号: data["讨论组号"].ToString(), 名称: data["名称"].ToString(), AuthCode: _qqLightAuthCodeContainer.AuthCode);
+ _qQLightApi.Api_SetDiscussName(DiscussGroupID: data["DiscussGroupID"].ToString(), Name: data["Name"].ToString(), AuthCode: _qqLightAuthCodeContainer.AuthCode);
return Task.CompletedTask;
- case "Api_BanGroup":
- _qQLightApi.Api_BanGroup(群号: data["群号"].ToString(), 是否全群禁言: Convert.ToBoolean(data["是否全群禁言"]), AuthCode: _qqLightAuthCodeContainer.AuthCode);
+ case "Api_SetGroupName":
+ _qQLightApi.Api_SetGroupName(GroupID: data["GroupID"].ToString(), Name: data["Name"].ToString(), AuthCode: _qqLightAuthCodeContainer.AuthCode);
return Task.CompletedTask;
- case "Api_RemoveGroup":
- _qQLightApi.Api_RemoveGroup(群号: data["群号"].ToString(), AuthCode: _qqLightAuthCodeContainer.AuthCode);
+ case "Api_BanGroup":
+ _qQLightApi.Api_BanGroup(GroupID: data["GroupID"].ToString(), IsBanGroup: Convert.ToBoolean(data["IsBanGroup"]), AuthCode: _qqLightAuthCodeContainer.AuthCode);
return Task.CompletedTask;
case "Api_SetManager":
- _qQLightApi.Api_SetManager(群号: data["群号"].ToString(), QQ号: data["QQ号"].ToString(), 是否设置为管理员: Convert.ToBoolean(data["是否设置为管理员"]), AuthCode: _qqLightAuthCodeContainer.AuthCode);
+ _qQLightApi.Api_SetManager(GroupID: data["GroupID"].ToString(), QQID: data["QQID"].ToString(), IsManager: Convert.ToBoolean(data["IsManager"]), AuthCode: _qqLightAuthCodeContainer.AuthCode);
return Task.CompletedTask;
case "Api_Ban":
- _qQLightApi.Api_Ban(群号: data["群号"].ToString(), QQ: data["QQ"].ToString(), 禁言时长: Convert.ToInt32(data["禁言时长"]), AuthCode: _qqLightAuthCodeContainer.AuthCode);
+ _qQLightApi.Api_Ban(GroupID: data["GroupID"].ToString(), QQ: data["QQ"].ToString(), time: Convert.ToInt32(data["time"]), AuthCode: _qqLightAuthCodeContainer.AuthCode);
return Task.CompletedTask;
case "Api_SetAnony":
- _qQLightApi.Api_SetAnony(群号: data["群号"].ToString(), 是否允许匿名聊天: Convert.ToBoolean(data["是否允许匿名聊天"]), AuthCode: _qqLightAuthCodeContainer.AuthCode);
+ _qQLightApi.Api_SetAnony(GroupID: data["GroupID"].ToString(), IsSetAnony: Convert.ToBoolean(data["IsSetAnony"]), AuthCode: _qqLightAuthCodeContainer.AuthCode);
return Task.CompletedTask;
case "Api_RemoveMember":
- _qQLightApi.Api_RemoveMember(群号: data["群号"].ToString(), QQ号: data["QQ号"].ToString(), 是否不再接收加群申请: Convert.ToBoolean(data["是否不再接收加群申请"]), AuthCode: _qqLightAuthCodeContainer.AuthCode);
+ _qQLightApi.Api_RemoveMember(GroupID: data["GroupID"].ToString(), QQID: data["QQID"].ToString(), IsBan: Convert.ToBoolean(data["IsBan"]), AuthCode: _qqLightAuthCodeContainer.AuthCode);
+ return Task.CompletedTask;
+ case "Api_RemoveGroup":
+ _qQLightApi.Api_RemoveGroup(GroupID: data["GroupID"].ToString(), AuthCode: _qqLightAuthCodeContainer.AuthCode);
return Task.CompletedTask;
case "Api_GetCookies":
var Api_GetCookiesResult =
_qQLightApi.Api_GetCookies(AuthCode: _qqLightAuthCodeContainer.AuthCode);
return _mahuaCenter.HandleMahuaOutput(new Api_GetCookiesApiOut
{ Result = Api_GetCookiesResult });
- case "Api_GetClientKey":
- var Api_GetClientKeyResult =
- _qQLightApi.Api_GetClientKey(AuthCode: _qqLightAuthCodeContainer.AuthCode);
- return _mahuaCenter.HandleMahuaOutput(new Api_GetClientKeyApiOut
- { Result = Api_GetClientKeyResult });
+ case "Api_GetQzoneToken":
+ var Api_GetQzoneTokenResult =
+ _qQLightApi.Api_GetQzoneToken(AuthCode: _qqLightAuthCodeContainer.AuthCode);
+ return _mahuaCenter.HandleMahuaOutput(new Api_GetQzoneTokenApiOut
+ { Result = Api_GetQzoneTokenResult });
+ case "Api_GetQzoneCookies":
+ var Api_GetQzoneCookiesResult =
+ _qQLightApi.Api_GetQzoneCookies(AuthCode: _qqLightAuthCodeContainer.AuthCode);
+ return _mahuaCenter.HandleMahuaOutput(new Api_GetQzoneCookiesApiOut
+ { Result = Api_GetQzoneCookiesResult });
+ case "Api_SendTaotao":
+ var Api_SendTaotaoResult =
+ _qQLightApi.Api_SendTaotao(Str: data["Str"].ToString(), AuthCode: _qqLightAuthCodeContainer.AuthCode);
+ return _mahuaCenter.HandleMahuaOutput(new Api_SendTaotaoApiOut
+ { Result = Api_SendTaotaoResult });
case "Api_GetLoginQQ":
var Api_GetLoginQQResult =
_qQLightApi.Api_GetLoginQQ(AuthCode: _qqLightAuthCodeContainer.AuthCode);
return _mahuaCenter.HandleMahuaOutput(new Api_GetLoginQQApiOut
{ Result = Api_GetLoginQQResult });
- case "Api_GetPluginState":
- var Api_GetPluginStateResult =
- _qQLightApi.Api_GetPluginState(AuthCode: _qqLightAuthCodeContainer.AuthCode);
- return _mahuaCenter.HandleMahuaOutput(new Api_GetPluginStateApiOut
- { Result = Api_GetPluginStateResult });
case "Api_GetPath":
var Api_GetPathResult =
_qQLightApi.Api_GetPath(AuthCode: _qqLightAuthCodeContainer.AuthCode);
return _mahuaCenter.HandleMahuaOutput(new Api_GetPathApiOut
{ Result = Api_GetPathResult });
+ case "Api_Error":
+ var Api_ErrorResult =
+ _qQLightApi.Api_Error(Code: data["Code"].ToString(), Str: data["Str"].ToString(), AuthCode: _qqLightAuthCodeContainer.AuthCode);
+ return _mahuaCenter.HandleMahuaOutput(new Api_ErrorApiOut
+ { Result = Api_ErrorResult });
case "Api_SendMsg":
- _qQLightApi.Api_SendMsg(类型: Convert.ToInt32(data["类型"]), 群组: data["群组"].ToString(), QQ号: data["QQ号"].ToString(), 内容: data["内容"].ToString(), AuthCode: _qqLightAuthCodeContainer.AuthCode);
- return Task.CompletedTask;
+ var Api_SendMsgResult =
+ _qQLightApi.Api_SendMsg(Type: Convert.ToInt32(data["Type"]), GroupID: data["GroupID"].ToString(), QQID: data["QQID"].ToString(), Msg: data["Msg"].ToString(), AuthCode: _qqLightAuthCodeContainer.AuthCode);
+ return _mahuaCenter.HandleMahuaOutput(new Api_SendMsgApiOut
+ { Result = Api_SendMsgResult });
case "Api_SetGroupAdd":
- _qQLightApi.Api_SetGroupAdd(群号: data["群号"].ToString(), QQ号: data["QQ号"].ToString(), Seq: data["Seq"].ToString(), 操作方式: Convert.ToInt32(data["操作方式"]), 拒绝理由: data["拒绝理由"].ToString(), AuthCode: _qqLightAuthCodeContainer.AuthCode);
+ _qQLightApi.Api_SetGroupAdd(GroupID: data["GroupID"].ToString(), QQID: data["QQID"].ToString(), Seq: data["Seq"].ToString(), Type: Convert.ToInt32(data["Type"]), Reason: data["Reason"].ToString(), AuthCode: _qqLightAuthCodeContainer.AuthCode);
return Task.CompletedTask;
case "Api_SetFriendAdd":
- _qQLightApi.Api_SetFriendAdd(QQ号: data["QQ号"].ToString(), 操作方式: Convert.ToInt32(data["操作方式"]), 拒绝理由: data["拒绝理由"].ToString(), AuthCode: _qqLightAuthCodeContainer.AuthCode);
+ _qQLightApi.Api_SetFriendAdd(QQID: data["QQID"].ToString(), Type: Convert.ToInt32(data["Type"]), Reason: data["Reason"].ToString(), AuthCode: _qqLightAuthCodeContainer.AuthCode);
return Task.CompletedTask;
case "Api_SendLog":
- _qQLightApi.Api_SendLog(类型: data["类型"].ToString(), 内容: data["内容"].ToString(), 字体颜色: Convert.ToInt32(data["字体颜色"]), AuthCode: _qqLightAuthCodeContainer.AuthCode);
+ _qQLightApi.Api_SendLog(Type: data["Type"].ToString(), Msg: data["Msg"].ToString(), FontColor: Convert.ToInt32(data["FontColor"]), AuthCode: _qqLightAuthCodeContainer.AuthCode);
return Task.CompletedTask;
case "Api_SetFriendName":
- _qQLightApi.Api_SetFriendName(好友QQ: data["好友QQ"].ToString(), 备注名: data["备注名"].ToString(), AuthCode: _qqLightAuthCodeContainer.AuthCode);
+ _qQLightApi.Api_SetFriendName(QQID: data["QQID"].ToString(), Name: data["Name"].ToString(), AuthCode: _qqLightAuthCodeContainer.AuthCode);
return Task.CompletedTask;
case "Api_DeleteFriend":
- _qQLightApi.Api_DeleteFriend(好友QQ: data["好友QQ"].ToString(), AuthCode: _qqLightAuthCodeContainer.AuthCode);
+ _qQLightApi.Api_DeleteFriend(QQID: data["QQID"].ToString(), AuthCode: _qqLightAuthCodeContainer.AuthCode);
return Task.CompletedTask;
case "Api_AddGroup":
- _qQLightApi.Api_AddGroup(群号: data["群号"].ToString(), 附加信息: data["附加信息"].ToString(), AuthCode: _qqLightAuthCodeContainer.AuthCode);
+ _qQLightApi.Api_AddGroup(GroupID: data["GroupID"].ToString(), 附加信息: data["附加信息"].ToString(), AuthCode: _qqLightAuthCodeContainer.AuthCode);
return Task.CompletedTask;
case "Api_AddFriend":
- _qQLightApi.Api_AddFriend(目标QQ: data["目标QQ"].ToString(), 附加信息: data["附加信息"].ToString(), AuthCode: _qqLightAuthCodeContainer.AuthCode);
+ _qQLightApi.Api_AddFriend(QQID: data["QQID"].ToString(), Info: data["Info"].ToString(), AuthCode: _qqLightAuthCodeContainer.AuthCode);
return Task.CompletedTask;
- case "Api_163Music":
- var Api_163MusicResult =
- _qQLightApi.Api_163Music(歌曲ID: data["歌曲ID"].ToString(), AuthCode: _qqLightAuthCodeContainer.AuthCode);
- return _mahuaCenter.HandleMahuaOutput(new Api_163MusicApiOut
- { Result = Api_163MusicResult });
- case "Api_QQMusic":
- var Api_QQMusicResult =
- _qQLightApi.Api_QQMusic(歌曲ID: data["歌曲ID"].ToString(), AuthCode: _qqLightAuthCodeContainer.AuthCode);
- return _mahuaCenter.HandleMahuaOutput(new Api_QQMusicApiOut
- { Result = Api_QQMusicResult });
case "Api_JsonMusic":
var Api_JsonMusicResult =
- _qQLightApi.Api_JsonMusic(歌曲ID: data["歌曲ID"].ToString(), AuthCode: _qqLightAuthCodeContainer.AuthCode);
+ _qQLightApi.Api_JsonMusic(SongID: data["SongID"].ToString(), AuthCode: _qqLightAuthCodeContainer.AuthCode);
return _mahuaCenter.HandleMahuaOutput(new Api_JsonMusicApiOut
{ Result = Api_JsonMusicResult });
- case "Api_Error":
- var Api_ErrorResult =
- _qQLightApi.Api_Error(Code: data["Code"].ToString(), Str: data["Str"].ToString(), AuthCode: _qqLightAuthCodeContainer.AuthCode);
- return _mahuaCenter.HandleMahuaOutput(new Api_ErrorApiOut
- { Result = Api_ErrorResult });
case "Api_GetGroupCard":
var Api_GetGroupCardResult =
- _qQLightApi.Api_GetGroupCard(群号: data["群号"].ToString(), QQ号: data["QQ号"].ToString(), AuthCode: _qqLightAuthCodeContainer.AuthCode);
+ _qQLightApi.Api_GetGroupCard(GroupID: data["GroupID"].ToString(), QQID: data["QQID"].ToString(), AuthCode: _qqLightAuthCodeContainer.AuthCode);
return _mahuaCenter.HandleMahuaOutput(new Api_GetGroupCardApiOut
{ Result = Api_GetGroupCardResult });
case "Api_GetNick":
var Api_GetNickResult =
- _qQLightApi.Api_GetNick(QQ号: data["QQ号"].ToString(), AuthCode: _qqLightAuthCodeContainer.AuthCode);
+ _qQLightApi.Api_GetNick(QQID: data["QQID"].ToString(), AuthCode: _qqLightAuthCodeContainer.AuthCode);
return _mahuaCenter.HandleMahuaOutput(new Api_GetNickApiOut
{ Result = Api_GetNickResult });
+ case "Api_GetGroupName":
+ var Api_GetGroupNameResult =
+ _qQLightApi.Api_GetGroupName(GroupID: data["GroupID"].ToString(), AuthCode: _qqLightAuthCodeContainer.AuthCode);
+ return _mahuaCenter.HandleMahuaOutput(new Api_GetGroupNameApiOut
+ { Result = Api_GetGroupNameResult });
+ case "Api_GetSoftVersion":
+ var Api_GetSoftVersionResult =
+ _qQLightApi.Api_GetSoftVersion(AuthCode: _qqLightAuthCodeContainer.AuthCode);
+ return _mahuaCenter.HandleMahuaOutput(new Api_GetSoftVersionApiOut
+ { Result = Api_GetSoftVersionResult });
+ case "Api_GetGroupIntroduce":
+ var Api_GetGroupIntroduceResult =
+ _qQLightApi.Api_GetGroupIntroduce(GroupID: data["GroupID"].ToString(), AuthCode: _qqLightAuthCodeContainer.AuthCode);
+ return _mahuaCenter.HandleMahuaOutput(new Api_GetGroupIntroduceApiOut
+ { Result = Api_GetGroupIntroduceResult });
+ case "Api_GetGroupOwner":
+ var Api_GetGroupOwnerResult =
+ _qQLightApi.Api_GetGroupOwner(GroupID: data["GroupID"].ToString(), AuthCode: _qqLightAuthCodeContainer.AuthCode);
+ return _mahuaCenter.HandleMahuaOutput(new Api_GetGroupOwnerApiOut
+ { Result = Api_GetGroupOwnerResult });
case "Api_SetGroupCard":
- _qQLightApi.Api_SetGroupCard(群号: data["群号"].ToString(), QQ号: data["QQ号"].ToString(), 新名片: data["新名片"].ToString(), AuthCode: _qqLightAuthCodeContainer.AuthCode);
+ _qQLightApi.Api_SetGroupCard(GroupID: data["GroupID"].ToString(), QQID: data["QQID"].ToString(), NewCard: data["NewCard"].ToString(), AuthCode: _qqLightAuthCodeContainer.AuthCode);
return Task.CompletedTask;
case "Api_GetPraiseNum":
var Api_GetPraiseNumResult =
- _qQLightApi.Api_GetPraiseNum(QQ号: data["QQ号"].ToString(), AuthCode: _qqLightAuthCodeContainer.AuthCode);
+ _qQLightApi.Api_GetPraiseNum(QQID: data["QQID"].ToString(), AuthCode: _qqLightAuthCodeContainer.AuthCode);
return _mahuaCenter.HandleMahuaOutput(new Api_GetPraiseNumApiOut
{ Result = Api_GetPraiseNumResult });
+ case "Api_GetQQLevel":
+ var Api_GetQQLevelResult =
+ _qQLightApi.Api_GetQQLevel(QQID: data["QQID"].ToString(), AuthCode: _qqLightAuthCodeContainer.AuthCode);
+ return _mahuaCenter.HandleMahuaOutput(new Api_GetQQLevelApiOut
+ { Result = Api_GetQQLevelResult });
+ case "Api_SetNick":
+ _qQLightApi.Api_SetNick(NewNick: data["NewNick"].ToString(), AuthCode: _qqLightAuthCodeContainer.AuthCode);
+ return Task.CompletedTask;
+ case "Api_Taotaodolike":
+ var Api_TaotaodolikeResult =
+ _qQLightApi.Api_Taotaodolike(QQID: data["QQID"].ToString(), URL: data["URL"].ToString(), AuthCode: _qqLightAuthCodeContainer.AuthCode);
+ return _mahuaCenter.HandleMahuaOutput(new Api_TaotaodolikeApiOut
+ { Result = Api_TaotaodolikeResult });
+ case "Api_Taotaofeeds":
+ var Api_TaotaofeedsResult =
+ _qQLightApi.Api_Taotaofeeds(QQID: data["QQID"].ToString(), URL: data["URL"].ToString(), Content: data["Content"].ToString(), AuthCode: _qqLightAuthCodeContainer.AuthCode);
+ return _mahuaCenter.HandleMahuaOutput(new Api_TaotaofeedsApiOut
+ { Result = Api_TaotaofeedsResult });
+ case "Api_GetQQAge":
+ var Api_GetQQAgeResult =
+ _qQLightApi.Api_GetQQAge(QQID: data["QQID"].ToString(), AuthCode: _qqLightAuthCodeContainer.AuthCode);
+ return _mahuaCenter.HandleMahuaOutput(new Api_GetQQAgeApiOut
+ { Result = Api_GetQQAgeResult });
+ case "Api_GetQQSex":
+ var Api_GetQQSexResult =
+ _qQLightApi.Api_GetQQSex(QQID: data["QQID"].ToString(), AuthCode: _qqLightAuthCodeContainer.AuthCode);
+ return _mahuaCenter.HandleMahuaOutput(new Api_GetQQSexApiOut
+ { Result = Api_GetQQSexResult });
case "Api_GetFriendList":
var Api_GetFriendListResult =
- _qQLightApi.Api_GetFriendList(AuthCode: _qqLightAuthCodeContainer.AuthCode);
+ _qQLightApi.Api_GetFriendList(Cache: Convert.ToBoolean(data["Cache"]), AuthCode: _qqLightAuthCodeContainer.AuthCode);
return _mahuaCenter.HandleMahuaOutput(new Api_GetFriendListApiOut
{ Result = Api_GetFriendListResult });
case "Api_GetGroupList":
var Api_GetGroupListResult =
- _qQLightApi.Api_GetGroupList(AuthCode: _qqLightAuthCodeContainer.AuthCode);
+ _qQLightApi.Api_GetGroupList(Cache: Convert.ToBoolean(data["Cache"]), AuthCode: _qqLightAuthCodeContainer.AuthCode);
return _mahuaCenter.HandleMahuaOutput(new Api_GetGroupListApiOut
{ Result = Api_GetGroupListResult });
case "Api_GetGroupMemberList":
var Api_GetGroupMemberListResult =
- _qQLightApi.Api_GetGroupMemberList(群号: data["群号"].ToString(), AuthCode: _qqLightAuthCodeContainer.AuthCode);
+ _qQLightApi.Api_GetGroupMemberList(GroupID: data["GroupID"].ToString(), Cache: Convert.ToBoolean(data["Cache"]), AuthCode: _qqLightAuthCodeContainer.AuthCode);
return _mahuaCenter.HandleMahuaOutput(new Api_GetGroupMemberListApiOut
{ Result = Api_GetGroupMemberListResult });
case "Api_GetQQInfo":
var Api_GetQQInfoResult =
- _qQLightApi.Api_GetQQInfo(QQ号: data["QQ号"].ToString(), AuthCode: _qqLightAuthCodeContainer.AuthCode);
+ _qQLightApi.Api_GetQQInfo(QQID: data["QQID"].ToString(), AuthCode: _qqLightAuthCodeContainer.AuthCode);
return _mahuaCenter.HandleMahuaOutput(new Api_GetQQInfoApiOut
{ Result = Api_GetQQInfoResult });
case "Api_GetGroupInfo":
var Api_GetGroupInfoResult =
- _qQLightApi.Api_GetGroupInfo(群号: data["群号"].ToString(), AuthCode: _qqLightAuthCodeContainer.AuthCode);
+ _qQLightApi.Api_GetGroupInfo(GroupID: data["GroupID"].ToString(), AuthCode: _qqLightAuthCodeContainer.AuthCode);
return _mahuaCenter.HandleMahuaOutput(new Api_GetGroupInfoApiOut
{ Result = Api_GetGroupInfoResult });
- case "Api_Restart":
- var Api_RestartResult =
- _qQLightApi.Api_Restart(AuthCode: _qqLightAuthCodeContainer.AuthCode);
- return _mahuaCenter.HandleMahuaOutput(new Api_RestartApiOut
- { Result = Api_RestartResult });
- case "Api_UpdatePlugin":
- var Api_UpdatePluginResult =
- _qQLightApi.Api_UpdatePlugin(AuthCode: _qqLightAuthCodeContainer.AuthCode);
- return _mahuaCenter.HandleMahuaOutput(new Api_UpdatePluginApiOut
- { Result = Api_UpdatePluginResult });
case "Api_DeleteMsg":
- var Api_DeleteMsgResult =
- _qQLightApi.Api_DeleteMsg(群号: data["群号"].ToString(), 消息ID: data["消息ID"].ToString(), AuthCode: _qqLightAuthCodeContainer.AuthCode);
- return _mahuaCenter.HandleMahuaOutput(new Api_DeleteMsgApiOut
- { Result = Api_DeleteMsgResult });
+ _qQLightApi.Api_DeleteMsg(Type: Convert.ToInt32(data["Type"]), GroupID: data["GroupID"].ToString(), QQID: data["QQID"].ToString(), MsgID: data["MsgID"].ToString(), AuthCode: _qqLightAuthCodeContainer.AuthCode);
+ return Task.CompletedTask;
case "Api_SetQQState":
- var Api_SetQQStateResult =
- _qQLightApi.Api_SetQQState(类型: Convert.ToInt32(data["类型"]), AuthCode: _qqLightAuthCodeContainer.AuthCode);
- return _mahuaCenter.HandleMahuaOutput(new Api_SetQQStateApiOut
- { Result = Api_SetQQStateResult });
+ _qQLightApi.Api_SetQQState(Type: Convert.ToInt32(data["Type"]), AuthCode: _qqLightAuthCodeContainer.AuthCode);
+ return Task.CompletedTask;
case "Api_InviteFriend":
- _qQLightApi.Api_InviteFriend(群号: data["群号"].ToString(), 好友QQ: data["好友QQ"].ToString(), AuthCode: _qqLightAuthCodeContainer.AuthCode);
+ _qQLightApi.Api_InviteFriend(GroupID: data["GroupID"].ToString(), QQID: data["QQID"].ToString(), AuthCode: _qqLightAuthCodeContainer.AuthCode);
+ return Task.CompletedTask;
+ case "Api_GetQQInfo_v2":
+ var Api_GetQQInfo_v2Result =
+ _qQLightApi.Api_GetQQInfo_v2(QQID: data["QQID"].ToString(), AuthCode: _qqLightAuthCodeContainer.AuthCode);
+ return _mahuaCenter.HandleMahuaOutput(new Api_GetQQInfo_v2ApiOut
+ { Result = Api_GetQQInfo_v2Result });
+ case "CoUninitialize":
+ _qQLightApi.CoUninitialize();
+ return Task.CompletedTask;
+ case "CoInitialize":
+ _qQLightApi.CoInitialize(pvReserved: Convert.ToInt32(data["pvReserved"]));
return Task.CompletedTask;
- case "Api_GetQQinfo_v2":
- var Api_GetQQinfo_v2Result =
- _qQLightApi.Api_GetQQinfo_v2(QQ号: data["QQ号"].ToString(), AuthCode: _qqLightAuthCodeContainer.AuthCode);
- return _mahuaCenter.HandleMahuaOutput(new Api_GetQQinfo_v2ApiOut
- { Result = Api_GetQQinfo_v2Result });
case "Api_UpLoadPic":
var Api_UpLoadPicResult =
- _qQLightApi.Api_UpLoadPic(类型: Convert.ToInt32(data["类型"]), 对象: data["对象"].ToString(), 图片字节集: data["图片字节集"].ToString(), AuthCode: _qqLightAuthCodeContainer.AuthCode);
+ _qQLightApi.Api_UpLoadPic(Type: Convert.ToInt32(data["Type"]), 对象: data["对象"].ToString(), Bin: data["Bin"].ToString(), AuthCode: _qqLightAuthCodeContainer.AuthCode);
return _mahuaCenter.HandleMahuaOutput(new Api_UpLoadPicApiOut
{ Result = Api_UpLoadPicResult });
+ case "Api_SetPluginState":
+ var Api_SetPluginStateResult =
+ _qQLightApi.Api_SetPluginState(State: Convert.ToBoolean(data["State"]), AuthCode: _qqLightAuthCodeContainer.AuthCode);
+ return _mahuaCenter.HandleMahuaOutput(new Api_SetPluginStateApiOut
+ { Result = Api_SetPluginStateResult });
+ case "Api_DeleteFile":
+ _qQLightApi.Api_DeleteFile(群号: data["群号"].ToString(), 文件GUID: data["文件GUID"].ToString(), AuthCode: _qqLightAuthCodeContainer.AuthCode);
+ return Task.CompletedTask;
+ case "Api_RepeatFile":
+ _qQLightApi.Api_RepeatFile(来源对象: data["来源对象"].ToString(), 转发群号: data["转发群号"].ToString(), 文件GUID: data["文件GUID"].ToString(), AuthCode: _qqLightAuthCodeContainer.AuthCode);
+ return Task.CompletedTask;
+ case "Api_ClearOffLineFile":
+ _qQLightApi.Api_ClearOffLineFile(AuthCode: _qqLightAuthCodeContainer.AuthCode);
+ return Task.CompletedTask;
+ case "WideCharToMultiByte":
+ var WideCharToMultiByteResult =
+ _qQLightApi.WideCharToMultiByte(CodePage: Convert.ToInt32(data["CodePage"]), dwFlags: Convert.ToInt32(data["dwFlags"]), lpWideCharStr: Convert.FromBase64String(data["lpWideCharStr"].ToString()), cchWideChar: Convert.ToInt32(data["cchWideChar"]), lpMultiByteStr: data["lpMultiByteStr"].ToString(), cchMultiByte: Convert.ToInt32(data["cchMultiByte"]), lpDefaultChar: Convert.ToInt32(data["lpDefaultChar"]), lpUsedDefaultChar: Convert.ToInt32(data["lpUsedDefaultChar"]));
+ return _mahuaCenter.HandleMahuaOutput(new WideCharToMultiByteApiOut
+ { Result = WideCharToMultiByteResult });
default:
throw new ArgumentOutOfRangeException(nameof(typeCode));
@@ -230,6 +294,14 @@ public class Api_GetbknApiOut : QQLightApiOutput
public override string TypeCode => nameof(Api_GetbknApiOut);
}
///
+ /// api out of method Api_Getbkn_Long
+ ///
+ public class Api_Getbkn_LongApiOut : QQLightApiOutput
+ {
+ public string Result { get; set; }
+ public override string TypeCode => nameof(Api_Getbkn_LongApiOut);
+ }
+ ///
/// api out of method Api_GetCookies
///
public class Api_GetCookiesApiOut : QQLightApiOutput
@@ -238,28 +310,36 @@ public class Api_GetCookiesApiOut : QQLightApiOutput
public override string TypeCode => nameof(Api_GetCookiesApiOut);
}
///
- /// api out of method Api_GetClientKey
+ /// api out of method Api_GetQzoneToken
///
- public class Api_GetClientKeyApiOut : QQLightApiOutput
+ public class Api_GetQzoneTokenApiOut : QQLightApiOutput
{
public string Result { get; set; }
- public override string TypeCode => nameof(Api_GetClientKeyApiOut);
+ public override string TypeCode => nameof(Api_GetQzoneTokenApiOut);
}
///
- /// api out of method Api_GetLoginQQ
+ /// api out of method Api_GetQzoneCookies
///
- public class Api_GetLoginQQApiOut : QQLightApiOutput
+ public class Api_GetQzoneCookiesApiOut : QQLightApiOutput
{
public string Result { get; set; }
- public override string TypeCode => nameof(Api_GetLoginQQApiOut);
+ public override string TypeCode => nameof(Api_GetQzoneCookiesApiOut);
+ }
+ ///
+ /// api out of method Api_SendTaotao
+ ///
+ public class Api_SendTaotaoApiOut : QQLightApiOutput
+ {
+ public string Result { get; set; }
+ public override string TypeCode => nameof(Api_SendTaotaoApiOut);
}
///
- /// api out of method Api_GetPluginState
+ /// api out of method Api_GetLoginQQ
///
- public class Api_GetPluginStateApiOut : QQLightApiOutput
+ public class Api_GetLoginQQApiOut : QQLightApiOutput
{
- public bool Result { get; set; }
- public override string TypeCode => nameof(Api_GetPluginStateApiOut);
+ public string Result { get; set; }
+ public override string TypeCode => nameof(Api_GetLoginQQApiOut);
}
///
/// api out of method Api_GetPath
@@ -270,20 +350,20 @@ public class Api_GetPathApiOut : QQLightApiOutput
public override string TypeCode => nameof(Api_GetPathApiOut);
}
///
- /// api out of method Api_163Music
+ /// api out of method Api_Error
///
- public class Api_163MusicApiOut : QQLightApiOutput
+ public class Api_ErrorApiOut : QQLightApiOutput
{
public string Result { get; set; }
- public override string TypeCode => nameof(Api_163MusicApiOut);
+ public override string TypeCode => nameof(Api_ErrorApiOut);
}
///
- /// api out of method Api_QQMusic
+ /// api out of method Api_SendMsg
///
- public class Api_QQMusicApiOut : QQLightApiOutput
+ public class Api_SendMsgApiOut : QQLightApiOutput
{
public string Result { get; set; }
- public override string TypeCode => nameof(Api_QQMusicApiOut);
+ public override string TypeCode => nameof(Api_SendMsgApiOut);
}
///
/// api out of method Api_JsonMusic
@@ -294,14 +374,6 @@ public class Api_JsonMusicApiOut : QQLightApiOutput
public override string TypeCode => nameof(Api_JsonMusicApiOut);
}
///
- /// api out of method Api_Error
- ///
- public class Api_ErrorApiOut : QQLightApiOutput
- {
- public string Result { get; set; }
- public override string TypeCode => nameof(Api_ErrorApiOut);
- }
- ///
/// api out of method Api_GetGroupCard
///
public class Api_GetGroupCardApiOut : QQLightApiOutput
@@ -318,6 +390,38 @@ public class Api_GetNickApiOut : QQLightApiOutput
public override string TypeCode => nameof(Api_GetNickApiOut);
}
///
+ /// api out of method Api_GetGroupName
+ ///
+ public class Api_GetGroupNameApiOut : QQLightApiOutput
+ {
+ public string Result { get; set; }
+ public override string TypeCode => nameof(Api_GetGroupNameApiOut);
+ }
+ ///
+ /// api out of method Api_GetSoftVersion
+ ///
+ public class Api_GetSoftVersionApiOut : QQLightApiOutput
+ {
+ public string Result { get; set; }
+ public override string TypeCode => nameof(Api_GetSoftVersionApiOut);
+ }
+ ///
+ /// api out of method Api_GetGroupIntroduce
+ ///
+ public class Api_GetGroupIntroduceApiOut : QQLightApiOutput
+ {
+ public string Result { get; set; }
+ public override string TypeCode => nameof(Api_GetGroupIntroduceApiOut);
+ }
+ ///
+ /// api out of method Api_GetGroupOwner
+ ///
+ public class Api_GetGroupOwnerApiOut : QQLightApiOutput
+ {
+ public string Result { get; set; }
+ public override string TypeCode => nameof(Api_GetGroupOwnerApiOut);
+ }
+ ///
/// api out of method Api_GetPraiseNum
///
public class Api_GetPraiseNumApiOut : QQLightApiOutput
@@ -326,6 +430,46 @@ public class Api_GetPraiseNumApiOut : QQLightApiOutput
public override string TypeCode => nameof(Api_GetPraiseNumApiOut);
}
///
+ /// api out of method Api_GetQQLevel
+ ///
+ public class Api_GetQQLevelApiOut : QQLightApiOutput
+ {
+ public int Result { get; set; }
+ public override string TypeCode => nameof(Api_GetQQLevelApiOut);
+ }
+ ///
+ /// api out of method Api_Taotaodolike
+ ///
+ public class Api_TaotaodolikeApiOut : QQLightApiOutput
+ {
+ public string Result { get; set; }
+ public override string TypeCode => nameof(Api_TaotaodolikeApiOut);
+ }
+ ///
+ /// api out of method Api_Taotaofeeds
+ ///
+ public class Api_TaotaofeedsApiOut : QQLightApiOutput
+ {
+ public string Result { get; set; }
+ public override string TypeCode => nameof(Api_TaotaofeedsApiOut);
+ }
+ ///
+ /// api out of method Api_GetQQAge
+ ///
+ public class Api_GetQQAgeApiOut : QQLightApiOutput
+ {
+ public int Result { get; set; }
+ public override string TypeCode => nameof(Api_GetQQAgeApiOut);
+ }
+ ///
+ /// api out of method Api_GetQQSex
+ ///
+ public class Api_GetQQSexApiOut : QQLightApiOutput
+ {
+ public int Result { get; set; }
+ public override string TypeCode => nameof(Api_GetQQSexApiOut);
+ }
+ ///
/// api out of method Api_GetFriendList
///
public class Api_GetFriendListApiOut : QQLightApiOutput
@@ -366,51 +510,35 @@ public class Api_GetGroupInfoApiOut : QQLightApiOutput
public override string TypeCode => nameof(Api_GetGroupInfoApiOut);
}
///
- /// api out of method Api_Restart
+ /// api out of method Api_GetQQInfo_v2
///
- public class Api_RestartApiOut : QQLightApiOutput
+ public class Api_GetQQInfo_v2ApiOut : QQLightApiOutput
{
public string Result { get; set; }
- public override string TypeCode => nameof(Api_RestartApiOut);
+ public override string TypeCode => nameof(Api_GetQQInfo_v2ApiOut);
}
///
- /// api out of method Api_UpdatePlugin
- ///
- public class Api_UpdatePluginApiOut : QQLightApiOutput
- {
- public string Result { get; set; }
- public override string TypeCode => nameof(Api_UpdatePluginApiOut);
- }
- ///
- /// api out of method Api_DeleteMsg
- ///
- public class Api_DeleteMsgApiOut : QQLightApiOutput
- {
- public string Result { get; set; }
- public override string TypeCode => nameof(Api_DeleteMsgApiOut);
- }
- ///
- /// api out of method Api_SetQQState
+ /// api out of method Api_UpLoadPic
///
- public class Api_SetQQStateApiOut : QQLightApiOutput
+ public class Api_UpLoadPicApiOut : QQLightApiOutput
{
public string Result { get; set; }
- public override string TypeCode => nameof(Api_SetQQStateApiOut);
+ public override string TypeCode => nameof(Api_UpLoadPicApiOut);
}
///
- /// api out of method Api_GetQQinfo_v2
+ /// api out of method Api_SetPluginState
///
- public class Api_GetQQinfo_v2ApiOut : QQLightApiOutput
+ public class Api_SetPluginStateApiOut : QQLightApiOutput
{
public string Result { get; set; }
- public override string TypeCode => nameof(Api_GetQQinfo_v2ApiOut);
+ public override string TypeCode => nameof(Api_SetPluginStateApiOut);
}
///
- /// api out of method Api_UpLoadPic
+ /// api out of method WideCharToMultiByte
///
- public class Api_UpLoadPicApiOut : QQLightApiOutput
+ public class WideCharToMultiByteApiOut : QQLightApiOutput
{
- public string Result { get; set; }
- public override string TypeCode => nameof(Api_UpLoadPicApiOut);
+ public int Result { get; set; }
+ public override string TypeCode => nameof(WideCharToMultiByteApiOut);
}
}
diff --git a/src/Newbe.Mahua/MahuaPlatform.cs b/src/Newbe.Mahua/MahuaPlatform.cs
index 1a98fc1..f868d38 100644
--- a/src/Newbe.Mahua/MahuaPlatform.cs
+++ b/src/Newbe.Mahua/MahuaPlatform.cs
@@ -20,19 +20,16 @@ public enum MahuaPlatform
///
/// Amanda
///
- [Obsolete("已经不再支持该平台")]
- Amanda,
+ [Obsolete("已经不再支持该平台")] Amanda,
///
/// CleverQQ
///
- [Obsolete("已经不再支持该平台")]
- CleverQQ,
+ [Obsolete("已经不再支持该平台")] CleverQQ,
///
/// QqLight
///
QQLight,
-
}
-}
+}
\ No newline at end of file
diff --git a/src/Newbe.Mahua/NativeApi/ICqpApi.cs b/src/Newbe.Mahua/NativeApi/ICqpApi.cs
index fc476ac..18dbd7e 100644
--- a/src/Newbe.Mahua/NativeApi/ICqpApi.cs
+++ b/src/Newbe.Mahua/NativeApi/ICqpApi.cs
@@ -2,22 +2,22 @@
namespace Newbe.Mahua.NativeApi
{
- // generate at 2019/1/6 3:33:46 +00:00
+ // generate at 2019/12/15 12:07:28 +00:00
public interface ICqpApi
{
///
- /// 发送好友消息
+ /// 发送好友消息
///
///
- /// 目标QQ
+ /// 目标帐号
/// 消息内容
///
[Description("发送好友消息")]
- int CQ_sendPrivateMsg([Description("")] int AuthCode, [Description("目标QQ")] long QQID,
+ int CQ_sendPrivateMsg([Description("")] int AuthCode, [Description("目标帐号")] long Account,
[Description("消息内容")] string msg);
///
- /// 发送群消息
+ /// 发送群消息
///
///
/// 目标群
@@ -28,7 +28,7 @@ int CQ_sendGroupMsg([Description("")] int AuthCode, [Description("目标群")] l
[Description("消息内容")] string msg);
///
- /// 发送讨论组消息
+ /// 发送讨论组消息
///
///
/// 目标讨论组
@@ -39,7 +39,7 @@ int CQ_sendDiscussMsg([Description("")] int AuthCode, [Description("目标讨论
[Description("消息内容")] string msg);
///
- /// 撤回消息
+ /// 撤回消息
///
///
/// 消息ID
@@ -48,37 +48,75 @@ int CQ_sendDiscussMsg([Description("")] int AuthCode, [Description("目标讨论
int CQ_deleteMsg([Description("")] int AuthCode, [Description("消息ID")] long MsgId);
///
- /// 发送赞
+ /// 发送赞
///
///
- /// 目标QQ
+ /// 目标帐号
/// 赞的次数,最多10次
///
[Description("发送赞")]
- int CQ_sendLikeV2([Description("")] int AuthCode, [Description("目标QQ")] long QQID,
+ int CQ_sendLikeV2([Description("")] int AuthCode, [Description("目标帐号")] long Account,
[Description("赞的次数,最多10次")] int times);
///
- /// 取Cookies(慎用
+ /// 取Cookies(慎用
///
///
+ /// 目标域名,如 api.example.com
///
[Description("取Cookies(慎用")]
- string CQ_getCookies([Description("")] int AuthCode);
+ string CQ_getCookiesV2([Description("")] int AuthCode, [Description("目标域名,如 api.example.com")]
+ string domain);
///
- /// 接收语音
+ /// 【已弃用】接收语音,并返回语音文件相对路径
///
///
/// 收到消息中的语音文件名(file)
/// 应用所需的格式
///
- [Description("接收语音")]
+ [Description("【已弃用】接收语音,并返回语音文件相对路径")]
string CQ_getRecord([Description("")] int AuthCode, [Description("收到消息中的语音文件名(file)")] string file,
[Description("应用所需的格式")] string outformat);
///
- /// 取CsrfToken(慎用
+ /// 接收语音,并返回语音文件绝对路径
+ ///
+ ///
+ /// 收到消息中的语音文件名(file)
+ /// 应用所需的格式
+ ///
+ [Description("接收语音,并返回语音文件绝对路径")]
+ string CQ_getRecordV2([Description("")] int AuthCode, [Description("收到消息中的语音文件名(file)")] string file,
+ [Description("应用所需的格式")] string outformat);
+
+ ///
+ /// 接收图片,并返回图片文件绝对路径
+ ///
+ ///
+ /// 收到消息中的图片文件名(file)
+ ///
+ [Description("接收图片,并返回图片文件绝对路径")]
+ string CQ_getImage([Description("")] int AuthCode, [Description("收到消息中的图片文件名(file)")] string file);
+
+ ///
+ /// 是否支持发送图片,返回大于 0 为支持,等于 0 为不支持
+ ///
+ ///
+ ///
+ [Description("是否支持发送图片,返回大于 0 为支持,等于 0 为不支持")]
+ int CQ_canSendImage([Description("")] int AuthCode);
+
+ ///
+ /// 是否支持发送语音,返回大于 0 为支持,等于 0 为不支持
+ ///
+ ///
+ ///
+ [Description("是否支持发送语音,返回大于 0 为支持,等于 0 为不支持")]
+ int CQ_canSendRecord([Description("")] int AuthCode);
+
+ ///
+ /// 取CsrfToken(慎用
///
///
///
@@ -86,7 +124,7 @@ string CQ_getRecord([Description("")] int AuthCode, [Description("收到消息
int CQ_getCsrfToken([Description("")] int AuthCode);
///
- /// 取应用目录
+ /// 取应用目录
///
///
///
@@ -94,15 +132,15 @@ string CQ_getRecord([Description("")] int AuthCode, [Description("收到消息
string CQ_getAppDirectory([Description("")] int AuthCode);
///
- /// 取登录QQ
+ /// 取登录帐号
///
///
///
- [Description("取登录QQ")]
+ [Description("取登录帐号")]
long CQ_getLoginQQ([Description("")] int AuthCode);
///
- /// 取登录昵称
+ /// 取登录昵称
///
///
///
@@ -110,60 +148,60 @@ string CQ_getRecord([Description("")] int AuthCode, [Description("收到消息
string CQ_getLoginNick([Description("")] int AuthCode);
///
- /// 置群员移除
+ /// 置群员移除
///
///
/// 目标群
- /// 目标QQ
+ /// 目标帐号
/// 如果为真,则“不再接收此人加群申请”,请慎用
///
[Description("置群员移除")]
int CQ_setGroupKick([Description("")] int AuthCode, [Description("目标群")] long 群号,
- [Description("目标QQ")] long QQID, [Description("如果为真,则“不再接收此人加群申请”,请慎用")]
+ [Description("目标帐号")] long Account, [Description("如果为真,则“不再接收此人加群申请”,请慎用")]
bool 拒绝再加群);
///
- /// 置群员禁言
+ /// 置群员禁言
///
///
/// 目标群
- /// 目标QQ
+ /// 目标帐号
/// 禁言的时间,单位为秒。如果要解禁,这里填写0
///
[Description("置群员禁言")]
int CQ_setGroupBan([Description("")] int AuthCode, [Description("目标群")] long 群号,
- [Description("目标QQ")] long QQID, [Description("禁言的时间,单位为秒。如果要解禁,这里填写0")]
+ [Description("目标帐号")] long Account, [Description("禁言的时间,单位为秒。如果要解禁,这里填写0")]
long 禁言时间);
///
- /// 置群管理员
+ /// 置群管理员
///
///
/// 目标群
- /// 被设置的QQ
+ /// 被设置的帐号
/// 真/设置管理员 假/取消管理员
///
[Description("置群管理员")]
int CQ_setGroupAdmin([Description("")] int AuthCode, [Description("目标群")] long 群号,
- [Description("被设置的QQ")] long QQID, [Description("真/设置管理员 假/取消管理员")] bool 成为管理员);
+ [Description("被设置的帐号")] long Account, [Description("真/设置管理员 假/取消管理员")] bool 成为管理员);
///
- /// 置群成员专属头衔
+ /// 置群成员专属头衔
///
///
/// 目标群
- /// 目标QQ
+ /// 目标帐号
/// 如果要删除,这里填空
/// 专属头衔有效期,单位为秒。如果永久有效,这里填写-1
///
[Description("置群成员专属头衔")]
int CQ_setGroupSpecialTitle([Description("")] int AuthCode, [Description("目标群")] long 群号,
- [Description("目标QQ")] long QQID, [Description("如果要删除,这里填空")] string 头衔,
+ [Description("目标帐号")] long Account, [Description("如果要删除,这里填空")] string 头衔,
[Description("专属头衔有效期,单位为秒。如果永久有效,这里填写-1")]
long 过期时间);
///
- /// 置全群禁言
+ /// 置全群禁言
///
///
/// 目标群
@@ -174,7 +212,7 @@ int CQ_setGroupWholeBan([Description("")] int AuthCode, [Description("目标群"
[Description("真/开启 假/关闭")] bool 开启禁言);
///
- /// 置匿名群员禁言
+ /// 置匿名群员禁言
///
///
/// 目标群
@@ -186,7 +224,7 @@ int CQ_setGroupAnonymousBan([Description("")] int AuthCode, [Description("目标
[Description("群消息事件收到的“匿名”参数")] string 匿名, [Description("禁言的时间,单位为秒。不支持解禁")] long 禁言时间);
///
- /// 置群匿名设置
+ /// 置群匿名设置
///
///
///
@@ -197,19 +235,19 @@ int CQ_setGroupAnonymous([Description("")] int AuthCode, [Description("")] long
[Description("")] bool 开启匿名);
///
- /// 置群成员名片
+ /// 置群成员名片
///
///
/// 目标群
- /// 被设置的QQ
+ /// 被设置的帐号
///
///
[Description("置群成员名片")]
int CQ_setGroupCard([Description("")] int AuthCode, [Description("目标群")] long 群号,
- [Description("被设置的QQ")] long QQID, [Description("")] string 新名片_昵称);
+ [Description("被设置的帐号")] long Account, [Description("")] string 新名片_昵称);
///
- /// 置群退出
+ /// 置群退出
///
///
/// 目标群
@@ -221,7 +259,7 @@ int CQ_setGroupLeave([Description("")] int AuthCode, [Description("目标群")]
bool 是否解散);
///
- /// 置讨论组退出
+ /// 置讨论组退出
///
///
/// 目标讨论组
@@ -230,7 +268,7 @@ int CQ_setGroupLeave([Description("")] int AuthCode, [Description("目标群")]
int CQ_setDiscussLeave([Description("")] int AuthCode, [Description("目标讨论组")] long 讨论组号);
///
- /// 置好友添加请求
+ /// 置好友添加请求
///
///
/// 请求事件收到的“反馈标识”参数
@@ -242,7 +280,7 @@ int CQ_setFriendAddRequest([Description("")] int AuthCode, [Description("请求
[Description("#请求_通过 或 #请求_拒绝")] int 反馈类型, [Description("添加后的好友备注")] string 备注);
///
- /// 置群添加请求
+ /// 置群添加请求
///
///
/// 请求事件收到的“反馈标识”参数
@@ -257,7 +295,7 @@ int CQ_setGroupAddRequestV2([Description("")] int AuthCode, [Description("请求
string 理由);
///
- /// 增加运行日志
+ /// 增加运行日志
///
///
/// #Log_ 开头常量
@@ -269,7 +307,7 @@ int CQ_addLog([Description("")] int AuthCode, [Description("#Log_ 开头常量")
[Description("")] string 内容);
///
- /// 置致命错误提示
+ /// 置致命错误提示
///
///
///
@@ -278,28 +316,28 @@ int CQ_addLog([Description("")] int AuthCode, [Description("#Log_ 开头常量")
int CQ_setFatal([Description("")] int AuthCode, [Description("")] string 错误信息);
///
- /// 取群成员信息(支持缓存)
+ /// 取群成员信息(支持缓存)
///
///
- /// 目标QQ所在群
- /// 目标QQ
+ /// 目标帐号所在群
+ /// 目标帐号
///
///
[Description("取群成员信息(支持缓存)")]
- string CQ_getGroupMemberInfoV2([Description("")] int AuthCode, [Description("目标QQ所在群")] long 群号,
- [Description("目标QQ")] long QQID, [Description("")] bool 不使用缓存);
+ string CQ_getGroupMemberInfoV2([Description("")] int AuthCode, [Description("目标帐号所在群")] long 群号,
+ [Description("目标帐号")] long Account, [Description("")] bool 不使用缓存);
///
- /// 取群成员列表
+ /// 取群成员列表
///
///
- /// 目标QQ所在群
+ /// 目标帐号所在群
///
[Description("取群成员列表")]
- string CQ_getGroupMemberList([Description("")] int AuthCode, [Description("目标QQ所在群")] long 群号);
+ string CQ_getGroupMemberList([Description("")] int AuthCode, [Description("目标帐号所在群")] long 群号);
///
- /// 取群列表
+ /// 取群列表
///
///
///
@@ -307,14 +345,66 @@ string CQ_getGroupMemberInfoV2([Description("")] int AuthCode, [Description("目
string CQ_getGroupList([Description("")] int AuthCode);
///
- /// 取陌生人信息(支持缓存)
+ /// 取好友列表
+ ///
+ ///
+ /// 保留参数,请传入“假”
+ ///
+ [Description("取好友列表")]
+ string CQ_getFriendList([Description("")] int AuthCode, [Description("保留参数,请传入“假”")] bool reserved);
+
+ ///
+ /// 取陌生人信息(支持缓存)
///
///
- /// 目标QQ
+ /// 目标帐号
///
///
[Description("取陌生人信息(支持缓存)")]
- string CQ_getStrangerInfo([Description("")] int AuthCode, [Description("目标QQ")] long QQID,
+ string CQ_getStrangerInfo([Description("")] int AuthCode, [Description("目标帐号")] long Account,
+ [Description("")] bool 不使用缓存);
+
+ ///
+ /// 取群信息(支持缓存)
+ ///
+ ///
+ /// 目标群
+ ///
+ ///
+ [Description("取群信息(支持缓存)")]
+ string CQ_getGroupInfo([Description("")] int AuthCode, [Description("目标群")] long 群号,
[Description("")] bool 不使用缓存);
+
+ ///
+ ///
+ ///
+ /// 址
+ /// 址
+ ///
+ ///
+ /// 址
+ /// 0
+ /// 0
+ ///
+ [Description("")]
+ bool CryptStringToBinaryA([Description("址")] string pszString, [Description("址")] int cchString,
+ [Description("")] int dwFlags, [Description("")] int pbBinary, [Description("址")] int pcbBinary,
+ [Description("0")] int pdwSkip, [Description("0")] int pdwFlags);
+
+ ///
+ ///
+ ///
+ /// 址
+ /// 址
+ ///
+ /// 址
+ /// 址
+ /// 0
+ /// 0
+ ///
+ [Description("")]
+ bool CryptStringToBinaryA([Description("址")] string pszString, [Description("址")] int cchString,
+ [Description("")] int dwFlags, [Description("址")] byte[] pbBinary, [Description("址")] int pcbBinary,
+ [Description("0")] int pdwSkip, [Description("0")] int pdwFlags);
}
}
\ No newline at end of file
diff --git a/src/Newbe.Mahua/NativeApi/IMpqApi.cs b/src/Newbe.Mahua/NativeApi/IMpqApi.cs
index c830301..3f48ca2 100644
--- a/src/Newbe.Mahua/NativeApi/IMpqApi.cs
+++ b/src/Newbe.Mahua/NativeApi/IMpqApi.cs
@@ -2,11 +2,11 @@
namespace Newbe.Mahua.NativeApi
{
- // generate at 2019/1/22 13:16:20 +00:00
+ // generate at 2019/12/15 9:16:11 +00:00
public interface IMpqApi
{
///
- /// 根据提交的QQ号计算得到页面操作用参数Bkn或G_tk`
+ /// 根据提交的QQ号计算得到页面操作用参数Bkn或G_tk`
///
///
///
@@ -14,7 +14,7 @@ public interface IMpqApi
string Api_GetGtk_Bkn([Description("")] string 响应的QQ);
///
- /// 根据提交的QQ号计算得到页面操作用参数长Bkn或长G_tk`
+ /// 根据提交的QQ号计算得到页面操作用参数长Bkn或长G_tk`
///
///
///
@@ -22,7 +22,7 @@ public interface IMpqApi
string Api_GetBkn32([Description("")] string 响应的QQ);
///
- /// 根据提交的QQ号计算得到页面操作用参数长Ldw`
+ /// 根据提交的QQ号计算得到页面操作用参数长Ldw`
///
///
///
@@ -30,28 +30,28 @@ public interface IMpqApi
string Api_GetLdw([Description("")] string 响应的QQ);
///
- /// 取得框架所在目录.可能鸡肋了。`
+ /// 取得框架所在目录.可能鸡肋了。`
///
///
[Description("取得框架所在目录.可能鸡肋了。`")]
string Api_GetRunPath();
///
- /// 取得当前框架内在线可用的QQ列表`
+ /// 取得当前框架内在线可用的QQ列表`
///
///
[Description("取得当前框架内在线可用的QQ列表`")]
string Api_GetOnlineQQlist();
///
- /// 取得框架内所有QQ列表。包括未登录以及登录失败的QQ`
+ /// 取得框架内所有QQ列表。包括未登录以及登录失败的QQ`
///
///
[Description("取得框架内所有QQ列表。包括未登录以及登录失败的QQ`")]
string Api_GetQQlist();
///
- /// 根据QQ取得对应的会话秘钥`
+ /// 根据QQ取得对应的会话秘钥`
///
///
///
@@ -59,7 +59,7 @@ public interface IMpqApi
string Api_GetSessionkey([Description("")] string 响应的QQ);
///
- /// 取得页面登录用的Clientkey`
+ /// 取得页面登录用的Clientkey`
///
///
///
@@ -67,7 +67,7 @@ public interface IMpqApi
string Api_GetClientkey([Description("")] string 响应的QQ);
///
- /// 取得页面登录用的长Clientkey`
+ /// 取得页面登录用的长Clientkey`
///
///
///
@@ -75,7 +75,7 @@ public interface IMpqApi
string Api_GetLongClientkey([Description("")] string 响应的QQ);
///
- /// 取得页面操作用的Cookies`
+ /// 取得页面操作用的Cookies`
///
///
///
@@ -83,14 +83,14 @@ public interface IMpqApi
string Api_GetCookies([Description("")] string 响应的QQ);
///
- /// 取得框架内设置的信息发送前缀`
+ /// 取得框架内设置的信息发送前缀`
///
///
[Description("取得框架内设置的信息发送前缀`")]
string Api_GetPrefix();
///
- /// 将群名片加入高速缓存当作.`
+ /// 将群名片加入高速缓存当作.`
///
///
///
@@ -100,7 +100,7 @@ public interface IMpqApi
void Api_Cache_NameCard([Description("")] string 群号, [Description("")] string QQ, [Description("")] string 名片);
///
- /// 将指定QQ移出QQ黑名单`
+ /// 将指定QQ移出QQ黑名单`
///
///
///
@@ -109,7 +109,7 @@ public interface IMpqApi
void Api_DBan([Description("")] string 响应的QQ, [Description("")] string QQ);
///
- /// 将指定QQ列入QQ黑名单`
+ /// 将指定QQ列入QQ黑名单`
///
///
///
@@ -118,7 +118,7 @@ public interface IMpqApi
void Api_Ban([Description("")] string 响应的QQ, [Description("")] string QQ);
///
- /// 禁言群成员`
+ /// 禁言群成员`
///
///
/// 禁言对象所在群.
@@ -131,7 +131,18 @@ bool Api_Shutup([Description("")] string 响应的QQ, [Description("禁言对象
int 时长);
///
- /// 发群公告`
+ /// 根据群号+QQ判断指定群员是否被禁言 获取失败的情况下亦会返回假
+ ///
+ ///
+ /// 欲判断对象所在群.
+ /// 欲判断对象
+ ///
+ [Description("根据群号+QQ判断指定群员是否被禁言 获取失败的情况下亦会返回假")]
+ bool Api_IsShutup([Description("")] string 响应的QQ, [Description("欲判断对象所在群.")] string 群号,
+ [Description("欲判断对象")] string QQ);
+
+ ///
+ /// 发群公告`
///
///
///
@@ -143,7 +154,7 @@ void Api_SetNotice([Description("")] string 响应的QQ, [Description("")] strin
[Description("")] string 内容);
///
- /// 取群公告`
+ /// 取群公告`
///
///
///
@@ -152,7 +163,7 @@ void Api_SetNotice([Description("")] string 响应的QQ, [Description("")] strin
string Api_GetNotice([Description("")] string 响应的QQ, [Description("")] string 群号);
///
- /// 取群名片`
+ /// 取群名片`
///
///
///
@@ -163,7 +174,7 @@ string Api_GetNameCard([Description("")] string 响应的QQ, [Description("")] s
[Description("")] string QQ);
///
- /// 设置群名片`
+ /// 设置群名片`
///
///
///
@@ -175,7 +186,7 @@ void Api_SetNameCard([Description("")] string 响应的QQ, [Description("")] str
[Description("")] string 名片);
///
- /// 退出讨论组`
+ /// 退出讨论组`
///
///
///
@@ -184,7 +195,7 @@ void Api_SetNameCard([Description("")] string 响应的QQ, [Description("")] str
void Api_QuitDG([Description("")] string 响应的QQ, [Description("")] string 讨论组ID);
///
- /// 删除好友`
+ /// 删除好友`
///
///
///
@@ -193,7 +204,7 @@ void Api_SetNameCard([Description("")] string 响应的QQ, [Description("")] str
bool Api_DelFriend([Description("")] string 响应的QQ, [Description("")] string QQ);
///
- /// 将对象移除群`
+ /// 将对象移除群`
///
///
///
@@ -203,7 +214,7 @@ void Api_SetNameCard([Description("")] string 响应的QQ, [Description("")] str
bool Api_Kick([Description("")] string 响应的QQ, [Description("")] string 群号, [Description("")] string 对象);
///
- /// 主动加群.为了避免广告、群发行为。出现验证码时将会直接失败不处理`
+ /// 主动加群.为了避免广告、群发行为。出现验证码时将会直接失败不处理`
///
///
///
@@ -213,7 +224,7 @@ void Api_SetNameCard([Description("")] string 响应的QQ, [Description("")] str
void Api_JoinGroup([Description("")] string 响应的QQ, [Description("")] string 群号, [Description("")] string 附加理由);
///
- /// 退出群`
+ /// 退出群`
///
///
///
@@ -222,7 +233,7 @@ void Api_SetNameCard([Description("")] string 响应的QQ, [Description("")] str
void Api_QuitGroup([Description("")] string 响应的QQ, [Description("")] string 群号);
///
- /// 返回值:成功返回图片GUID用于发送该图片.失败返回空. 图片尺寸应小于4MB`
+ /// 返回值:成功返回图片GUID用于发送该图片.失败返回空. 图片尺寸应小于4MB`
///
/// 机器人QQ
/// 1好友2群 注:好友图和群图的GUID并不相同并不通用 需要非别上传。群、讨论组用类型2 临时会话、好友信息需要类型1
@@ -236,7 +247,7 @@ string Api_UploadPic([Description("机器人QQ")] string 响应的QQ,
[Description("址, 图片字节集数据或字节集数据指针()")] byte[] 参_图片数据);
///
- /// 根据图片GUID取得图片下载连接 失败返回空`
+ /// 根据图片GUID取得图片下载连接 失败返回空`
///
/// {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}.jpg这样的GUID
///
@@ -245,7 +256,7 @@ string Api_GuidGetPicLink([Description("{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}.j
string 图片GUID);
///
- /// 回复信息 请尽量避免使用该API`
+ /// 回复信息 请尽量避免使用该API`
///
///
/// 1好友 2群 3讨论组 4群临时会话 5讨论组临时会话
@@ -257,7 +268,7 @@ int Api_Reply([Description("")] string 响应的QQ, [Description("1好友 2群 3
int 信息类型, [Description("接收这条信息的对象")] string 回复对象, [Description("信息内容")] string 内容);
///
- /// 向对象、目标发送信息 支持好友 群 讨论组 群临时会话 讨论组临时会话`
+ /// 向对象、目标发送信息 支持好友 群 讨论组 群临时会话 讨论组临时会话`
///
///
/// 1好友 2群 3讨论组 4群临时会话 5讨论组临时会话
@@ -272,7 +283,7 @@ int Api_SendMsg([Description("")] string 响应的QQ, [Description("1好友 2群
string 收信群_讨论组, [Description("最终接收这条信息的对象QQ")] string 收信对象, [Description("信息内容")] string 内容);
///
- /// 发送封包`
+ /// 发送封包`
///
///
///
@@ -280,7 +291,7 @@ int Api_SendMsg([Description("")] string 响应的QQ, [Description("1好友 2群
string Api_Send([Description("")] string 封包内容);
///
- /// 在框架记录页输出一行信息`
+ /// 在框架记录页输出一行信息`
///
/// 输出的内容
///
@@ -288,14 +299,14 @@ int Api_SendMsg([Description("")] string 响应的QQ, [Description("1好友 2群
int Api_OutPut([Description("输出的内容")] string 内容);
///
- /// 取得本插件启用状态`
+ /// 取得本插件启用状态`
///
///
[Description("取得本插件启用状态`")]
bool Api_IsEnable();
///
- /// 登录一个现存的QQ`
+ /// 登录一个现存的QQ`
///
/// 欲登录的Q
///
@@ -303,7 +314,7 @@ int Api_SendMsg([Description("")] string 响应的QQ, [Description("1好友 2群
bool Api_Login([Description("欲登录的Q")] string QQ);
///
- /// 让指定QQ下线`
+ /// 让指定QQ下线`
///
///
///
@@ -311,7 +322,7 @@ int Api_SendMsg([Description("")] string 响应的QQ, [Description("1好友 2群
void Api_Logout([Description("")] string QQ);
///
- /// tean加密算法`
+ /// tean加密算法`
///
///
///
@@ -320,7 +331,7 @@ int Api_SendMsg([Description("")] string 响应的QQ, [Description("1好友 2群
string Api_Tea加密([Description("")] string 加密内容, [Description("")] string Key);
///
- /// tean解密算法`
+ /// tean解密算法`
///
///
///
@@ -329,7 +340,7 @@ int Api_SendMsg([Description("")] string 响应的QQ, [Description("1好友 2群
string Api_Tea解密([Description("")] string 解密内容, [Description("")] string Key);
///
- /// 取用户名`
+ /// 取用户名`
///
///
///
@@ -337,7 +348,7 @@ int Api_SendMsg([Description("")] string 响应的QQ, [Description("1好友 2群
string Api_GetNick([Description("")] string QQ);
///
- /// 取QQ等级+QQ会员等级 返回json格式信息`
+ /// 取QQ等级+QQ会员等级 返回json格式信息`
///
///
///
@@ -345,7 +356,7 @@ int Api_SendMsg([Description("")] string 响应的QQ, [Description("1好友 2群
string Api_GetQQLevel([Description("")] string QQ);
///
- /// 群号转群ID`
+ /// 群号转群ID`
///
///
///
@@ -353,7 +364,7 @@ int Api_SendMsg([Description("")] string 响应的QQ, [Description("1好友 2群
string Api_GNGetGid([Description("")] string 群号);
///
- /// 群ID转群号`
+ /// 群ID转群号`
///
///
///
@@ -361,35 +372,35 @@ int Api_SendMsg([Description("")] string 响应的QQ, [Description("1好友 2群
string Api_GidGetGN([Description("")] string 群ID);
///
- /// 取框架版本号(发布时间戳`
+ /// 取框架版本号(发布时间戳`
///
///
[Description("取框架版本号(发布时间戳`")]
int Api_GetVersion();
///
- /// 取框架版本名`
+ /// 取框架版本名`
///
///
[Description("取框架版本名`")]
string Api_GetVersionName();
///
- /// 取当前框架内部时间戳_周期性与服务器时间同步`
+ /// 取当前框架内部时间戳_周期性与服务器时间同步`
///
///
[Description("取当前框架内部时间戳_周期性与服务器时间同步`")]
int Api_GetTimeStamp();
///
- /// 取得框架输出列表内所有信息`
+ /// 取得框架输出列表内所有信息`
///
///
[Description("取得框架输出列表内所有信息`")]
string Api_GetLog();
///
- /// 判断是否处于被屏蔽群信息状态。`
+ /// 判断是否处于被屏蔽群信息状态。`
///
///
///
@@ -397,7 +408,7 @@ int Api_SendMsg([Description("")] string 响应的QQ, [Description("1好友 2群
bool Api_IfBlock([Description("")] string 响应的QQ);
///
- /// 取包括群主在内的群管列表`
+ /// 取包括群主在内的群管列表`
///
///
///
@@ -406,7 +417,7 @@ int Api_SendMsg([Description("")] string 响应的QQ, [Description("1好友 2群
string Api_GetAdminList([Description("")] string 响应的QQ, [Description("")] string 群号);
///
- /// 发说说`
+ /// 发说说`
///
///
///
@@ -415,7 +426,7 @@ int Api_SendMsg([Description("")] string 响应的QQ, [Description("1好友 2群
string Api_AddTaotao([Description("")] string 响应的QQ, [Description("")] string 内容);
///
- /// 取个签`
+ /// 取个签`
///
///
///
@@ -424,7 +435,7 @@ int Api_SendMsg([Description("")] string 响应的QQ, [Description("1好友 2群
string Api_GetSign([Description("")] string 响应的QQ, [Description("")] string 对象);
///
- /// 设置个签`
+ /// 设置个签`
///
///
///
@@ -433,7 +444,7 @@ int Api_SendMsg([Description("")] string 响应的QQ, [Description("1好友 2群
string Api_SetSign([Description("")] string 响应的QQ, [Description("")] string 内容);
///
- /// 通过qun.qzone.qq.com接口取得取群列表.成功返回转码后的JSON格式文本信息`
+ /// 通过qun.qzone.qq.com接口取得取群列表.成功返回转码后的JSON格式文本信息`
///
///
///
@@ -441,7 +452,7 @@ int Api_SendMsg([Description("")] string 响应的QQ, [Description("1好友 2群
string Api_GetGroupListA([Description("")] string 响应的QQ);
///
- /// 通过qun.qq.com接口取得取群列表.成功返回转码后的JSON格式文本信息`
+ /// 通过qun.qq.com接口取得取群列表.成功返回转码后的JSON格式文本信息`
///
///
///
@@ -449,7 +460,7 @@ int Api_SendMsg([Description("")] string 响应的QQ, [Description("1好友 2群
string Api_GetGroupListB([Description("")] string 响应的QQ);
///
- /// 通过qun.qq.com接口取得群成员列表 成功返回转码后的JSON格式文本`
+ /// 通过qun.qq.com接口取得群成员列表 成功返回转码后的JSON格式文本`
///
///
///
@@ -458,7 +469,7 @@ int Api_SendMsg([Description("")] string 响应的QQ, [Description("1好友 2群
string Api_GetGroupMemberA([Description("")] string 响应的QQ, [Description("")] string 群号);
///
- /// 通过qun.qzone.qq.com接口取得群成员列表 成功返回转码后的JSON格式文本`
+ /// 通过qun.qzone.qq.com接口取得群成员列表 成功返回转码后的JSON格式文本`
///
///
///
@@ -467,7 +478,7 @@ int Api_SendMsg([Description("")] string 响应的QQ, [Description("1好友 2群
string Api_GetGroupMemberB([Description("")] string 响应的QQ, [Description("")] string 群号);
///
- /// 通过qun.qq.com接口取得好友列表。成功返回转码后的JSON文本`
+ /// 通过qun.qq.com接口取得好友列表。成功返回转码后的JSON文本`
///
///
///
@@ -475,7 +486,7 @@ int Api_SendMsg([Description("")] string 响应的QQ, [Description("1好友 2群
string Api_GetFriendList([Description("")] string 响应的QQ);
///
- /// 取Q龄 成功返回Q龄 失败返回-1`
+ /// 取Q龄 成功返回Q龄 失败返回-1`
///
///
///
@@ -484,7 +495,7 @@ int Api_SendMsg([Description("")] string 响应的QQ, [Description("1好友 2群
int Api_GetQQAge([Description("")] string 响应的QQ, [Description("")] string QQ);
///
- /// 取年龄 成功返回年龄 失败返回-1`
+ /// 取年龄 成功返回年龄 失败返回-1`
///
///
///
@@ -493,7 +504,7 @@ int Api_SendMsg([Description("")] string 响应的QQ, [Description("1好友 2群
int Api_GetAge([Description("")] string 响应的QQ, [Description("")] string QQ);
///
- /// 取个人说明`
+ /// 取个人说明`
///
///
/// 对象QQ
@@ -502,7 +513,7 @@ int Api_SendMsg([Description("")] string 响应的QQ, [Description("1好友 2群
string Api_GetPersonalProfile([Description("")] string 响应的QQ, [Description("对象QQ")] string QQ);
///
- /// 取邮箱 成功返回邮箱 失败返回空`
+ /// 取邮箱 成功返回邮箱 失败返回空`
///
///
///
@@ -511,7 +522,7 @@ int Api_SendMsg([Description("")] string 响应的QQ, [Description("1好友 2群
string Api_GetEmail([Description("")] string 响应的QQ, [Description("")] string QQ);
///
- /// 取对象性别 1男 2女 未或失败返回-1`
+ /// 取对象性别 1男 2女 未或失败返回-1`
///
///
///
@@ -520,7 +531,7 @@ int Api_SendMsg([Description("")] string 响应的QQ, [Description("1好友 2群
int Api_GetGender([Description("")] string 响应的QQ, [Description("")] string QQ);
///
- /// 向好友发送‘正在输入’的状态信息.当好友收到信息之后 “正在输入”状态会立刻被打断`
+ /// 向好友发送‘正在输入’的状态信息.当好友收到信息之后 “正在输入”状态会立刻被打断`
///
///
///
@@ -529,7 +540,7 @@ int Api_SendMsg([Description("")] string 响应的QQ, [Description("1好友 2群
int Api_SendTyping([Description("")] string 响应的QQ, [Description("")] string QQ);
///
- /// 向好友发送窗口抖动信息`
+ /// 向好友发送窗口抖动信息`
///
///
///
@@ -538,14 +549,14 @@ int Api_SendMsg([Description("")] string 响应的QQ, [Description("1好友 2群
int Api_SendShake([Description("")] string 响应的QQ, [Description("")] string QQ);
///
- /// 取得框架内随机一个在线且可以使用的QQ`
+ /// 取得框架内随机一个在线且可以使用的QQ`
///
///
[Description("取得框架内随机一个在线且可以使用的QQ`")]
string Api_GetRadomOnlineQQ();
///
- /// 往帐号列表添加一个Q.当该Q已存在时则覆盖密码`
+ /// 往帐号列表添加一个Q.当该Q已存在时则覆盖密码`
///
///
///
@@ -557,7 +568,7 @@ bool Api_AddQQ([Description("")] string QQ, [Description("")] string 密码,
bool 自动登录);
///
- /// 设置在线状态+附加信息 `
+ /// 设置在线状态+附加信息 `
///
///
/// 1~6 分别对应我在线上, Q我吧, 离开, 忙碌, 请勿打扰, 隐身
@@ -568,14 +579,14 @@ bool Api_SetOLStatus([Description("")] string 响应的QQ, [Description("1~6 分
int 在线状态, [Description("最大255字节")] string 状态附加信息);
///
- /// 取得机器码`
+ /// 取得机器码`
///
///
[Description("取得机器码`")]
string Api_GetMC();
///
- /// 邀请对象加入群 失败返回错误理由`
+ /// 邀请对象加入群 失败返回错误理由`
///
///
/// 多个好友用换行分割
@@ -586,7 +597,7 @@ string Api_GroupInvitation([Description("")] string 响应的QQ, [Description("
[Description("")] string 群号);
///
- /// 创建一个讨论组 成功返回讨论组ID 失败返回空 注:每24小时只能创建100个讨论组 悠着点用`
+ /// 创建一个讨论组 成功返回讨论组ID 失败返回空 注:每24小时只能创建100个讨论组 悠着点用`
///
///
///
@@ -594,7 +605,7 @@ string Api_GroupInvitation([Description("")] string 响应的QQ, [Description("
string Api_CreateDG([Description("")] string 响应的QQ);
///
- /// 将对象移除讨论组.成功返回空 失败返回理由`
+ /// 将对象移除讨论组.成功返回空 失败返回理由`
///
///
///
@@ -604,7 +615,7 @@ string Api_GroupInvitation([Description("")] string 响应的QQ, [Description("
string Api_KickDG([Description("")] string 响应的QQ, [Description("")] string 讨论组ID, [Description("")] string 成员);
///
- /// 邀请对象加入讨论组 成功返回空 失败返回理由`
+ /// 邀请对象加入讨论组 成功返回空 失败返回理由`
///
///
///
@@ -615,7 +626,7 @@ string Api_DGInvitation([Description("")] string 响应的QQ, [Description("")]
[Description("多个成员用换行符分割")] string 成员组);
///
- /// 成功返回以换行符分割的讨论组号列表.最大为100个讨论组 失败返回空`
+ /// 成功返回以换行符分割的讨论组号列表.最大为100个讨论组 失败返回空`
///
///
///
@@ -623,7 +634,7 @@ string Api_DGInvitation([Description("")] string 响应的QQ, [Description("")]
string Api_GetDGList([Description("")] string 响应的QQ);
///
- /// 向对象发送一条音乐信息(所谓的点歌)次数不限`
+ /// 向对象发送一条音乐信息(所谓的点歌)次数不限`
///
///
/// 同Api_SendMsg 1好友 2群 3讨论组 4群临时会话 5讨论组临时会话
@@ -650,7 +661,23 @@ bool Api_SendMusic([Description("")] string 响应的QQ, [Description("同Api_Se
string 音乐来源图标连接);
///
- /// `
+ /// `
+ ///
+ ///
+ /// 同Api_SendMsg 1好友 2群 3讨论组 4群临时会话 5讨论组临时会话
+ /// 发群内、临时会话必填 好友可不填
+ /// 临时会话、好友必填 发至群内可不填
+ ///
+ /// 00 基本 02 点歌 其他不明
+ ///
+ [Description("`")]
+ bool Api_SendXml([Description("")] string 响应的QQ, [Description("同Api_SendMsg 1好友 2群 3讨论组 4群临时会话 5讨论组临时会话")]
+ int 收信对象类型, [Description("发群内、临时会话必填 好友可不填")] string 收信对象所属群_讨论组,
+ [Description("临时会话、好友必填 发至群内可不填")] string 收信对象QQ, [Description("")] string ObjectMsg,
+ [Description("00 基本 02 点歌 其他不明")] int 结构子类型);
+
+ ///
+ /// `
///
///
/// 同Api_SendMsg 1好友 2群 3讨论组 4群临时会话 5讨论组临时会话
@@ -667,12 +694,272 @@ bool Api_SendObjectMsg([Description("")] string 响应的QQ,
[Description("00 基本 02 点歌 其他不明")] int 结构子类型);
///
- /// 判断对象是否为好友(双向)`
+ /// 判断对象是否为好友(双向)`
///
///
///
///
[Description("判断对象是否为好友(双向)`")]
bool Api_IsFriend([Description("")] string 响应的QQ, [Description("")] string 对象QQ);
+
+ ///
+ /// 主动加好友 成功返回真 失败返回假 当对象设置需要正确回答问题或不允许任何人添加时无条件失败
+ ///
+ /// 机器人QQ
+ /// 加谁
+ /// 加好友提交的理由
+ ///
+ [Description("主动加好友 成功返回真 失败返回假 当对象设置需要正确回答问题或不允许任何人添加时无条件失败")]
+ bool Api_AddFriend([Description("机器人QQ")] string 响应的QQ, [Description("加谁")] string 对象QQ,
+ [Description("加好友提交的理由")] string 附加理由);
+
+ ///
+ /// 无参 用于插件自身请求禁用插件自身
+ ///
+ ///
+ [Description("无参 用于插件自身请求禁用插件自身")]
+ void Api_SelfDisable();
+
+ ///
+ /// 取协议客户端类型常量 失败返回0
+ ///
+ ///
+ [Description("取协议客户端类型常量 失败返回0")]
+ int Api_GetClientType();
+
+ ///
+ /// 取协议客户端版本号常量 失败返回0
+ ///
+ ///
+ [Description("取协议客户端版本号常量 失败返回0")]
+ int Api_GetClientVer();
+
+ ///
+ /// 取协议客户端公开版本号常量 失败返回0
+ ///
+ ///
+ [Description("取协议客户端公开版本号常量 失败返回0")]
+ int Api_GetPubNo();
+
+ ///
+ /// 取协议客户端主版本号常量 失败返回0
+ ///
+ ///
+ [Description("取协议客户端主版本号常量 失败返回0")]
+ int Api_GetMainVer();
+
+ ///
+ /// 取协议客户端通信模块(TXSSO)版本号常量 失败返回0
+ ///
+ ///
+ [Description("取协议客户端通信模块(TXSSO)版本号常量 失败返回0")]
+ int Api_GetTXSSOVer();
+
+ ///
+ /// 通过音频、语音guid取得下载连接
+ ///
+ ///
+ /// 格式:{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx}.amr
+ ///
+ [Description("通过音频、语音guid取得下载连接")]
+ string Api_GuidGetVoiceLink([Description("")] string 响应的QQ,
+ [Description("格式:{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx}.amr")]
+ string GUID);
+
+ ///
+ /// 上传音频文件 成功返回guid用于发送
+ ///
+ ///
+ /// 音频字节集数据
+ ///
+ [Description("上传音频文件 成功返回guid用于发送")]
+ string Api_UploadVoice([Description("")] string 响应的QQ, [Description("音频字节集数据")] byte[] amr音频数据);
+
+ ///
+ /// 移除由Api_AddLogHandler添加、设置的日志处理函数
+ ///
+ ///
+ [Description("移除由Api_AddLogHandler添加、设置的日志处理函数")]
+ void Api_RemoveLogHandler();
+
+ ///
+ /// 取群名
+ ///
+ ///
+ ///
+ ///
+ [Description("取群名")]
+ string Api_GetGroupName([Description("")] string 响应的QQ, [Description("")] string 群号);
+
+ ///
+ /// 移除\取消由Api_SetMsgFilter所添加\设置的处理函数
+ ///
+ ///
+ [Description("移除/取消由Api_SetMsgFilter所添加/设置的处理函数")]
+ void Api_RemoveMsgFilter();
+
+ ///
+ /// QQ名片赞 10赞每Q每日 至多50人\日系列 成功返回空 失败返回理由(腾讯爸爸给出的) 一次一赞 速度请自行管控以免冻结
+ ///
+ ///
+ ///
+ ///
+ [Description("QQ名片赞 10赞每Q每日 至多50人/日系列 成功返回空 失败返回理由(腾讯爸爸给出的) 一次一赞 速度请自行管控以免冻结")]
+ string Api_Like([Description("")] string 参_响应的QQ, [Description("")] string 参_被赞QQ);
+
+ ///
+ /// 上传群文件
+ ///
+ ///
+ ///
+ /// 实际显示在群文件列表中的文件名
+ /// 本地文件路径 选填
+ /// 图片字节集数据 选填
+ ///
+ [Description("上传群文件")]
+ bool Api_UploadGroupFile([Description("")] string 参_响应的QQ, [Description("")] string 参_群号,
+ [Description("实际显示在群文件列表中的文件名")] string 参_上传文件名, [Description("本地文件路径 选填")] string 参_路径,
+ [Description("图片字节集数据 选填")] byte[] 参_图片数据);
+
+ ///
+ /// 根据图片GUID取得图片下载连接 失败返回空
+ ///
+ /// {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}.jpg这样的GUID
+ /// 1好友\临时会话图片 2 群图
+ /// 好友QQ或群号 根据参数2填写
+ ///
+ [Description("根据图片GUID取得图片下载连接 失败返回空")]
+ string Api_GuidGetPicLinkEx([Description("{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}.jpg这样的GUID")]
+ string 参_图片GUID, [Description("1好友/临时会话图片 2 群图")] int 参_图片类型,
+ [Description("好友QQ或群号 根据参数2填写")] string 参_图片参考对象);
+
+ ///
+ /// 撤回群信息 需为群管
+ ///
+ /// 机器人QQ
+ /// Event函数中的'参_原始信息' 经过解密后的封包字节数据
+ ///
+ [Description("撤回群信息 需为群管")]
+ bool Api_CancelGroupMsgA([Description("机器人QQ")] string 响应的QQ, [Description("Event函数中的'参_原始信息' 经过解密后的封包字节数据")]
+ string 原始信息);
+
+ ///
+ /// 取得用于登陆腾讯子业务的Cookies 如xxx.qq.com
+ ///
+ ///
+ /// 如qun.qq.com
+ ///
+ [Description("取得用于登陆腾讯子业务的Cookies 如xxx.qq.com")]
+ string Api_GetCookiesByDomain([Description("")] string 响应的QQ, [Description("如qun.qq.com")] string 域名);
+
+ ///
+ ///
+ ///
+ ///
+ ///
+ [Description("")]
+ void Api_ChangeProtocol([Description("")] int i);
+
+ ///
+ /// 从框架中删除QQ
+ ///
+ ///
+ ///
+ [Description("从框架中删除QQ")]
+ void Api_DeleteQQ([Description("")] string 被操作QQ);
+
+ ///
+ ///
+ ///
+ ///
+ /// 同Api_SendMsg 1好友 2群 3讨论组 4群临时会话 5讨论组临时会话
+ /// 文本型, , 发群内、临时会话必填 好友可不填
+ /// 临时会话、好友必填 发至群内可不填
+ ///
+ ///
+ [Description("")]
+ bool Api_SendAppMsg([Description("")] string 响应的QQ, [Description("同Api_SendMsg 1好友 2群 3讨论组 4群临时会话 5讨论组临时会话")]
+ int 收信对象类型, [Description("文本型, , 发群内、临时会话必填 好友可不填")]
+ string 信对象所属群_讨论组, [Description("临时会话、好友必填 发至群内可不填")] string 收信对象QQ, [Description("")] string AppMsg);
+
+ ///
+ /// 取生日 失败返回空 未公开生日信息返回 "0年0月0日"
+ ///
+ ///
+ ///
+ ///
+ [Description("取生日 失败返回空 未公开生日信息返回 \"0 年0月0日\"")]
+ string Api_GetBirthday([Description("")] string 响应的QQ, [Description("")] string QQ);
+
+ ///
+ /// 取用户个人信息页面字节数据 包含各种资料 返回内容为原始明文数据
+ ///
+ ///
+ ///
+ ///
+ [Description("取用户个人信息页面字节数据 包含各种资料 返回内容为原始明文数据")]
+ string Api_GetUserInfo([Description("")] string 响应的QQ, [Description("")] string QQ);
+
+ ///
+ ///
+ ///
+ ///
+ ///
+ [Description("")]
+ string Api_GetFriendListA([Description("")] string 响应的QQ);
+
+ ///
+ /// 仅商用版可用
+ ///
+ ///
+ [Description("仅商用版可用")]
+ string Api_GetLoginQRCode();
+
+ ///
+ /// 仅商用版可用 上传头像 接受字节集参数 返回值:0 上传成功 -1参数有误 -2图片大于1MB -3获取上传令牌失败受限 -4其他理由上传失败
+ ///
+ /// 机器人QQ
+ /// 图片字节集数据,由于易语言DLL限制你可能在这里读到的是"整数型" 请自己改成字节集,图片不限PNG JPG 大小1MB以内
+ ///
+ [Description("仅商用版可用 上传头像 接受字节集参数 返回值:0 上传成功 -1参数有误 -2图片大于1MB -3获取上传令牌失败受限 -4其他理由上传失败")]
+ int Api_UploadCface_Byte([Description("机器人QQ")] string 参_响应的QQ,
+ [Description("图片字节集数据,由于易语言DLL限制你可能在这里读到的是\"整数型\" 请自己改成字节集,图片不限PNG JPG 大小1MB以内")]
+ int 参_图片数据);
+
+ ///
+ /// 仅商用版可用 上传头像 接受路径参数 URL 或 本地路径 返回值:0 上传成功 -1参数有误 -2图片大于1MB -3获取上传令牌失败受限 -4其他理由上传失败
+ ///
+ /// 机器人QQ
+ /// 路径 可选URL 或 本地路径 http://www.baidu,com/图片.jpg C:\1.jpg,
+ ///
+ [Description("仅商用版可用 上传头像 接受路径参数 URL 或 本地路径 返回值:0 上传成功 -1参数有误 -2图片大于1MB -3获取上传令牌失败受限 -4其他理由上传失败")]
+ int Api_UploadCface_Path([Description("机器人QQ")] string 参_响应的QQ,
+ [Description("路径 可选URL 或 本地路径 http://www.baidu,com/图片.jpg C:/1.jpg,")]
+ string 参_图片路径);
+
+ ///
+ /// 异步处理被加好友事件 在事件1001下返回值需>30 如50 以强制忽略且确保无其他插件处理
+ ///
+ /// 在事件1001下取得 参_原始信息 填入
+ /// 0忽略 10同意 20拒绝 30单向同意(成为单向好友)
+ /// 拒绝时的附加理由 可以留空
+ ///
+ [Description("异步处理被加好友事件 在事件1001下返回值需>30 如50 以强制忽略且确保无其他插件处理")]
+ void Api_HandleFriendRequestAsync([Description("在事件1001下取得 参_原始信息 填入")] string 参_原始信息,
+ [Description("0忽略 10同意 20拒绝 30单向同意(成为单向好友)")]
+ int 参_处理方式, [Description("拒绝时的附加理由 可以留空")] string 参_附加信息);
+
+ ///
+ /// 异步处理被加群类事件 在事件200x下返回值需>30 如50 以强制忽略且确保无其他插件处理
+ ///
+ /// 机器人QQ
+ /// 在事件200x下取得 参_原始信息 填入
+ /// 0忽略 10同意 20拒绝 30拒绝并不再接受
+ /// 拒绝时的附加理由 可以留空
+ ///
+ [Description("异步处理被加群类事件 在事件200x下返回值需>30 如50 以强制忽略且确保无其他插件处理")]
+ void Api_HandleGroupRequestAsync([Description("机器人QQ")] string 参_响应的QQ,
+ [Description("在事件200x下取得 参_原始信息 填入")] string 参_原始信息, [Description("0忽略 10同意 20拒绝 30拒绝并不再接受")]
+ int 参_处理方式, [Description("拒绝时的附加理由 可以留空")] string 参_附加信息);
}
}
\ No newline at end of file
diff --git a/src/Newbe.Mahua/NativeApi/IQQLightApi.cs b/src/Newbe.Mahua/NativeApi/IQQLightApi.cs
index f844e93..15fca01 100644
--- a/src/Newbe.Mahua/NativeApi/IQQLightApi.cs
+++ b/src/Newbe.Mahua/NativeApi/IQQLightApi.cs
@@ -2,464 +2,635 @@
namespace Newbe.Mahua.NativeApi
{
- // generate at 2019/1/22 14:04:44 +00:00
+ // generate at 2019/12/15 8:54:12 +00:00
public interface IQQLightApi
{
///
- ///
+ /// //给QQ点名片赞,PCQQ点赞不稳定,容易失效
///
- ///
+ ///
///
///
- [Description("")]
- void Api_SendPraise([Description("")] string QQ号, [Description("")] string AuthCode);
+ [Description("//给QQ点名片赞,PCQQ点赞不稳定,容易失效")]
+ void Api_SendPraise([Description("")] string QQID, [Description("")] int AuthCode);
///
- ///
+ /// //抖动好友窗口
///
- ///
+ ///
///
///
- [Description("")]
- void Api_SendShake([Description("")] string QQ号, [Description("")] string AuthCode);
+ [Description("//抖动好友窗口")]
+ void Api_SendShake([Description("")] string QQID, [Description("")] int AuthCode);
///
- ///
+ /// //取得网页操作时需要用到的bkn/Gtk
///
+ ///
///
///
- [Description("")]
- string Api_Getbkn([Description("")] string AuthCode);
+ [Description("//取得网页操作时需要用到的bkn/Gtk")]
+ string Api_Getbkn([Description("")] string Cookies, [Description("")] int AuthCode);
///
- ///
+ /// //取得网页操作时需要用到的bkn/Gtk
///
- ///
+ ///
///
///
- [Description("")]
- void Api_QuitGroup([Description("")] string 群号, [Description("")] string AuthCode);
+ [Description("//取得网页操作时需要用到的bkn/Gtk")]
+ string Api_Getbkn_Long([Description("")] string Cookies, [Description("")] int AuthCode);
///
- ///
+ /// //退出群
///
- ///
+ ///
///
///
- [Description("")]
- void Api_QuitDiscussGroup([Description("")] string 讨论组号, [Description("")] string AuthCode);
+ [Description("//退出群")]
+ void Api_QuitGroup([Description("")] string GroupID, [Description("")] int AuthCode);
///
- ///
+ /// //退出讨论组
///
- ///
+ ///
///
///
- [Description("")]
- void Api_SetSignature([Description("")] string 个性签名, [Description("")] string AuthCode);
+ [Description("//退出讨论组")]
+ void Api_QuitDiscussGroup([Description("")] string GroupID, [Description("")] int AuthCode);
///
- ///
+ /// //修改个性签名
///
- ///
- ///
+ ///
///
///
- [Description("")]
- void Api_SetDiscussName([Description("")] string 讨论组号, [Description("")] string 名称,
- [Description("")] string AuthCode);
+ [Description("//修改个性签名")]
+ void Api_SetSignature([Description("")] string Signature, [Description("")] int AuthCode);
///
- ///
+ /// //修改讨论组名称
///
- ///
- ///
+ ///
+ ///
///
///
- [Description("")]
- void Api_BanGroup([Description("")] string 群号, [Description("")] bool 是否全群禁言,
- [Description("")] string AuthCode);
+ [Description("//修改讨论组名称")]
+ void Api_SetDiscussName([Description("")] string DiscussGroupID, [Description("")] string Name,
+ [Description("")] int AuthCode);
///
- ///
+ /// //修改群名称
///
- ///
+ ///
+ ///
///
///
- [Description("")]
- void Api_RemoveGroup([Description("")] string 群号, [Description("")] string AuthCode);
+ [Description("//修改群名称")]
+ void Api_SetGroupName([Description("")] string GroupID, [Description("")] string Name,
+ [Description("")] int AuthCode);
///
- ///
+ /// //设置全群禁言
///
- ///
- ///
- /// 真,设置 假,取消
+ ///
+ /// 真 开启全群禁言 假 关闭全群禁言
///
///
- [Description("")]
- void Api_SetManager([Description("")] string 群号, [Description("")] string QQ号,
- [Description("真,设置 假,取消")] bool 是否设置为管理员, [Description("")] string AuthCode);
+ [Description("//设置全群禁言")]
+ void Api_BanGroup([Description("")] string GroupID, [Description("真 开启全群禁言 假 关闭全群禁言")] bool IsBanGroup,
+ [Description("")] int AuthCode);
///
- ///
+ /// //设置管理员权限
///
- ///
+ ///
+ ///
+ /// 真,设置 假,取消
+ ///
+ ///
+ [Description("//设置管理员权限")]
+ void Api_SetManager([Description("")] string GroupID, [Description("")] string QQID,
+ [Description("真,设置 假,取消")] bool IsManager, [Description("")] int AuthCode);
+
+ ///
+ /// //禁言群成员
+ ///
+ ///
///
- /// 单位:秒 0为解除禁言
+ /// 单位:秒 0为解除禁言
///
///
- [Description("")]
- void Api_Ban([Description("")] string 群号, [Description("")] string QQ, [Description("单位:秒 0为解除禁言")] int 禁言时长,
- [Description("")] string AuthCode);
+ [Description("//禁言群成员")]
+ void Api_Ban([Description("")] string GroupID, [Description("")] string QQ,
+ [Description("单位:秒 0为解除禁言")] int time, [Description("")] int AuthCode);
///
- ///
+ /// //修改匿名权限
///
- ///
- ///
+ ///
+ /// 真 允许匿名 假 禁止匿名
///
///
- [Description("")]
- void Api_SetAnony([Description("")] string 群号, [Description("")] bool 是否允许匿名聊天,
- [Description("")] string AuthCode);
+ [Description("//修改匿名权限")]
+ void Api_SetAnony([Description("")] string GroupID, [Description("真 允许匿名 假 禁止匿名")] bool IsSetAnony,
+ [Description("")] int AuthCode);
///
- ///
+ /// //踢出群成员
///
- ///
- ///
- ///
+ ///
+ ///
+ /// 不再接受此人加群
///
///
- [Description("")]
- void Api_RemoveMember([Description("")] string 群号, [Description("")] string QQ号,
- [Description("")] bool 是否不再接收加群申请, [Description("")] string AuthCode);
+ [Description("//踢出群成员")]
+ void Api_RemoveMember([Description("")] string GroupID, [Description("")] string QQID,
+ [Description("不再接受此人加群")] bool IsBan, [Description("")] int AuthCode);
///
- ///
+ /// //解散群
///
+ /// 群号
///
///
- [Description("")]
- string Api_GetCookies([Description("")] string AuthCode);
+ [Description("//解散群")]
+ void Api_RemoveGroup([Description("群号")] string GroupID, [Description("")] int AuthCode);
///
- ///
+ /// //取得操作网页所需要的Cookies
///
///
///
- [Description("")]
- string Api_GetClientKey([Description("")] string AuthCode);
+ [Description("//取得操作网页所需要的Cookies")]
+ string Api_GetCookies([Description("")] int AuthCode);
///
- ///
+ /// //取得QQ空间Token
///
///
///
- [Description("")]
- string Api_GetLoginQQ([Description("")] string AuthCode);
+ [Description("//取得QQ空间Token")]
+ string Api_GetQzoneToken([Description("")] int AuthCode);
///
- /// 是否开启/关闭
+ /// //取得QQ空间Cookies
///
///
///
- [Description("是否开启/关闭")]
- bool Api_GetPluginState([Description("")] string AuthCode);
+ [Description("//取得QQ空间Cookies")]
+ string Api_GetQzoneCookies([Description("")] int AuthCode);
///
- /// 框架为插件所创建的一个目录
+ /// //发表说说
///
+ ///
///
///
- [Description("框架为插件所创建的一个目录")]
- string Api_GetPath([Description("")] string AuthCode);
+ [Description("//发表说说")]
+ string Api_SendTaotao([Description("")] string Str, [Description("")] int AuthCode);
///
- /// 机器人发送消息
+ /// //取得所登录的QQ
///
- /// 1.好友消息 2.群消息 3.群临时消息 4.讨论组消息 5.讨论组临时消息 6.QQ临时消息
- ///
- /// 类型为2,4时可留空
- ///
///
///
- [Description("机器人发送消息")]
- void Api_SendMsg([Description("1.好友消息 2.群消息 3.群临时消息 4.讨论组消息 5.讨论组临时消息 6.QQ临时消息")]
- int 类型, [Description("")] string 群组, [Description("类型为2,4时可留空")] string QQ号, [Description("")] string 内容,
- [Description("")] string AuthCode);
+ [Description("//取得所登录的QQ")]
+ string Api_GetLoginQQ([Description("")] int AuthCode);
///
- /// 处理加群消息
+ /// //框架为插件所创建的插件目录
///
- ///
- ///
+ ///
+ ///
+ [Description("//框架为插件所创建的插件目录")]
+ string Api_GetPath([Description("")] int AuthCode);
+
+ ///
+ /// //置插件错误管理
+ ///
+ ///
+ ///
+ ///
+ ///
+ [Description("//置插件错误管理")]
+ string Api_Error([Description("")] string Code, [Description("")] string Str, [Description("")] int AuthCode);
+
+ ///
+ /// //机器人发送消息,返回值为该条消息的ID
+ ///
+ /// 1.好友消息 2.群消息 3.群临时消息 4.讨论组消息 5.讨论组临时消息 6.QQ临时消息
+ ///
+ /// 类型为2,4时可留空
+ ///
+ ///
+ ///
+ [Description("//机器人发送消息,返回值为该条消息的ID")]
+ string Api_SendMsg([Description("1.好友消息 2.群消息 3.群临时消息 4.讨论组消息 5.讨论组临时消息 6.QQ临时消息")]
+ int Type, [Description("")] string GroupID, [Description("类型为2,4时可留空")] string QQID,
+ [Description("")] string Msg, [Description("")] int AuthCode);
+
+ ///
+ /// //处理加群消息
+ ///
+ ///
+ ///
///
- /// 1.同意 2.拒绝 3.忽略
- /// 参数可为空,且为 拒绝 时有效
+ /// 1.同意 2.拒绝 3.忽略
+ /// 参数可为空,且为 拒绝 时有效
///
///
- [Description("处理加群消息")]
- void Api_SetGroupAdd([Description("")] string 群号, [Description("")] string QQ号, [Description("")] string Seq,
- [Description("1.同意 2.拒绝 3.忽略")] int 操作方式, [Description("参数可为空,且为 拒绝 时有效")] string 拒绝理由,
- [Description("")] string AuthCode);
+ [Description("//处理加群消息")]
+ void Api_SetGroupAdd([Description("")] string GroupID, [Description("")] string QQID,
+ [Description("")] string Seq, [Description("1.同意 2.拒绝 3.忽略")] int Type,
+ [Description("参数可为空,且为 拒绝 时有效")] string Reason, [Description("")] int AuthCode);
///
- /// 处理加好友消息
+ /// //处理加好友消息
///
- ///
- /// 1.同意 2.拒绝 3.忽略
- /// 参数可为空,且为 拒绝 时有效
+ ///
+ /// 1.同意 2.拒绝 3.忽略
+ /// 参数可为空,且为 拒绝 时有效
///
///
- [Description("处理加好友消息")]
- void Api_SetFriendAdd([Description("")] string QQ号, [Description("1.同意 2.拒绝 3.忽略")] int 操作方式,
- [Description("参数可为空,且为 拒绝 时有效")] string 拒绝理由, [Description("")] string AuthCode);
+ [Description("//处理加好友消息")]
+ void Api_SetFriendAdd([Description("")] string QQID, [Description("1.同意 2.拒绝 3.忽略")] int Type,
+ [Description("参数可为空,且为 拒绝 时有效")] string Reason, [Description("")] int AuthCode);
///
- ///
+ /// //向框架推送一条日志
///
- ///
- ///
- ///
+ /// 日志类型(自定义)
+ /// 日志内容
+ /// 日志颜色
///
///
- [Description("")]
- void Api_SendLog([Description("")] string 类型, [Description("")] string 内容, [Description("")] int 字体颜色,
- [Description("")] string AuthCode);
+ [Description("//向框架推送一条日志")]
+ void Api_SendLog([Description("日志类型(自定义)")] string Type, [Description("日志内容")] string Msg,
+ [Description("日志颜色")] int FontColor, [Description("")] int AuthCode);
+
+ ///
+ /// //修改好友备注
+ ///
+ ///
+ ///
+ ///
+ ///
+ [Description("//修改好友备注")]
+ void Api_SetFriendName([Description("")] string QQID, [Description("")] string Name,
+ [Description("")] int AuthCode);
+
+ ///
+ /// //删除好友
+ ///
+ ///
+ ///
+ ///
+ [Description("//删除好友")]
+ void Api_DeleteFriend([Description("")] string QQID, [Description("")] int AuthCode);
+
+ ///
+ /// //主动添加群
+ ///
+ ///
+ ///
+ ///
+ ///
+ [Description("//主动添加群")]
+ void Api_AddGroup([Description("")] string GroupID, [Description("")] string 附加信息,
+ [Description("")] int AuthCode);
+
+ ///
+ /// //主动添加好友
+ ///
+ ///
+ ///
+ ///
+ ///
+ [Description("//主动添加好友")]
+ void Api_AddFriend([Description("")] string QQID, [Description("")] string Info,
+ [Description("")] int AuthCode);
+
+ ///
+ /// //返回卡片点歌JSON代码
+ ///
+ ///
+ ///
+ ///
+ [Description("//返回卡片点歌JSON代码")]
+ string Api_JsonMusic([Description("")] string SongID, [Description("")] int AuthCode);
+
+ ///
+ /// //取得群内成员的名片
+ ///
+ ///
+ ///
+ ///
+ ///
+ [Description("//取得群内成员的名片")]
+ string Api_GetGroupCard([Description("")] string GroupID, [Description("")] string QQID,
+ [Description("")] int AuthCode);
+
+ ///
+ /// //取指定QQ的昵称
+ ///
+ ///
+ ///
+ ///
+ [Description("//取指定QQ的昵称")]
+ string Api_GetNick([Description("")] string QQID, [Description("")] int AuthCode);
///
///
///
- ///
- ///
+ ///
///
///
[Description("")]
- void Api_SetFriendName([Description("")] string 好友QQ, [Description("")] string 备注名,
- [Description("")] string AuthCode);
+ string Api_GetGroupName([Description("")] string GroupID, [Description("")] int AuthCode);
///
///
///
- ///
///
///
[Description("")]
- void Api_DeleteFriend([Description("")] string 好友QQ, [Description("")] string AuthCode);
+ string Api_GetSoftVersion([Description("")] int AuthCode);
///
///
///
- ///
- ///
+ ///
///
///
[Description("")]
- void Api_AddGroup([Description("")] string 群号, [Description("")] string 附加信息,
- [Description("")] string AuthCode);
+ string Api_GetGroupIntroduce([Description("")] string GroupID, [Description("")] int AuthCode);
///
///
///
- ///
- ///
+ ///
///
///
[Description("")]
- void Api_AddFriend([Description("")] string 目标QQ, [Description("")] string 附加信息,
- [Description("")] string AuthCode);
+ string Api_GetGroupOwner([Description("")] string GroupID, [Description("")] int AuthCode);
///
- /// 返回网易云点歌XML
+ /// //修改群成员的名片
///
- ///
+ ///
+ ///
+ ///
///
///
- [Description("返回网易云点歌XML")]
- string Api_163Music([Description("")] string 歌曲ID, [Description("")] string AuthCode);
+ [Description("//修改群成员的名片")]
+ void Api_SetGroupCard([Description("")] string GroupID, [Description("")] string QQID,
+ [Description("")] string NewCard, [Description("")] int AuthCode);
///
- /// 返回QQ点歌XML
+ /// //取得某个QQ的名片赞数量
///
- ///
+ ///
///
///
- [Description("返回QQ点歌XML")]
- string Api_QQMusic([Description("")] string 歌曲ID, [Description("")] string AuthCode);
+ [Description("//取得某个QQ的名片赞数量")]
+ string Api_GetPraiseNum([Description("")] string QQID, [Description("")] int AuthCode);
///
- /// 返回Json点歌XML
+ /// //取得某个QQ的等级
///
- ///
+ ///
///
///
- [Description("返回Json点歌XML")]
- string Api_JsonMusic([Description("")] string 歌曲ID, [Description("")] string AuthCode);
+ [Description("//取得某个QQ的等级")]
+ int Api_GetQQLevel([Description("")] string QQID, [Description("")] int AuthCode);
///
- /// 置插件错误管理
+ ///
///
- ///
- ///
+ ///
///
///
- [Description("置插件错误管理")]
- string Api_Error([Description("")] string Code, [Description("")] string Str,
- [Description("")] string AuthCode);
+ [Description("")]
+ void Api_SetNick([Description("")] string NewNick, [Description("")] int AuthCode);
///
- /// 取得群内成员的名片
+ ///
///
- ///
- ///
+ ///
+ ///
///
///
- [Description("取得群内成员的名片")]
- string Api_GetGroupCard([Description("")] string 群号, [Description("")] string QQ号,
- [Description("")] string AuthCode);
+ [Description("")]
+ string Api_Taotaodolike([Description("")] string QQID, [Description("")] string URL,
+ [Description("")] int AuthCode);
///
- /// 取得某个QQ的昵称
+ ///
///
- ///
+ ///
+ ///
+ ///
///
///
- [Description("取得某个QQ的昵称")]
- string Api_GetNick([Description("")] string QQ号, [Description("")] string AuthCode);
+ [Description("")]
+ string Api_Taotaofeeds([Description("")] string QQID, [Description("")] string URL,
+ [Description("")] string Content, [Description("")] int AuthCode);
///
- /// 修改群内成员的名片
+ ///
///
- ///
- ///
- ///
+ ///
///
///
- [Description("修改群内成员的名片")]
- void Api_SetGroupCard([Description("")] string 群号, [Description("")] string QQ号, [Description("")] string 新名片,
- [Description("")] string AuthCode);
+ [Description("")]
+ int Api_GetQQAge([Description("")] string QQID, [Description("")] int AuthCode);
///
- /// 取得某个QQ的名片赞数量
+ ///
///
- ///
+ ///
///
///
- [Description("取得某个QQ的名片赞数量")]
- string Api_GetPraiseNum([Description("")] string QQ号, [Description("")] string AuthCode);
+ [Description("")]
+ int Api_GetQQSex([Description("")] string QQID, [Description("")] int AuthCode);
///
- /// 以JSON形式取得好友列表
+ /// //以JSON形式取得好友列表
///
+ ///
///
///
- [Description("以JSON形式取得好友列表")]
- string Api_GetFriendList([Description("")] string AuthCode);
+ [Description("//以JSON形式取得好友列表")]
+ string Api_GetFriendList([Description("")] bool Cache, [Description("")] int AuthCode);
///
- /// 以JSON形式取得群列表
+ /// //以JSON形式取得群列表
///
+ ///
///
///
- [Description("以JSON形式取得群列表")]
- string Api_GetGroupList([Description("")] string AuthCode);
+ [Description("//以JSON形式取得群列表")]
+ string Api_GetGroupList([Description("")] bool Cache, [Description("")] int AuthCode);
///
- /// 以JSON形式取得群成员列表
+ /// //以JSON形式取得群成员列表
///
- ///
+ ///
+ ///
///
///
- [Description("以JSON形式取得群成员列表")]
- string Api_GetGroupMemberList([Description("")] string 群号, [Description("")] string AuthCode);
+ [Description("//以JSON形式取得群成员列表")]
+ string Api_GetGroupMemberList([Description("")] string GroupID, [Description("")] bool Cache,
+ [Description("")] int AuthCode);
///
- /// 以JSON形式取得某QQ个人信息
+ /// //以JSON形式取得某QQ个人信息
///
- ///
+ ///
///
///
- [Description("以JSON形式取得某QQ个人信息")]
- string Api_GetQQInfo([Description("")] string QQ号, [Description("")] string AuthCode);
+ [Description("//以JSON形式取得某QQ个人信息")]
+ string Api_GetQQInfo([Description("")] string QQID, [Description("")] int AuthCode);
///
- /// 以JSON形式取得某群信息
+ /// //以JSON形式取得某群信息
///
- ///
+ ///
///
///
- [Description("以JSON形式取得某群信息")]
- string Api_GetGroupInfo([Description("")] string 群号, [Description("")] string AuthCode);
+ [Description("//以JSON形式取得某群信息")]
+ string Api_GetGroupInfo([Description("")] string GroupID, [Description("")] int AuthCode);
///
- /// 让机器人快速重启
+ /// //撤回自身消息 发出消息不可以秒撤回,腾讯限制,1~2s后才可撤回
///
+ /// 1.好友消息 2.群消息 3.群临时消息 4.讨论组消息 5.讨论组临时消息 6.QQ临时消息
+ /// 撤回群消息、群临时消息、讨论组消息、讨论组临时消息必须填写,其余情况可留空
+ /// 撤回好友消息、群临时消息、讨论组临时消息、QQ临时消息必须填写,其余情况可留空
+ /// 撤回的消息ID,机器人发送消息会返回自身的消息ID
///
///
- [Description("让机器人快速重启")]
- string Api_Restart([Description("")] string AuthCode);
+ [Description("//撤回自身消息 发出消息不可以秒撤回,腾讯限制,1~2s后才可撤回")]
+ void Api_DeleteMsg([Description("1.好友消息 2.群消息 3.群临时消息 4.讨论组消息 5.讨论组临时消息 6.QQ临时消息")]
+ int Type, [Description("撤回群消息、群临时消息、讨论组消息、讨论组临时消息必须填写,其余情况可留空")]
+ string GroupID, [Description("撤回好友消息、群临时消息、讨论组临时消息、QQ临时消息必须填写,其余情况可留空")]
+ string QQID, [Description("撤回的消息ID,机器人发送消息会返回自身的消息ID")]
+ string MsgID, [Description("")] int AuthCode);
///
- /// 让机器人刷新插件
+ /// //改变QQ在线状态
///
+ /// 1.我在线上 2.Q我吧 3.离开 4.忙碌 5.请勿打扰 6.隐身
///
///
- [Description("让机器人刷新插件")]
- string Api_UpdatePlugin([Description("")] string AuthCode);
+ [Description("//改变QQ在线状态")]
+ void Api_SetQQState([Description("1.我在线上 2.Q我吧 3.离开 4.忙碌 5.请勿打扰 6.隐身")]
+ int Type, [Description("")] int AuthCode);
///
- /// 撤回群成员的消息 机器人必须为管理员
+ /// //邀请好友入群
///
- ///
- ///
+ ///
+ ///
+ ///
+ ///
+ [Description("//邀请好友入群")]
+ void Api_InviteFriend([Description("")] string GroupID, [Description("")] string QQID,
+ [Description("")] int AuthCode);
+
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ [Description("")]
+ string Api_GetQQInfo_v2([Description("")] string QQID, [Description("")] int AuthCode);
+
+ ///
+ /// //取消COM库
+ ///
+ ///
+ [Description("//取消COM库")]
+ void CoUninitialize();
+
+ ///
+ /// //初始化COM库
+ ///
+ ///
+ ///
+ [Description("//初始化COM库")]
+ void CoInitialize([Description("")] int pvReserved);
+
+ ///
+ /// //上传图片,获得图片GUID,
+ ///
+ /// 1.私聊图片 2.群聊图片
+ /// 私聊图片填写QQID,群聊/讨论组图片填写群号讨论组号
+ /// 图片的Hex流
///
///
- [Description("撤回群成员的消息 机器人必须为管理员")]
- string Api_DeleteMsg([Description("")] string 群号, [Description("")] string 消息ID,
- [Description("")] string AuthCode);
+ [Description("//上传图片,获得图片GUID,")]
+ string Api_UpLoadPic([Description("1.私聊图片 2.群聊图片")] int Type, [Description("私聊图片填写QQID,群聊/讨论组图片填写群号讨论组号")]
+ string 对象, [Description("图片的Hex流")] string Bin, [Description("")] int AuthCode);
///
- /// 改变QQ在线状态
+ /// //设置插件状态,开启或关闭
///
- /// 1.我在线上 2.Q我吧 3.离开 4.忙碌 5.请勿打扰 6.隐身
+ /// 真:启用自身 假:关闭自身
///
///
- [Description("改变QQ在线状态")]
- string Api_SetQQState([Description("1.我在线上 2.Q我吧 3.离开 4.忙碌 5.请勿打扰 6.隐身")]
- int 类型, [Description("")] string AuthCode);
+ [Description("//设置插件状态,开启或关闭")]
+ string Api_SetPluginState([Description("真:启用自身 假:关闭自身")] bool State, [Description("")] int AuthCode);
///
///
///
///
- ///
+ ///
///
///
[Description("")]
- void Api_InviteFriend([Description("")] string 群号, [Description("")] string 好友QQ,
- [Description("")] string AuthCode);
+ void Api_DeleteFile([Description("")] string 群号, [Description("")] string 文件GUID,
+ [Description("")] int AuthCode);
///
///
///
- ///
+ ///
+ ///
+ ///
///
///
[Description("")]
- string Api_GetQQinfo_v2([Description("")] string QQ号, [Description("")] string AuthCode);
+ void Api_RepeatFile([Description("")] string 来源对象, [Description("")] string 转发群号,
+ [Description("")] string 文件GUID, [Description("")] int AuthCode);
///
///
///
- ///
- ///
- /// Hex形式
///
///
[Description("")]
- string Api_UpLoadPic([Description("")] int 类型, [Description("")] string 对象, [Description("Hex形式")] string 图片字节集,
- [Description("")] string AuthCode);
+ void Api_ClearOffLineFile([Description("")] int AuthCode);
+
+ ///
+ ///
+ ///
+ ///
+ ///
+ /// 址
+ ///
+ /// 址
+ ///
+ ///
+ ///
+ ///
+ [Description("")]
+ int WideCharToMultiByte([Description("")] int CodePage, [Description("")] int dwFlags,
+ [Description("址")] byte[] lpWideCharStr, [Description("")] int cchWideChar,
+ [Description("址")] string lpMultiByteStr, [Description("")] int cchMultiByte,
+ [Description("")] int lpDefaultChar, [Description("")] int lpUsedDefaultChar);
}
}
\ No newline at end of file
diff --git a/src/Newbe.Mahua/Newbe.Mahua.csproj b/src/Newbe.Mahua/Newbe.Mahua.csproj
index 6946ce6..cde4665 100644
--- a/src/Newbe.Mahua/Newbe.Mahua.csproj
+++ b/src/Newbe.Mahua/Newbe.Mahua.csproj
@@ -7,7 +7,7 @@
-
+
diff --git a/src/Newbe.Tools.ELang2CSharp/ELangFuncResolver.cs b/src/Newbe.Tools.ELang2CSharp/ELangFuncResolver.cs
index d170286..7ee037e 100644
--- a/src/Newbe.Tools.ELang2CSharp/ELangFuncResolver.cs
+++ b/src/Newbe.Tools.ELang2CSharp/ELangFuncResolver.cs
@@ -32,7 +32,7 @@ IEnumerable IELangFuncResolver.Resolve(string content)
var strArray = str1.Split(',');
elangFunc.Name = strArray[3].Trim('"', ' ');
elangFunc.ReturnType = strArray[1].Trim();
- elangFunc.Summary = strArray.Length > 4 ? strArray[5].Trim() : string.Empty;
+ elangFunc.Summary = strArray.Length > 5 ? strArray[5].Trim() : string.Empty;
if (array1.Length > 1)
{
var elangParameterList = new List();
diff --git a/src/Newbe.Tools.ELang2CSharp/Newbe.Tools.ELang2CSharp.csproj b/src/Newbe.Tools.ELang2CSharp/Newbe.Tools.ELang2CSharp.csproj
index f4d2e25..4aa483f 100644
--- a/src/Newbe.Tools.ELang2CSharp/Newbe.Tools.ELang2CSharp.csproj
+++ b/src/Newbe.Tools.ELang2CSharp/Newbe.Tools.ELang2CSharp.csproj
@@ -2,10 +2,20 @@
net461
+ Exe
-
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Newbe.Tools.ELang2CSharp/Program.cs b/src/Newbe.Tools.ELang2CSharp/Program.cs
index 3a3202c..7128ff6 100644
--- a/src/Newbe.Tools.ELang2CSharp/Program.cs
+++ b/src/Newbe.Tools.ELang2CSharp/Program.cs
@@ -1,10 +1,4 @@
-// Decompiled with JetBrains decompiler
-// Type: Newbe.Tools.ELang2CSharp.Program
-// Assembly: Newbe.Tools.ELang2CSharp, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
-// MVID: 62AA77D5-9712-46DA-939A-E91A7F96C1CF
-// Assembly location: D:\Codes\新建文件夹\Newbe.Tools.ELang2CSharp.exe
-
-using CommandLine;
+using CommandLine;
using System;
using System.Collections.Generic;
using System.IO;
diff --git a/src/Newbe.Tools.ELang2CSharp/source/cqp.cs b/src/Newbe.Tools.ELang2CSharp/source/cqp.cs
new file mode 100644
index 0000000..ecc3915
--- /dev/null
+++ b/src/Newbe.Tools.ELang2CSharp/source/cqp.cs
@@ -0,0 +1,1079 @@
+// generate at 2019/12/15 12:07:28 +00:00
+public interface ICqpApi{
+///
+/// 发送好友消息
+///
+///
+/// 目标帐号
+/// 消息内容
+///
+[Description("发送好友消息")]int CQ_sendPrivateMsg([Description("")] int AuthCode,[Description("目标帐号")] long Account,[Description("消息内容")] string msg);
+///
+/// 发送群消息
+///
+///
+/// 目标群
+/// 消息内容
+///
+[Description("发送群消息")]int CQ_sendGroupMsg([Description("")] int AuthCode,[Description("目标群")] long 群号,[Description("消息内容")] string msg);
+///
+/// 发送讨论组消息
+///
+///
+/// 目标讨论组
+/// 消息内容
+///
+[Description("发送讨论组消息")]int CQ_sendDiscussMsg([Description("")] int AuthCode,[Description("目标讨论组")] long 讨论组号,[Description("消息内容")] string msg);
+///
+/// 撤回消息
+///
+///
+/// 消息ID
+///
+[Description("撤回消息")]int CQ_deleteMsg([Description("")] int AuthCode,[Description("消息ID")] long MsgId);
+///
+/// 发送赞
+///
+///
+/// 目标帐号
+/// 赞的次数,最多10次
+///
+[Description("发送赞")]int CQ_sendLikeV2([Description("")] int AuthCode,[Description("目标帐号")] long Account,[Description("赞的次数,最多10次")] int times);
+///
+/// 取Cookies(慎用
+///
+///
+/// 目标域名,如 api.example.com
+///
+[Description("取Cookies(慎用")]string CQ_getCookiesV2([Description("")] int AuthCode,[Description("目标域名,如 api.example.com")] string domain);
+///
+/// 【已弃用】接收语音,并返回语音文件相对路径
+///
+///
+/// 收到消息中的语音文件名(file)
+/// 应用所需的格式
+///
+[Description("【已弃用】接收语音,并返回语音文件相对路径")]string CQ_getRecord([Description("")] int AuthCode,[Description("收到消息中的语音文件名(file)")] string file,[Description("应用所需的格式")] string outformat);
+///
+/// 接收语音,并返回语音文件绝对路径
+///
+///
+/// 收到消息中的语音文件名(file)
+/// 应用所需的格式
+///
+[Description("接收语音,并返回语音文件绝对路径")]string CQ_getRecordV2([Description("")] int AuthCode,[Description("收到消息中的语音文件名(file)")] string file,[Description("应用所需的格式")] string outformat);
+///
+/// 接收图片,并返回图片文件绝对路径
+///
+///
+/// 收到消息中的图片文件名(file)
+///
+[Description("接收图片,并返回图片文件绝对路径")]string CQ_getImage([Description("")] int AuthCode,[Description("收到消息中的图片文件名(file)")] string file);
+///
+/// 是否支持发送图片,返回大于 0 为支持,等于 0 为不支持
+///
+///
+///
+[Description("是否支持发送图片,返回大于 0 为支持,等于 0 为不支持")]int CQ_canSendImage([Description("")] int AuthCode);
+///
+/// 是否支持发送语音,返回大于 0 为支持,等于 0 为不支持
+///
+///
+///
+[Description("是否支持发送语音,返回大于 0 为支持,等于 0 为不支持")]int CQ_canSendRecord([Description("")] int AuthCode);
+///
+/// 取CsrfToken(慎用
+///
+///
+///
+[Description("取CsrfToken(慎用")]int CQ_getCsrfToken([Description("")] int AuthCode);
+///
+/// 取应用目录
+///
+///
+///
+[Description("取应用目录")]string CQ_getAppDirectory([Description("")] int AuthCode);
+///
+/// 取登录帐号
+///
+///
+///
+[Description("取登录帐号")]long CQ_getLoginQQ([Description("")] int AuthCode);
+///
+/// 取登录昵称
+///
+///
+///
+[Description("取登录昵称")]string CQ_getLoginNick([Description("")] int AuthCode);
+///
+/// 置群员移除
+///
+///
+/// 目标群
+/// 目标帐号
+/// 如果为真,则“不再接收此人加群申请”,请慎用
+///
+[Description("置群员移除")]int CQ_setGroupKick([Description("")] int AuthCode,[Description("目标群")] long 群号,[Description("目标帐号")] long Account,[Description("如果为真,则“不再接收此人加群申请”,请慎用")] bool 拒绝再加群);
+///
+/// 置群员禁言
+///
+///
+/// 目标群
+/// 目标帐号
+/// 禁言的时间,单位为秒。如果要解禁,这里填写0
+///
+[Description("置群员禁言")]int CQ_setGroupBan([Description("")] int AuthCode,[Description("目标群")] long 群号,[Description("目标帐号")] long Account,[Description("禁言的时间,单位为秒。如果要解禁,这里填写0")] long 禁言时间);
+///
+/// 置群管理员
+///
+///
+/// 目标群
+/// 被设置的帐号
+/// 真/设置管理员 假/取消管理员
+///
+[Description("置群管理员")]int CQ_setGroupAdmin([Description("")] int AuthCode,[Description("目标群")] long 群号,[Description("被设置的帐号")] long Account,[Description("真/设置管理员 假/取消管理员")] bool 成为管理员);
+///
+/// 置群成员专属头衔
+///
+///
+/// 目标群
+/// 目标帐号
+/// 如果要删除,这里填空
+/// 专属头衔有效期,单位为秒。如果永久有效,这里填写-1
+///
+[Description("置群成员专属头衔")]int CQ_setGroupSpecialTitle([Description("")] int AuthCode,[Description("目标群")] long 群号,[Description("目标帐号")] long Account,[Description("如果要删除,这里填空")] string 头衔,[Description("专属头衔有效期,单位为秒。如果永久有效,这里填写-1")] long 过期时间);
+///
+/// 置全群禁言
+///
+///
+/// 目标群
+/// 真/开启 假/关闭
+///
+[Description("置全群禁言")]int CQ_setGroupWholeBan([Description("")] int AuthCode,[Description("目标群")] long 群号,[Description("真/开启 假/关闭")] bool 开启禁言);
+///
+/// 置匿名群员禁言
+///
+///
+/// 目标群
+/// 群消息事件收到的“匿名”参数
+/// 禁言的时间,单位为秒。不支持解禁
+///
+[Description("置匿名群员禁言")]int CQ_setGroupAnonymousBan([Description("")] int AuthCode,[Description("目标群")] long 群号,[Description("群消息事件收到的“匿名”参数")] string 匿名,[Description("禁言的时间,单位为秒。不支持解禁")] long 禁言时间);
+///
+/// 置群匿名设置
+///
+///
+///
+///
+///
+[Description("置群匿名设置")]int CQ_setGroupAnonymous([Description("")] int AuthCode,[Description("")] long 群号,[Description("")] bool 开启匿名);
+///
+/// 置群成员名片
+///
+///
+/// 目标群
+/// 被设置的帐号
+///
+///
+[Description("置群成员名片")]int CQ_setGroupCard([Description("")] int AuthCode,[Description("目标群")] long 群号,[Description("被设置的帐号")] long Account,[Description("")] string 新名片_昵称);
+///
+/// 置群退出
+///
+///
+/// 目标群
+/// 真/解散本群(群主) 假/退出本群(管理、群成员)
+///
+[Description("置群退出")]int CQ_setGroupLeave([Description("")] int AuthCode,[Description("目标群")] long 群号,[Description("真/解散本群(群主) 假/退出本群(管理、群成员)")] bool 是否解散);
+///
+/// 置讨论组退出
+///
+///
+/// 目标讨论组
+///
+[Description("置讨论组退出")]int CQ_setDiscussLeave([Description("")] int AuthCode,[Description("目标讨论组")] long 讨论组号);
+///
+/// 置好友添加请求
+///
+///
+/// 请求事件收到的“反馈标识”参数
+/// #请求_通过 或 #请求_拒绝
+/// 添加后的好友备注
+///
+[Description("置好友添加请求")]int CQ_setFriendAddRequest([Description("")] int AuthCode,[Description("请求事件收到的“反馈标识”参数")] string 请求反馈标识,[Description("#请求_通过 或 #请求_拒绝")] int 反馈类型,[Description("添加后的好友备注")] string 备注);
+///
+/// 置群添加请求
+///
+///
+/// 请求事件收到的“反馈标识”参数
+/// 根据请求事件的子类型区分 #请求_群添加 或 #请求_群邀请
+/// #请求_通过 或 #请求_拒绝
+/// 操作理由,仅 #请求_群添加 且 #请求_拒绝 时可用
+///
+[Description("置群添加请求")]int CQ_setGroupAddRequestV2([Description("")] int AuthCode,[Description("请求事件收到的“反馈标识”参数")] string 请求反馈标识,[Description("根据请求事件的子类型区分 #请求_群添加 或 #请求_群邀请")] int 请求类型,[Description("#请求_通过 或 #请求_拒绝")] int 反馈类型,[Description("操作理由,仅 #请求_群添加 且 #请求_拒绝 时可用")] string 理由);
+///
+/// 增加运行日志
+///
+///
+/// #Log_ 开头常量
+///
+///
+///
+[Description("增加运行日志")]int CQ_addLog([Description("")] int AuthCode,[Description("#Log_ 开头常量")] int 优先级,[Description("")] string 类型,[Description("")] string 内容);
+///
+/// 置致命错误提示
+///
+///
+///
+///
+[Description("置致命错误提示")]int CQ_setFatal([Description("")] int AuthCode,[Description("")] string 错误信息);
+///
+/// 取群成员信息(支持缓存)
+///
+///
+/// 目标帐号所在群
+/// 目标帐号
+///
+///
+[Description("取群成员信息(支持缓存)")]string CQ_getGroupMemberInfoV2([Description("")] int AuthCode,[Description("目标帐号所在群")] long 群号,[Description("目标帐号")] long Account,[Description("")] bool 不使用缓存);
+///
+/// 取群成员列表
+///
+///
+/// 目标帐号所在群
+///
+[Description("取群成员列表")]string CQ_getGroupMemberList([Description("")] int AuthCode,[Description("目标帐号所在群")] long 群号);
+///
+/// 取群列表
+///
+///
+///
+[Description("取群列表")]string CQ_getGroupList([Description("")] int AuthCode);
+///
+/// 取好友列表
+///
+///
+/// 保留参数,请传入“假”
+///
+[Description("取好友列表")]string CQ_getFriendList([Description("")] int AuthCode,[Description("保留参数,请传入“假”")] bool reserved);
+///
+/// 取陌生人信息(支持缓存)
+///
+///
+/// 目标帐号
+///
+///
+[Description("取陌生人信息(支持缓存)")]string CQ_getStrangerInfo([Description("")] int AuthCode,[Description("目标帐号")] long Account,[Description("")] bool 不使用缓存);
+///
+/// 取群信息(支持缓存)
+///
+///
+/// 目标群
+///
+///
+[Description("取群信息(支持缓存)")]string CQ_getGroupInfo([Description("")] int AuthCode,[Description("目标群")] long 群号,[Description("")] bool 不使用缓存);
+///
+///
+///
+/// 址
+/// 址
+///
+///
+/// 址
+/// 0
+/// 0
+///
+[Description("")]bool CryptStringToBinaryA([Description("址")] string pszString,[Description("址")] int cchString,[Description("")] int dwFlags,[Description("")] int pbBinary,[Description("址")] int pcbBinary,[Description("0")] int pdwSkip,[Description("0")] int pdwFlags);
+///
+///
+///
+/// 址
+/// 址
+///
+/// 址
+/// 址
+/// 0
+/// 0
+///
+[Description("")]bool CryptStringToBinaryA([Description("址")] string pszString,[Description("址")] int cchString,[Description("")] int dwFlags,[Description("址")] byte[] pbBinary,[Description("址")] int pcbBinary,[Description("0")] int pdwSkip,[Description("0")] int pdwFlags);
+}
+public class CqpApi:ICqpApi{
+
+ ///
+/// 发送好友消息
+///
+///
+/// 目标帐号
+/// 消息内容
+///
+
+
+ int ICqpApi.CQ_sendPrivateMsg([Description("")] int AuthCode,[Description("目标帐号")] long Account,[Description("消息内容")] string msg)
+ =>NativeMethods.CQ_sendPrivateMsg(AuthCode,Account,msg);
+ ///
+/// 发送群消息
+///
+///
+/// 目标群
+/// 消息内容
+///
+
+
+ int ICqpApi.CQ_sendGroupMsg([Description("")] int AuthCode,[Description("目标群")] long 群号,[Description("消息内容")] string msg)
+ =>NativeMethods.CQ_sendGroupMsg(AuthCode,群号,msg);
+ ///
+/// 发送讨论组消息
+///
+///
+/// 目标讨论组
+/// 消息内容
+///
+
+
+ int ICqpApi.CQ_sendDiscussMsg([Description("")] int AuthCode,[Description("目标讨论组")] long 讨论组号,[Description("消息内容")] string msg)
+ =>NativeMethods.CQ_sendDiscussMsg(AuthCode,讨论组号,msg);
+ ///
+/// 撤回消息
+///
+///
+/// 消息ID
+///
+
+
+ int ICqpApi.CQ_deleteMsg([Description("")] int AuthCode,[Description("消息ID")] long MsgId)
+ =>NativeMethods.CQ_deleteMsg(AuthCode,MsgId);
+ ///
+/// 发送赞
+///
+///
+/// 目标帐号
+/// 赞的次数,最多10次
+///
+
+
+ int ICqpApi.CQ_sendLikeV2([Description("")] int AuthCode,[Description("目标帐号")] long Account,[Description("赞的次数,最多10次")] int times)
+ =>NativeMethods.CQ_sendLikeV2(AuthCode,Account,times);
+ ///
+/// 取Cookies(慎用
+///
+///
+/// 目标域名,如 api.example.com
+///
+
+
+ string ICqpApi.CQ_getCookiesV2([Description("")] int AuthCode,[Description("目标域名,如 api.example.com")] string domain)
+ =>NativeMethods.CQ_getCookiesV2(AuthCode,domain);
+ ///
+/// 【已弃用】接收语音,并返回语音文件相对路径
+///
+///
+/// 收到消息中的语音文件名(file)
+/// 应用所需的格式
+///
+
+
+ string ICqpApi.CQ_getRecord([Description("")] int AuthCode,[Description("收到消息中的语音文件名(file)")] string file,[Description("应用所需的格式")] string outformat)
+ =>NativeMethods.CQ_getRecord(AuthCode,file,outformat);
+ ///
+/// 接收语音,并返回语音文件绝对路径
+///
+///
+/// 收到消息中的语音文件名(file)
+/// 应用所需的格式
+///
+
+
+ string ICqpApi.CQ_getRecordV2([Description("")] int AuthCode,[Description("收到消息中的语音文件名(file)")] string file,[Description("应用所需的格式")] string outformat)
+ =>NativeMethods.CQ_getRecordV2(AuthCode,file,outformat);
+ ///
+/// 接收图片,并返回图片文件绝对路径
+///
+///
+/// 收到消息中的图片文件名(file)
+///
+
+
+ string ICqpApi.CQ_getImage([Description("")] int AuthCode,[Description("收到消息中的图片文件名(file)")] string file)
+ =>NativeMethods.CQ_getImage(AuthCode,file);
+ ///
+/// 是否支持发送图片,返回大于 0 为支持,等于 0 为不支持
+///
+///
+///
+
+
+ int ICqpApi.CQ_canSendImage([Description("")] int AuthCode)
+ =>NativeMethods.CQ_canSendImage(AuthCode);
+ ///
+/// 是否支持发送语音,返回大于 0 为支持,等于 0 为不支持
+///
+///
+///
+
+
+ int ICqpApi.CQ_canSendRecord([Description("")] int AuthCode)
+ =>NativeMethods.CQ_canSendRecord(AuthCode);
+ ///
+/// 取CsrfToken(慎用
+///
+///
+///
+
+
+ int ICqpApi.CQ_getCsrfToken([Description("")] int AuthCode)
+ =>NativeMethods.CQ_getCsrfToken(AuthCode);
+ ///
+/// 取应用目录
+///
+///
+///
+
+
+ string ICqpApi.CQ_getAppDirectory([Description("")] int AuthCode)
+ =>NativeMethods.CQ_getAppDirectory(AuthCode);
+ ///
+/// 取登录帐号
+///
+///
+///
+
+
+ long ICqpApi.CQ_getLoginQQ([Description("")] int AuthCode)
+ =>NativeMethods.CQ_getLoginQQ(AuthCode);
+ ///
+/// 取登录昵称
+///
+///
+///
+
+
+ string ICqpApi.CQ_getLoginNick([Description("")] int AuthCode)
+ =>NativeMethods.CQ_getLoginNick(AuthCode);
+ ///
+/// 置群员移除
+///
+///
+/// 目标群
+/// 目标帐号
+/// 如果为真,则“不再接收此人加群申请”,请慎用
+///
+
+
+ int ICqpApi.CQ_setGroupKick([Description("")] int AuthCode,[Description("目标群")] long 群号,[Description("目标帐号")] long Account,[Description("如果为真,则“不再接收此人加群申请”,请慎用")] bool 拒绝再加群)
+ =>NativeMethods.CQ_setGroupKick(AuthCode,群号,Account,拒绝再加群);
+ ///
+/// 置群员禁言
+///
+///
+/// 目标群
+/// 目标帐号
+/// 禁言的时间,单位为秒。如果要解禁,这里填写0
+///
+
+
+ int ICqpApi.CQ_setGroupBan([Description("")] int AuthCode,[Description("目标群")] long 群号,[Description("目标帐号")] long Account,[Description("禁言的时间,单位为秒。如果要解禁,这里填写0")] long 禁言时间)
+ =>NativeMethods.CQ_setGroupBan(AuthCode,群号,Account,禁言时间);
+ ///
+/// 置群管理员
+///
+///
+/// 目标群
+/// 被设置的帐号
+/// 真/设置管理员 假/取消管理员
+///
+
+
+ int ICqpApi.CQ_setGroupAdmin([Description("")] int AuthCode,[Description("目标群")] long 群号,[Description("被设置的帐号")] long Account,[Description("真/设置管理员 假/取消管理员")] bool 成为管理员)
+ =>NativeMethods.CQ_setGroupAdmin(AuthCode,群号,Account,成为管理员);
+ ///
+/// 置群成员专属头衔
+///
+///
+/// 目标群
+/// 目标帐号
+/// 如果要删除,这里填空
+/// 专属头衔有效期,单位为秒。如果永久有效,这里填写-1
+///
+
+
+ int ICqpApi.CQ_setGroupSpecialTitle([Description("")] int AuthCode,[Description("目标群")] long 群号,[Description("目标帐号")] long Account,[Description("如果要删除,这里填空")] string 头衔,[Description("专属头衔有效期,单位为秒。如果永久有效,这里填写-1")] long 过期时间)
+ =>NativeMethods.CQ_setGroupSpecialTitle(AuthCode,群号,Account,头衔,过期时间);
+ ///
+/// 置全群禁言
+///
+///
+/// 目标群
+/// 真/开启 假/关闭
+///
+
+
+ int ICqpApi.CQ_setGroupWholeBan([Description("")] int AuthCode,[Description("目标群")] long 群号,[Description("真/开启 假/关闭")] bool 开启禁言)
+ =>NativeMethods.CQ_setGroupWholeBan(AuthCode,群号,开启禁言);
+ ///
+/// 置匿名群员禁言
+///
+///
+/// 目标群
+/// 群消息事件收到的“匿名”参数
+/// 禁言的时间,单位为秒。不支持解禁
+///
+
+
+ int ICqpApi.CQ_setGroupAnonymousBan([Description("")] int AuthCode,[Description("目标群")] long 群号,[Description("群消息事件收到的“匿名”参数")] string 匿名,[Description("禁言的时间,单位为秒。不支持解禁")] long 禁言时间)
+ =>NativeMethods.CQ_setGroupAnonymousBan(AuthCode,群号,匿名,禁言时间);
+ ///
+/// 置群匿名设置
+///
+///
+///
+///
+///
+
+
+ int ICqpApi.CQ_setGroupAnonymous([Description("")] int AuthCode,[Description("")] long 群号,[Description("")] bool 开启匿名)
+ =>NativeMethods.CQ_setGroupAnonymous(AuthCode,群号,开启匿名);
+ ///
+/// 置群成员名片
+///
+///
+/// 目标群
+/// 被设置的帐号
+///
+///
+
+
+ int ICqpApi.CQ_setGroupCard([Description("")] int AuthCode,[Description("目标群")] long 群号,[Description("被设置的帐号")] long Account,[Description("")] string 新名片_昵称)
+ =>NativeMethods.CQ_setGroupCard(AuthCode,群号,Account,新名片_昵称);
+ ///
+/// 置群退出
+///
+///
+/// 目标群
+/// 真/解散本群(群主) 假/退出本群(管理、群成员)
+///
+
+
+ int ICqpApi.CQ_setGroupLeave([Description("")] int AuthCode,[Description("目标群")] long 群号,[Description("真/解散本群(群主) 假/退出本群(管理、群成员)")] bool 是否解散)
+ =>NativeMethods.CQ_setGroupLeave(AuthCode,群号,是否解散);
+ ///
+/// 置讨论组退出
+///
+///
+/// 目标讨论组
+///
+
+
+ int ICqpApi.CQ_setDiscussLeave([Description("")] int AuthCode,[Description("目标讨论组")] long 讨论组号)
+ =>NativeMethods.CQ_setDiscussLeave(AuthCode,讨论组号);
+ ///
+/// 置好友添加请求
+///
+///
+/// 请求事件收到的“反馈标识”参数
+/// #请求_通过 或 #请求_拒绝
+/// 添加后的好友备注
+///
+
+
+ int ICqpApi.CQ_setFriendAddRequest([Description("")] int AuthCode,[Description("请求事件收到的“反馈标识”参数")] string 请求反馈标识,[Description("#请求_通过 或 #请求_拒绝")] int 反馈类型,[Description("添加后的好友备注")] string 备注)
+ =>NativeMethods.CQ_setFriendAddRequest(AuthCode,请求反馈标识,反馈类型,备注);
+ ///
+/// 置群添加请求
+///
+///
+/// 请求事件收到的“反馈标识”参数
+/// 根据请求事件的子类型区分 #请求_群添加 或 #请求_群邀请
+/// #请求_通过 或 #请求_拒绝
+/// 操作理由,仅 #请求_群添加 且 #请求_拒绝 时可用
+///
+
+
+ int ICqpApi.CQ_setGroupAddRequestV2([Description("")] int AuthCode,[Description("请求事件收到的“反馈标识”参数")] string 请求反馈标识,[Description("根据请求事件的子类型区分 #请求_群添加 或 #请求_群邀请")] int 请求类型,[Description("#请求_通过 或 #请求_拒绝")] int 反馈类型,[Description("操作理由,仅 #请求_群添加 且 #请求_拒绝 时可用")] string 理由)
+ =>NativeMethods.CQ_setGroupAddRequestV2(AuthCode,请求反馈标识,请求类型,反馈类型,理由);
+ ///
+/// 增加运行日志
+///
+///
+/// #Log_ 开头常量
+///
+///
+///
+
+
+ int ICqpApi.CQ_addLog([Description("")] int AuthCode,[Description("#Log_ 开头常量")] int 优先级,[Description("")] string 类型,[Description("")] string 内容)
+ =>NativeMethods.CQ_addLog(AuthCode,优先级,类型,内容);
+ ///
+/// 置致命错误提示
+///
+///
+///
+///
+
+
+ int ICqpApi.CQ_setFatal([Description("")] int AuthCode,[Description("")] string 错误信息)
+ =>NativeMethods.CQ_setFatal(AuthCode,错误信息);
+ ///
+/// 取群成员信息(支持缓存)
+///
+///
+/// 目标帐号所在群
+/// 目标帐号
+///
+///
+
+
+ string ICqpApi.CQ_getGroupMemberInfoV2([Description("")] int AuthCode,[Description("目标帐号所在群")] long 群号,[Description("目标帐号")] long Account,[Description("")] bool 不使用缓存)
+ =>NativeMethods.CQ_getGroupMemberInfoV2(AuthCode,群号,Account,不使用缓存);
+ ///
+/// 取群成员列表
+///
+///
+/// 目标帐号所在群
+///
+
+
+ string ICqpApi.CQ_getGroupMemberList([Description("")] int AuthCode,[Description("目标帐号所在群")] long 群号)
+ =>NativeMethods.CQ_getGroupMemberList(AuthCode,群号);
+ ///
+/// 取群列表
+///
+///
+///
+
+
+ string ICqpApi.CQ_getGroupList([Description("")] int AuthCode)
+ =>NativeMethods.CQ_getGroupList(AuthCode);
+ ///
+/// 取好友列表
+///
+///
+/// 保留参数,请传入“假”
+///
+
+
+ string ICqpApi.CQ_getFriendList([Description("")] int AuthCode,[Description("保留参数,请传入“假”")] bool reserved)
+ =>NativeMethods.CQ_getFriendList(AuthCode,reserved);
+ ///
+/// 取陌生人信息(支持缓存)
+///
+///
+/// 目标帐号
+///
+///
+
+
+ string ICqpApi.CQ_getStrangerInfo([Description("")] int AuthCode,[Description("目标帐号")] long Account,[Description("")] bool 不使用缓存)
+ =>NativeMethods.CQ_getStrangerInfo(AuthCode,Account,不使用缓存);
+ ///
+/// 取群信息(支持缓存)
+///
+///
+/// 目标群
+///
+///
+
+
+ string ICqpApi.CQ_getGroupInfo([Description("")] int AuthCode,[Description("目标群")] long 群号,[Description("")] bool 不使用缓存)
+ =>NativeMethods.CQ_getGroupInfo(AuthCode,群号,不使用缓存);
+ ///
+///
+///
+/// 址
+/// 址
+///
+///
+/// 址
+/// 0
+/// 0
+///
+
+
+ bool ICqpApi.CryptStringToBinaryA([Description("址")] string pszString,[Description("址")] int cchString,[Description("")] int dwFlags,[Description("")] int pbBinary,[Description("址")] int pcbBinary,[Description("0")] int pdwSkip,[Description("0")] int pdwFlags)
+ =>NativeMethods.CryptStringToBinaryA(pszString,cchString,dwFlags,pbBinary,pcbBinary,pdwSkip,pdwFlags);
+ ///
+///
+///
+/// 址
+/// 址
+///
+/// 址
+/// 址
+/// 0
+/// 0
+///
+
+
+ bool ICqpApi.CryptStringToBinaryA([Description("址")] string pszString,[Description("址")] int cchString,[Description("")] int dwFlags,[Description("址")] byte[] pbBinary,[Description("址")] int pcbBinary,[Description("0")] int pdwSkip,[Description("0")] int pdwFlags)
+ =>NativeMethods.CryptStringToBinaryA(pszString,cchString,dwFlags,pbBinary,pcbBinary,pdwSkip,pdwFlags);
+ private static class NativeMethods
+ {
+ ///
+/// 发送好友消息
+///
+///
+/// 目标帐号
+/// 消息内容
+///
+
+ [DllImport("CQP.dll")]
+ public static extern int CQ_sendPrivateMsg([Description("")] int AuthCode,[Description("目标帐号")] long Account,[Description("消息内容")] string msg);
+ ///
+/// 发送群消息
+///
+///
+/// 目标群
+/// 消息内容
+///
+
+ [DllImport("CQP.dll")]
+ public static extern int CQ_sendGroupMsg([Description("")] int AuthCode,[Description("目标群")] long 群号,[Description("消息内容")] string msg);
+ ///
+/// 发送讨论组消息
+///
+///
+/// 目标讨论组
+/// 消息内容
+///
+
+ [DllImport("CQP.dll")]
+ public static extern int CQ_sendDiscussMsg([Description("")] int AuthCode,[Description("目标讨论组")] long 讨论组号,[Description("消息内容")] string msg);
+ ///
+/// 撤回消息
+///
+///
+/// 消息ID
+///
+
+ [DllImport("CQP.dll")]
+ public static extern int CQ_deleteMsg([Description("")] int AuthCode,[Description("消息ID")] long MsgId);
+ ///
+/// 发送赞
+///
+///
+/// 目标帐号
+/// 赞的次数,最多10次
+///
+
+ [DllImport("CQP.dll")]
+ public static extern int CQ_sendLikeV2([Description("")] int AuthCode,[Description("目标帐号")] long Account,[Description("赞的次数,最多10次")] int times);
+ ///
+/// 取Cookies(慎用
+///
+///
+/// 目标域名,如 api.example.com
+///
+
+ [DllImport("CQP.dll")]
+ public static extern string CQ_getCookiesV2([Description("")] int AuthCode,[Description("目标域名,如 api.example.com")] string domain);
+ ///
+/// 【已弃用】接收语音,并返回语音文件相对路径
+///
+///
+/// 收到消息中的语音文件名(file)
+/// 应用所需的格式
+///
+
+ [DllImport("CQP.dll")]
+ public static extern string CQ_getRecord([Description("")] int AuthCode,[Description("收到消息中的语音文件名(file)")] string file,[Description("应用所需的格式")] string outformat);
+ ///
+/// 接收语音,并返回语音文件绝对路径
+///
+///
+/// 收到消息中的语音文件名(file)
+/// 应用所需的格式
+///
+
+ [DllImport("CQP.dll")]
+ public static extern string CQ_getRecordV2([Description("")] int AuthCode,[Description("收到消息中的语音文件名(file)")] string file,[Description("应用所需的格式")] string outformat);
+ ///
+/// 接收图片,并返回图片文件绝对路径
+///
+///
+/// 收到消息中的图片文件名(file)
+///
+
+ [DllImport("CQP.dll")]
+ public static extern string CQ_getImage([Description("")] int AuthCode,[Description("收到消息中的图片文件名(file)")] string file);
+ ///
+/// 是否支持发送图片,返回大于 0 为支持,等于 0 为不支持
+///
+///
+///
+
+ [DllImport("CQP.dll")]
+ public static extern int CQ_canSendImage([Description("")] int AuthCode);
+ ///
+/// 是否支持发送语音,返回大于 0 为支持,等于 0 为不支持
+///
+///
+///
+
+ [DllImport("CQP.dll")]
+ public static extern int CQ_canSendRecord([Description("")] int AuthCode);
+ ///
+/// 取CsrfToken(慎用
+///
+///
+///
+
+ [DllImport("CQP.dll")]
+ public static extern int CQ_getCsrfToken([Description("")] int AuthCode);
+ ///
+/// 取应用目录
+///
+///
+///
+
+ [DllImport("CQP.dll")]
+ public static extern string CQ_getAppDirectory([Description("")] int AuthCode);
+ ///
+/// 取登录帐号
+///
+///
+///
+
+ [DllImport("CQP.dll")]
+ public static extern long CQ_getLoginQQ([Description("")] int AuthCode);
+ ///
+/// 取登录昵称
+///
+///
+///
+
+ [DllImport("CQP.dll")]
+ public static extern string CQ_getLoginNick([Description("")] int AuthCode);
+ ///
+/// 置群员移除
+///
+///
+/// 目标群
+/// 目标帐号
+/// 如果为真,则“不再接收此人加群申请”,请慎用
+///
+
+ [DllImport("CQP.dll")]
+ public static extern int CQ_setGroupKick([Description("")] int AuthCode,[Description("目标群")] long 群号,[Description("目标帐号")] long Account,[Description("如果为真,则“不再接收此人加群申请”,请慎用")] bool 拒绝再加群);
+ ///
+/// 置群员禁言
+///
+///
+/// 目标群
+/// 目标帐号
+/// 禁言的时间,单位为秒。如果要解禁,这里填写0
+///
+
+ [DllImport("CQP.dll")]
+ public static extern int CQ_setGroupBan([Description("")] int AuthCode,[Description("目标群")] long 群号,[Description("目标帐号")] long Account,[Description("禁言的时间,单位为秒。如果要解禁,这里填写0")] long 禁言时间);
+ ///
+/// 置群管理员
+///
+///
+/// 目标群
+/// 被设置的帐号
+/// 真/设置管理员 假/取消管理员
+///
+
+ [DllImport("CQP.dll")]
+ public static extern int CQ_setGroupAdmin([Description("")] int AuthCode,[Description("目标群")] long 群号,[Description("被设置的帐号")] long Account,[Description("真/设置管理员 假/取消管理员")] bool 成为管理员);
+ ///
+/// 置群成员专属头衔
+///
+///
+/// 目标群
+/// 目标帐号
+/// 如果要删除,这里填空
+/// 专属头衔有效期,单位为秒。如果永久有效,这里填写-1
+///
+
+ [DllImport("CQP.dll")]
+ public static extern int CQ_setGroupSpecialTitle([Description("")] int AuthCode,[Description("目标群")] long 群号,[Description("目标帐号")] long Account,[Description("如果要删除,这里填空")] string 头衔,[Description("专属头衔有效期,单位为秒。如果永久有效,这里填写-1")] long 过期时间);
+ ///
+/// 置全群禁言
+///
+///
+/// 目标群
+/// 真/开启 假/关闭
+///
+
+ [DllImport("CQP.dll")]
+ public static extern int CQ_setGroupWholeBan([Description("")] int AuthCode,[Description("目标群")] long 群号,[Description("真/开启 假/关闭")] bool 开启禁言);
+ ///
+/// 置匿名群员禁言
+///
+///
+/// 目标群
+/// 群消息事件收到的“匿名”参数
+/// 禁言的时间,单位为秒。不支持解禁
+///
+
+ [DllImport("CQP.dll")]
+ public static extern int CQ_setGroupAnonymousBan([Description("")] int AuthCode,[Description("目标群")] long 群号,[Description("群消息事件收到的“匿名”参数")] string 匿名,[Description("禁言的时间,单位为秒。不支持解禁")] long 禁言时间);
+ ///
+/// 置群匿名设置
+///
+///
+///
+///
+///
+
+ [DllImport("CQP.dll")]
+ public static extern int CQ_setGroupAnonymous([Description("")] int AuthCode,[Description("")] long 群号,[Description("")] bool 开启匿名);
+ ///
+/// 置群成员名片
+///
+///
+/// 目标群
+/// 被设置的帐号
+///
+///
+
+ [DllImport("CQP.dll")]
+ public static extern int CQ_setGroupCard([Description("")] int AuthCode,[Description("目标群")] long 群号,[Description("被设置的帐号")] long Account,[Description("")] string 新名片_昵称);
+ ///
+/// 置群退出
+///
+///
+/// 目标群
+/// 真/解散本群(群主) 假/退出本群(管理、群成员)
+///
+
+ [DllImport("CQP.dll")]
+ public static extern int CQ_setGroupLeave([Description("")] int AuthCode,[Description("目标群")] long 群号,[Description("真/解散本群(群主) 假/退出本群(管理、群成员)")] bool 是否解散);
+ ///
+/// 置讨论组退出
+///
+///
+/// 目标讨论组
+///
+
+ [DllImport("CQP.dll")]
+ public static extern int CQ_setDiscussLeave([Description("")] int AuthCode,[Description("目标讨论组")] long 讨论组号);
+ ///
+/// 置好友添加请求
+///
+///
+/// 请求事件收到的“反馈标识”参数
+/// #请求_通过 或 #请求_拒绝
+/// 添加后的好友备注
+///
+
+ [DllImport("CQP.dll")]
+ public static extern int CQ_setFriendAddRequest([Description("")] int AuthCode,[Description("请求事件收到的“反馈标识”参数")] string 请求反馈标识,[Description("#请求_通过 或 #请求_拒绝")] int 反馈类型,[Description("添加后的好友备注")] string 备注);
+ ///
+/// 置群添加请求
+///
+///
+/// 请求事件收到的“反馈标识”参数
+/// 根据请求事件的子类型区分 #请求_群添加 或 #请求_群邀请
+/// #请求_通过 或 #请求_拒绝
+/// 操作理由,仅 #请求_群添加 且 #请求_拒绝 时可用
+///
+
+ [DllImport("CQP.dll")]
+ public static extern int CQ_setGroupAddRequestV2([Description("")] int AuthCode,[Description("请求事件收到的“反馈标识”参数")] string 请求反馈标识,[Description("根据请求事件的子类型区分 #请求_群添加 或 #请求_群邀请")] int 请求类型,[Description("#请求_通过 或 #请求_拒绝")] int 反馈类型,[Description("操作理由,仅 #请求_群添加 且 #请求_拒绝 时可用")] string 理由);
+ ///
+/// 增加运行日志
+///
+///
+/// #Log_ 开头常量
+///
+///
+///
+
+ [DllImport("CQP.dll")]
+ public static extern int CQ_addLog([Description("")] int AuthCode,[Description("#Log_ 开头常量")] int 优先级,[Description("")] string 类型,[Description("")] string 内容);
+ ///
+/// 置致命错误提示
+///
+///
+///
+///
+
+ [DllImport("CQP.dll")]
+ public static extern int CQ_setFatal([Description("")] int AuthCode,[Description("")] string 错误信息);
+ ///
+/// 取群成员信息(支持缓存)
+///
+///
+/// 目标帐号所在群
+/// 目标帐号
+///
+///
+
+ [DllImport("CQP.dll")]
+ public static extern string CQ_getGroupMemberInfoV2([Description("")] int AuthCode,[Description("目标帐号所在群")] long 群号,[Description("目标帐号")] long Account,[Description("")] bool 不使用缓存);
+ ///
+/// 取群成员列表
+///
+///
+/// 目标帐号所在群
+///
+
+ [DllImport("CQP.dll")]
+ public static extern string CQ_getGroupMemberList([Description("")] int AuthCode,[Description("目标帐号所在群")] long 群号);
+ ///
+/// 取群列表
+///
+///
+///
+
+ [DllImport("CQP.dll")]
+ public static extern string CQ_getGroupList([Description("")] int AuthCode);
+ ///
+/// 取好友列表
+///
+///
+/// 保留参数,请传入“假”
+///
+
+ [DllImport("CQP.dll")]
+ public static extern string CQ_getFriendList([Description("")] int AuthCode,[Description("保留参数,请传入“假”")] bool reserved);
+ ///
+/// 取陌生人信息(支持缓存)
+///
+///
+/// 目标帐号
+///
+///
+
+ [DllImport("CQP.dll")]
+ public static extern string CQ_getStrangerInfo([Description("")] int AuthCode,[Description("目标帐号")] long Account,[Description("")] bool 不使用缓存);
+ ///
+/// 取群信息(支持缓存)
+///
+///
+/// 目标群
+///
+///
+
+ [DllImport("CQP.dll")]
+ public static extern string CQ_getGroupInfo([Description("")] int AuthCode,[Description("目标群")] long 群号,[Description("")] bool 不使用缓存);
+ ///
+///
+///
+/// 址
+/// 址
+///
+///
+/// 址
+/// 0
+/// 0
+///
+
+ [DllImport("CQP.dll")]
+ public static extern bool CryptStringToBinaryA([Description("址")] string pszString,[Description("址")] int cchString,[Description("")] int dwFlags,[Description("")] int pbBinary,[Description("址")] int pcbBinary,[Description("0")] int pdwSkip,[Description("0")] int pdwFlags);
+ ///
+///
+///
+/// 址
+/// 址
+///
+/// 址
+/// 址
+/// 0
+/// 0
+///
+
+ [DllImport("CQP.dll")]
+ public static extern bool CryptStringToBinaryA([Description("址")] string pszString,[Description("址")] int cchString,[Description("")] int dwFlags,[Description("址")] byte[] pbBinary,[Description("址")] int pcbBinary,[Description("0")] int pdwSkip,[Description("0")] int pdwFlags);
+ }
+}
diff --git a/src/Newbe.Tools.ELang2CSharp/source/cqp.txt b/src/Newbe.Tools.ELang2CSharp/source/cqp.txt
new file mode 100644
index 0000000..df81255
--- /dev/null
+++ b/src/Newbe.Tools.ELang2CSharp/source/cqp.txt
@@ -0,0 +1,167 @@
+.版本 2
+
+.DLL命令 CQ_sendPrivateMsg, 整数型, "CQP.dll", "CQ_sendPrivateMsg", , 发送好友消息
+ .参数 AuthCode, 整数型
+ .参数 Account, 长整数型, , 目标帐号
+ .参数 msg, 文本型, , 消息内容
+
+.DLL命令 CQ_sendGroupMsg, 整数型, "CQP.dll", "CQ_sendGroupMsg", , 发送群消息
+ .参数 AuthCode, 整数型
+ .参数 群号, 长整数型, , 目标群
+ .参数 msg, 文本型, , 消息内容
+
+.DLL命令 CQ_sendDiscussMsg, 整数型, "CQP.dll", "CQ_sendDiscussMsg", , 发送讨论组消息
+ .参数 AuthCode, 整数型
+ .参数 讨论组号, 长整数型, , 目标讨论组
+ .参数 msg, 文本型, , 消息内容
+
+.DLL命令 CQ_deleteMsg, 整数型, "CQP.dll", "CQ_deleteMsg", , 撤回消息
+ .参数 AuthCode, 整数型
+ .参数 MsgId, 长整数型, , 消息ID
+
+.DLL命令 CQ_sendLikeV2, 整数型, "CQP.dll", "CQ_sendLikeV2", , 发送赞
+ .参数 AuthCode, 整数型
+ .参数 Account, 长整数型, , 目标帐号
+ .参数 times, 整数型, , 赞的次数,最多10次
+
+.DLL命令 CQ_getCookiesV2, 文本型, "CQP.dll", "CQ_getCookiesV2", , 取Cookies(慎用,此接口需要严格授权)
+ .参数 AuthCode, 整数型
+ .参数 domain, 文本型, , 目标域名,如 api.example.com
+
+.DLL命令 CQ_getRecord, 文本型, "CQP.dll", "CQ_getRecord", , 【已弃用】接收语音,并返回语音文件相对路径
+ .参数 AuthCode, 整数型
+ .参数 file, 文本型, , 收到消息中的语音文件名(file)
+ .参数 outformat, 文本型, , 应用所需的格式
+
+.DLL命令 CQ_getRecordV2, 文本型, "CQP.dll", "CQ_getRecordV2", , 接收语音,并返回语音文件绝对路径
+ .参数 AuthCode, 整数型
+ .参数 file, 文本型, , 收到消息中的语音文件名(file)
+ .参数 outformat, 文本型, , 应用所需的格式
+
+.DLL命令 CQ_getImage, 文本型, "CQP.dll", "CQ_getImage", , 接收图片,并返回图片文件绝对路径
+ .参数 AuthCode, 整数型
+ .参数 file, 文本型, , 收到消息中的图片文件名(file)
+
+.DLL命令 CQ_canSendImage, 整数型, "CQP.dll", "CQ_canSendImage", , 是否支持发送图片,返回大于 0 为支持,等于 0 为不支持
+ .参数 AuthCode, 整数型
+
+.DLL命令 CQ_canSendRecord, 整数型, "CQP.dll", "CQ_canSendRecord", , 是否支持发送语音,返回大于 0 为支持,等于 0 为不支持
+ .参数 AuthCode, 整数型
+
+.DLL命令 CQ_getCsrfToken, 整数型, "CQP.dll", "CQ_getCsrfToken", , 取CsrfToken(慎用,此接口需要严格授权)
+ .参数 AuthCode, 整数型
+
+.DLL命令 CQ_getAppDirectory, 文本型, "CQP.dll", "CQ_getAppDirectory", , 取应用目录
+ .参数 AuthCode, 整数型
+
+.DLL命令 CQ_getLoginQQ, 长整数型, "CQP.dll", "CQ_getLoginQQ", , 取登录帐号
+ .参数 AuthCode, 整数型
+
+.DLL命令 CQ_getLoginNick, 文本型, "CQP.dll", "CQ_getLoginNick", , 取登录昵称
+ .参数 AuthCode, 整数型
+
+.DLL命令 CQ_setGroupKick, 整数型, "CQP.dll", "CQ_setGroupKick", , 置群员移除
+ .参数 AuthCode, 整数型
+ .参数 群号, 长整数型, , 目标群
+ .参数 Account, 长整数型, , 目标帐号
+ .参数 拒绝再加群, 逻辑型, , 如果为真,则“不再接收此人加群申请”,请慎用
+
+.DLL命令 CQ_setGroupBan, 整数型, "CQP.dll", "CQ_setGroupBan", , 置群员禁言
+ .参数 AuthCode, 整数型
+ .参数 群号, 长整数型, , 目标群
+ .参数 Account, 长整数型, , 目标帐号
+ .参数 禁言时间, 长整数型, , 禁言的时间,单位为秒。如果要解禁,这里填写0
+
+.DLL命令 CQ_setGroupAdmin, 整数型, "CQP.dll", "CQ_setGroupAdmin", , 置群管理员
+ .参数 AuthCode, 整数型
+ .参数 群号, 长整数型, , 目标群
+ .参数 Account, 长整数型, , 被设置的帐号
+ .参数 成为管理员, 逻辑型, , 真/设置管理员 假/取消管理员
+
+.DLL命令 CQ_setGroupSpecialTitle, 整数型, "CQP.dll", "CQ_setGroupSpecialTitle", , 置群成员专属头衔
+ .参数 AuthCode, 整数型
+ .参数 群号, 长整数型, , 目标群
+ .参数 Account, 长整数型, , 目标帐号
+ .参数 头衔, 文本型, , 如果要删除,这里填空
+ .参数 过期时间, 长整数型, , 专属头衔有效期,单位为秒。如果永久有效,这里填写-1
+
+.DLL命令 CQ_setGroupWholeBan, 整数型, "CQP.dll", "CQ_setGroupWholeBan", , 置全群禁言
+ .参数 AuthCode, 整数型
+ .参数 群号, 长整数型, , 目标群
+ .参数 开启禁言, 逻辑型, , 真/开启 假/关闭
+
+.DLL命令 CQ_setGroupAnonymousBan, 整数型, "CQP.dll", "CQ_setGroupAnonymousBan", , 置匿名群员禁言
+ .参数 AuthCode, 整数型
+ .参数 群号, 长整数型, , 目标群
+ .参数 匿名, 文本型, , 群消息事件收到的“匿名”参数
+ .参数 禁言时间, 长整数型, , 禁言的时间,单位为秒。不支持解禁
+
+.DLL命令 CQ_setGroupAnonymous, 整数型, "CQP.dll", "CQ_setGroupAnonymous", , 置群匿名设置
+ .参数 AuthCode, 整数型
+ .参数 群号, 长整数型
+ .参数 开启匿名, 逻辑型
+
+.DLL命令 CQ_setGroupCard, 整数型, "CQP.dll", "CQ_setGroupCard", , 置群成员名片
+ .参数 AuthCode, 整数型
+ .参数 群号, 长整数型, , 目标群
+ .参数 Account, 长整数型, , 被设置的帐号
+ .参数 新名片_昵称, 文本型
+
+.DLL命令 CQ_setGroupLeave, 整数型, "CQP.dll", "CQ_setGroupLeave", , 置群退出
+ .参数 AuthCode, 整数型
+ .参数 群号, 长整数型, , 目标群
+ .参数 是否解散, 逻辑型, , 真/解散本群(群主) 假/退出本群(管理、群成员)
+
+.DLL命令 CQ_setDiscussLeave, 整数型, "CQP.dll", "CQ_setDiscussLeave", , 置讨论组退出
+ .参数 AuthCode, 整数型
+ .参数 讨论组号, 长整数型, , 目标讨论组
+
+.DLL命令 CQ_setFriendAddRequest, 整数型, "CQP.dll", "CQ_setFriendAddRequest", , 置好友添加请求
+ .参数 AuthCode, 整数型
+ .参数 请求反馈标识, 文本型, , 请求事件收到的“反馈标识”参数
+ .参数 反馈类型, 整数型, , #请求_通过 或 #请求_拒绝
+ .参数 备注, 文本型, , 添加后的好友备注
+
+.DLL命令 CQ_setGroupAddRequestV2, 整数型, "CQP.dll", "CQ_setGroupAddRequestV2", , 置群添加请求
+ .参数 AuthCode, 整数型
+ .参数 请求反馈标识, 文本型, , 请求事件收到的“反馈标识”参数
+ .参数 请求类型, 整数型, , 根据请求事件的子类型区分 #请求_群添加 或 #请求_群邀请
+ .参数 反馈类型, 整数型, , #请求_通过 或 #请求_拒绝
+ .参数 理由, 文本型, , 操作理由,仅 #请求_群添加 且 #请求_拒绝 时可用
+
+.DLL命令 CQ_addLog, 整数型, "CQP.dll", "CQ_addLog", , 增加运行日志
+ .参数 AuthCode, 整数型
+ .参数 优先级, 整数型, , #Log_ 开头常量
+ .参数 类型, 文本型
+ .参数 内容, 文本型
+
+.DLL命令 CQ_setFatal, 整数型, "CQP.dll", "CQ_setFatal", , 置致命错误提示
+ .参数 AuthCode, 整数型
+ .参数 错误信息, 文本型
+
+.DLL命令 CQ_getGroupMemberInfoV2, 文本型, "CQP.dll", "CQ_getGroupMemberInfoV2", , 取群成员信息(支持缓存)
+ .参数 AuthCode, 整数型
+ .参数 群号, 长整数型, , 目标帐号所在群
+ .参数 Account, 长整数型, , 目标帐号
+ .参数 不使用缓存, 逻辑型
+
+.DLL命令 CQ_getGroupMemberList, 文本型, "CQP.dll", "CQ_getGroupMemberList", , 取群成员列表
+ .参数 AuthCode, 整数型
+ .参数 群号, 长整数型, , 目标帐号所在群
+
+.DLL命令 CQ_getGroupList, 文本型, "CQP.dll", "CQ_getGroupList", , 取群列表
+ .参数 AuthCode, 整数型
+
+.DLL命令 CQ_getFriendList, 文本型, "CQP.dll", "CQ_getFriendList", , 取好友列表
+ .参数 AuthCode, 整数型
+ .参数 reserved, 逻辑型, , 保留参数,请传入“假”
+
+.DLL命令 CQ_getStrangerInfo, 文本型, "CQP.dll", "CQ_getStrangerInfo", , 取陌生人信息(支持缓存)
+ .参数 AuthCode, 整数型
+ .参数 Account, 长整数型, , 目标帐号
+ .参数 不使用缓存, 逻辑型
+
+.DLL命令 CQ_getGroupInfo, 文本型, "CQP.dll", "CQ_getGroupInfo", , 取群信息(支持缓存)
+ .参数 AuthCode, 整数型
+ .参数 群号, 长整数型, , 目标群
+ .参数 不使用缓存, 逻辑型
diff --git a/src/Newbe.Tools.ELang2CSharp/source/mpq.cs b/src/Newbe.Tools.ELang2CSharp/source/mpq.cs
new file mode 100644
index 0000000..e4513a0
--- /dev/null
+++ b/src/Newbe.Tools.ELang2CSharp/source/mpq.cs
@@ -0,0 +1,2625 @@
+// generate at 2019/12/15 9:16:11 +00:00
+public interface IMpqApi{
+///
+/// 根据提交的QQ号计算得到页面操作用参数Bkn或G_tk`
+///
+///
+///
+[Description("根据提交的QQ号计算得到页面操作用参数Bkn或G_tk`")]string Api_GetGtk_Bkn([Description("")] string 响应的QQ);
+///
+/// 根据提交的QQ号计算得到页面操作用参数长Bkn或长G_tk`
+///
+///
+///
+[Description("根据提交的QQ号计算得到页面操作用参数长Bkn或长G_tk`")]string Api_GetBkn32([Description("")] string 响应的QQ);
+///
+/// 根据提交的QQ号计算得到页面操作用参数长Ldw`
+///
+///
+///
+[Description("根据提交的QQ号计算得到页面操作用参数长Ldw`")]string Api_GetLdw([Description("")] string 响应的QQ);
+///
+/// 取得框架所在目录.可能鸡肋了。`
+///
+///
+[Description("取得框架所在目录.可能鸡肋了。`")]string Api_GetRunPath();
+///
+/// 取得当前框架内在线可用的QQ列表`
+///
+///
+[Description("取得当前框架内在线可用的QQ列表`")]string Api_GetOnlineQQlist();
+///
+/// 取得框架内所有QQ列表。包括未登录以及登录失败的QQ`
+///
+///
+[Description("取得框架内所有QQ列表。包括未登录以及登录失败的QQ`")]string Api_GetQQlist();
+///
+/// 根据QQ取得对应的会话秘钥`
+///
+///
+///
+[Description("根据QQ取得对应的会话秘钥`")]string Api_GetSessionkey([Description("")] string 响应的QQ);
+///
+/// 取得页面登录用的Clientkey`
+///
+///
+///
+[Description("取得页面登录用的Clientkey`")]string Api_GetClientkey([Description("")] string 响应的QQ);
+///
+/// 取得页面登录用的长Clientkey`
+///
+///
+///
+[Description("取得页面登录用的长Clientkey`")]string Api_GetLongClientkey([Description("")] string 响应的QQ);
+///
+/// 取得页面操作用的Cookies`
+///
+///
+///
+[Description("取得页面操作用的Cookies`")]string Api_GetCookies([Description("")] string 响应的QQ);
+///
+/// 取得框架内设置的信息发送前缀`
+///
+///
+[Description("取得框架内设置的信息发送前缀`")]string Api_GetPrefix();
+///
+/// 将群名片加入高速缓存当作.`
+///
+///
+///
+///
+///
+[Description("将群名片加入高速缓存当作.`")]void Api_Cache_NameCard([Description("")] string 群号,[Description("")] string QQ,[Description("")] string 名片);
+///
+/// 将指定QQ移出QQ黑名单`
+///
+///
+///
+///
+[Description("将指定QQ移出QQ黑名单`")]void Api_DBan([Description("")] string 响应的QQ,[Description("")] string QQ);
+///
+/// 将指定QQ列入QQ黑名单`
+///
+///
+///
+///
+[Description("将指定QQ列入QQ黑名单`")]void Api_Ban([Description("")] string 响应的QQ,[Description("")] string QQ);
+///
+/// 禁言群成员`
+///
+///
+/// 禁言对象所在群.
+/// 禁言对象.留空为全群禁言
+/// 单位:秒 最大为1个月. 为零解除对象或全群禁言
+///
+[Description("禁言群成员`")]bool Api_Shutup([Description("")] string 响应的QQ,[Description("禁言对象所在群.")] string 群号,[Description("禁言对象.留空为全群禁言")] string QQ,[Description("单位:秒 最大为1个月. 为零解除对象或全群禁言")] int 时长);
+///
+/// 根据群号+QQ判断指定群员是否被禁言 获取失败的情况下亦会返回假
+///
+///
+/// 欲判断对象所在群.
+/// 欲判断对象
+///
+[Description("根据群号+QQ判断指定群员是否被禁言 获取失败的情况下亦会返回假")]bool Api_IsShutup([Description("")] string 响应的QQ,[Description("欲判断对象所在群.")] string 群号,[Description("欲判断对象")] string QQ);
+///
+/// 发群公告`
+///
+///
+///
+///
+///
+///
+[Description("发群公告`")]void Api_SetNotice([Description("")] string 响应的QQ,[Description("")] string 群号,[Description("")] string 标题,[Description("")] string 内容);
+///
+/// 取群公告`
+///
+///
+///
+///
+[Description("取群公告`")]string Api_GetNotice([Description("")] string 响应的QQ,[Description("")] string 群号);
+///
+/// 取群名片`
+///
+///
+///
+///
+///
+[Description("取群名片`")]string Api_GetNameCard([Description("")] string 响应的QQ,[Description("")] string 群号,[Description("")] string QQ);
+///
+/// 设置群名片`
+///
+///
+///
+///
+///
+///
+[Description("设置群名片`")]void Api_SetNameCard([Description("")] string 响应的QQ,[Description("")] string 群号,[Description("")] string QQ,[Description("")] string 名片);
+///
+/// 退出讨论组`
+///
+///
+///
+///
+[Description("退出讨论组`")]void Api_QuitDG([Description("")] string 响应的QQ,[Description("")] string 讨论组ID);
+///
+/// 删除好友`
+///
+///
+///
+///
+[Description("删除好友`")]bool Api_DelFriend([Description("")] string 响应的QQ,[Description("")] string QQ);
+///
+/// 将对象移除群`
+///
+///
+///
+///
+///
+[Description("将对象移除群`")]bool Api_Kick([Description("")] string 响应的QQ,[Description("")] string 群号,[Description("")] string 对象);
+///
+/// 主动加群.为了避免广告、群发行为。出现验证码时将会直接失败不处理`
+///
+///
+///
+///
+///
+[Description("主动加群.为了避免广告、群发行为。出现验证码时将会直接失败不处理`")]void Api_JoinGroup([Description("")] string 响应的QQ,[Description("")] string 群号,[Description("")] string 附加理由);
+///
+/// 退出群`
+///
+///
+///
+///
+[Description("退出群`")]void Api_QuitGroup([Description("")] string 响应的QQ,[Description("")] string 群号);
+///
+/// 返回值:成功返回图片GUID用于发送该图片.失败返回空. 图片尺寸应小于4MB`
+///
+/// 机器人QQ
+/// 1好友2群 注:好友图和群图的GUID并不相同并不通用 需要非别上传。群、讨论组用类型2 临时会话、好友信息需要类型1
+/// 上传该图片所属的群号或QQ
+/// 址, 图片字节集数据或字节集数据指针()
+///
+[Description("返回值:成功返回图片GUID用于发送该图片.失败返回空. 图片尺寸应小于4MB`")]string Api_UploadPic([Description("机器人QQ")] string 响应的QQ,[Description("1好友2群 注:好友图和群图的GUID并不相同并不通用 需要非别上传。群、讨论组用类型2 临时会话、好友信息需要类型1")] int 参_上传类型,[Description("上传该图片所属的群号或QQ")] string 参_参考对象,[Description("址, 图片字节集数据或字节集数据指针()")] byte[] 参_图片数据);
+///
+/// 根据图片GUID取得图片下载连接 失败返回空`
+///
+/// {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}.jpg这样的GUID
+///
+[Description("根据图片GUID取得图片下载连接 失败返回空`")]string Api_GuidGetPicLink([Description("{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}.jpg这样的GUID")] string 图片GUID);
+///
+/// 回复信息 请尽量避免使用该API`
+///
+///
+/// 1好友 2群 3讨论组 4群临时会话 5讨论组临时会话
+/// 接收这条信息的对象
+/// 信息内容
+///
+[Description("回复信息 请尽量避免使用该API`")]int Api_Reply([Description("")] string 响应的QQ,[Description("1好友 2群 3讨论组 4群临时会话 5讨论组临时会话")] int 信息类型,[Description("接收这条信息的对象")] string 回复对象,[Description("信息内容")] string 内容);
+///
+/// 向对象、目标发送信息 支持好友 群 讨论组 群临时会话 讨论组临时会话`
+///
+///
+/// 1好友 2群 3讨论组 4群临时会话 5讨论组临时会话
+/// 无特殊说明情况下留空或填零
+/// 发送群信息、讨论组信息、群临时会话信息、讨论组临时会话信息时填写
+/// 最终接收这条信息的对象QQ
+/// 信息内容
+///
+[Description("向对象、目标发送信息 支持好友 群 讨论组 群临时会话 讨论组临时会话`")]int Api_SendMsg([Description("")] string 响应的QQ,[Description("1好友 2群 3讨论组 4群临时会话 5讨论组临时会话")] int 信息类型,[Description("无特殊说明情况下留空或填零")] int 参考子类型,[Description("发送群信息、讨论组信息、群临时会话信息、讨论组临时会话信息时填写")] string 收信群_讨论组,[Description("最终接收这条信息的对象QQ")] string 收信对象,[Description("信息内容")] string 内容);
+///
+/// 发送封包`
+///
+///
+///
+[Description("发送封包`")]string Api_Send([Description("")] string 封包内容);
+///
+/// 在框架记录页输出一行信息`
+///
+/// 输出的内容
+///
+[Description("在框架记录页输出一行信息`")]int Api_OutPut([Description("输出的内容")] string 内容);
+///
+/// 取得本插件启用状态`
+///
+///
+[Description("取得本插件启用状态`")]bool Api_IsEnable();
+///
+/// 登录一个现存的QQ`
+///
+/// 欲登录的Q
+///
+[Description("登录一个现存的QQ`")]bool Api_Login([Description("欲登录的Q")] string QQ);
+///
+/// 让指定QQ下线`
+///
+///
+///
+[Description("让指定QQ下线`")]void Api_Logout([Description("")] string QQ);
+///
+/// tean加密算法`
+///
+///
+///
+///
+[Description("tean加密算法`")]string Api_Tea加密([Description("")] string 加密内容,[Description("")] string Key);
+///
+/// tean解密算法`
+///
+///
+///
+///
+[Description("tean解密算法`")]string Api_Tea解密([Description("")] string 解密内容,[Description("")] string Key);
+///
+/// 取用户名`
+///
+///
+///
+[Description("取用户名`")]string Api_GetNick([Description("")] string QQ);
+///
+/// 取QQ等级+QQ会员等级 返回json格式信息`
+///
+///
+///
+[Description("取QQ等级+QQ会员等级 返回json格式信息`")]string Api_GetQQLevel([Description("")] string QQ);
+///
+/// 群号转群ID`
+///
+///
+///
+[Description("群号转群ID`")]string Api_GNGetGid([Description("")] string 群号);
+///
+/// 群ID转群号`
+///
+///
+///
+[Description("群ID转群号`")]string Api_GidGetGN([Description("")] string 群ID);
+///
+/// 取框架版本号(发布时间戳`
+///
+///
+[Description("取框架版本号(发布时间戳`")]int Api_GetVersion();
+///
+/// 取框架版本名`
+///
+///
+[Description("取框架版本名`")]string Api_GetVersionName();
+///
+/// 取当前框架内部时间戳_周期性与服务器时间同步`
+///
+///
+[Description("取当前框架内部时间戳_周期性与服务器时间同步`")]int Api_GetTimeStamp();
+///
+/// 取得框架输出列表内所有信息`
+///
+///
+[Description("取得框架输出列表内所有信息`")]string Api_GetLog();
+///
+/// 判断是否处于被屏蔽群信息状态。`
+///
+///
+///
+[Description("判断是否处于被屏蔽群信息状态。`")]bool Api_IfBlock([Description("")] string 响应的QQ);
+///
+/// 取包括群主在内的群管列表`
+///
+///
+///
+///
+[Description("取包括群主在内的群管列表`")]string Api_GetAdminList([Description("")] string 响应的QQ,[Description("")] string 群号);
+///
+/// 发说说`
+///
+///
+///
+///
+[Description("发说说`")]string Api_AddTaotao([Description("")] string 响应的QQ,[Description("")] string 内容);
+///
+/// 取个签`
+///
+///
+///
+///
+[Description("取个签`")]string Api_GetSign([Description("")] string 响应的QQ,[Description("")] string 对象);
+///
+/// 设置个签`
+///
+///
+///
+///
+[Description("设置个签`")]string Api_SetSign([Description("")] string 响应的QQ,[Description("")] string 内容);
+///
+/// 通过qun.qzone.qq.com接口取得取群列表.成功返回转码后的JSON格式文本信息`
+///
+///
+///
+[Description("通过qun.qzone.qq.com接口取得取群列表.成功返回转码后的JSON格式文本信息`")]string Api_GetGroupListA([Description("")] string 响应的QQ);
+///
+/// 通过qun.qq.com接口取得取群列表.成功返回转码后的JSON格式文本信息`
+///
+///
+///
+[Description("通过qun.qq.com接口取得取群列表.成功返回转码后的JSON格式文本信息`")]string Api_GetGroupListB([Description("")] string 响应的QQ);
+///
+/// 通过qun.qq.com接口取得群成员列表 成功返回转码后的JSON格式文本`
+///
+///
+///
+///
+[Description("通过qun.qq.com接口取得群成员列表 成功返回转码后的JSON格式文本`")]string Api_GetGroupMemberA([Description("")] string 响应的QQ,[Description("")] string 群号);
+///
+/// 通过qun.qzone.qq.com接口取得群成员列表 成功返回转码后的JSON格式文本`
+///
+///
+///
+///
+[Description("通过qun.qzone.qq.com接口取得群成员列表 成功返回转码后的JSON格式文本`")]string Api_GetGroupMemberB([Description("")] string 响应的QQ,[Description("")] string 群号);
+///
+/// 通过qun.qq.com接口取得好友列表。成功返回转码后的JSON文本`
+///
+///
+///
+[Description("通过qun.qq.com接口取得好友列表。成功返回转码后的JSON文本`")]string Api_GetFriendList([Description("")] string 响应的QQ);
+///
+/// 取Q龄 成功返回Q龄 失败返回-1`
+///
+///
+///
+///
+[Description("取Q龄 成功返回Q龄 失败返回-1`")]int Api_GetQQAge([Description("")] string 响应的QQ,[Description("")] string QQ);
+///
+/// 取年龄 成功返回年龄 失败返回-1`
+///
+///
+///
+///
+[Description("取年龄 成功返回年龄 失败返回-1`")]int Api_GetAge([Description("")] string 响应的QQ,[Description("")] string QQ);
+///
+/// 取个人说明`
+///
+///
+/// 对象QQ
+///
+[Description("取个人说明`")]string Api_GetPersonalProfile([Description("")] string 响应的QQ,[Description("对象QQ")] string QQ);
+///
+/// 取邮箱 成功返回邮箱 失败返回空`
+///
+///
+///
+///
+[Description("取邮箱 成功返回邮箱 失败返回空`")]string Api_GetEmail([Description("")] string 响应的QQ,[Description("")] string QQ);
+///
+/// 取对象性别 1男 2女 未或失败返回-1`
+///
+///
+///
+///
+[Description("取对象性别 1男 2女 未或失败返回-1`")]int Api_GetGender([Description("")] string 响应的QQ,[Description("")] string QQ);
+///
+/// 向好友发送‘正在输入’的状态信息.当好友收到信息之后 “正在输入”状态会立刻被打断`
+///
+///
+///
+///
+[Description("向好友发送‘正在输入’的状态信息.当好友收到信息之后 “正在输入”状态会立刻被打断`")]int Api_SendTyping([Description("")] string 响应的QQ,[Description("")] string QQ);
+///
+/// 向好友发送窗口抖动信息`
+///
+///
+///
+///
+[Description("向好友发送窗口抖动信息`")]int Api_SendShake([Description("")] string 响应的QQ,[Description("")] string QQ);
+///
+/// 取得框架内随机一个在线且可以使用的QQ`
+///
+///
+[Description("取得框架内随机一个在线且可以使用的QQ`")]string Api_GetRadomOnlineQQ();
+///
+/// 往帐号列表添加一个Q.当该Q已存在时则覆盖密码`
+///
+///
+///
+/// 运行框架时是否自动登录该Q.若添加后需要登录该Q则需要通过Api_Login操作
+///
+[Description("往帐号列表添加一个Q.当该Q已存在时则覆盖密码`")]bool Api_AddQQ([Description("")] string QQ,[Description("")] string 密码,[Description("运行框架时是否自动登录该Q.若添加后需要登录该Q则需要通过Api_Login操作")] bool 自动登录);
+///
+/// 设置在线状态+附加信息 `
+///
+///
+/// 1~6 分别对应我在线上, Q我吧, 离开, 忙碌, 请勿打扰, 隐身
+/// 最大255字节
+///
+[Description("设置在线状态+附加信息 `")]bool Api_SetOLStatus([Description("")] string 响应的QQ,[Description("1~6 分别对应我在线上, Q我吧, 离开, 忙碌, 请勿打扰, 隐身")] int 在线状态,[Description("最大255字节")] string 状态附加信息);
+///
+/// 取得机器码`
+///
+///
+[Description("取得机器码`")]string Api_GetMC();
+///
+/// 邀请对象加入群 失败返回错误理由`
+///
+///
+/// 多个好友用换行分割
+///
+///
+[Description("邀请对象加入群 失败返回错误理由`")]string Api_GroupInvitation([Description("")] string 响应的QQ,[Description("多个好友用换行分割")] string 好友QQ,[Description("")] string 群号);
+///
+/// 创建一个讨论组 成功返回讨论组ID 失败返回空 注:每24小时只能创建100个讨论组 悠着点用`
+///
+///
+///
+[Description("创建一个讨论组 成功返回讨论组ID 失败返回空 注:每24小时只能创建100个讨论组 悠着点用`")]string Api_CreateDG([Description("")] string 响应的QQ);
+///
+/// 将对象移除讨论组.成功返回空 失败返回理由`
+///
+///
+///
+///
+///
+[Description("将对象移除讨论组.成功返回空 失败返回理由`")]string Api_KickDG([Description("")] string 响应的QQ,[Description("")] string 讨论组ID,[Description("")] string 成员);
+///
+/// 邀请对象加入讨论组 成功返回空 失败返回理由`
+///
+///
+///
+/// 多个成员用换行符分割
+///
+[Description("邀请对象加入讨论组 成功返回空 失败返回理由`")]string Api_DGInvitation([Description("")] string 响应的QQ,[Description("")] string 讨论组ID,[Description("多个成员用换行符分割")] string 成员组);
+///
+/// 成功返回以换行符分割的讨论组号列表.最大为100个讨论组 失败返回空`
+///
+///
+///
+[Description("成功返回以换行符分割的讨论组号列表.最大为100个讨论组 失败返回空`")]string Api_GetDGList([Description("")] string 响应的QQ);
+///
+/// 向对象发送一条音乐信息(所谓的点歌)次数不限`
+///
+///
+/// 同Api_SendMsg 1好友 2群 3讨论组 4群临时会话 5讨论组临时会话
+/// 发群内、临时会话必填 好友可不填
+/// 临时会话、好友必填 发至群内可不填
+/// 留空默认‘QQ音乐 的分享’
+/// 任意直连或短链接均可 留空为空 无法点开
+/// 任意直连或短链接均可 可空 例:http://url.cn/cDiJT4
+/// 任意直连或短链接均可 不可空 例:http://url.cn/djwXjr
+/// 可空
+/// 可空
+/// 可空 为空默认QQ音乐
+/// 可空 为空默认QQ音乐 http://qzonestyle.gtimg.cn/ac/qzone/applogo/64/308/100497308_64.gif
+///
+[Description("向对象发送一条音乐信息(所谓的点歌)次数不限`")]bool Api_SendMusic([Description("")] string 响应的QQ,[Description("同Api_SendMsg 1好友 2群 3讨论组 4群临时会话 5讨论组临时会话")] int 收信对象类型,[Description("发群内、临时会话必填 好友可不填")] string 收信对象所属群_讨论组,[Description("临时会话、好友必填 发至群内可不填")] string 收信对象QQ,[Description("留空默认‘QQ音乐 的分享’")] string 音乐简介,[Description("任意直连或短链接均可 留空为空 无法点开")] string 音乐播放页面连接,[Description("任意直连或短链接均可 可空 例:http://url.cn/cDiJT4")] string 音乐封面连接,[Description("任意直连或短链接均可 不可空 例:http://url.cn/djwXjr")] string 音乐文件直连连接,[Description("可空")] string 曲名,[Description("可空")] string 歌手名,[Description("可空 为空默认QQ音乐")] string 音乐来源名,[Description("可空 为空默认QQ音乐 http://qzonestyle.gtimg.cn/ac/qzone/applogo/64/308/100497308_64.gif")] string 音乐来源图标连接);
+///
+/// `
+///
+///
+/// 同Api_SendMsg 1好友 2群 3讨论组 4群临时会话 5讨论组临时会话
+/// 发群内、临时会话必填 好友可不填
+/// 临时会话、好友必填 发至群内可不填
+///
+/// 00 基本 02 点歌 其他不明
+///
+[Description("`")]bool Api_SendXml([Description("")] string 响应的QQ,[Description("同Api_SendMsg 1好友 2群 3讨论组 4群临时会话 5讨论组临时会话")] int 收信对象类型,[Description("发群内、临时会话必填 好友可不填")] string 收信对象所属群_讨论组,[Description("临时会话、好友必填 发至群内可不填")] string 收信对象QQ,[Description("")] string ObjectMsg,[Description("00 基本 02 点歌 其他不明")] int 结构子类型);
+///
+/// `
+///
+///
+/// 同Api_SendMsg 1好友 2群 3讨论组 4群临时会话 5讨论组临时会话
+/// 发群内、临时会话必填 好友可不填
+/// 临时会话、好友必填 发至群内可不填
+///
+/// 00 基本 02 点歌 其他不明
+///
+[Description("`")]bool Api_SendObjectMsg([Description("")] string 响应的QQ,[Description("同Api_SendMsg 1好友 2群 3讨论组 4群临时会话 5讨论组临时会话")] int 收信对象类型,[Description("发群内、临时会话必填 好友可不填")] string 收信对象所属群_讨论组,[Description("临时会话、好友必填 发至群内可不填")] string 收信对象QQ,[Description("")] string ObjectMsg,[Description("00 基本 02 点歌 其他不明")] int 结构子类型);
+///
+/// 判断对象是否为好友(双向)`
+///
+///
+///
+///
+[Description("判断对象是否为好友(双向)`")]bool Api_IsFriend([Description("")] string 响应的QQ,[Description("")] string 对象QQ);
+///
+/// 主动加好友 成功返回真 失败返回假 当对象设置需要正确回答问题或不允许任何人添加时无条件失败
+///
+/// 机器人QQ
+/// 加谁
+/// 加好友提交的理由
+///
+[Description("主动加好友 成功返回真 失败返回假 当对象设置需要正确回答问题或不允许任何人添加时无条件失败")]bool Api_AddFriend([Description("机器人QQ")] string 响应的QQ,[Description("加谁")] string 对象QQ,[Description("加好友提交的理由")] string 附加理由);
+///
+/// 无参 用于插件自身请求禁用插件自身
+///
+///
+[Description("无参 用于插件自身请求禁用插件自身")]void Api_SelfDisable();
+///
+/// 取协议客户端类型常量 失败返回0
+///
+///
+[Description("取协议客户端类型常量 失败返回0")]int Api_GetClientType();
+///
+/// 取协议客户端版本号常量 失败返回0
+///
+///
+[Description("取协议客户端版本号常量 失败返回0")]int Api_GetClientVer();
+///
+/// 取协议客户端公开版本号常量 失败返回0
+///
+///
+[Description("取协议客户端公开版本号常量 失败返回0")]int Api_GetPubNo();
+///
+/// 取协议客户端主版本号常量 失败返回0
+///
+///
+[Description("取协议客户端主版本号常量 失败返回0")]int Api_GetMainVer();
+///
+/// 取协议客户端通信模块(TXSSO)版本号常量 失败返回0
+///
+///
+[Description("取协议客户端通信模块(TXSSO)版本号常量 失败返回0")]int Api_GetTXSSOVer();
+///
+/// 通过音频、语音guid取得下载连接
+///
+///
+/// 格式:{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx}.amr
+///
+[Description("通过音频、语音guid取得下载连接")]string Api_GuidGetVoiceLink([Description("")] string 响应的QQ,[Description("格式:{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx}.amr")] string GUID);
+///
+/// 上传音频文件 成功返回guid用于发送
+///
+///
+/// 音频字节集数据
+///
+[Description("上传音频文件 成功返回guid用于发送")]string Api_UploadVoice([Description("")] string 响应的QQ,[Description("音频字节集数据")] byte[] amr音频数据);
+///
+/// 移除由Api_AddLogHandler添加、设置的日志处理函数
+///
+///
+[Description("移除由Api_AddLogHandler添加、设置的日志处理函数")]void Api_RemoveLogHandler();
+///
+/// 取群名
+///
+///
+///
+///
+[Description("取群名")]string Api_GetGroupName([Description("")] string 响应的QQ,[Description("")] string 群号);
+///
+/// 移除\取消由Api_SetMsgFilter所添加\设置的处理函数
+///
+///
+[Description("移除\取消由Api_SetMsgFilter所添加\设置的处理函数")]void Api_RemoveMsgFilter();
+///
+/// QQ名片赞 10赞每Q每日 至多50人\日系列 成功返回空 失败返回理由(腾讯爸爸给出的) 一次一赞 速度请自行管控以免冻结
+///
+///
+///
+///
+[Description("QQ名片赞 10赞每Q每日 至多50人\日系列 成功返回空 失败返回理由(腾讯爸爸给出的) 一次一赞 速度请自行管控以免冻结")]string Api_Like([Description("")] string 参_响应的QQ,[Description("")] string 参_被赞QQ);
+///
+/// 上传群文件
+///
+///
+///
+/// 实际显示在群文件列表中的文件名
+/// 本地文件路径 选填
+/// 图片字节集数据 选填
+///
+[Description("上传群文件")]bool Api_UploadGroupFile([Description("")] string 参_响应的QQ,[Description("")] string 参_群号,[Description("实际显示在群文件列表中的文件名")] string 参_上传文件名,[Description("本地文件路径 选填")] string 参_路径,[Description("图片字节集数据 选填")] byte[] 参_图片数据);
+///
+/// 根据图片GUID取得图片下载连接 失败返回空
+///
+/// {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}.jpg这样的GUID
+/// 1好友\临时会话图片 2 群图
+/// 好友QQ或群号 根据参数2填写
+///
+[Description("根据图片GUID取得图片下载连接 失败返回空")]string Api_GuidGetPicLinkEx([Description("{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}.jpg这样的GUID")] string 参_图片GUID,[Description("1好友\临时会话图片 2 群图")] int 参_图片类型,[Description("好友QQ或群号 根据参数2填写")] string 参_图片参考对象);
+///
+/// 撤回群信息 需为群管
+///
+/// 机器人QQ
+/// Event函数中的'参_原始信息' 经过解密后的封包字节数据
+///
+[Description("撤回群信息 需为群管")]bool Api_CancelGroupMsgA([Description("机器人QQ")] string 响应的QQ,[Description("Event函数中的'参_原始信息' 经过解密后的封包字节数据")] string 原始信息);
+///
+/// 取得用于登陆腾讯子业务的Cookies 如xxx.qq.com
+///
+///
+/// 如qun.qq.com
+///
+[Description("取得用于登陆腾讯子业务的Cookies 如xxx.qq.com")]string Api_GetCookiesByDomain([Description("")] string 响应的QQ,[Description("如qun.qq.com")] string 域名);
+///
+///
+///
+///
+///
+[Description("")]void Api_ChangeProtocol([Description("")] int i);
+///
+/// 从框架中删除QQ
+///
+///
+///
+[Description("从框架中删除QQ")]void Api_DeleteQQ([Description("")] string 被操作QQ);
+///
+///
+///
+///
+/// 同Api_SendMsg 1好友 2群 3讨论组 4群临时会话 5讨论组临时会话
+/// 文本型, , 发群内、临时会话必填 好友可不填
+/// 临时会话、好友必填 发至群内可不填
+///
+///
+[Description("")]bool Api_SendAppMsg([Description("")] string 响应的QQ,[Description("同Api_SendMsg 1好友 2群 3讨论组 4群临时会话 5讨论组临时会话")] int 收信对象类型,[Description("文本型, , 发群内、临时会话必填 好友可不填")] string 信对象所属群_讨论组,[Description("临时会话、好友必填 发至群内可不填")] string 收信对象QQ,[Description("")] string AppMsg);
+///
+/// 取生日 失败返回空 未公开生日信息返回 "0年0月0日"
+///
+///
+///
+///
+[Description("取生日 失败返回空 未公开生日信息返回 "0年0月0日"")]string Api_GetBirthday([Description("")] string 响应的QQ,[Description("")] string QQ);
+///
+/// 取用户个人信息页面字节数据 包含各种资料 返回内容为原始明文数据
+///
+///
+///
+///
+[Description("取用户个人信息页面字节数据 包含各种资料 返回内容为原始明文数据")]string Api_GetUserInfo([Description("")] string 响应的QQ,[Description("")] string QQ);
+///
+///
+///
+///
+///
+[Description("")]string Api_GetFriendListA([Description("")] string 响应的QQ);
+///
+/// 仅商用版可用
+///
+///
+[Description("仅商用版可用")]string Api_GetLoginQRCode();
+///
+/// 仅商用版可用 上传头像 接受字节集参数 返回值:0 上传成功 -1参数有误 -2图片大于1MB -3获取上传令牌失败受限 -4其他理由上传失败
+///
+/// 机器人QQ
+/// 图片字节集数据,由于易语言DLL限制你可能在这里读到的是"整数型" 请自己改成字节集,图片不限PNG JPG 大小1MB以内
+///
+[Description("仅商用版可用 上传头像 接受字节集参数 返回值:0 上传成功 -1参数有误 -2图片大于1MB -3获取上传令牌失败受限 -4其他理由上传失败")]int Api_UploadCface_Byte([Description("机器人QQ")] string 参_响应的QQ,[Description("图片字节集数据,由于易语言DLL限制你可能在这里读到的是"整数型" 请自己改成字节集,图片不限PNG JPG 大小1MB以内")] int 参_图片数据);
+///
+/// 仅商用版可用 上传头像 接受路径参数 URL 或 本地路径 返回值:0 上传成功 -1参数有误 -2图片大于1MB -3获取上传令牌失败受限 -4其他理由上传失败
+///
+/// 机器人QQ
+/// 路径 可选URL 或 本地路径 http://www.baidu,com/图片.jpg C:\1.jpg,
+///
+[Description("仅商用版可用 上传头像 接受路径参数 URL 或 本地路径 返回值:0 上传成功 -1参数有误 -2图片大于1MB -3获取上传令牌失败受限 -4其他理由上传失败")]int Api_UploadCface_Path([Description("机器人QQ")] string 参_响应的QQ,[Description("路径 可选URL 或 本地路径 http://www.baidu,com/图片.jpg C:\1.jpg,")] string 参_图片路径);
+///
+/// 异步处理被加好友事件 在事件1001下返回值需>30 如50 以强制忽略且确保无其他插件处理
+///
+/// 在事件1001下取得 参_原始信息 填入
+/// 0忽略 10同意 20拒绝 30单向同意(成为单向好友)
+/// 拒绝时的附加理由 可以留空
+///
+[Description("异步处理被加好友事件 在事件1001下返回值需>30 如50 以强制忽略且确保无其他插件处理")]void Api_HandleFriendRequestAsync([Description("在事件1001下取得 参_原始信息 填入")] string 参_原始信息,[Description("0忽略 10同意 20拒绝 30单向同意(成为单向好友)")] int 参_处理方式,[Description("拒绝时的附加理由 可以留空")] string 参_附加信息);
+///
+/// 异步处理被加群类事件 在事件200x下返回值需>30 如50 以强制忽略且确保无其他插件处理
+///
+/// 机器人QQ
+/// 在事件200x下取得 参_原始信息 填入
+/// 0忽略 10同意 20拒绝 30拒绝并不再接受
+/// 拒绝时的附加理由 可以留空
+///
+[Description("异步处理被加群类事件 在事件200x下返回值需>30 如50 以强制忽略且确保无其他插件处理")]void Api_HandleGroupRequestAsync([Description("机器人QQ")] string 参_响应的QQ,[Description("在事件200x下取得 参_原始信息 填入")] string 参_原始信息,[Description("0忽略 10同意 20拒绝 30拒绝并不再接受")] int 参_处理方式,[Description("拒绝时的附加理由 可以留空")] string 参_附加信息);
+}
+public class MpqApi:IMpqApi{
+
+ ///
+/// 根据提交的QQ号计算得到页面操作用参数Bkn或G_tk`
+///
+///
+///
+
+
+ string IMpqApi.Api_GetGtk_Bkn([Description("")] string 响应的QQ)
+ =>NativeMethods.Api_GetGtk_Bkn(响应的QQ);
+ ///
+/// 根据提交的QQ号计算得到页面操作用参数长Bkn或长G_tk`
+///
+///
+///
+
+
+ string IMpqApi.Api_GetBkn32([Description("")] string 响应的QQ)
+ =>NativeMethods.Api_GetBkn32(响应的QQ);
+ ///
+/// 根据提交的QQ号计算得到页面操作用参数长Ldw`
+///
+///
+///
+
+
+ string IMpqApi.Api_GetLdw([Description("")] string 响应的QQ)
+ =>NativeMethods.Api_GetLdw(响应的QQ);
+ ///
+/// 取得框架所在目录.可能鸡肋了。`
+///
+///
+
+
+ string IMpqApi.Api_GetRunPath()
+ =>NativeMethods.Api_GetRunPath();
+ ///
+/// 取得当前框架内在线可用的QQ列表`
+///
+///
+
+
+ string IMpqApi.Api_GetOnlineQQlist()
+ =>NativeMethods.Api_GetOnlineQQlist();
+ ///
+/// 取得框架内所有QQ列表。包括未登录以及登录失败的QQ`
+///
+///
+
+
+ string IMpqApi.Api_GetQQlist()
+ =>NativeMethods.Api_GetQQlist();
+ ///
+/// 根据QQ取得对应的会话秘钥`
+///
+///
+///
+
+
+ string IMpqApi.Api_GetSessionkey([Description("")] string 响应的QQ)
+ =>NativeMethods.Api_GetSessionkey(响应的QQ);
+ ///
+/// 取得页面登录用的Clientkey`
+///
+///
+///
+
+
+ string IMpqApi.Api_GetClientkey([Description("")] string 响应的QQ)
+ =>NativeMethods.Api_GetClientkey(响应的QQ);
+ ///
+/// 取得页面登录用的长Clientkey`
+///
+///
+///
+
+
+ string IMpqApi.Api_GetLongClientkey([Description("")] string 响应的QQ)
+ =>NativeMethods.Api_GetLongClientkey(响应的QQ);
+ ///
+/// 取得页面操作用的Cookies`
+///
+///
+///
+
+
+ string IMpqApi.Api_GetCookies([Description("")] string 响应的QQ)
+ =>NativeMethods.Api_GetCookies(响应的QQ);
+ ///
+/// 取得框架内设置的信息发送前缀`
+///
+///
+
+
+ string IMpqApi.Api_GetPrefix()
+ =>NativeMethods.Api_GetPrefix();
+ ///
+/// 将群名片加入高速缓存当作.`
+///
+///
+///
+///
+///
+
+
+ void IMpqApi.Api_Cache_NameCard([Description("")] string 群号,[Description("")] string QQ,[Description("")] string 名片)
+ =>NativeMethods.Api_Cache_NameCard(群号,QQ,名片);
+ ///
+/// 将指定QQ移出QQ黑名单`
+///
+///
+///
+///
+
+
+ void IMpqApi.Api_DBan([Description("")] string 响应的QQ,[Description("")] string QQ)
+ =>NativeMethods.Api_DBan(响应的QQ,QQ);
+ ///
+/// 将指定QQ列入QQ黑名单`
+///
+///
+///
+///
+
+
+ void IMpqApi.Api_Ban([Description("")] string 响应的QQ,[Description("")] string QQ)
+ =>NativeMethods.Api_Ban(响应的QQ,QQ);
+ ///
+/// 禁言群成员`
+///
+///
+/// 禁言对象所在群.
+/// 禁言对象.留空为全群禁言
+/// 单位:秒 最大为1个月. 为零解除对象或全群禁言
+///
+
+
+ bool IMpqApi.Api_Shutup([Description("")] string 响应的QQ,[Description("禁言对象所在群.")] string 群号,[Description("禁言对象.留空为全群禁言")] string QQ,[Description("单位:秒 最大为1个月. 为零解除对象或全群禁言")] int 时长)
+ =>NativeMethods.Api_Shutup(响应的QQ,群号,QQ,时长);
+ ///
+/// 根据群号+QQ判断指定群员是否被禁言 获取失败的情况下亦会返回假
+///
+///
+/// 欲判断对象所在群.
+/// 欲判断对象
+///
+
+
+ bool IMpqApi.Api_IsShutup([Description("")] string 响应的QQ,[Description("欲判断对象所在群.")] string 群号,[Description("欲判断对象")] string QQ)
+ =>NativeMethods.Api_IsShutup(响应的QQ,群号,QQ);
+ ///
+/// 发群公告`
+///
+///
+///
+///
+///
+///
+
+
+ void IMpqApi.Api_SetNotice([Description("")] string 响应的QQ,[Description("")] string 群号,[Description("")] string 标题,[Description("")] string 内容)
+ =>NativeMethods.Api_SetNotice(响应的QQ,群号,标题,内容);
+ ///
+/// 取群公告`
+///
+///
+///
+///
+
+
+ string IMpqApi.Api_GetNotice([Description("")] string 响应的QQ,[Description("")] string 群号)
+ =>NativeMethods.Api_GetNotice(响应的QQ,群号);
+ ///
+/// 取群名片`
+///
+///
+///
+///
+///
+
+
+ string IMpqApi.Api_GetNameCard([Description("")] string 响应的QQ,[Description("")] string 群号,[Description("")] string QQ)
+ =>NativeMethods.Api_GetNameCard(响应的QQ,群号,QQ);
+ ///
+/// 设置群名片`
+///
+///
+///
+///
+///
+///
+
+
+ void IMpqApi.Api_SetNameCard([Description("")] string 响应的QQ,[Description("")] string 群号,[Description("")] string QQ,[Description("")] string 名片)
+ =>NativeMethods.Api_SetNameCard(响应的QQ,群号,QQ,名片);
+ ///
+/// 退出讨论组`
+///
+///
+///
+///
+
+
+ void IMpqApi.Api_QuitDG([Description("")] string 响应的QQ,[Description("")] string 讨论组ID)
+ =>NativeMethods.Api_QuitDG(响应的QQ,讨论组ID);
+ ///
+/// 删除好友`
+///
+///
+///
+///
+
+
+ bool IMpqApi.Api_DelFriend([Description("")] string 响应的QQ,[Description("")] string QQ)
+ =>NativeMethods.Api_DelFriend(响应的QQ,QQ);
+ ///
+/// 将对象移除群`
+///
+///
+///
+///
+///
+
+
+ bool IMpqApi.Api_Kick([Description("")] string 响应的QQ,[Description("")] string 群号,[Description("")] string 对象)
+ =>NativeMethods.Api_Kick(响应的QQ,群号,对象);
+ ///
+/// 主动加群.为了避免广告、群发行为。出现验证码时将会直接失败不处理`
+///
+///
+///
+///
+///
+
+
+ void IMpqApi.Api_JoinGroup([Description("")] string 响应的QQ,[Description("")] string 群号,[Description("")] string 附加理由)
+ =>NativeMethods.Api_JoinGroup(响应的QQ,群号,附加理由);
+ ///
+/// 退出群`
+///
+///
+///
+///
+
+
+ void IMpqApi.Api_QuitGroup([Description("")] string 响应的QQ,[Description("")] string 群号)
+ =>NativeMethods.Api_QuitGroup(响应的QQ,群号);
+ ///
+/// 返回值:成功返回图片GUID用于发送该图片.失败返回空. 图片尺寸应小于4MB`
+///
+/// 机器人QQ
+/// 1好友2群 注:好友图和群图的GUID并不相同并不通用 需要非别上传。群、讨论组用类型2 临时会话、好友信息需要类型1
+/// 上传该图片所属的群号或QQ
+/// 址, 图片字节集数据或字节集数据指针()
+///
+
+
+ string IMpqApi.Api_UploadPic([Description("机器人QQ")] string 响应的QQ,[Description("1好友2群 注:好友图和群图的GUID并不相同并不通用 需要非别上传。群、讨论组用类型2 临时会话、好友信息需要类型1")] int 参_上传类型,[Description("上传该图片所属的群号或QQ")] string 参_参考对象,[Description("址, 图片字节集数据或字节集数据指针()")] byte[] 参_图片数据)
+ =>NativeMethods.Api_UploadPic(响应的QQ,参_上传类型,参_参考对象,参_图片数据);
+ ///
+/// 根据图片GUID取得图片下载连接 失败返回空`
+///
+/// {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}.jpg这样的GUID
+///
+
+
+ string IMpqApi.Api_GuidGetPicLink([Description("{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}.jpg这样的GUID")] string 图片GUID)
+ =>NativeMethods.Api_GuidGetPicLink(图片GUID);
+ ///
+/// 回复信息 请尽量避免使用该API`
+///
+///
+/// 1好友 2群 3讨论组 4群临时会话 5讨论组临时会话
+/// 接收这条信息的对象
+/// 信息内容
+///
+
+
+ int IMpqApi.Api_Reply([Description("")] string 响应的QQ,[Description("1好友 2群 3讨论组 4群临时会话 5讨论组临时会话")] int 信息类型,[Description("接收这条信息的对象")] string 回复对象,[Description("信息内容")] string 内容)
+ =>NativeMethods.Api_Reply(响应的QQ,信息类型,回复对象,内容);
+ ///
+/// 向对象、目标发送信息 支持好友 群 讨论组 群临时会话 讨论组临时会话`
+///
+///
+/// 1好友 2群 3讨论组 4群临时会话 5讨论组临时会话
+/// 无特殊说明情况下留空或填零
+/// 发送群信息、讨论组信息、群临时会话信息、讨论组临时会话信息时填写
+/// 最终接收这条信息的对象QQ
+/// 信息内容
+///
+
+
+ int IMpqApi.Api_SendMsg([Description("")] string 响应的QQ,[Description("1好友 2群 3讨论组 4群临时会话 5讨论组临时会话")] int 信息类型,[Description("无特殊说明情况下留空或填零")] int 参考子类型,[Description("发送群信息、讨论组信息、群临时会话信息、讨论组临时会话信息时填写")] string 收信群_讨论组,[Description("最终接收这条信息的对象QQ")] string 收信对象,[Description("信息内容")] string 内容)
+ =>NativeMethods.Api_SendMsg(响应的QQ,信息类型,参考子类型,收信群_讨论组,收信对象,内容);
+ ///
+/// 发送封包`
+///
+///
+///
+
+
+ string IMpqApi.Api_Send([Description("")] string 封包内容)
+ =>NativeMethods.Api_Send(封包内容);
+ ///
+/// 在框架记录页输出一行信息`
+///
+/// 输出的内容
+///
+
+
+ int IMpqApi.Api_OutPut([Description("输出的内容")] string 内容)
+ =>NativeMethods.Api_OutPut(内容);
+ ///
+/// 取得本插件启用状态`
+///
+///
+
+
+ bool IMpqApi.Api_IsEnable()
+ =>NativeMethods.Api_IsEnable();
+ ///
+/// 登录一个现存的QQ`
+///
+/// 欲登录的Q
+///
+
+
+ bool IMpqApi.Api_Login([Description("欲登录的Q")] string QQ)
+ =>NativeMethods.Api_Login(QQ);
+ ///
+/// 让指定QQ下线`
+///
+///
+///
+
+
+ void IMpqApi.Api_Logout([Description("")] string QQ)
+ =>NativeMethods.Api_Logout(QQ);
+ ///
+/// tean加密算法`
+///
+///
+///
+///
+
+
+ string IMpqApi.Api_Tea加密([Description("")] string 加密内容,[Description("")] string Key)
+ =>NativeMethods.Api_Tea加密(加密内容,Key);
+ ///
+/// tean解密算法`
+///
+///
+///
+///
+
+
+ string IMpqApi.Api_Tea解密([Description("")] string 解密内容,[Description("")] string Key)
+ =>NativeMethods.Api_Tea解密(解密内容,Key);
+ ///
+/// 取用户名`
+///
+///
+///
+
+
+ string IMpqApi.Api_GetNick([Description("")] string QQ)
+ =>NativeMethods.Api_GetNick(QQ);
+ ///
+/// 取QQ等级+QQ会员等级 返回json格式信息`
+///
+///
+///
+
+
+ string IMpqApi.Api_GetQQLevel([Description("")] string QQ)
+ =>NativeMethods.Api_GetQQLevel(QQ);
+ ///
+/// 群号转群ID`
+///
+///
+///
+
+
+ string IMpqApi.Api_GNGetGid([Description("")] string 群号)
+ =>NativeMethods.Api_GNGetGid(群号);
+ ///
+/// 群ID转群号`
+///
+///
+///
+
+
+ string IMpqApi.Api_GidGetGN([Description("")] string 群ID)
+ =>NativeMethods.Api_GidGetGN(群ID);
+ ///
+/// 取框架版本号(发布时间戳`
+///
+///
+
+
+ int IMpqApi.Api_GetVersion()
+ =>NativeMethods.Api_GetVersion();
+ ///
+/// 取框架版本名`
+///
+///
+
+
+ string IMpqApi.Api_GetVersionName()
+ =>NativeMethods.Api_GetVersionName();
+ ///
+/// 取当前框架内部时间戳_周期性与服务器时间同步`
+///
+///
+
+
+ int IMpqApi.Api_GetTimeStamp()
+ =>NativeMethods.Api_GetTimeStamp();
+ ///
+/// 取得框架输出列表内所有信息`
+///
+///
+
+
+ string IMpqApi.Api_GetLog()
+ =>NativeMethods.Api_GetLog();
+ ///
+/// 判断是否处于被屏蔽群信息状态。`
+///
+///
+///
+
+
+ bool IMpqApi.Api_IfBlock([Description("")] string 响应的QQ)
+ =>NativeMethods.Api_IfBlock(响应的QQ);
+ ///
+/// 取包括群主在内的群管列表`
+///
+///
+///
+///
+
+
+ string IMpqApi.Api_GetAdminList([Description("")] string 响应的QQ,[Description("")] string 群号)
+ =>NativeMethods.Api_GetAdminList(响应的QQ,群号);
+ ///
+/// 发说说`
+///
+///
+///
+///
+
+
+ string IMpqApi.Api_AddTaotao([Description("")] string 响应的QQ,[Description("")] string 内容)
+ =>NativeMethods.Api_AddTaotao(响应的QQ,内容);
+ ///
+/// 取个签`
+///
+///
+///
+///
+
+
+ string IMpqApi.Api_GetSign([Description("")] string 响应的QQ,[Description("")] string 对象)
+ =>NativeMethods.Api_GetSign(响应的QQ,对象);
+ ///
+/// 设置个签`
+///
+///
+///
+///
+
+
+ string IMpqApi.Api_SetSign([Description("")] string 响应的QQ,[Description("")] string 内容)
+ =>NativeMethods.Api_SetSign(响应的QQ,内容);
+ ///
+/// 通过qun.qzone.qq.com接口取得取群列表.成功返回转码后的JSON格式文本信息`
+///
+///
+///
+
+
+ string IMpqApi.Api_GetGroupListA([Description("")] string 响应的QQ)
+ =>NativeMethods.Api_GetGroupListA(响应的QQ);
+ ///
+/// 通过qun.qq.com接口取得取群列表.成功返回转码后的JSON格式文本信息`
+///
+///
+///
+
+
+ string IMpqApi.Api_GetGroupListB([Description("")] string 响应的QQ)
+ =>NativeMethods.Api_GetGroupListB(响应的QQ);
+ ///
+/// 通过qun.qq.com接口取得群成员列表 成功返回转码后的JSON格式文本`
+///
+///
+///
+///
+
+
+ string IMpqApi.Api_GetGroupMemberA([Description("")] string 响应的QQ,[Description("")] string 群号)
+ =>NativeMethods.Api_GetGroupMemberA(响应的QQ,群号);
+ ///
+/// 通过qun.qzone.qq.com接口取得群成员列表 成功返回转码后的JSON格式文本`
+///
+///
+///
+///
+
+
+ string IMpqApi.Api_GetGroupMemberB([Description("")] string 响应的QQ,[Description("")] string 群号)
+ =>NativeMethods.Api_GetGroupMemberB(响应的QQ,群号);
+ ///
+/// 通过qun.qq.com接口取得好友列表。成功返回转码后的JSON文本`
+///
+///
+///
+
+
+ string IMpqApi.Api_GetFriendList([Description("")] string 响应的QQ)
+ =>NativeMethods.Api_GetFriendList(响应的QQ);
+ ///
+/// 取Q龄 成功返回Q龄 失败返回-1`
+///
+///
+///
+///
+
+
+ int IMpqApi.Api_GetQQAge([Description("")] string 响应的QQ,[Description("")] string QQ)
+ =>NativeMethods.Api_GetQQAge(响应的QQ,QQ);
+ ///
+/// 取年龄 成功返回年龄 失败返回-1`
+///
+///
+///
+///
+
+
+ int IMpqApi.Api_GetAge([Description("")] string 响应的QQ,[Description("")] string QQ)
+ =>NativeMethods.Api_GetAge(响应的QQ,QQ);
+ ///
+/// 取个人说明`
+///
+///
+/// 对象QQ
+///
+
+
+ string IMpqApi.Api_GetPersonalProfile([Description("")] string 响应的QQ,[Description("对象QQ")] string QQ)
+ =>NativeMethods.Api_GetPersonalProfile(响应的QQ,QQ);
+ ///
+/// 取邮箱 成功返回邮箱 失败返回空`
+///
+///
+///
+///
+
+
+ string IMpqApi.Api_GetEmail([Description("")] string 响应的QQ,[Description("")] string QQ)
+ =>NativeMethods.Api_GetEmail(响应的QQ,QQ);
+ ///
+/// 取对象性别 1男 2女 未或失败返回-1`
+///
+///
+///
+///
+
+
+ int IMpqApi.Api_GetGender([Description("")] string 响应的QQ,[Description("")] string QQ)
+ =>NativeMethods.Api_GetGender(响应的QQ,QQ);
+ ///
+/// 向好友发送‘正在输入’的状态信息.当好友收到信息之后 “正在输入”状态会立刻被打断`
+///
+///
+///
+///
+
+
+ int IMpqApi.Api_SendTyping([Description("")] string 响应的QQ,[Description("")] string QQ)
+ =>NativeMethods.Api_SendTyping(响应的QQ,QQ);
+ ///
+/// 向好友发送窗口抖动信息`
+///
+///
+///
+///
+
+
+ int IMpqApi.Api_SendShake([Description("")] string 响应的QQ,[Description("")] string QQ)
+ =>NativeMethods.Api_SendShake(响应的QQ,QQ);
+ ///
+/// 取得框架内随机一个在线且可以使用的QQ`
+///
+///
+
+
+ string IMpqApi.Api_GetRadomOnlineQQ()
+ =>NativeMethods.Api_GetRadomOnlineQQ();
+ ///
+/// 往帐号列表添加一个Q.当该Q已存在时则覆盖密码`
+///
+///
+///
+/// 运行框架时是否自动登录该Q.若添加后需要登录该Q则需要通过Api_Login操作
+///
+
+
+ bool IMpqApi.Api_AddQQ([Description("")] string QQ,[Description("")] string 密码,[Description("运行框架时是否自动登录该Q.若添加后需要登录该Q则需要通过Api_Login操作")] bool 自动登录)
+ =>NativeMethods.Api_AddQQ(QQ,密码,自动登录);
+ ///
+/// 设置在线状态+附加信息 `
+///
+///
+/// 1~6 分别对应我在线上, Q我吧, 离开, 忙碌, 请勿打扰, 隐身
+/// 最大255字节
+///
+
+
+ bool IMpqApi.Api_SetOLStatus([Description("")] string 响应的QQ,[Description("1~6 分别对应我在线上, Q我吧, 离开, 忙碌, 请勿打扰, 隐身")] int 在线状态,[Description("最大255字节")] string 状态附加信息)
+ =>NativeMethods.Api_SetOLStatus(响应的QQ,在线状态,状态附加信息);
+ ///
+/// 取得机器码`
+///
+///
+
+
+ string IMpqApi.Api_GetMC()
+ =>NativeMethods.Api_GetMC();
+ ///
+/// 邀请对象加入群 失败返回错误理由`
+///
+///
+/// 多个好友用换行分割
+///
+///
+
+
+ string IMpqApi.Api_GroupInvitation([Description("")] string 响应的QQ,[Description("多个好友用换行分割")] string 好友QQ,[Description("")] string 群号)
+ =>NativeMethods.Api_GroupInvitation(响应的QQ,好友QQ,群号);
+ ///
+/// 创建一个讨论组 成功返回讨论组ID 失败返回空 注:每24小时只能创建100个讨论组 悠着点用`
+///
+///
+///
+
+
+ string IMpqApi.Api_CreateDG([Description("")] string 响应的QQ)
+ =>NativeMethods.Api_CreateDG(响应的QQ);
+ ///
+/// 将对象移除讨论组.成功返回空 失败返回理由`
+///
+///
+///
+///
+///
+
+
+ string IMpqApi.Api_KickDG([Description("")] string 响应的QQ,[Description("")] string 讨论组ID,[Description("")] string 成员)
+ =>NativeMethods.Api_KickDG(响应的QQ,讨论组ID,成员);
+ ///
+/// 邀请对象加入讨论组 成功返回空 失败返回理由`
+///
+///
+///
+/// 多个成员用换行符分割
+///
+
+
+ string IMpqApi.Api_DGInvitation([Description("")] string 响应的QQ,[Description("")] string 讨论组ID,[Description("多个成员用换行符分割")] string 成员组)
+ =>NativeMethods.Api_DGInvitation(响应的QQ,讨论组ID,成员组);
+ ///
+/// 成功返回以换行符分割的讨论组号列表.最大为100个讨论组 失败返回空`
+///
+///
+///
+
+
+ string IMpqApi.Api_GetDGList([Description("")] string 响应的QQ)
+ =>NativeMethods.Api_GetDGList(响应的QQ);
+ ///
+/// 向对象发送一条音乐信息(所谓的点歌)次数不限`
+///
+///
+/// 同Api_SendMsg 1好友 2群 3讨论组 4群临时会话 5讨论组临时会话
+/// 发群内、临时会话必填 好友可不填
+/// 临时会话、好友必填 发至群内可不填
+/// 留空默认‘QQ音乐 的分享’
+/// 任意直连或短链接均可 留空为空 无法点开
+/// 任意直连或短链接均可 可空 例:http://url.cn/cDiJT4
+/// 任意直连或短链接均可 不可空 例:http://url.cn/djwXjr
+/// 可空
+/// 可空
+/// 可空 为空默认QQ音乐
+/// 可空 为空默认QQ音乐 http://qzonestyle.gtimg.cn/ac/qzone/applogo/64/308/100497308_64.gif
+///
+
+
+ bool IMpqApi.Api_SendMusic([Description("")] string 响应的QQ,[Description("同Api_SendMsg 1好友 2群 3讨论组 4群临时会话 5讨论组临时会话")] int 收信对象类型,[Description("发群内、临时会话必填 好友可不填")] string 收信对象所属群_讨论组,[Description("临时会话、好友必填 发至群内可不填")] string 收信对象QQ,[Description("留空默认‘QQ音乐 的分享’")] string 音乐简介,[Description("任意直连或短链接均可 留空为空 无法点开")] string 音乐播放页面连接,[Description("任意直连或短链接均可 可空 例:http://url.cn/cDiJT4")] string 音乐封面连接,[Description("任意直连或短链接均可 不可空 例:http://url.cn/djwXjr")] string 音乐文件直连连接,[Description("可空")] string 曲名,[Description("可空")] string 歌手名,[Description("可空 为空默认QQ音乐")] string 音乐来源名,[Description("可空 为空默认QQ音乐 http://qzonestyle.gtimg.cn/ac/qzone/applogo/64/308/100497308_64.gif")] string 音乐来源图标连接)
+ =>NativeMethods.Api_SendMusic(响应的QQ,收信对象类型,收信对象所属群_讨论组,收信对象QQ,音乐简介,音乐播放页面连接,音乐封面连接,音乐文件直连连接,曲名,歌手名,音乐来源名,音乐来源图标连接);
+ ///
+/// `
+///
+///
+/// 同Api_SendMsg 1好友 2群 3讨论组 4群临时会话 5讨论组临时会话
+/// 发群内、临时会话必填 好友可不填
+/// 临时会话、好友必填 发至群内可不填
+///
+/// 00 基本 02 点歌 其他不明
+///
+
+
+ bool IMpqApi.Api_SendXml([Description("")] string 响应的QQ,[Description("同Api_SendMsg 1好友 2群 3讨论组 4群临时会话 5讨论组临时会话")] int 收信对象类型,[Description("发群内、临时会话必填 好友可不填")] string 收信对象所属群_讨论组,[Description("临时会话、好友必填 发至群内可不填")] string 收信对象QQ,[Description("")] string ObjectMsg,[Description("00 基本 02 点歌 其他不明")] int 结构子类型)
+ =>NativeMethods.Api_SendXml(响应的QQ,收信对象类型,收信对象所属群_讨论组,收信对象QQ,ObjectMsg,结构子类型);
+ ///
+/// `
+///
+///
+/// 同Api_SendMsg 1好友 2群 3讨论组 4群临时会话 5讨论组临时会话
+/// 发群内、临时会话必填 好友可不填
+/// 临时会话、好友必填 发至群内可不填
+///
+/// 00 基本 02 点歌 其他不明
+///
+
+
+ bool IMpqApi.Api_SendObjectMsg([Description("")] string 响应的QQ,[Description("同Api_SendMsg 1好友 2群 3讨论组 4群临时会话 5讨论组临时会话")] int 收信对象类型,[Description("发群内、临时会话必填 好友可不填")] string 收信对象所属群_讨论组,[Description("临时会话、好友必填 发至群内可不填")] string 收信对象QQ,[Description("")] string ObjectMsg,[Description("00 基本 02 点歌 其他不明")] int 结构子类型)
+ =>NativeMethods.Api_SendObjectMsg(响应的QQ,收信对象类型,收信对象所属群_讨论组,收信对象QQ,ObjectMsg,结构子类型);
+ ///
+/// 判断对象是否为好友(双向)`
+///
+///
+///
+///
+
+
+ bool IMpqApi.Api_IsFriend([Description("")] string 响应的QQ,[Description("")] string 对象QQ)
+ =>NativeMethods.Api_IsFriend(响应的QQ,对象QQ);
+ ///
+/// 主动加好友 成功返回真 失败返回假 当对象设置需要正确回答问题或不允许任何人添加时无条件失败
+///
+/// 机器人QQ
+/// 加谁
+/// 加好友提交的理由
+///
+
+
+ bool IMpqApi.Api_AddFriend([Description("机器人QQ")] string 响应的QQ,[Description("加谁")] string 对象QQ,[Description("加好友提交的理由")] string 附加理由)
+ =>NativeMethods.Api_AddFriend(响应的QQ,对象QQ,附加理由);
+ ///
+/// 无参 用于插件自身请求禁用插件自身
+///
+///
+
+
+ void IMpqApi.Api_SelfDisable()
+ =>NativeMethods.Api_SelfDisable();
+ ///
+/// 取协议客户端类型常量 失败返回0
+///
+///
+
+
+ int IMpqApi.Api_GetClientType()
+ =>NativeMethods.Api_GetClientType();
+ ///
+/// 取协议客户端版本号常量 失败返回0
+///
+///
+
+
+ int IMpqApi.Api_GetClientVer()
+ =>NativeMethods.Api_GetClientVer();
+ ///
+/// 取协议客户端公开版本号常量 失败返回0
+///
+///
+
+
+ int IMpqApi.Api_GetPubNo()
+ =>NativeMethods.Api_GetPubNo();
+ ///
+/// 取协议客户端主版本号常量 失败返回0
+///
+///
+
+
+ int IMpqApi.Api_GetMainVer()
+ =>NativeMethods.Api_GetMainVer();
+ ///
+/// 取协议客户端通信模块(TXSSO)版本号常量 失败返回0
+///
+///
+
+
+ int IMpqApi.Api_GetTXSSOVer()
+ =>NativeMethods.Api_GetTXSSOVer();
+ ///
+/// 通过音频、语音guid取得下载连接
+///
+///
+/// 格式:{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx}.amr
+///
+
+
+ string IMpqApi.Api_GuidGetVoiceLink([Description("")] string 响应的QQ,[Description("格式:{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx}.amr")] string GUID)
+ =>NativeMethods.Api_GuidGetVoiceLink(响应的QQ,GUID);
+ ///
+/// 上传音频文件 成功返回guid用于发送
+///
+///
+/// 音频字节集数据
+///
+
+
+ string IMpqApi.Api_UploadVoice([Description("")] string 响应的QQ,[Description("音频字节集数据")] byte[] amr音频数据)
+ =>NativeMethods.Api_UploadVoice(响应的QQ,amr音频数据);
+ ///
+/// 移除由Api_AddLogHandler添加、设置的日志处理函数
+///
+///
+
+
+ void IMpqApi.Api_RemoveLogHandler()
+ =>NativeMethods.Api_RemoveLogHandler();
+ ///
+/// 取群名
+///
+///
+///
+///
+
+
+ string IMpqApi.Api_GetGroupName([Description("")] string 响应的QQ,[Description("")] string 群号)
+ =>NativeMethods.Api_GetGroupName(响应的QQ,群号);
+ ///
+/// 移除\取消由Api_SetMsgFilter所添加\设置的处理函数
+///
+///
+
+
+ void IMpqApi.Api_RemoveMsgFilter()
+ =>NativeMethods.Api_RemoveMsgFilter();
+ ///
+/// QQ名片赞 10赞每Q每日 至多50人\日系列 成功返回空 失败返回理由(腾讯爸爸给出的) 一次一赞 速度请自行管控以免冻结
+///
+///
+///
+///
+
+
+ string IMpqApi.Api_Like([Description("")] string 参_响应的QQ,[Description("")] string 参_被赞QQ)
+ =>NativeMethods.Api_Like(参_响应的QQ,参_被赞QQ);
+ ///
+/// 上传群文件
+///
+///
+///
+/// 实际显示在群文件列表中的文件名
+/// 本地文件路径 选填
+/// 图片字节集数据 选填
+///
+
+
+ bool IMpqApi.Api_UploadGroupFile([Description("")] string 参_响应的QQ,[Description("")] string 参_群号,[Description("实际显示在群文件列表中的文件名")] string 参_上传文件名,[Description("本地文件路径 选填")] string 参_路径,[Description("图片字节集数据 选填")] byte[] 参_图片数据)
+ =>NativeMethods.Api_UploadGroupFile(参_响应的QQ,参_群号,参_上传文件名,参_路径,参_图片数据);
+ ///
+/// 根据图片GUID取得图片下载连接 失败返回空
+///
+/// {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}.jpg这样的GUID
+/// 1好友\临时会话图片 2 群图
+/// 好友QQ或群号 根据参数2填写
+///
+
+
+ string IMpqApi.Api_GuidGetPicLinkEx([Description("{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}.jpg这样的GUID")] string 参_图片GUID,[Description("1好友\临时会话图片 2 群图")] int 参_图片类型,[Description("好友QQ或群号 根据参数2填写")] string 参_图片参考对象)
+ =>NativeMethods.Api_GuidGetPicLinkEx(参_图片GUID,参_图片类型,参_图片参考对象);
+ ///
+/// 撤回群信息 需为群管
+///
+/// 机器人QQ
+/// Event函数中的'参_原始信息' 经过解密后的封包字节数据
+///
+
+
+ bool IMpqApi.Api_CancelGroupMsgA([Description("机器人QQ")] string 响应的QQ,[Description("Event函数中的'参_原始信息' 经过解密后的封包字节数据")] string 原始信息)
+ =>NativeMethods.Api_CancelGroupMsgA(响应的QQ,原始信息);
+ ///
+/// 取得用于登陆腾讯子业务的Cookies 如xxx.qq.com
+///
+///
+/// 如qun.qq.com
+///
+
+
+ string IMpqApi.Api_GetCookiesByDomain([Description("")] string 响应的QQ,[Description("如qun.qq.com")] string 域名)
+ =>NativeMethods.Api_GetCookiesByDomain(响应的QQ,域名);
+ ///
+///
+///
+///
+///
+
+
+ void IMpqApi.Api_ChangeProtocol([Description("")] int i)
+ =>NativeMethods.Api_ChangeProtocol(i);
+ ///
+/// 从框架中删除QQ
+///
+///
+///
+
+
+ void IMpqApi.Api_DeleteQQ([Description("")] string 被操作QQ)
+ =>NativeMethods.Api_DeleteQQ(被操作QQ);
+ ///
+///
+///
+///
+/// 同Api_SendMsg 1好友 2群 3讨论组 4群临时会话 5讨论组临时会话
+/// 文本型, , 发群内、临时会话必填 好友可不填
+/// 临时会话、好友必填 发至群内可不填
+///
+///
+
+
+ bool IMpqApi.Api_SendAppMsg([Description("")] string 响应的QQ,[Description("同Api_SendMsg 1好友 2群 3讨论组 4群临时会话 5讨论组临时会话")] int 收信对象类型,[Description("文本型, , 发群内、临时会话必填 好友可不填")] string 信对象所属群_讨论组,[Description("临时会话、好友必填 发至群内可不填")] string 收信对象QQ,[Description("")] string AppMsg)
+ =>NativeMethods.Api_SendAppMsg(响应的QQ,收信对象类型,信对象所属群_讨论组,收信对象QQ,AppMsg);
+ ///
+/// 取生日 失败返回空 未公开生日信息返回 "0年0月0日"
+///
+///
+///
+///
+
+
+ string IMpqApi.Api_GetBirthday([Description("")] string 响应的QQ,[Description("")] string QQ)
+ =>NativeMethods.Api_GetBirthday(响应的QQ,QQ);
+ ///
+/// 取用户个人信息页面字节数据 包含各种资料 返回内容为原始明文数据
+///
+///
+///
+///
+
+
+ string IMpqApi.Api_GetUserInfo([Description("")] string 响应的QQ,[Description("")] string QQ)
+ =>NativeMethods.Api_GetUserInfo(响应的QQ,QQ);
+ ///
+///
+///
+///
+///
+
+
+ string IMpqApi.Api_GetFriendListA([Description("")] string 响应的QQ)
+ =>NativeMethods.Api_GetFriendListA(响应的QQ);
+ ///
+/// 仅商用版可用
+///
+///
+
+
+ string IMpqApi.Api_GetLoginQRCode()
+ =>NativeMethods.Api_GetLoginQRCode();
+ ///
+/// 仅商用版可用 上传头像 接受字节集参数 返回值:0 上传成功 -1参数有误 -2图片大于1MB -3获取上传令牌失败受限 -4其他理由上传失败
+///
+/// 机器人QQ
+/// 图片字节集数据,由于易语言DLL限制你可能在这里读到的是"整数型" 请自己改成字节集,图片不限PNG JPG 大小1MB以内
+///
+
+
+ int IMpqApi.Api_UploadCface_Byte([Description("机器人QQ")] string 参_响应的QQ,[Description("图片字节集数据,由于易语言DLL限制你可能在这里读到的是"整数型" 请自己改成字节集,图片不限PNG JPG 大小1MB以内")] int 参_图片数据)
+ =>NativeMethods.Api_UploadCface_Byte(参_响应的QQ,参_图片数据);
+ ///
+/// 仅商用版可用 上传头像 接受路径参数 URL 或 本地路径 返回值:0 上传成功 -1参数有误 -2图片大于1MB -3获取上传令牌失败受限 -4其他理由上传失败
+///
+/// 机器人QQ
+/// 路径 可选URL 或 本地路径 http://www.baidu,com/图片.jpg C:\1.jpg,
+///
+
+
+ int IMpqApi.Api_UploadCface_Path([Description("机器人QQ")] string 参_响应的QQ,[Description("路径 可选URL 或 本地路径 http://www.baidu,com/图片.jpg C:\1.jpg,")] string 参_图片路径)
+ =>NativeMethods.Api_UploadCface_Path(参_响应的QQ,参_图片路径);
+ ///
+/// 异步处理被加好友事件 在事件1001下返回值需>30 如50 以强制忽略且确保无其他插件处理
+///
+/// 在事件1001下取得 参_原始信息 填入
+/// 0忽略 10同意 20拒绝 30单向同意(成为单向好友)
+/// 拒绝时的附加理由 可以留空
+///
+
+
+ void IMpqApi.Api_HandleFriendRequestAsync([Description("在事件1001下取得 参_原始信息 填入")] string 参_原始信息,[Description("0忽略 10同意 20拒绝 30单向同意(成为单向好友)")] int 参_处理方式,[Description("拒绝时的附加理由 可以留空")] string 参_附加信息)
+ =>NativeMethods.Api_HandleFriendRequestAsync(参_原始信息,参_处理方式,参_附加信息);
+ ///
+/// 异步处理被加群类事件 在事件200x下返回值需>30 如50 以强制忽略且确保无其他插件处理
+///
+/// 机器人QQ
+/// 在事件200x下取得 参_原始信息 填入
+/// 0忽略 10同意 20拒绝 30拒绝并不再接受
+/// 拒绝时的附加理由 可以留空
+///
+
+
+ void IMpqApi.Api_HandleGroupRequestAsync([Description("机器人QQ")] string 参_响应的QQ,[Description("在事件200x下取得 参_原始信息 填入")] string 参_原始信息,[Description("0忽略 10同意 20拒绝 30拒绝并不再接受")] int 参_处理方式,[Description("拒绝时的附加理由 可以留空")] string 参_附加信息)
+ =>NativeMethods.Api_HandleGroupRequestAsync(参_响应的QQ,参_原始信息,参_处理方式,参_附加信息);
+ private static class NativeMethods
+ {
+ ///
+/// 根据提交的QQ号计算得到页面操作用参数Bkn或G_tk`
+///
+///
+///
+
+ [DllImport("Message.dll")]
+ public static extern string Api_GetGtk_Bkn([Description("")] string 响应的QQ);
+ ///
+/// 根据提交的QQ号计算得到页面操作用参数长Bkn或长G_tk`
+///
+///
+///
+
+ [DllImport("Message.dll")]
+ public static extern string Api_GetBkn32([Description("")] string 响应的QQ);
+ ///
+/// 根据提交的QQ号计算得到页面操作用参数长Ldw`
+///
+///
+///
+
+ [DllImport("Message.dll")]
+ public static extern string Api_GetLdw([Description("")] string 响应的QQ);
+ ///
+/// 取得框架所在目录.可能鸡肋了。`
+///
+///
+
+ [DllImport("Message.dll")]
+ public static extern string Api_GetRunPath();
+ ///
+/// 取得当前框架内在线可用的QQ列表`
+///
+///
+
+ [DllImport("Message.dll")]
+ public static extern string Api_GetOnlineQQlist();
+ ///
+/// 取得框架内所有QQ列表。包括未登录以及登录失败的QQ`
+///
+///
+
+ [DllImport("Message.dll")]
+ public static extern string Api_GetQQlist();
+ ///
+/// 根据QQ取得对应的会话秘钥`
+///
+///
+///
+
+ [DllImport("Message.dll")]
+ public static extern string Api_GetSessionkey([Description("")] string 响应的QQ);
+ ///
+/// 取得页面登录用的Clientkey`
+///
+///
+///
+
+ [DllImport("Message.dll")]
+ public static extern string Api_GetClientkey([Description("")] string 响应的QQ);
+ ///
+/// 取得页面登录用的长Clientkey`
+///
+///
+///
+
+ [DllImport("Message.dll")]
+ public static extern string Api_GetLongClientkey([Description("")] string 响应的QQ);
+ ///
+/// 取得页面操作用的Cookies`
+///
+///
+///
+
+ [DllImport("Message.dll")]
+ public static extern string Api_GetCookies([Description("")] string 响应的QQ);
+ ///
+/// 取得框架内设置的信息发送前缀`
+///
+///
+
+ [DllImport("Message.dll")]
+ public static extern string Api_GetPrefix();
+ ///
+/// 将群名片加入高速缓存当作.`
+///
+///
+///
+///
+///
+
+ [DllImport("Message.dll")]
+ public static extern void Api_Cache_NameCard([Description("")] string 群号,[Description("")] string QQ,[Description("")] string 名片);
+ ///
+/// 将指定QQ移出QQ黑名单`
+///
+///
+///
+///
+
+ [DllImport("Message.dll")]
+ public static extern void Api_DBan([Description("")] string 响应的QQ,[Description("")] string QQ);
+ ///
+/// 将指定QQ列入QQ黑名单`
+///
+///
+///
+///
+
+ [DllImport("Message.dll")]
+ public static extern void Api_Ban([Description("")] string 响应的QQ,[Description("")] string QQ);
+ ///
+/// 禁言群成员`
+///
+///
+/// 禁言对象所在群.
+/// 禁言对象.留空为全群禁言
+/// 单位:秒 最大为1个月. 为零解除对象或全群禁言
+///
+
+ [DllImport("Message.dll")]
+ public static extern bool Api_Shutup([Description("")] string 响应的QQ,[Description("禁言对象所在群.")] string 群号,[Description("禁言对象.留空为全群禁言")] string QQ,[Description("单位:秒 最大为1个月. 为零解除对象或全群禁言")] int 时长);
+ ///
+/// 根据群号+QQ判断指定群员是否被禁言 获取失败的情况下亦会返回假
+///
+///
+/// 欲判断对象所在群.
+/// 欲判断对象
+///
+
+ [DllImport("Message.dll")]
+ public static extern bool Api_IsShutup([Description("")] string 响应的QQ,[Description("欲判断对象所在群.")] string 群号,[Description("欲判断对象")] string QQ);
+ ///
+/// 发群公告`
+///
+///
+///
+///
+///
+///
+
+ [DllImport("Message.dll")]
+ public static extern void Api_SetNotice([Description("")] string 响应的QQ,[Description("")] string 群号,[Description("")] string 标题,[Description("")] string 内容);
+ ///
+/// 取群公告`
+///
+///
+///
+///
+
+ [DllImport("Message.dll")]
+ public static extern string Api_GetNotice([Description("")] string 响应的QQ,[Description("")] string 群号);
+ ///
+/// 取群名片`
+///
+///
+///
+///
+///
+
+ [DllImport("Message.dll")]
+ public static extern string Api_GetNameCard([Description("")] string 响应的QQ,[Description("")] string 群号,[Description("")] string QQ);
+ ///
+/// 设置群名片`
+///
+///
+///
+///
+///
+///
+
+ [DllImport("Message.dll")]
+ public static extern void Api_SetNameCard([Description("")] string 响应的QQ,[Description("")] string 群号,[Description("")] string QQ,[Description("")] string 名片);
+ ///
+/// 退出讨论组`
+///
+///
+///
+///
+
+ [DllImport("Message.dll")]
+ public static extern void Api_QuitDG([Description("")] string 响应的QQ,[Description("")] string 讨论组ID);
+ ///
+/// 删除好友`
+///
+///
+///
+///
+
+ [DllImport("Message.dll")]
+ public static extern bool Api_DelFriend([Description("")] string 响应的QQ,[Description("")] string QQ);
+ ///
+/// 将对象移除群`
+///
+///
+///
+///
+///
+
+ [DllImport("Message.dll")]
+ public static extern bool Api_Kick([Description("")] string 响应的QQ,[Description("")] string 群号,[Description("")] string 对象);
+ ///
+/// 主动加群.为了避免广告、群发行为。出现验证码时将会直接失败不处理`
+///
+///
+///
+///
+///
+
+ [DllImport("Message.dll")]
+ public static extern void Api_JoinGroup([Description("")] string 响应的QQ,[Description("")] string 群号,[Description("")] string 附加理由);
+ ///
+/// 退出群`
+///
+///
+///
+///
+
+ [DllImport("Message.dll")]
+ public static extern void Api_QuitGroup([Description("")] string 响应的QQ,[Description("")] string 群号);
+ ///
+/// 返回值:成功返回图片GUID用于发送该图片.失败返回空. 图片尺寸应小于4MB`
+///
+/// 机器人QQ
+/// 1好友2群 注:好友图和群图的GUID并不相同并不通用 需要非别上传。群、讨论组用类型2 临时会话、好友信息需要类型1
+/// 上传该图片所属的群号或QQ
+/// 址, 图片字节集数据或字节集数据指针()
+///
+
+ [DllImport("Message.dll")]
+ public static extern string Api_UploadPic([Description("机器人QQ")] string 响应的QQ,[Description("1好友2群 注:好友图和群图的GUID并不相同并不通用 需要非别上传。群、讨论组用类型2 临时会话、好友信息需要类型1")] int 参_上传类型,[Description("上传该图片所属的群号或QQ")] string 参_参考对象,[Description("址, 图片字节集数据或字节集数据指针()")] byte[] 参_图片数据);
+ ///
+/// 根据图片GUID取得图片下载连接 失败返回空`
+///
+/// {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}.jpg这样的GUID
+///
+
+ [DllImport("Message.dll")]
+ public static extern string Api_GuidGetPicLink([Description("{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}.jpg这样的GUID")] string 图片GUID);
+ ///
+/// 回复信息 请尽量避免使用该API`
+///
+///
+/// 1好友 2群 3讨论组 4群临时会话 5讨论组临时会话
+/// 接收这条信息的对象
+/// 信息内容
+///
+
+ [DllImport("Message.dll")]
+ public static extern int Api_Reply([Description("")] string 响应的QQ,[Description("1好友 2群 3讨论组 4群临时会话 5讨论组临时会话")] int 信息类型,[Description("接收这条信息的对象")] string 回复对象,[Description("信息内容")] string 内容);
+ ///
+/// 向对象、目标发送信息 支持好友 群 讨论组 群临时会话 讨论组临时会话`
+///
+///
+/// 1好友 2群 3讨论组 4群临时会话 5讨论组临时会话
+/// 无特殊说明情况下留空或填零
+/// 发送群信息、讨论组信息、群临时会话信息、讨论组临时会话信息时填写
+/// 最终接收这条信息的对象QQ
+/// 信息内容
+///
+
+ [DllImport("Message.dll")]
+ public static extern int Api_SendMsg([Description("")] string 响应的QQ,[Description("1好友 2群 3讨论组 4群临时会话 5讨论组临时会话")] int 信息类型,[Description("无特殊说明情况下留空或填零")] int 参考子类型,[Description("发送群信息、讨论组信息、群临时会话信息、讨论组临时会话信息时填写")] string 收信群_讨论组,[Description("最终接收这条信息的对象QQ")] string 收信对象,[Description("信息内容")] string 内容);
+ ///
+/// 发送封包`
+///
+///
+///
+
+ [DllImport("Message.dll")]
+ public static extern string Api_Send([Description("")] string 封包内容);
+ ///
+/// 在框架记录页输出一行信息`
+///
+/// 输出的内容
+///
+
+ [DllImport("Message.dll")]
+ public static extern int Api_OutPut([Description("输出的内容")] string 内容);
+ ///
+/// 取得本插件启用状态`
+///
+///
+
+ [DllImport("Message.dll")]
+ public static extern bool Api_IsEnable();
+ ///
+/// 登录一个现存的QQ`
+///
+/// 欲登录的Q
+///
+
+ [DllImport("Message.dll")]
+ public static extern bool Api_Login([Description("欲登录的Q")] string QQ);
+ ///
+/// 让指定QQ下线`
+///
+///
+///
+
+ [DllImport("Message.dll")]
+ public static extern void Api_Logout([Description("")] string QQ);
+ ///
+/// tean加密算法`
+///
+///
+///
+///
+
+ [DllImport("Message.dll")]
+ public static extern string Api_Tea加密([Description("")] string 加密内容,[Description("")] string Key);
+ ///
+/// tean解密算法`
+///
+///
+///
+///
+
+ [DllImport("Message.dll")]
+ public static extern string Api_Tea解密([Description("")] string 解密内容,[Description("")] string Key);
+ ///
+/// 取用户名`
+///
+///
+///
+
+ [DllImport("Message.dll")]
+ public static extern string Api_GetNick([Description("")] string QQ);
+ ///
+/// 取QQ等级+QQ会员等级 返回json格式信息`
+///
+///
+///
+
+ [DllImport("Message.dll")]
+ public static extern string Api_GetQQLevel([Description("")] string QQ);
+ ///
+/// 群号转群ID`
+///
+///
+///
+
+ [DllImport("Message.dll")]
+ public static extern string Api_GNGetGid([Description("")] string 群号);
+ ///
+/// 群ID转群号`
+///
+///
+///
+
+ [DllImport("Message.dll")]
+ public static extern string Api_GidGetGN([Description("")] string 群ID);
+ ///
+/// 取框架版本号(发布时间戳`
+///
+///
+
+ [DllImport("Message.dll")]
+ public static extern int Api_GetVersion();
+ ///
+/// 取框架版本名`
+///
+///
+
+ [DllImport("Message.dll")]
+ public static extern string Api_GetVersionName();
+ ///
+/// 取当前框架内部时间戳_周期性与服务器时间同步`
+///
+///
+
+ [DllImport("Message.dll")]
+ public static extern int Api_GetTimeStamp();
+ ///
+/// 取得框架输出列表内所有信息`
+///
+///
+
+ [DllImport("Message.dll")]
+ public static extern string Api_GetLog();
+ ///
+/// 判断是否处于被屏蔽群信息状态。`
+///
+///
+///
+
+ [DllImport("Message.dll")]
+ public static extern bool Api_IfBlock([Description("")] string 响应的QQ);
+ ///
+/// 取包括群主在内的群管列表`
+///
+///
+///
+///
+
+ [DllImport("Message.dll")]
+ public static extern string Api_GetAdminList([Description("")] string 响应的QQ,[Description("")] string 群号);
+ ///
+/// 发说说`
+///
+///
+///
+///
+
+ [DllImport("Message.dll")]
+ public static extern string Api_AddTaotao([Description("")] string 响应的QQ,[Description("")] string 内容);
+ ///
+/// 取个签`
+///
+///
+///
+///
+
+ [DllImport("Message.dll")]
+ public static extern string Api_GetSign([Description("")] string 响应的QQ,[Description("")] string 对象);
+ ///
+/// 设置个签`
+///
+///
+///
+///
+
+ [DllImport("Message.dll")]
+ public static extern string Api_SetSign([Description("")] string 响应的QQ,[Description("")] string 内容);
+ ///
+/// 通过qun.qzone.qq.com接口取得取群列表.成功返回转码后的JSON格式文本信息`
+///
+///
+///
+
+ [DllImport("Message.dll")]
+ public static extern string Api_GetGroupListA([Description("")] string 响应的QQ);
+ ///
+/// 通过qun.qq.com接口取得取群列表.成功返回转码后的JSON格式文本信息`
+///
+///
+///
+
+ [DllImport("Message.dll")]
+ public static extern string Api_GetGroupListB([Description("")] string 响应的QQ);
+ ///
+/// 通过qun.qq.com接口取得群成员列表 成功返回转码后的JSON格式文本`
+///
+///
+///
+///
+
+ [DllImport("Message.dll")]
+ public static extern string Api_GetGroupMemberA([Description("")] string 响应的QQ,[Description("")] string 群号);
+ ///
+/// 通过qun.qzone.qq.com接口取得群成员列表 成功返回转码后的JSON格式文本`
+///
+///
+///
+///
+
+ [DllImport("Message.dll")]
+ public static extern string Api_GetGroupMemberB([Description("")] string 响应的QQ,[Description("")] string 群号);
+ ///
+/// 通过qun.qq.com接口取得好友列表。成功返回转码后的JSON文本`
+///
+///
+///
+
+ [DllImport("Message.dll")]
+ public static extern string Api_GetFriendList([Description("")] string 响应的QQ);
+ ///
+/// 取Q龄 成功返回Q龄 失败返回-1`
+///
+///
+///
+///
+
+ [DllImport("Message.dll")]
+ public static extern int Api_GetQQAge([Description("")] string 响应的QQ,[Description("")] string QQ);
+ ///
+/// 取年龄 成功返回年龄 失败返回-1`
+///
+///
+///
+///
+
+ [DllImport("Message.dll")]
+ public static extern int Api_GetAge([Description("")] string 响应的QQ,[Description("")] string QQ);
+ ///
+/// 取个人说明`
+///
+///
+/// 对象QQ
+///
+
+ [DllImport("Message.dll")]
+ public static extern string Api_GetPersonalProfile([Description("")] string 响应的QQ,[Description("对象QQ")] string QQ);
+ ///
+/// 取邮箱 成功返回邮箱 失败返回空`
+///
+///
+///
+///
+
+ [DllImport("Message.dll")]
+ public static extern string Api_GetEmail([Description("")] string 响应的QQ,[Description("")] string QQ);
+ ///
+/// 取对象性别 1男 2女 未或失败返回-1`
+///
+///
+///
+///
+
+ [DllImport("Message.dll")]
+ public static extern int Api_GetGender([Description("")] string 响应的QQ,[Description("")] string QQ);
+ ///
+/// 向好友发送‘正在输入’的状态信息.当好友收到信息之后 “正在输入”状态会立刻被打断`
+///
+///
+///
+///
+
+ [DllImport("Message.dll")]
+ public static extern int Api_SendTyping([Description("")] string 响应的QQ,[Description("")] string QQ);
+ ///
+/// 向好友发送窗口抖动信息`
+///
+///
+///
+///
+
+ [DllImport("Message.dll")]
+ public static extern int Api_SendShake([Description("")] string 响应的QQ,[Description("")] string QQ);
+ ///
+/// 取得框架内随机一个在线且可以使用的QQ`
+///
+///
+
+ [DllImport("Message.dll")]
+ public static extern string Api_GetRadomOnlineQQ();
+ ///
+/// 往帐号列表添加一个Q.当该Q已存在时则覆盖密码`
+///
+///
+///
+/// 运行框架时是否自动登录该Q.若添加后需要登录该Q则需要通过Api_Login操作
+///
+
+ [DllImport("Message.dll")]
+ public static extern bool Api_AddQQ([Description("")] string QQ,[Description("")] string 密码,[Description("运行框架时是否自动登录该Q.若添加后需要登录该Q则需要通过Api_Login操作")] bool 自动登录);
+ ///
+/// 设置在线状态+附加信息 `
+///
+///
+/// 1~6 分别对应我在线上, Q我吧, 离开, 忙碌, 请勿打扰, 隐身
+/// 最大255字节
+///
+
+ [DllImport("Message.dll")]
+ public static extern bool Api_SetOLStatus([Description("")] string 响应的QQ,[Description("1~6 分别对应我在线上, Q我吧, 离开, 忙碌, 请勿打扰, 隐身")] int 在线状态,[Description("最大255字节")] string 状态附加信息);
+ ///
+/// 取得机器码`
+///
+///
+
+ [DllImport("Message.dll")]
+ public static extern string Api_GetMC();
+ ///
+/// 邀请对象加入群 失败返回错误理由`
+///
+///
+/// 多个好友用换行分割
+///
+///
+
+ [DllImport("Message.dll")]
+ public static extern string Api_GroupInvitation([Description("")] string 响应的QQ,[Description("多个好友用换行分割")] string 好友QQ,[Description("")] string 群号);
+ ///
+/// 创建一个讨论组 成功返回讨论组ID 失败返回空 注:每24小时只能创建100个讨论组 悠着点用`
+///
+///
+///
+
+ [DllImport("Message.dll")]
+ public static extern string Api_CreateDG([Description("")] string 响应的QQ);
+ ///
+/// 将对象移除讨论组.成功返回空 失败返回理由`
+///
+///
+///
+///
+///
+
+ [DllImport("Message.dll")]
+ public static extern string Api_KickDG([Description("")] string 响应的QQ,[Description("")] string 讨论组ID,[Description("")] string 成员);
+ ///
+/// 邀请对象加入讨论组 成功返回空 失败返回理由`
+///
+///
+///
+/// 多个成员用换行符分割
+///
+
+ [DllImport("Message.dll")]
+ public static extern string Api_DGInvitation([Description("")] string 响应的QQ,[Description("")] string 讨论组ID,[Description("多个成员用换行符分割")] string 成员组);
+ ///
+/// 成功返回以换行符分割的讨论组号列表.最大为100个讨论组 失败返回空`
+///
+///
+///
+
+ [DllImport("Message.dll")]
+ public static extern string Api_GetDGList([Description("")] string 响应的QQ);
+ ///
+/// 向对象发送一条音乐信息(所谓的点歌)次数不限`
+///
+///
+/// 同Api_SendMsg 1好友 2群 3讨论组 4群临时会话 5讨论组临时会话
+/// 发群内、临时会话必填 好友可不填
+/// 临时会话、好友必填 发至群内可不填
+/// 留空默认‘QQ音乐 的分享’
+/// 任意直连或短链接均可 留空为空 无法点开
+/// 任意直连或短链接均可 可空 例:http://url.cn/cDiJT4
+/// 任意直连或短链接均可 不可空 例:http://url.cn/djwXjr
+/// 可空
+/// 可空
+/// 可空 为空默认QQ音乐
+/// 可空 为空默认QQ音乐 http://qzonestyle.gtimg.cn/ac/qzone/applogo/64/308/100497308_64.gif
+///
+
+ [DllImport("Message.dll")]
+ public static extern bool Api_SendMusic([Description("")] string 响应的QQ,[Description("同Api_SendMsg 1好友 2群 3讨论组 4群临时会话 5讨论组临时会话")] int 收信对象类型,[Description("发群内、临时会话必填 好友可不填")] string 收信对象所属群_讨论组,[Description("临时会话、好友必填 发至群内可不填")] string 收信对象QQ,[Description("留空默认‘QQ音乐 的分享’")] string 音乐简介,[Description("任意直连或短链接均可 留空为空 无法点开")] string 音乐播放页面连接,[Description("任意直连或短链接均可 可空 例:http://url.cn/cDiJT4")] string 音乐封面连接,[Description("任意直连或短链接均可 不可空 例:http://url.cn/djwXjr")] string 音乐文件直连连接,[Description("可空")] string 曲名,[Description("可空")] string 歌手名,[Description("可空 为空默认QQ音乐")] string 音乐来源名,[Description("可空 为空默认QQ音乐 http://qzonestyle.gtimg.cn/ac/qzone/applogo/64/308/100497308_64.gif")] string 音乐来源图标连接);
+ ///
+/// `
+///
+///
+/// 同Api_SendMsg 1好友 2群 3讨论组 4群临时会话 5讨论组临时会话
+/// 发群内、临时会话必填 好友可不填
+/// 临时会话、好友必填 发至群内可不填
+///
+/// 00 基本 02 点歌 其他不明
+///
+
+ [DllImport("Message.dll")]
+ public static extern bool Api_SendXml([Description("")] string 响应的QQ,[Description("同Api_SendMsg 1好友 2群 3讨论组 4群临时会话 5讨论组临时会话")] int 收信对象类型,[Description("发群内、临时会话必填 好友可不填")] string 收信对象所属群_讨论组,[Description("临时会话、好友必填 发至群内可不填")] string 收信对象QQ,[Description("")] string ObjectMsg,[Description("00 基本 02 点歌 其他不明")] int 结构子类型);
+ ///
+/// `
+///
+///
+/// 同Api_SendMsg 1好友 2群 3讨论组 4群临时会话 5讨论组临时会话
+/// 发群内、临时会话必填 好友可不填
+/// 临时会话、好友必填 发至群内可不填
+///
+/// 00 基本 02 点歌 其他不明
+///
+
+ [DllImport("Message.dll")]
+ public static extern bool Api_SendObjectMsg([Description("")] string 响应的QQ,[Description("同Api_SendMsg 1好友 2群 3讨论组 4群临时会话 5讨论组临时会话")] int 收信对象类型,[Description("发群内、临时会话必填 好友可不填")] string 收信对象所属群_讨论组,[Description("临时会话、好友必填 发至群内可不填")] string 收信对象QQ,[Description("")] string ObjectMsg,[Description("00 基本 02 点歌 其他不明")] int 结构子类型);
+ ///
+/// 判断对象是否为好友(双向)`
+///
+///
+///
+///
+
+ [DllImport("Message.dll")]
+ public static extern bool Api_IsFriend([Description("")] string 响应的QQ,[Description("")] string 对象QQ);
+ ///
+/// 主动加好友 成功返回真 失败返回假 当对象设置需要正确回答问题或不允许任何人添加时无条件失败
+///
+/// 机器人QQ
+/// 加谁
+/// 加好友提交的理由
+///
+
+ [DllImport("Message.dll")]
+ public static extern bool Api_AddFriend([Description("机器人QQ")] string 响应的QQ,[Description("加谁")] string 对象QQ,[Description("加好友提交的理由")] string 附加理由);
+ ///
+/// 无参 用于插件自身请求禁用插件自身
+///
+///
+
+ [DllImport("Message.dll")]
+ public static extern void Api_SelfDisable();
+ ///
+/// 取协议客户端类型常量 失败返回0
+///
+///
+
+ [DllImport("Message.dll")]
+ public static extern int Api_GetClientType();
+ ///
+/// 取协议客户端版本号常量 失败返回0
+///
+///
+
+ [DllImport("Message.dll")]
+ public static extern int Api_GetClientVer();
+ ///
+/// 取协议客户端公开版本号常量 失败返回0
+///
+///
+
+ [DllImport("Message.dll")]
+ public static extern int Api_GetPubNo();
+ ///
+/// 取协议客户端主版本号常量 失败返回0
+///
+///
+
+ [DllImport("Message.dll")]
+ public static extern int Api_GetMainVer();
+ ///
+/// 取协议客户端通信模块(TXSSO)版本号常量 失败返回0
+///
+///
+
+ [DllImport("Message.dll")]
+ public static extern int Api_GetTXSSOVer();
+ ///
+/// 通过音频、语音guid取得下载连接
+///
+///
+/// 格式:{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx}.amr
+///
+
+ [DllImport("Message.dll")]
+ public static extern string Api_GuidGetVoiceLink([Description("")] string 响应的QQ,[Description("格式:{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx}.amr")] string GUID);
+ ///
+/// 上传音频文件 成功返回guid用于发送
+///
+///
+/// 音频字节集数据
+///
+
+ [DllImport("Message.dll")]
+ public static extern string Api_UploadVoice([Description("")] string 响应的QQ,[Description("音频字节集数据")] byte[] amr音频数据);
+ ///
+/// 移除由Api_AddLogHandler添加、设置的日志处理函数
+///
+///
+
+ [DllImport("Message.dll")]
+ public static extern void Api_RemoveLogHandler();
+ ///
+/// 取群名
+///
+///
+///
+///
+
+ [DllImport("Message.dll")]
+ public static extern string Api_GetGroupName([Description("")] string 响应的QQ,[Description("")] string 群号);
+ ///
+/// 移除\取消由Api_SetMsgFilter所添加\设置的处理函数
+///
+///
+
+ [DllImport("Message.dll")]
+ public static extern void Api_RemoveMsgFilter();
+ ///
+/// QQ名片赞 10赞每Q每日 至多50人\日系列 成功返回空 失败返回理由(腾讯爸爸给出的) 一次一赞 速度请自行管控以免冻结
+///
+///
+///
+///
+
+ [DllImport("Message.dll")]
+ public static extern string Api_Like([Description("")] string 参_响应的QQ,[Description("")] string 参_被赞QQ);
+ ///
+/// 上传群文件
+///
+///
+///
+/// 实际显示在群文件列表中的文件名
+/// 本地文件路径 选填
+/// 图片字节集数据 选填
+///
+
+ [DllImport("Message.dll")]
+ public static extern bool Api_UploadGroupFile([Description("")] string 参_响应的QQ,[Description("")] string 参_群号,[Description("实际显示在群文件列表中的文件名")] string 参_上传文件名,[Description("本地文件路径 选填")] string 参_路径,[Description("图片字节集数据 选填")] byte[] 参_图片数据);
+ ///
+/// 根据图片GUID取得图片下载连接 失败返回空
+///
+/// {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}.jpg这样的GUID
+/// 1好友\临时会话图片 2 群图
+/// 好友QQ或群号 根据参数2填写
+///
+
+ [DllImport("Message.dll")]
+ public static extern string Api_GuidGetPicLinkEx([Description("{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}.jpg这样的GUID")] string 参_图片GUID,[Description("1好友\临时会话图片 2 群图")] int 参_图片类型,[Description("好友QQ或群号 根据参数2填写")] string 参_图片参考对象);
+ ///
+/// 撤回群信息 需为群管
+///
+/// 机器人QQ
+/// Event函数中的'参_原始信息' 经过解密后的封包字节数据
+///
+
+ [DllImport("Message.dll")]
+ public static extern bool Api_CancelGroupMsgA([Description("机器人QQ")] string 响应的QQ,[Description("Event函数中的'参_原始信息' 经过解密后的封包字节数据")] string 原始信息);
+ ///
+/// 取得用于登陆腾讯子业务的Cookies 如xxx.qq.com
+///
+///
+/// 如qun.qq.com
+///
+
+ [DllImport("Message.dll")]
+ public static extern string Api_GetCookiesByDomain([Description("")] string 响应的QQ,[Description("如qun.qq.com")] string 域名);
+ ///
+///
+///
+///
+///
+
+ [DllImport("Message.dll")]
+ public static extern void Api_ChangeProtocol([Description("")] int i);
+ ///
+/// 从框架中删除QQ
+///
+///
+///
+
+ [DllImport("Message.dll")]
+ public static extern void Api_DeleteQQ([Description("")] string 被操作QQ);
+ ///
+///
+///
+///
+/// 同Api_SendMsg 1好友 2群 3讨论组 4群临时会话 5讨论组临时会话
+/// 文本型, , 发群内、临时会话必填 好友可不填
+/// 临时会话、好友必填 发至群内可不填
+///
+///
+
+ [DllImport("Message.dll")]
+ public static extern bool Api_SendAppMsg([Description("")] string 响应的QQ,[Description("同Api_SendMsg 1好友 2群 3讨论组 4群临时会话 5讨论组临时会话")] int 收信对象类型,[Description("文本型, , 发群内、临时会话必填 好友可不填")] string 信对象所属群_讨论组,[Description("临时会话、好友必填 发至群内可不填")] string 收信对象QQ,[Description("")] string AppMsg);
+ ///
+/// 取生日 失败返回空 未公开生日信息返回 "0年0月0日"
+///
+///
+///
+///
+
+ [DllImport("Message.dll")]
+ public static extern string Api_GetBirthday([Description("")] string 响应的QQ,[Description("")] string QQ);
+ ///
+/// 取用户个人信息页面字节数据 包含各种资料 返回内容为原始明文数据
+///
+///
+///
+///
+
+ [DllImport("Message.dll")]
+ public static extern string Api_GetUserInfo([Description("")] string 响应的QQ,[Description("")] string QQ);
+ ///
+///
+///
+///
+///
+
+ [DllImport("Message.dll")]
+ public static extern string Api_GetFriendListA([Description("")] string 响应的QQ);
+ ///
+/// 仅商用版可用
+///
+///
+
+ [DllImport("Message.dll")]
+ public static extern string Api_GetLoginQRCode();
+ ///
+/// 仅商用版可用 上传头像 接受字节集参数 返回值:0 上传成功 -1参数有误 -2图片大于1MB -3获取上传令牌失败受限 -4其他理由上传失败
+///
+/// 机器人QQ
+/// 图片字节集数据,由于易语言DLL限制你可能在这里读到的是"整数型" 请自己改成字节集,图片不限PNG JPG 大小1MB以内
+///
+
+ [DllImport("Message.dll")]
+ public static extern int Api_UploadCface_Byte([Description("机器人QQ")] string 参_响应的QQ,[Description("图片字节集数据,由于易语言DLL限制你可能在这里读到的是"整数型" 请自己改成字节集,图片不限PNG JPG 大小1MB以内")] int 参_图片数据);
+ ///
+/// 仅商用版可用 上传头像 接受路径参数 URL 或 本地路径 返回值:0 上传成功 -1参数有误 -2图片大于1MB -3获取上传令牌失败受限 -4其他理由上传失败
+///
+/// 机器人QQ
+/// 路径 可选URL 或 本地路径 http://www.baidu,com/图片.jpg C:\1.jpg,
+///
+
+ [DllImport("Message.dll")]
+ public static extern int Api_UploadCface_Path([Description("机器人QQ")] string 参_响应的QQ,[Description("路径 可选URL 或 本地路径 http://www.baidu,com/图片.jpg C:\1.jpg,")] string 参_图片路径);
+ ///
+/// 异步处理被加好友事件 在事件1001下返回值需>30 如50 以强制忽略且确保无其他插件处理
+///
+/// 在事件1001下取得 参_原始信息 填入
+/// 0忽略 10同意 20拒绝 30单向同意(成为单向好友)
+/// 拒绝时的附加理由 可以留空
+///
+
+ [DllImport("Message.dll")]
+ public static extern void Api_HandleFriendRequestAsync([Description("在事件1001下取得 参_原始信息 填入")] string 参_原始信息,[Description("0忽略 10同意 20拒绝 30单向同意(成为单向好友)")] int 参_处理方式,[Description("拒绝时的附加理由 可以留空")] string 参_附加信息);
+ ///
+/// 异步处理被加群类事件 在事件200x下返回值需>30 如50 以强制忽略且确保无其他插件处理
+///
+/// 机器人QQ
+/// 在事件200x下取得 参_原始信息 填入
+/// 0忽略 10同意 20拒绝 30拒绝并不再接受
+/// 拒绝时的附加理由 可以留空
+///
+
+ [DllImport("Message.dll")]
+ public static extern void Api_HandleGroupRequestAsync([Description("机器人QQ")] string 参_响应的QQ,[Description("在事件200x下取得 参_原始信息 填入")] string 参_原始信息,[Description("0忽略 10同意 20拒绝 30拒绝并不再接受")] int 参_处理方式,[Description("拒绝时的附加理由 可以留空")] string 参_附加信息);
+ }
+}
diff --git a/src/Newbe.Tools.ELang2CSharp/source/mpq.txt b/src/Newbe.Tools.ELang2CSharp/source/mpq.txt
new file mode 100644
index 0000000..0bd5edc
--- /dev/null
+++ b/src/Newbe.Tools.ELang2CSharp/source/mpq.txt
@@ -0,0 +1,397 @@
+.版本 2
+
+.DLL命令 Api_GetGtk_Bkn, 文本型, "Message.DLL", "Api_GetGtk_Bkn", 公开, 根据提交的QQ号计算得到页面操作用参数Bkn或G_tk`
+ .参数 响应的QQ, 文本型
+
+.DLL命令 Api_GetBkn32, 文本型, "Message.DLL", "Api_GetBkn32", 公开, 根据提交的QQ号计算得到页面操作用参数长Bkn或长G_tk`
+ .参数 响应的QQ, 文本型
+
+.DLL命令 Api_GetLdw, 文本型, "Message.DLL", "Api_GetLdw", 公开, 根据提交的QQ号计算得到页面操作用参数长Ldw`
+ .参数 响应的QQ, 文本型
+
+.DLL命令 Api_GetRunPath, 文本型, "Message.DLL", "Api_GetRunPath", 公开, 取得框架所在目录.可能鸡肋了。`
+
+.DLL命令 Api_GetOnlineQQlist, 文本型, "Message.DLL", "Api_GetOnlineQQlist", 公开, 取得当前框架内在线可用的QQ列表`
+
+.DLL命令 Api_GetQQlist, 文本型, "Message.DLL", "Api_GetQQlist", 公开, 取得框架内所有QQ列表。包括未登录以及登录失败的QQ`
+
+.DLL命令 Api_GetSessionkey, 文本型, "Message.DLL", "Api_GetSessionkey", 公开, 根据QQ取得对应的会话秘钥`
+ .参数 响应的QQ, 文本型
+
+.DLL命令 Api_GetClientkey, 文本型, "Message.DLL", "Api_GetClientkey", 公开, 取得页面登录用的Clientkey`
+ .参数 响应的QQ, 文本型
+
+.DLL命令 Api_GetLongClientkey, 文本型, "Message.DLL", "Api_GetLongClientkey", 公开, 取得页面登录用的长Clientkey`
+ .参数 响应的QQ, 文本型
+
+.DLL命令 Api_GetCookies, 文本型, "Message.DLL", "Api_GetCookies", 公开, 取得页面操作用的Cookies`
+ .参数 响应的QQ, 文本型
+
+.DLL命令 Api_GetPrefix, 文本型, "Message.DLL", "Api_GetPrefix", 公开, 取得框架内设置的信息发送前缀`
+
+.DLL命令 Api_Cache_NameCard, , "Message.DLL", "Api_Cache_NameCard", 公开, 将群名片加入高速缓存当作.`
+ .参数 群号, 文本型
+ .参数 QQ, 文本型
+ .参数 名片, 文本型
+
+.DLL命令 Api_DBan, , "Message.DLL", "Api_DBan", 公开, 将指定QQ移出QQ黑名单`
+ .参数 响应的QQ, 文本型
+ .参数 QQ, 文本型
+
+.DLL命令 Api_Ban, , "Message.DLL", "Api_Ban", 公开, 将指定QQ列入QQ黑名单`
+ .参数 响应的QQ, 文本型
+ .参数 QQ, 文本型
+
+.DLL命令 Api_Shutup, 逻辑型, "Message.DLL", "Api_Shutup", 公开, 禁言群成员`
+ .参数 响应的QQ, 文本型
+ .参数 群号, 文本型, , 禁言对象所在群.
+ .参数 QQ, 文本型, , 禁言对象.留空为全群禁言
+ .参数 时长, 整数型, , 单位:秒 最大为1个月. 为零解除对象或全群禁言
+
+.DLL命令 Api_IsShutup, 逻辑型, "Message.DLL", "Api_IsShutup", 公开, 根据群号+QQ判断指定群员是否被禁言 获取失败的情况下亦会返回假
+ .参数 响应的QQ, 文本型
+ .参数 群号, 文本型, , 欲判断对象所在群.
+ .参数 QQ, 文本型, , 欲判断对象
+
+.DLL命令 Api_SetNotice, , "Message.DLL", "Api_SetNotice", 公开, 发群公告`
+ .参数 响应的QQ, 文本型
+ .参数 群号, 文本型
+ .参数 标题, 文本型
+ .参数 内容, 文本型
+
+.DLL命令 Api_GetNotice, 文本型, "Message.DLL", "Api_GetNotice", 公开, 取群公告`
+ .参数 响应的QQ, 文本型
+ .参数 群号, 文本型
+
+.DLL命令 Api_GetNameCard, 文本型, "Message.DLL", "Api_GetNameCard", 公开, 取群名片`
+ .参数 响应的QQ, 文本型
+ .参数 群号, 文本型
+ .参数 QQ, 文本型
+
+.DLL命令 Api_SetNameCard, , "Message.DLL", "Api_SetNameCard", 公开, 设置群名片`
+ .参数 响应的QQ, 文本型
+ .参数 群号, 文本型
+ .参数 QQ, 文本型
+ .参数 名片, 文本型
+
+.DLL命令 Api_QuitDG, , "Message.DLL", "Api_QuitDG", 公开, 退出讨论组`
+ .参数 响应的QQ, 文本型
+ .参数 讨论组ID, 文本型
+
+.DLL命令 Api_DelFriend, 逻辑型, "Message.DLL", "Api_DelFriend", 公开, 删除好友`
+ .参数 响应的QQ, 文本型
+ .参数 QQ, 文本型
+
+.DLL命令 Api_Kick, 逻辑型, "Message.DLL", "Api_Kick", 公开, 将对象移除群`
+ .参数 响应的QQ, 文本型
+ .参数 群号, 文本型
+ .参数 对象, 文本型
+
+.DLL命令 Api_JoinGroup, , "Message.DLL", "Api_JoinGroup", 公开, 主动加群.为了避免广告、群发行为。出现验证码时将会直接失败不处理`
+ .参数 响应的QQ, 文本型
+ .参数 群号, 文本型
+ .参数 附加理由, 文本型
+
+.DLL命令 Api_QuitGroup, , "Message.DLL", "Api_QuitGroup", 公开, 退出群`
+ .参数 响应的QQ, 文本型
+ .参数 群号, 文本型
+
+.DLL命令 Api_UploadPic, 文本型, "Message.DLL", "Api_UploadPic", 公开, 返回值:成功返回图片GUID用于发送该图片.失败返回空. 图片尺寸应小于4MB`
+ .参数 响应的QQ, 文本型, , 机器人QQ
+ .参数 参_上传类型, 整数型, , 1好友2群 注:好友图和群图的GUID并不相同并不通用 需要非别上传。群、讨论组用类型2 临时会话、好友信息需要类型1
+ .参数 参_参考对象, 文本型, , 上传该图片所属的群号或QQ
+ .参数 参_图片数据, 字节集, 传址, 图片字节集数据或字节集数据指针()
+
+.DLL命令 Api_GuidGetPicLink, 文本型, "Message.DLL", "Api_GuidGetPicLink", 公开, 根据图片GUID取得图片下载连接 失败返回空`
+ .参数 图片GUID, 文本型, , {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}.jpg这样的GUID
+
+.DLL命令 Api_Reply, 整数型, "Message.DLL", "Api_Reply", 公开, 回复信息 请尽量避免使用该API`
+ .参数 响应的QQ, 文本型
+ .参数 信息类型, 整数型, , 1好友 2群 3讨论组 4群临时会话 5讨论组临时会话
+ .参数 回复对象, 文本型, , 接收这条信息的对象
+ .参数 内容, 文本型, , 信息内容
+
+.DLL命令 Api_SendMsg, 整数型, "Message.DLL", "Api_SendMsg", 公开, 向对象、目标发送信息 支持好友 群 讨论组 群临时会话 讨论组临时会话`
+ .参数 响应的QQ, 文本型
+ .参数 信息类型, 整数型, , 1好友 2群 3讨论组 4群临时会话 5讨论组临时会话
+ .参数 参考子类型, 整数型, , 无特殊说明情况下留空或填零
+ .参数 收信群_讨论组, 文本型, , 发送群信息、讨论组信息、群临时会话信息、讨论组临时会话信息时填写
+ .参数 收信对象, 文本型, , 最终接收这条信息的对象QQ
+ .参数 内容, 文本型, , 信息内容
+
+.DLL命令 Api_Send, 文本型, "Message.DLL", "Api_Send", 公开, 发送封包`
+ .参数 封包内容, 文本型
+
+.DLL命令 Api_OutPut, 整数型, "Message.DLL", "Api_OutPut", 公开, 在框架记录页输出一行信息`
+ .参数 内容, 文本型, , 输出的内容
+
+.DLL命令 Api_IsEnable, 逻辑型, "Message.DLL", "Api_IsEnable", 公开, 取得本插件启用状态`
+
+.DLL命令 Api_Login, 逻辑型, "Message.DLL", "Api_Login", 公开, 登录一个现存的QQ`
+ .参数 QQ, 文本型, , 欲登录的Q
+
+.DLL命令 Api_Logout, , "Message.DLL", "Api_Logout", 公开, 让指定QQ下线`
+ .参数 QQ, 文本型
+
+.DLL命令 Api_Tea加密, 文本型, "Message.DLL", "Api_Tea加密", 公开, tean加密算法`
+ .参数 加密内容, 文本型
+ .参数 Key, 文本型
+
+.DLL命令 Api_Tea解密, 文本型, "Message.DLL", "Api_Tea解密", 公开, tean解密算法`
+ .参数 解密内容, 文本型
+ .参数 Key, 文本型
+
+.DLL命令 Api_GetNick, 文本型, "Message.DLL", "Api_GetNick", 公开, 取用户名`
+ .参数 QQ, 文本型
+
+.DLL命令 Api_GetQQLevel, 文本型, "Message.DLL", "Api_GetQQLevel", 公开, 取QQ等级+QQ会员等级 返回json格式信息`
+ .参数 QQ, 文本型
+
+.DLL命令 Api_GNGetGid, 文本型, "Message.DLL", "Api_GNGetGid", 公开, 群号转群ID`
+ .参数 群号, 文本型
+
+.DLL命令 Api_GidGetGN, 文本型, "Message.DLL", "Api_GidGetGN", 公开, 群ID转群号`
+ .参数 群ID, 文本型
+
+.DLL命令 Api_GetVersion, 整数型, "Message.DLL", "Api_GetVersion", 公开, 取框架版本号(发布时间戳`
+
+.DLL命令 Api_GetVersionName, 文本型, "Message.DLL", "Api_GetVersionName", 公开, 取框架版本名`
+
+.DLL命令 Api_GetTimeStamp, 整数型, "Message.DLL", "Api_GetTimeStamp", 公开, 取当前框架内部时间戳_周期性与服务器时间同步`
+
+.DLL命令 Api_GetLog, 文本型, "Message.DLL", "Api_GetLog", 公开, 取得框架输出列表内所有信息`
+
+.DLL命令 Api_IfBlock, 逻辑型, "Message.DLL", "Api_IfBlock", 公开, 判断是否处于被屏蔽群信息状态。`
+ .参数 响应的QQ, 文本型
+
+.DLL命令 Api_GetAdminList, 文本型, "Message.DLL", "Api_GetAdminList", 公开, 取包括群主在内的群管列表`
+ .参数 响应的QQ, 文本型
+ .参数 群号, 文本型
+
+.DLL命令 Api_AddTaotao, 文本型, "Message.DLL", "Api_AddTaotao", 公开, 发说说`
+ .参数 响应的QQ, 文本型
+ .参数 内容, 文本型
+
+.DLL命令 Api_GetSign, 文本型, "Message.DLL", "Api_GetSign", 公开, 取个签`
+ .参数 响应的QQ, 文本型
+ .参数 对象, 文本型
+
+.DLL命令 Api_SetSign, 文本型, "Message.DLL", "Api_SetSign", 公开, 设置个签`
+ .参数 响应的QQ, 文本型
+ .参数 内容, 文本型
+
+.DLL命令 Api_GetGroupListA, 文本型, "Message.DLL", "Api_GetGroupListA", 公开, 通过qun.qzone.qq.com接口取得取群列表.成功返回转码后的JSON格式文本信息`
+ .参数 响应的QQ, 文本型
+
+.DLL命令 Api_GetGroupListB, 文本型, "Message.DLL", "Api_GetGroupListB", 公开, 通过qun.qq.com接口取得取群列表.成功返回转码后的JSON格式文本信息`
+ .参数 响应的QQ, 文本型
+
+.DLL命令 Api_GetGroupMemberA, 文本型, "Message.DLL", "Api_GetGroupMemberA", 公开, 通过qun.qq.com接口取得群成员列表 成功返回转码后的JSON格式文本`
+ .参数 响应的QQ, 文本型
+ .参数 群号, 文本型
+
+.DLL命令 Api_GetGroupMemberB, 文本型, "Message.DLL", "Api_GetGroupMemberB", 公开, 通过qun.qzone.qq.com接口取得群成员列表 成功返回转码后的JSON格式文本`
+ .参数 响应的QQ, 文本型
+ .参数 群号, 文本型
+
+.DLL命令 Api_GetFriendList, 文本型, "Message.DLL", "Api_GetFriendList", 公开, 通过qun.qq.com接口取得好友列表。成功返回转码后的JSON文本`
+ .参数 响应的QQ, 文本型
+
+.DLL命令 Api_GetQQAge, 整数型, "Message.DLL", "Api_GetQQAge", 公开, 取Q龄 成功返回Q龄 失败返回-1`
+ .参数 响应的QQ, 文本型
+ .参数 QQ, 文本型
+
+.DLL命令 Api_GetAge, 整数型, "Message.DLL", "Api_GetAge", 公开, 取年龄 成功返回年龄 失败返回-1`
+ .参数 响应的QQ, 文本型
+ .参数 QQ, 文本型
+
+.DLL命令 Api_GetPersonalProfile, 文本型, "Message.DLL", "Api_GetPersonalProfile", 公开, 取个人说明`
+ .参数 响应的QQ, 文本型
+ .参数 QQ, 文本型, , 对象QQ
+
+.DLL命令 Api_GetEmail, 文本型, "Message.DLL", "Api_GetEmail", 公开, 取邮箱 成功返回邮箱 失败返回空`
+ .参数 响应的QQ, 文本型
+ .参数 QQ, 文本型
+
+.DLL命令 Api_GetGender, 整数型, "Message.DLL", "Api_GetGender", 公开, 取对象性别 1男 2女 未或失败返回-1`
+ .参数 响应的QQ, 文本型
+ .参数 QQ, 文本型
+
+.DLL命令 Api_SendTyping, 整数型, "Message.DLL", "Api_SendTyping", 公开, 向好友发送‘正在输入’的状态信息.当好友收到信息之后 “正在输入”状态会立刻被打断`
+ .参数 响应的QQ, 文本型
+ .参数 QQ, 文本型
+
+.DLL命令 Api_SendShake, 整数型, "Message.DLL", "Api_SendShake", 公开, 向好友发送窗口抖动信息`
+ .参数 响应的QQ, 文本型
+ .参数 QQ, 文本型
+
+.DLL命令 Api_GetRadomOnlineQQ, 文本型, "Message.DLL", "Api_GetRadomOnlineQQ", 公开, 取得框架内随机一个在线且可以使用的QQ`
+
+.DLL命令 Api_AddQQ, 逻辑型, "Message.DLL", "Api_AddQQ", 公开, 往帐号列表添加一个Q.当该Q已存在时则覆盖密码`
+ .参数 QQ, 文本型
+ .参数 密码, 文本型
+ .参数 自动登录, 逻辑型, , 运行框架时是否自动登录该Q.若添加后需要登录该Q则需要通过Api_Login操作
+
+.DLL命令 Api_SetOLStatus, 逻辑型, "Message.DLL", "Api_SetOLStatus", 公开, 设置在线状态+附加信息 `
+ .参数 响应的QQ, 文本型
+ .参数 在线状态, 整数型, , 1~6 分别对应我在线上, Q我吧, 离开, 忙碌, 请勿打扰, 隐身
+ .参数 状态附加信息, 文本型, , 最大255字节
+
+.DLL命令 Api_GetMC, 文本型, "Message.DLL", "Api_GetMC", 公开, 取得机器码`
+
+.DLL命令 Api_GroupInvitation, 文本型, "Message.DLL", "Api_GroupInvitation", 公开, 邀请对象加入群 失败返回错误理由`
+ .参数 响应的QQ, 文本型
+ .参数 好友QQ, 文本型, , 多个好友用换行分割
+ .参数 群号, 文本型
+
+.DLL命令 Api_CreateDG, 文本型, "Message.DLL", "Api_CreateDG", 公开, 创建一个讨论组 成功返回讨论组ID 失败返回空 注:每24小时只能创建100个讨论组 悠着点用`
+ .参数 响应的QQ, 文本型
+
+.DLL命令 Api_KickDG, 文本型, "Message.DLL", "Api_KickDG", 公开, 将对象移除讨论组.成功返回空 失败返回理由`
+ .参数 响应的QQ, 文本型
+ .参数 讨论组ID, 文本型
+ .参数 成员, 文本型
+
+.DLL命令 Api_DGInvitation, 文本型, "Message.DLL", "Api_DGInvitation", 公开, 邀请对象加入讨论组 成功返回空 失败返回理由`
+ .参数 响应的QQ, 文本型
+ .参数 讨论组ID, 文本型
+ .参数 成员组, 文本型, , 多个成员用换行符分割
+
+.DLL命令 Api_GetDGList, 文本型, "Message.DLL", "Api_GetDGList", 公开, 成功返回以换行符分割的讨论组号列表.最大为100个讨论组 失败返回空`
+ .参数 响应的QQ, 文本型
+
+.DLL命令 Api_SendMusic, 逻辑型, "Message.DLL", "Api_SendMusic", 公开, 向对象发送一条音乐信息(所谓的点歌)次数不限`
+ .参数 响应的QQ, 文本型
+ .参数 收信对象类型, 整数型, , 同Api_SendMsg 1好友 2群 3讨论组 4群临时会话 5讨论组临时会话
+ .参数 收信对象所属群_讨论组, 文本型, , 发群内、临时会话必填 好友可不填
+ .参数 收信对象QQ, 文本型, , 临时会话、好友必填 发至群内可不填
+ .参数 音乐简介, 文本型, , 留空默认‘QQ音乐 的分享’
+ .参数 音乐播放页面连接, 文本型, , 任意直连或短链接均可 留空为空 无法点开
+ .参数 音乐封面连接, 文本型, , 任意直连或短链接均可 可空 例:http://url.cn/cDiJT4
+ .参数 音乐文件直连连接, 文本型, , 任意直连或短链接均可 不可空 例:http://url.cn/djwXjr
+ .参数 曲名, 文本型, , 可空
+ .参数 歌手名, 文本型, , 可空
+ .参数 音乐来源名, 文本型, , 可空 为空默认QQ音乐
+ .参数 音乐来源图标连接, 文本型, , 可空 为空默认QQ音乐 http://qzonestyle.gtimg.cn/ac/qzone/applogo/64/308/100497308_64.gif
+
+.DLL命令 Api_SendXml, 逻辑型, "Message.DLL", "Api_SendXml", 公开, `
+ .参数 响应的QQ, 文本型
+ .参数 收信对象类型, 整数型, , 同Api_SendMsg 1好友 2群 3讨论组 4群临时会话 5讨论组临时会话
+ .参数 收信对象所属群_讨论组, 文本型, , 发群内、临时会话必填 好友可不填
+ .参数 收信对象QQ, 文本型, , 临时会话、好友必填 发至群内可不填
+ .参数 ObjectMsg, 文本型
+ .参数 结构子类型, 整数型, , 00 基本 02 点歌 其他不明
+
+.DLL命令 Api_SendObjectMsg, 逻辑型, "Message.DLL", "Api_SendObjectMsg", 公开, `
+ .参数 响应的QQ, 文本型
+ .参数 收信对象类型, 整数型, , 同Api_SendMsg 1好友 2群 3讨论组 4群临时会话 5讨论组临时会话
+ .参数 收信对象所属群_讨论组, 文本型, , 发群内、临时会话必填 好友可不填
+ .参数 收信对象QQ, 文本型, , 临时会话、好友必填 发至群内可不填
+ .参数 ObjectMsg, 文本型
+ .参数 结构子类型, 整数型, , 00 基本 02 点歌 其他不明
+
+.DLL命令 Api_IsFriend, 逻辑型, "Message.DLL", "Api_IsFriend", 公开, 判断对象是否为好友(双向)`
+ .参数 响应的QQ, 文本型
+ .参数 对象QQ, 文本型
+
+.DLL命令 Api_AddFriend, 逻辑型, "Message.DLL", "Api_AddFriend", 公开, 主动加好友 成功返回真 失败返回假 当对象设置需要正确回答问题或不允许任何人添加时无条件失败
+ .参数 响应的QQ, 文本型, , 机器人QQ
+ .参数 对象QQ, 文本型, , 加谁
+ .参数 附加理由, 文本型, , 加好友提交的理由
+
+.DLL命令 Api_SelfDisable, , "Message.DLL", "Api_SelfDisable", 公开, 无参 用于插件自身请求禁用插件自身
+
+.DLL命令 Api_GetClientType, 整数型, "Message.DLL", "Api_GetClientType", 公开, 取协议客户端类型常量 失败返回0
+
+.DLL命令 Api_GetClientVer, 整数型, "Message.DLL", "Api_GetClientVer", 公开, 取协议客户端版本号常量 失败返回0
+
+.DLL命令 Api_GetPubNo, 整数型, "Message.DLL", "Api_GetPubNo", 公开, 取协议客户端公开版本号常量 失败返回0
+
+.DLL命令 Api_GetMainVer, 整数型, "Message.DLL", "Api_GetMainVer", 公开, 取协议客户端主版本号常量 失败返回0
+
+.DLL命令 Api_GetTXSSOVer, 整数型, "Message.DLL", "Api_GetTXSSOVer", 公开, 取协议客户端通信模块(TXSSO)版本号常量 失败返回0
+
+.DLL命令 Api_GuidGetVoiceLink, 文本型, "Message.DLL", "Api_GuidGetVoiceLink", 公开, 通过音频、语音guid取得下载连接
+ .参数 响应的QQ, 文本型
+ .参数 GUID, 文本型, , 格式:{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx}.amr
+
+.DLL命令 Api_UploadVoice, 文本型, "Message.DLL", "Api_UploadVoice", 公开, 上传音频文件 成功返回guid用于发送
+ .参数 响应的QQ, 文本型
+ .参数 amr音频数据, 字节集, , 音频字节集数据
+
+.DLL命令 Api_RemoveLogHandler, , "Message.DLL", "Api_RemoveLogHandler", 公开, 移除由Api_AddLogHandler添加、设置的日志处理函数
+
+.DLL命令 Api_GetGroupName, 文本型, "Message.DLL", "Api_GetGroupName", 公开, 取群名
+ .参数 响应的QQ, 文本型
+ .参数 群号, 文本型
+
+.DLL命令 Api_RemoveMsgFilter, , "Message.DLL", "Api_RemoveMsgFilter", 公开, 移除\取消由Api_SetMsgFilter所添加\设置的处理函数
+
+.DLL命令 Api_Like, 文本型, "Message.DLL", "Api_Like", 公开, QQ名片赞 10赞每Q每日 至多50人\日系列 成功返回空 失败返回理由(腾讯爸爸给出的) 一次一赞 速度请自行管控以免冻结
+ .参数 参_响应的QQ, 文本型
+ .参数 参_被赞QQ, 文本型
+
+.DLL命令 Api_UploadGroupFile, 逻辑型, "Message.DLL", "Api_UploadGroupFile", 公开, 上传群文件
+ .参数 参_响应的QQ, 文本型
+ .参数 参_群号, 文本型
+ .参数 参_上传文件名, 文本型, , 实际显示在群文件列表中的文件名
+ .参数 参_路径, 文本型, , 本地文件路径 选填
+ .参数 参_图片数据, 字节集, , 图片字节集数据 选填
+
+.DLL命令 Api_GuidGetPicLinkEx, 文本型, "Message.DLL", "Api_GuidGetPicLinkEx", 公开, 根据图片GUID取得图片下载连接 失败返回空
+ .参数 参_图片GUID, 文本型, , {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}.jpg这样的GUID
+ .参数 参_图片类型, 整数型, , 1好友\临时会话图片 2 群图
+ .参数 参_图片参考对象, 文本型, , 好友QQ或群号 根据参数2填写
+
+.DLL命令 Api_CancelGroupMsgA, 逻辑型, "Message.DLL", "Api_CancelGroupMsgA", 公开, 撤回群信息 需为群管
+ .参数 响应的QQ, 文本型, , 机器人QQ
+ .参数 原始信息, 文本型, , Event函数中的'参_原始信息' 经过解密后的封包字节数据
+
+.DLL命令 Api_GetCookiesByDomain, 文本型, "Message.DLL", "Api_GetCookiesByDomain", 公开, 取得用于登陆腾讯子业务的Cookies 如xxx.qq.com, 框架内维护的是qun.qq.com的通用CK
+ .参数 响应的QQ, 文本型
+ .参数 域名, 文本型, , 如qun.qq.com
+
+.DLL命令 Api_ChangeProtocol, , "Message.DLL", "Api_ChangeProtocol", 公开
+ .参数 i, 整数型
+
+.DLL命令 Api_DeleteQQ, , "Message.DLL", "Api_DeleteQQ", 公开, 从框架中删除QQ
+ .参数 被操作QQ, 文本型
+
+.DLL命令 Api_SendAppMsg, 逻辑型, "Message.DLL", "Api_SendAppMsg", 公开
+ .参数 响应的QQ, 文本型
+ .参数 收信对象类型, 整数型, , 同Api_SendMsg 1好友 2群 3讨论组 4群临时会话 5讨论组临时会话
+ .参数 信对象所属群_讨论组, 文本型, , 文本型, , 发群内、临时会话必填 好友可不填
+ .参数 收信对象QQ, 文本型, , 临时会话、好友必填 发至群内可不填
+ .参数 AppMsg, 文本型
+
+.DLL命令 Api_GetBirthday, 文本型, "Message.DLL", "Api_GetBirthday", 公开, 取生日 失败返回空 未公开生日信息返回 "0年0月0日"
+ .参数 响应的QQ, 文本型
+ .参数 QQ, 文本型
+
+.DLL命令 Api_GetUserInfo, 文本型, "Message.DLL", "Api_GetUserInfo", 公开, 取用户个人信息页面字节数据 包含各种资料 返回内容为原始明文数据,需要自己解析
+ .参数 响应的QQ, 文本型
+ .参数 QQ, 文本型
+
+.DLL命令 Api_GetFriendListA, 文本型, "Message.DLL", "Api_GetFriendListA", 公开
+ .参数 响应的QQ, 文本型
+
+.DLL命令 Api_GetLoginQRCode, 文本型, "Message.DLL", "Api_GetLoginQRCode", 公开, 仅商用版可用 ,返回base64编码后的登陆二维码图片数据,手Q扫码后将会添加到框架内登陆,获取失败返回空,API本身不会重试,可以通过监听事件11010获知被扫码 参_消息内容=二维码MD5,监听事件11011获知扫码完成 参_消息内容=二维码MD5 触发对象=登陆的QQ
+
+.DLL命令 Api_UploadCface_Byte, 整数型, "Message.DLL", "Api_UploadCface_Byte", 公开, 仅商用版可用 上传头像 接受字节集参数 返回值:0 上传成功 -1参数有误 -2图片大于1MB -3获取上传令牌失败受限 -4其他理由上传失败
+ .参数 参_响应的QQ, 文本型, , 机器人QQ
+ .参数 参_图片数据, 整数型, , 图片字节集数据,由于易语言DLL限制你可能在这里读到的是"整数型" 请自己改成字节集,图片不限PNG JPG 大小1MB以内
+
+.DLL命令 Api_UploadCface_Path, 整数型, "Message.DLL", "Api_UploadCface_Path", 公开, 仅商用版可用 上传头像 接受路径参数 URL 或 本地路径 返回值:0 上传成功 -1参数有误 -2图片大于1MB -3获取上传令牌失败受限 -4其他理由上传失败
+ .参数 参_响应的QQ, 文本型, , 机器人QQ
+ .参数 参_图片路径, 文本型, , 路径 可选URL 或 本地路径 http://www.baidu,com/图片.jpg C:\1.jpg,
+
+.DLL命令 Api_HandleFriendRequestAsync, , "Message.DLL", "Api_HandleFriendRequestAsync", , 异步处理被加好友事件 在事件1001下返回值需>30 如50 以强制忽略且确保无其他插件处理
+ .参数 参_原始信息, 文本型, , 在事件1001下取得 参_原始信息 填入
+ .参数 参_处理方式, 整数型, , 0忽略 10同意 20拒绝 30单向同意(成为单向好友)
+ .参数 参_附加信息, 文本型, , 拒绝时的附加理由 可以留空
+
+.DLL命令 Api_HandleGroupRequestAsync, , "Message.DLL", "Api_HandleGroupRequestAsync", , 异步处理被加群类事件 在事件200x下返回值需>30 如50 以强制忽略且确保无其他插件处理
+ .参数 参_响应的QQ, 文本型, , 机器人QQ
+ .参数 参_原始信息, 文本型, , 在事件200x下取得 参_原始信息 填入
+ .参数 参_处理方式, 整数型, , 0忽略 10同意 20拒绝 30拒绝并不再接受
+ .参数 参_附加信息, 文本型, , 拒绝时的附加理由 可以留空
diff --git a/src/Newbe.Tools.ELang2CSharp/source/qqlight.cs b/src/Newbe.Tools.ELang2CSharp/source/qqlight.cs
new file mode 100644
index 0000000..a045057
--- /dev/null
+++ b/src/Newbe.Tools.ELang2CSharp/source/qqlight.cs
@@ -0,0 +1,1732 @@
+// generate at 2019/12/15 8:54:12 +00:00
+public interface IQQLightApi{
+///
+/// //给QQ点名片赞,PCQQ点赞不稳定,容易失效
+///
+///
+///
+///
+[Description("//给QQ点名片赞,PCQQ点赞不稳定,容易失效")]void Api_SendPraise([Description("")] string QQID,[Description("")] int AuthCode);
+///
+/// //抖动好友窗口
+///
+///
+///
+///
+[Description("//抖动好友窗口")]void Api_SendShake([Description("")] string QQID,[Description("")] int AuthCode);
+///
+/// //取得网页操作时需要用到的bkn/Gtk
+///
+///
+///
+///
+[Description("//取得网页操作时需要用到的bkn/Gtk")]string Api_Getbkn([Description("")] string Cookies,[Description("")] int AuthCode);
+///
+/// //取得网页操作时需要用到的bkn/Gtk
+///
+///
+///
+///
+[Description("//取得网页操作时需要用到的bkn/Gtk")]string Api_Getbkn_Long([Description("")] string Cookies,[Description("")] int AuthCode);
+///
+/// //退出群
+///
+///
+///
+///
+[Description("//退出群")]void Api_QuitGroup([Description("")] string GroupID,[Description("")] int AuthCode);
+///
+/// //退出讨论组
+///
+///
+///
+///
+[Description("//退出讨论组")]void Api_QuitDiscussGroup([Description("")] string GroupID,[Description("")] int AuthCode);
+///
+/// //修改个性签名
+///
+///
+///
+///
+[Description("//修改个性签名")]void Api_SetSignature([Description("")] string Signature,[Description("")] int AuthCode);
+///
+/// //修改讨论组名称
+///
+///
+///
+///
+///
+[Description("//修改讨论组名称")]void Api_SetDiscussName([Description("")] string DiscussGroupID,[Description("")] string Name,[Description("")] int AuthCode);
+///
+/// //修改群名称
+///
+///
+///
+///
+///
+[Description("//修改群名称")]void Api_SetGroupName([Description("")] string GroupID,[Description("")] string Name,[Description("")] int AuthCode);
+///
+/// //设置全群禁言
+///
+///
+/// 真 开启全群禁言 假 关闭全群禁言
+///
+///
+[Description("//设置全群禁言")]void Api_BanGroup([Description("")] string GroupID,[Description("真 开启全群禁言 假 关闭全群禁言")] bool IsBanGroup,[Description("")] int AuthCode);
+///
+/// //设置管理员权限
+///
+///
+///
+/// 真,设置 假,取消
+///
+///
+[Description("//设置管理员权限")]void Api_SetManager([Description("")] string GroupID,[Description("")] string QQID,[Description("真,设置 假,取消")] bool IsManager,[Description("")] int AuthCode);
+///
+/// //禁言群成员
+///
+///
+///
+/// 单位:秒 0为解除禁言
+///
+///
+[Description("//禁言群成员")]void Api_Ban([Description("")] string GroupID,[Description("")] string QQ,[Description("单位:秒 0为解除禁言")] int time,[Description("")] int AuthCode);
+///
+/// //修改匿名权限
+///
+///
+/// 真 允许匿名 假 禁止匿名
+///
+///
+[Description("//修改匿名权限")]void Api_SetAnony([Description("")] string GroupID,[Description("真 允许匿名 假 禁止匿名")] bool IsSetAnony,[Description("")] int AuthCode);
+///
+/// //踢出群成员
+///
+///
+///
+/// 不再接受此人加群
+///
+///
+[Description("//踢出群成员")]void Api_RemoveMember([Description("")] string GroupID,[Description("")] string QQID,[Description("不再接受此人加群")] bool IsBan,[Description("")] int AuthCode);
+///
+/// //解散群
+///
+/// 群号
+///
+///
+[Description("//解散群")]void Api_RemoveGroup([Description("群号")] string GroupID,[Description("")] int AuthCode);
+///
+/// //取得操作网页所需要的Cookies
+///
+///
+///
+[Description("//取得操作网页所需要的Cookies")]string Api_GetCookies([Description("")] int AuthCode);
+///
+/// //取得QQ空间Token
+///
+///
+///
+[Description("//取得QQ空间Token")]string Api_GetQzoneToken([Description("")] int AuthCode);
+///
+/// //取得QQ空间Cookies
+///
+///
+///
+[Description("//取得QQ空间Cookies")]string Api_GetQzoneCookies([Description("")] int AuthCode);
+///
+/// //发表说说
+///
+///
+///
+///
+[Description("//发表说说")]string Api_SendTaotao([Description("")] string Str,[Description("")] int AuthCode);
+///
+/// //取得所登录的QQ
+///
+///
+///
+[Description("//取得所登录的QQ")]string Api_GetLoginQQ([Description("")] int AuthCode);
+///
+/// //框架为插件所创建的插件目录
+///
+///
+///
+[Description("//框架为插件所创建的插件目录")]string Api_GetPath([Description("")] int AuthCode);
+///
+/// //置插件错误管理
+///
+///
+///
+///
+///
+[Description("//置插件错误管理")]string Api_Error([Description("")] string Code,[Description("")] string Str,[Description("")] int AuthCode);
+///
+/// //机器人发送消息,返回值为该条消息的ID
+///
+/// 1.好友消息 2.群消息 3.群临时消息 4.讨论组消息 5.讨论组临时消息 6.QQ临时消息
+///
+/// 类型为2,4时可留空
+///
+///
+///
+[Description("//机器人发送消息,返回值为该条消息的ID")]string Api_SendMsg([Description("1.好友消息 2.群消息 3.群临时消息 4.讨论组消息 5.讨论组临时消息 6.QQ临时消息")] int Type,[Description("")] string GroupID,[Description("类型为2,4时可留空")] string QQID,[Description("")] string Msg,[Description("")] int AuthCode);
+///
+/// //处理加群消息
+///
+///
+///
+///
+/// 1.同意 2.拒绝 3.忽略
+/// 参数可为空,且为 拒绝 时有效
+///
+///
+[Description("//处理加群消息")]void Api_SetGroupAdd([Description("")] string GroupID,[Description("")] string QQID,[Description("")] string Seq,[Description("1.同意 2.拒绝 3.忽略")] int Type,[Description("参数可为空,且为 拒绝 时有效")] string Reason,[Description("")] int AuthCode);
+///
+/// //处理加好友消息
+///
+///
+/// 1.同意 2.拒绝 3.忽略
+/// 参数可为空,且为 拒绝 时有效
+///
+///
+[Description("//处理加好友消息")]void Api_SetFriendAdd([Description("")] string QQID,[Description("1.同意 2.拒绝 3.忽略")] int Type,[Description("参数可为空,且为 拒绝 时有效")] string Reason,[Description("")] int AuthCode);
+///
+/// //向框架推送一条日志
+///
+/// 日志类型(自定义)
+/// 日志内容
+/// 日志颜色
+///
+///
+[Description("//向框架推送一条日志")]void Api_SendLog([Description("日志类型(自定义)")] string Type,[Description("日志内容")] string Msg,[Description("日志颜色")] int FontColor,[Description("")] int AuthCode);
+///
+/// //修改好友备注
+///
+///
+///
+///
+///
+[Description("//修改好友备注")]void Api_SetFriendName([Description("")] string QQID,[Description("")] string Name,[Description("")] int AuthCode);
+///
+/// //删除好友
+///
+///
+///
+///
+[Description("//删除好友")]void Api_DeleteFriend([Description("")] string QQID,[Description("")] int AuthCode);
+///
+/// //主动添加群
+///
+///
+///
+///
+///
+[Description("//主动添加群")]void Api_AddGroup([Description("")] string GroupID,[Description("")] string 附加信息,[Description("")] int AuthCode);
+///
+/// //主动添加好友
+///
+///
+///
+///
+///
+[Description("//主动添加好友")]void Api_AddFriend([Description("")] string QQID,[Description("")] string Info,[Description("")] int AuthCode);
+///
+/// //返回卡片点歌JSON代码
+///
+///
+///
+///
+[Description("//返回卡片点歌JSON代码")]string Api_JsonMusic([Description("")] string SongID,[Description("")] int AuthCode);
+///
+/// //取得群内成员的名片
+///
+///
+///
+///
+///
+[Description("//取得群内成员的名片")]string Api_GetGroupCard([Description("")] string GroupID,[Description("")] string QQID,[Description("")] int AuthCode);
+///
+/// //取指定QQ的昵称
+///
+///
+///
+///
+[Description("//取指定QQ的昵称")]string Api_GetNick([Description("")] string QQID,[Description("")] int AuthCode);
+///
+///
+///
+///
+///
+///
+[Description("")]string Api_GetGroupName([Description("")] string GroupID,[Description("")] int AuthCode);
+///
+///
+///
+///
+///
+[Description("")]string Api_GetSoftVersion([Description("")] int AuthCode);
+///
+///
+///
+///
+///
+///
+[Description("")]string Api_GetGroupIntroduce([Description("")] string GroupID,[Description("")] int AuthCode);
+///
+///
+///
+///
+///
+///
+[Description("")]string Api_GetGroupOwner([Description("")] string GroupID,[Description("")] int AuthCode);
+///
+/// //修改群成员的名片
+///
+///
+///
+///
+///
+///
+[Description("//修改群成员的名片")]void Api_SetGroupCard([Description("")] string GroupID,[Description("")] string QQID,[Description("")] string NewCard,[Description("")] int AuthCode);
+///
+/// //取得某个QQ的名片赞数量
+///
+///
+///
+///
+[Description("//取得某个QQ的名片赞数量")]string Api_GetPraiseNum([Description("")] string QQID,[Description("")] int AuthCode);
+///
+/// //取得某个QQ的等级
+///
+///
+///
+///
+[Description("//取得某个QQ的等级")]int Api_GetQQLevel([Description("")] string QQID,[Description("")] int AuthCode);
+///
+///
+///
+///
+///
+///
+[Description("")]void Api_SetNick([Description("")] string NewNick,[Description("")] int AuthCode);
+///
+///
+///
+///
+///
+///
+///
+[Description("")]string Api_Taotaodolike([Description("")] string QQID,[Description("")] string URL,[Description("")] int AuthCode);
+///
+///
+///
+///
+///
+///
+///
+///
+[Description("")]string Api_Taotaofeeds([Description("")] string QQID,[Description("")] string URL,[Description("")] string Content,[Description("")] int AuthCode);
+///
+///
+///
+///
+///
+///
+[Description("")]int Api_GetQQAge([Description("")] string QQID,[Description("")] int AuthCode);
+///
+///
+///
+///
+///
+///
+[Description("")]int Api_GetQQSex([Description("")] string QQID,[Description("")] int AuthCode);
+///
+/// //以JSON形式取得好友列表
+///
+///
+///
+///
+[Description("//以JSON形式取得好友列表")]string Api_GetFriendList([Description("")] bool Cache,[Description("")] int AuthCode);
+///
+/// //以JSON形式取得群列表
+///
+///
+///
+///
+[Description("//以JSON形式取得群列表")]string Api_GetGroupList([Description("")] bool Cache,[Description("")] int AuthCode);
+///
+/// //以JSON形式取得群成员列表
+///
+///
+///
+///
+///
+[Description("//以JSON形式取得群成员列表")]string Api_GetGroupMemberList([Description("")] string GroupID,[Description("")] bool Cache,[Description("")] int AuthCode);
+///
+/// //以JSON形式取得某QQ个人信息
+///
+///
+///
+///
+[Description("//以JSON形式取得某QQ个人信息")]string Api_GetQQInfo([Description("")] string QQID,[Description("")] int AuthCode);
+///
+/// //以JSON形式取得某群信息
+///
+///
+///
+///
+[Description("//以JSON形式取得某群信息")]string Api_GetGroupInfo([Description("")] string GroupID,[Description("")] int AuthCode);
+///
+/// //撤回自身消息 发出消息不可以秒撤回,腾讯限制,1~2s后才可撤回
+///
+/// 1.好友消息 2.群消息 3.群临时消息 4.讨论组消息 5.讨论组临时消息 6.QQ临时消息
+/// 撤回群消息、群临时消息、讨论组消息、讨论组临时消息必须填写,其余情况可留空
+/// 撤回好友消息、群临时消息、讨论组临时消息、QQ临时消息必须填写,其余情况可留空
+/// 撤回的消息ID,机器人发送消息会返回自身的消息ID
+///
+///
+[Description("//撤回自身消息 发出消息不可以秒撤回,腾讯限制,1~2s后才可撤回")]void Api_DeleteMsg([Description("1.好友消息 2.群消息 3.群临时消息 4.讨论组消息 5.讨论组临时消息 6.QQ临时消息")] int Type,[Description("撤回群消息、群临时消息、讨论组消息、讨论组临时消息必须填写,其余情况可留空")] string GroupID,[Description("撤回好友消息、群临时消息、讨论组临时消息、QQ临时消息必须填写,其余情况可留空")] string QQID,[Description("撤回的消息ID,机器人发送消息会返回自身的消息ID")] string MsgID,[Description("")] int AuthCode);
+///
+/// //改变QQ在线状态
+///
+/// 1.我在线上 2.Q我吧 3.离开 4.忙碌 5.请勿打扰 6.隐身
+///
+///
+[Description("//改变QQ在线状态")]void Api_SetQQState([Description("1.我在线上 2.Q我吧 3.离开 4.忙碌 5.请勿打扰 6.隐身")] int Type,[Description("")] int AuthCode);
+///
+/// //邀请好友入群
+///
+///
+///
+///
+///
+[Description("//邀请好友入群")]void Api_InviteFriend([Description("")] string GroupID,[Description("")] string QQID,[Description("")] int AuthCode);
+///
+///
+///
+///
+///
+///
+[Description("")]string Api_GetQQInfo_v2([Description("")] string QQID,[Description("")] int AuthCode);
+///
+/// //取消COM库
+///
+///
+[Description("//取消COM库")]void CoUninitialize();
+///
+/// //初始化COM库
+///
+///
+///
+[Description("//初始化COM库")]void CoInitialize([Description("")] int pvReserved);
+///
+/// //上传图片,获得图片GUID,
+///
+/// 1.私聊图片 2.群聊图片
+/// 私聊图片填写QQID,群聊/讨论组图片填写群号讨论组号
+/// 图片的Hex流
+///
+///
+[Description("//上传图片,获得图片GUID,")]string Api_UpLoadPic([Description("1.私聊图片 2.群聊图片")] int Type,[Description("私聊图片填写QQID,群聊/讨论组图片填写群号讨论组号")] string 对象,[Description("图片的Hex流")] string Bin,[Description("")] int AuthCode);
+///
+/// //设置插件状态,开启或关闭
+///
+/// 真:启用自身 假:关闭自身
+///
+///
+[Description("//设置插件状态,开启或关闭")]string Api_SetPluginState([Description("真:启用自身 假:关闭自身")] bool State,[Description("")] int AuthCode);
+///
+///
+///
+///
+///
+///
+///
+[Description("")]void Api_DeleteFile([Description("")] string 群号,[Description("")] string 文件GUID,[Description("")] int AuthCode);
+///
+///
+///
+///
+///
+///
+///
+///
+[Description("")]void Api_RepeatFile([Description("")] string 来源对象,[Description("")] string 转发群号,[Description("")] string 文件GUID,[Description("")] int AuthCode);
+///
+///
+///
+///
+///
+[Description("")]void Api_ClearOffLineFile([Description("")] int AuthCode);
+///
+///
+///
+///
+///
+/// 址
+///
+/// 址
+///
+///
+///
+///
+[Description("")]int WideCharToMultiByte([Description("")] int CodePage,[Description("")] int dwFlags,[Description("址")] byte[] lpWideCharStr,[Description("")] int cchWideChar,[Description("址")] string lpMultiByteStr,[Description("")] int cchMultiByte,[Description("")] int lpDefaultChar,[Description("")] int lpUsedDefaultChar);
+}
+public class QQLightApi:IQQLightApi{
+
+ ///
+/// //给QQ点名片赞,PCQQ点赞不稳定,容易失效
+///
+///
+///
+///
+
+
+ void IQQLightApi.Api_SendPraise([Description("")] string QQID,[Description("")] int AuthCode)
+ =>NativeMethods.Api_SendPraise(QQID,AuthCode);
+ ///
+/// //抖动好友窗口
+///
+///
+///
+///
+
+
+ void IQQLightApi.Api_SendShake([Description("")] string QQID,[Description("")] int AuthCode)
+ =>NativeMethods.Api_SendShake(QQID,AuthCode);
+ ///
+/// //取得网页操作时需要用到的bkn/Gtk
+///
+///
+///
+///
+
+
+ string IQQLightApi.Api_Getbkn([Description("")] string Cookies,[Description("")] int AuthCode)
+ =>NativeMethods.Api_Getbkn(Cookies,AuthCode);
+ ///
+/// //取得网页操作时需要用到的bkn/Gtk
+///
+///
+///
+///
+
+
+ string IQQLightApi.Api_Getbkn_Long([Description("")] string Cookies,[Description("")] int AuthCode)
+ =>NativeMethods.Api_Getbkn_Long(Cookies,AuthCode);
+ ///
+/// //退出群
+///
+///
+///
+///
+
+
+ void IQQLightApi.Api_QuitGroup([Description("")] string GroupID,[Description("")] int AuthCode)
+ =>NativeMethods.Api_QuitGroup(GroupID,AuthCode);
+ ///
+/// //退出讨论组
+///
+///
+///
+///
+
+
+ void IQQLightApi.Api_QuitDiscussGroup([Description("")] string GroupID,[Description("")] int AuthCode)
+ =>NativeMethods.Api_QuitDiscussGroup(GroupID,AuthCode);
+ ///
+/// //修改个性签名
+///
+///
+///
+///
+
+
+ void IQQLightApi.Api_SetSignature([Description("")] string Signature,[Description("")] int AuthCode)
+ =>NativeMethods.Api_SetSignature(Signature,AuthCode);
+ ///
+/// //修改讨论组名称
+///
+///
+///
+///
+///
+
+
+ void IQQLightApi.Api_SetDiscussName([Description("")] string DiscussGroupID,[Description("")] string Name,[Description("")] int AuthCode)
+ =>NativeMethods.Api_SetDiscussName(DiscussGroupID,Name,AuthCode);
+ ///
+/// //修改群名称
+///
+///
+///
+///
+///
+
+
+ void IQQLightApi.Api_SetGroupName([Description("")] string GroupID,[Description("")] string Name,[Description("")] int AuthCode)
+ =>NativeMethods.Api_SetGroupName(GroupID,Name,AuthCode);
+ ///
+/// //设置全群禁言
+///
+///
+/// 真 开启全群禁言 假 关闭全群禁言
+///
+///
+
+
+ void IQQLightApi.Api_BanGroup([Description("")] string GroupID,[Description("真 开启全群禁言 假 关闭全群禁言")] bool IsBanGroup,[Description("")] int AuthCode)
+ =>NativeMethods.Api_BanGroup(GroupID,IsBanGroup,AuthCode);
+ ///
+/// //设置管理员权限
+///
+///
+///
+/// 真,设置 假,取消
+///
+///
+
+
+ void IQQLightApi.Api_SetManager([Description("")] string GroupID,[Description("")] string QQID,[Description("真,设置 假,取消")] bool IsManager,[Description("")] int AuthCode)
+ =>NativeMethods.Api_SetManager(GroupID,QQID,IsManager,AuthCode);
+ ///
+/// //禁言群成员
+///
+///
+///
+/// 单位:秒 0为解除禁言
+///
+///
+
+
+ void IQQLightApi.Api_Ban([Description("")] string GroupID,[Description("")] string QQ,[Description("单位:秒 0为解除禁言")] int time,[Description("")] int AuthCode)
+ =>NativeMethods.Api_Ban(GroupID,QQ,time,AuthCode);
+ ///
+/// //修改匿名权限
+///
+///
+/// 真 允许匿名 假 禁止匿名
+///
+///
+
+
+ void IQQLightApi.Api_SetAnony([Description("")] string GroupID,[Description("真 允许匿名 假 禁止匿名")] bool IsSetAnony,[Description("")] int AuthCode)
+ =>NativeMethods.Api_SetAnony(GroupID,IsSetAnony,AuthCode);
+ ///
+/// //踢出群成员
+///
+///
+///
+/// 不再接受此人加群
+///
+///
+
+
+ void IQQLightApi.Api_RemoveMember([Description("")] string GroupID,[Description("")] string QQID,[Description("不再接受此人加群")] bool IsBan,[Description("")] int AuthCode)
+ =>NativeMethods.Api_RemoveMember(GroupID,QQID,IsBan,AuthCode);
+ ///
+/// //解散群
+///
+/// 群号
+///
+///
+
+
+ void IQQLightApi.Api_RemoveGroup([Description("群号")] string GroupID,[Description("")] int AuthCode)
+ =>NativeMethods.Api_RemoveGroup(GroupID,AuthCode);
+ ///
+/// //取得操作网页所需要的Cookies
+///
+///
+///
+
+
+ string IQQLightApi.Api_GetCookies([Description("")] int AuthCode)
+ =>NativeMethods.Api_GetCookies(AuthCode);
+ ///
+/// //取得QQ空间Token
+///
+///
+///
+
+
+ string IQQLightApi.Api_GetQzoneToken([Description("")] int AuthCode)
+ =>NativeMethods.Api_GetQzoneToken(AuthCode);
+ ///
+/// //取得QQ空间Cookies
+///
+///
+///
+
+
+ string IQQLightApi.Api_GetQzoneCookies([Description("")] int AuthCode)
+ =>NativeMethods.Api_GetQzoneCookies(AuthCode);
+ ///
+/// //发表说说
+///
+///
+///
+///
+
+
+ string IQQLightApi.Api_SendTaotao([Description("")] string Str,[Description("")] int AuthCode)
+ =>NativeMethods.Api_SendTaotao(Str,AuthCode);
+ ///
+/// //取得所登录的QQ
+///
+///
+///
+
+
+ string IQQLightApi.Api_GetLoginQQ([Description("")] int AuthCode)
+ =>NativeMethods.Api_GetLoginQQ(AuthCode);
+ ///
+/// //框架为插件所创建的插件目录
+///
+///
+///
+
+
+ string IQQLightApi.Api_GetPath([Description("")] int AuthCode)
+ =>NativeMethods.Api_GetPath(AuthCode);
+ ///
+/// //置插件错误管理
+///
+///
+///
+///
+///
+
+
+ string IQQLightApi.Api_Error([Description("")] string Code,[Description("")] string Str,[Description("")] int AuthCode)
+ =>NativeMethods.Api_Error(Code,Str,AuthCode);
+ ///
+/// //机器人发送消息,返回值为该条消息的ID
+///
+/// 1.好友消息 2.群消息 3.群临时消息 4.讨论组消息 5.讨论组临时消息 6.QQ临时消息
+///
+/// 类型为2,4时可留空
+///
+///
+///
+
+
+ string IQQLightApi.Api_SendMsg([Description("1.好友消息 2.群消息 3.群临时消息 4.讨论组消息 5.讨论组临时消息 6.QQ临时消息")] int Type,[Description("")] string GroupID,[Description("类型为2,4时可留空")] string QQID,[Description("")] string Msg,[Description("")] int AuthCode)
+ =>NativeMethods.Api_SendMsg(Type,GroupID,QQID,Msg,AuthCode);
+ ///
+/// //处理加群消息
+///
+///
+///
+///
+/// 1.同意 2.拒绝 3.忽略
+/// 参数可为空,且为 拒绝 时有效
+///
+///
+
+
+ void IQQLightApi.Api_SetGroupAdd([Description("")] string GroupID,[Description("")] string QQID,[Description("")] string Seq,[Description("1.同意 2.拒绝 3.忽略")] int Type,[Description("参数可为空,且为 拒绝 时有效")] string Reason,[Description("")] int AuthCode)
+ =>NativeMethods.Api_SetGroupAdd(GroupID,QQID,Seq,Type,Reason,AuthCode);
+ ///
+/// //处理加好友消息
+///
+///
+/// 1.同意 2.拒绝 3.忽略
+/// 参数可为空,且为 拒绝 时有效
+///
+///
+
+
+ void IQQLightApi.Api_SetFriendAdd([Description("")] string QQID,[Description("1.同意 2.拒绝 3.忽略")] int Type,[Description("参数可为空,且为 拒绝 时有效")] string Reason,[Description("")] int AuthCode)
+ =>NativeMethods.Api_SetFriendAdd(QQID,Type,Reason,AuthCode);
+ ///
+/// //向框架推送一条日志
+///
+/// 日志类型(自定义)
+/// 日志内容
+/// 日志颜色
+///
+///
+
+
+ void IQQLightApi.Api_SendLog([Description("日志类型(自定义)")] string Type,[Description("日志内容")] string Msg,[Description("日志颜色")] int FontColor,[Description("")] int AuthCode)
+ =>NativeMethods.Api_SendLog(Type,Msg,FontColor,AuthCode);
+ ///
+/// //修改好友备注
+///
+///
+///
+///
+///
+
+
+ void IQQLightApi.Api_SetFriendName([Description("")] string QQID,[Description("")] string Name,[Description("")] int AuthCode)
+ =>NativeMethods.Api_SetFriendName(QQID,Name,AuthCode);
+ ///
+/// //删除好友
+///
+///
+///
+///
+
+
+ void IQQLightApi.Api_DeleteFriend([Description("")] string QQID,[Description("")] int AuthCode)
+ =>NativeMethods.Api_DeleteFriend(QQID,AuthCode);
+ ///
+/// //主动添加群
+///
+///
+///
+///
+///
+
+
+ void IQQLightApi.Api_AddGroup([Description("")] string GroupID,[Description("")] string 附加信息,[Description("")] int AuthCode)
+ =>NativeMethods.Api_AddGroup(GroupID,附加信息,AuthCode);
+ ///
+/// //主动添加好友
+///
+///
+///
+///
+///
+
+
+ void IQQLightApi.Api_AddFriend([Description("")] string QQID,[Description("")] string Info,[Description("")] int AuthCode)
+ =>NativeMethods.Api_AddFriend(QQID,Info,AuthCode);
+ ///
+/// //返回卡片点歌JSON代码
+///
+///
+///
+///
+
+
+ string IQQLightApi.Api_JsonMusic([Description("")] string SongID,[Description("")] int AuthCode)
+ =>NativeMethods.Api_JsonMusic(SongID,AuthCode);
+ ///
+/// //取得群内成员的名片
+///
+///
+///
+///
+///
+
+
+ string IQQLightApi.Api_GetGroupCard([Description("")] string GroupID,[Description("")] string QQID,[Description("")] int AuthCode)
+ =>NativeMethods.Api_GetGroupCard(GroupID,QQID,AuthCode);
+ ///
+/// //取指定QQ的昵称
+///
+///
+///
+///
+
+
+ string IQQLightApi.Api_GetNick([Description("")] string QQID,[Description("")] int AuthCode)
+ =>NativeMethods.Api_GetNick(QQID,AuthCode);
+ ///
+///
+///
+///
+///
+///
+
+
+ string IQQLightApi.Api_GetGroupName([Description("")] string GroupID,[Description("")] int AuthCode)
+ =>NativeMethods.Api_GetGroupName(GroupID,AuthCode);
+ ///
+///
+///
+///
+///
+
+
+ string IQQLightApi.Api_GetSoftVersion([Description("")] int AuthCode)
+ =>NativeMethods.Api_GetSoftVersion(AuthCode);
+ ///
+///
+///
+///
+///
+///
+
+
+ string IQQLightApi.Api_GetGroupIntroduce([Description("")] string GroupID,[Description("")] int AuthCode)
+ =>NativeMethods.Api_GetGroupIntroduce(GroupID,AuthCode);
+ ///
+///
+///
+///
+///
+///
+
+
+ string IQQLightApi.Api_GetGroupOwner([Description("")] string GroupID,[Description("")] int AuthCode)
+ =>NativeMethods.Api_GetGroupOwner(GroupID,AuthCode);
+ ///
+/// //修改群成员的名片
+///
+///
+///
+///
+///
+///
+
+
+ void IQQLightApi.Api_SetGroupCard([Description("")] string GroupID,[Description("")] string QQID,[Description("")] string NewCard,[Description("")] int AuthCode)
+ =>NativeMethods.Api_SetGroupCard(GroupID,QQID,NewCard,AuthCode);
+ ///
+/// //取得某个QQ的名片赞数量
+///
+///
+///
+///
+
+
+ string IQQLightApi.Api_GetPraiseNum([Description("")] string QQID,[Description("")] int AuthCode)
+ =>NativeMethods.Api_GetPraiseNum(QQID,AuthCode);
+ ///
+/// //取得某个QQ的等级
+///
+///
+///
+///
+
+
+ int IQQLightApi.Api_GetQQLevel([Description("")] string QQID,[Description("")] int AuthCode)
+ =>NativeMethods.Api_GetQQLevel(QQID,AuthCode);
+ ///
+///
+///
+///
+///
+///
+
+
+ void IQQLightApi.Api_SetNick([Description("")] string NewNick,[Description("")] int AuthCode)
+ =>NativeMethods.Api_SetNick(NewNick,AuthCode);
+ ///
+///
+///
+///
+///
+///
+///
+
+
+ string IQQLightApi.Api_Taotaodolike([Description("")] string QQID,[Description("")] string URL,[Description("")] int AuthCode)
+ =>NativeMethods.Api_Taotaodolike(QQID,URL,AuthCode);
+ ///
+///
+///
+///
+///
+///
+///
+///
+
+
+ string IQQLightApi.Api_Taotaofeeds([Description("")] string QQID,[Description("")] string URL,[Description("")] string Content,[Description("")] int AuthCode)
+ =>NativeMethods.Api_Taotaofeeds(QQID,URL,Content,AuthCode);
+ ///
+///
+///
+///
+///
+///
+
+
+ int IQQLightApi.Api_GetQQAge([Description("")] string QQID,[Description("")] int AuthCode)
+ =>NativeMethods.Api_GetQQAge(QQID,AuthCode);
+ ///
+///
+///
+///
+///
+///
+
+
+ int IQQLightApi.Api_GetQQSex([Description("")] string QQID,[Description("")] int AuthCode)
+ =>NativeMethods.Api_GetQQSex(QQID,AuthCode);
+ ///
+/// //以JSON形式取得好友列表
+///
+///
+///
+///
+
+
+ string IQQLightApi.Api_GetFriendList([Description("")] bool Cache,[Description("")] int AuthCode)
+ =>NativeMethods.Api_GetFriendList(Cache,AuthCode);
+ ///
+/// //以JSON形式取得群列表
+///
+///
+///
+///
+
+
+ string IQQLightApi.Api_GetGroupList([Description("")] bool Cache,[Description("")] int AuthCode)
+ =>NativeMethods.Api_GetGroupList(Cache,AuthCode);
+ ///
+/// //以JSON形式取得群成员列表
+///
+///
+///
+///
+///
+
+
+ string IQQLightApi.Api_GetGroupMemberList([Description("")] string GroupID,[Description("")] bool Cache,[Description("")] int AuthCode)
+ =>NativeMethods.Api_GetGroupMemberList(GroupID,Cache,AuthCode);
+ ///
+/// //以JSON形式取得某QQ个人信息
+///
+///
+///
+///
+
+
+ string IQQLightApi.Api_GetQQInfo([Description("")] string QQID,[Description("")] int AuthCode)
+ =>NativeMethods.Api_GetQQInfo(QQID,AuthCode);
+ ///
+/// //以JSON形式取得某群信息
+///
+///
+///
+///
+
+
+ string IQQLightApi.Api_GetGroupInfo([Description("")] string GroupID,[Description("")] int AuthCode)
+ =>NativeMethods.Api_GetGroupInfo(GroupID,AuthCode);
+ ///
+/// //撤回自身消息 发出消息不可以秒撤回,腾讯限制,1~2s后才可撤回
+///
+/// 1.好友消息 2.群消息 3.群临时消息 4.讨论组消息 5.讨论组临时消息 6.QQ临时消息
+/// 撤回群消息、群临时消息、讨论组消息、讨论组临时消息必须填写,其余情况可留空
+/// 撤回好友消息、群临时消息、讨论组临时消息、QQ临时消息必须填写,其余情况可留空
+/// 撤回的消息ID,机器人发送消息会返回自身的消息ID
+///
+///
+
+
+ void IQQLightApi.Api_DeleteMsg([Description("1.好友消息 2.群消息 3.群临时消息 4.讨论组消息 5.讨论组临时消息 6.QQ临时消息")] int Type,[Description("撤回群消息、群临时消息、讨论组消息、讨论组临时消息必须填写,其余情况可留空")] string GroupID,[Description("撤回好友消息、群临时消息、讨论组临时消息、QQ临时消息必须填写,其余情况可留空")] string QQID,[Description("撤回的消息ID,机器人发送消息会返回自身的消息ID")] string MsgID,[Description("")] int AuthCode)
+ =>NativeMethods.Api_DeleteMsg(Type,GroupID,QQID,MsgID,AuthCode);
+ ///
+/// //改变QQ在线状态
+///
+/// 1.我在线上 2.Q我吧 3.离开 4.忙碌 5.请勿打扰 6.隐身
+///
+///
+
+
+ void IQQLightApi.Api_SetQQState([Description("1.我在线上 2.Q我吧 3.离开 4.忙碌 5.请勿打扰 6.隐身")] int Type,[Description("")] int AuthCode)
+ =>NativeMethods.Api_SetQQState(Type,AuthCode);
+ ///
+/// //邀请好友入群
+///
+///
+///
+///
+///
+
+
+ void IQQLightApi.Api_InviteFriend([Description("")] string GroupID,[Description("")] string QQID,[Description("")] int AuthCode)
+ =>NativeMethods.Api_InviteFriend(GroupID,QQID,AuthCode);
+ ///
+///
+///
+///
+///
+///
+
+
+ string IQQLightApi.Api_GetQQInfo_v2([Description("")] string QQID,[Description("")] int AuthCode)
+ =>NativeMethods.Api_GetQQInfo_v2(QQID,AuthCode);
+ ///
+/// //取消COM库
+///
+///
+
+
+ void IQQLightApi.CoUninitialize()
+ =>NativeMethods.CoUninitialize();
+ ///
+/// //初始化COM库
+///
+///
+///
+
+
+ void IQQLightApi.CoInitialize([Description("")] int pvReserved)
+ =>NativeMethods.CoInitialize(pvReserved);
+ ///
+/// //上传图片,获得图片GUID,
+///
+/// 1.私聊图片 2.群聊图片
+/// 私聊图片填写QQID,群聊/讨论组图片填写群号讨论组号
+/// 图片的Hex流
+///
+///
+
+
+ string IQQLightApi.Api_UpLoadPic([Description("1.私聊图片 2.群聊图片")] int Type,[Description("私聊图片填写QQID,群聊/讨论组图片填写群号讨论组号")] string 对象,[Description("图片的Hex流")] string Bin,[Description("")] int AuthCode)
+ =>NativeMethods.Api_UpLoadPic(Type,对象,Bin,AuthCode);
+ ///
+/// //设置插件状态,开启或关闭
+///
+/// 真:启用自身 假:关闭自身
+///
+///
+
+
+ string IQQLightApi.Api_SetPluginState([Description("真:启用自身 假:关闭自身")] bool State,[Description("")] int AuthCode)
+ =>NativeMethods.Api_SetPluginState(State,AuthCode);
+ ///
+///
+///
+///
+///
+///
+///
+
+
+ void IQQLightApi.Api_DeleteFile([Description("")] string 群号,[Description("")] string 文件GUID,[Description("")] int AuthCode)
+ =>NativeMethods.Api_DeleteFile(群号,文件GUID,AuthCode);
+ ///
+///
+///
+///
+///
+///
+///
+///
+
+
+ void IQQLightApi.Api_RepeatFile([Description("")] string 来源对象,[Description("")] string 转发群号,[Description("")] string 文件GUID,[Description("")] int AuthCode)
+ =>NativeMethods.Api_RepeatFile(来源对象,转发群号,文件GUID,AuthCode);
+ ///
+///
+///
+///
+///
+
+
+ void IQQLightApi.Api_ClearOffLineFile([Description("")] int AuthCode)
+ =>NativeMethods.Api_ClearOffLineFile(AuthCode);
+ ///
+///
+///
+///
+///
+/// 址
+///
+/// 址
+///
+///
+///
+///
+
+
+ int IQQLightApi.WideCharToMultiByte([Description("")] int CodePage,[Description("")] int dwFlags,[Description("址")] byte[] lpWideCharStr,[Description("")] int cchWideChar,[Description("址")] string lpMultiByteStr,[Description("")] int cchMultiByte,[Description("")] int lpDefaultChar,[Description("")] int lpUsedDefaultChar)
+ =>NativeMethods.WideCharToMultiByte(CodePage,dwFlags,lpWideCharStr,cchWideChar,lpMultiByteStr,cchMultiByte,lpDefaultChar,lpUsedDefaultChar);
+ private static class NativeMethods
+ {
+ ///
+/// //给QQ点名片赞,PCQQ点赞不稳定,容易失效
+///
+///
+///
+///
+
+ [DllImport("bin/message.dll")]
+ public static extern void Api_SendPraise([Description("")] string QQID,[Description("")] int AuthCode);
+ ///
+/// //抖动好友窗口
+///
+///
+///
+///
+
+ [DllImport("bin/message.dll")]
+ public static extern void Api_SendShake([Description("")] string QQID,[Description("")] int AuthCode);
+ ///
+/// //取得网页操作时需要用到的bkn/Gtk
+///
+///
+///
+///
+
+ [DllImport("bin/message.dll")]
+ public static extern string Api_Getbkn([Description("")] string Cookies,[Description("")] int AuthCode);
+ ///
+/// //取得网页操作时需要用到的bkn/Gtk
+///
+///
+///
+///
+
+ [DllImport("bin/message.dll")]
+ public static extern string Api_Getbkn_Long([Description("")] string Cookies,[Description("")] int AuthCode);
+ ///
+/// //退出群
+///
+///
+///
+///
+
+ [DllImport("bin/message.dll")]
+ public static extern void Api_QuitGroup([Description("")] string GroupID,[Description("")] int AuthCode);
+ ///
+/// //退出讨论组
+///
+///
+///
+///
+
+ [DllImport("bin/message.dll")]
+ public static extern void Api_QuitDiscussGroup([Description("")] string GroupID,[Description("")] int AuthCode);
+ ///
+/// //修改个性签名
+///
+///
+///
+///
+
+ [DllImport("bin/message.dll")]
+ public static extern void Api_SetSignature([Description("")] string Signature,[Description("")] int AuthCode);
+ ///
+/// //修改讨论组名称
+///
+///
+///
+///
+///
+
+ [DllImport("bin/message.dll")]
+ public static extern void Api_SetDiscussName([Description("")] string DiscussGroupID,[Description("")] string Name,[Description("")] int AuthCode);
+ ///
+/// //修改群名称
+///
+///
+///
+///
+///
+
+ [DllImport("bin/message.dll")]
+ public static extern void Api_SetGroupName([Description("")] string GroupID,[Description("")] string Name,[Description("")] int AuthCode);
+ ///
+/// //设置全群禁言
+///
+///
+/// 真 开启全群禁言 假 关闭全群禁言
+///
+///
+
+ [DllImport("bin/message.dll")]
+ public static extern void Api_BanGroup([Description("")] string GroupID,[Description("真 开启全群禁言 假 关闭全群禁言")] bool IsBanGroup,[Description("")] int AuthCode);
+ ///
+/// //设置管理员权限
+///
+///
+///
+/// 真,设置 假,取消
+///
+///
+
+ [DllImport("bin/message.dll")]
+ public static extern void Api_SetManager([Description("")] string GroupID,[Description("")] string QQID,[Description("真,设置 假,取消")] bool IsManager,[Description("")] int AuthCode);
+ ///
+/// //禁言群成员
+///
+///
+///
+/// 单位:秒 0为解除禁言
+///
+///
+
+ [DllImport("bin/message.dll")]
+ public static extern void Api_Ban([Description("")] string GroupID,[Description("")] string QQ,[Description("单位:秒 0为解除禁言")] int time,[Description("")] int AuthCode);
+ ///
+/// //修改匿名权限
+///
+///
+/// 真 允许匿名 假 禁止匿名
+///
+///
+
+ [DllImport("bin/message.dll")]
+ public static extern void Api_SetAnony([Description("")] string GroupID,[Description("真 允许匿名 假 禁止匿名")] bool IsSetAnony,[Description("")] int AuthCode);
+ ///
+/// //踢出群成员
+///
+///
+///
+/// 不再接受此人加群
+///
+///
+
+ [DllImport("bin/message.dll")]
+ public static extern void Api_RemoveMember([Description("")] string GroupID,[Description("")] string QQID,[Description("不再接受此人加群")] bool IsBan,[Description("")] int AuthCode);
+ ///
+/// //解散群
+///
+/// 群号
+///
+///
+
+ [DllImport("bin/message.dll")]
+ public static extern void Api_RemoveGroup([Description("群号")] string GroupID,[Description("")] int AuthCode);
+ ///
+/// //取得操作网页所需要的Cookies
+///
+///
+///
+
+ [DllImport("bin/message.dll")]
+ public static extern string Api_GetCookies([Description("")] int AuthCode);
+ ///
+/// //取得QQ空间Token
+///
+///
+///
+
+ [DllImport("bin/message.dll")]
+ public static extern string Api_GetQzoneToken([Description("")] int AuthCode);
+ ///
+/// //取得QQ空间Cookies
+///
+///
+///
+
+ [DllImport("bin/message.dll")]
+ public static extern string Api_GetQzoneCookies([Description("")] int AuthCode);
+ ///
+/// //发表说说
+///
+///
+///
+///
+
+ [DllImport("bin/message.dll")]
+ public static extern string Api_SendTaotao([Description("")] string Str,[Description("")] int AuthCode);
+ ///
+/// //取得所登录的QQ
+///
+///
+///
+
+ [DllImport("bin/message.dll")]
+ public static extern string Api_GetLoginQQ([Description("")] int AuthCode);
+ ///
+/// //框架为插件所创建的插件目录
+///
+///
+///
+
+ [DllImport("bin/message.dll")]
+ public static extern string Api_GetPath([Description("")] int AuthCode);
+ ///
+/// //置插件错误管理
+///
+///
+///
+///
+///
+
+ [DllImport("bin/message.dll")]
+ public static extern string Api_Error([Description("")] string Code,[Description("")] string Str,[Description("")] int AuthCode);
+ ///
+/// //机器人发送消息,返回值为该条消息的ID
+///
+/// 1.好友消息 2.群消息 3.群临时消息 4.讨论组消息 5.讨论组临时消息 6.QQ临时消息
+///
+/// 类型为2,4时可留空
+///
+///
+///
+
+ [DllImport("bin/message.dll")]
+ public static extern string Api_SendMsg([Description("1.好友消息 2.群消息 3.群临时消息 4.讨论组消息 5.讨论组临时消息 6.QQ临时消息")] int Type,[Description("")] string GroupID,[Description("类型为2,4时可留空")] string QQID,[Description("")] string Msg,[Description("")] int AuthCode);
+ ///
+/// //处理加群消息
+///
+///
+///
+///
+/// 1.同意 2.拒绝 3.忽略
+/// 参数可为空,且为 拒绝 时有效
+///
+///
+
+ [DllImport("bin/message.dll")]
+ public static extern void Api_SetGroupAdd([Description("")] string GroupID,[Description("")] string QQID,[Description("")] string Seq,[Description("1.同意 2.拒绝 3.忽略")] int Type,[Description("参数可为空,且为 拒绝 时有效")] string Reason,[Description("")] int AuthCode);
+ ///
+/// //处理加好友消息
+///
+///
+/// 1.同意 2.拒绝 3.忽略
+/// 参数可为空,且为 拒绝 时有效
+///
+///
+
+ [DllImport("bin/message.dll")]
+ public static extern void Api_SetFriendAdd([Description("")] string QQID,[Description("1.同意 2.拒绝 3.忽略")] int Type,[Description("参数可为空,且为 拒绝 时有效")] string Reason,[Description("")] int AuthCode);
+ ///
+/// //向框架推送一条日志
+///
+/// 日志类型(自定义)
+/// 日志内容
+/// 日志颜色
+///
+///
+
+ [DllImport("bin/message.dll")]
+ public static extern void Api_SendLog([Description("日志类型(自定义)")] string Type,[Description("日志内容")] string Msg,[Description("日志颜色")] int FontColor,[Description("")] int AuthCode);
+ ///
+/// //修改好友备注
+///
+///
+///
+///
+///
+
+ [DllImport("bin/message.dll")]
+ public static extern void Api_SetFriendName([Description("")] string QQID,[Description("")] string Name,[Description("")] int AuthCode);
+ ///
+/// //删除好友
+///
+///
+///
+///
+
+ [DllImport("bin/message.dll")]
+ public static extern void Api_DeleteFriend([Description("")] string QQID,[Description("")] int AuthCode);
+ ///
+/// //主动添加群
+///
+///
+///
+///
+///
+
+ [DllImport("bin/message.dll")]
+ public static extern void Api_AddGroup([Description("")] string GroupID,[Description("")] string 附加信息,[Description("")] int AuthCode);
+ ///
+/// //主动添加好友
+///
+///
+///
+///
+///
+
+ [DllImport("bin/message.dll")]
+ public static extern void Api_AddFriend([Description("")] string QQID,[Description("")] string Info,[Description("")] int AuthCode);
+ ///
+/// //返回卡片点歌JSON代码
+///
+///
+///
+///
+
+ [DllImport("bin/message.dll")]
+ public static extern string Api_JsonMusic([Description("")] string SongID,[Description("")] int AuthCode);
+ ///
+/// //取得群内成员的名片
+///
+///
+///
+///
+///
+
+ [DllImport("bin/message.dll")]
+ public static extern string Api_GetGroupCard([Description("")] string GroupID,[Description("")] string QQID,[Description("")] int AuthCode);
+ ///
+/// //取指定QQ的昵称
+///
+///
+///
+///
+
+ [DllImport("bin/message.dll")]
+ public static extern string Api_GetNick([Description("")] string QQID,[Description("")] int AuthCode);
+ ///
+///
+///
+///
+///
+///
+
+ [DllImport("bin/message.dll")]
+ public static extern string Api_GetGroupName([Description("")] string GroupID,[Description("")] int AuthCode);
+ ///
+///
+///
+///
+///
+
+ [DllImport("bin/message.dll")]
+ public static extern string Api_GetSoftVersion([Description("")] int AuthCode);
+ ///
+///
+///
+///
+///
+///
+
+ [DllImport("bin/message.dll")]
+ public static extern string Api_GetGroupIntroduce([Description("")] string GroupID,[Description("")] int AuthCode);
+ ///
+///
+///
+///
+///
+///
+
+ [DllImport("bin/message.dll")]
+ public static extern string Api_GetGroupOwner([Description("")] string GroupID,[Description("")] int AuthCode);
+ ///
+/// //修改群成员的名片
+///
+///
+///
+///
+///
+///
+
+ [DllImport("bin/message.dll")]
+ public static extern void Api_SetGroupCard([Description("")] string GroupID,[Description("")] string QQID,[Description("")] string NewCard,[Description("")] int AuthCode);
+ ///
+/// //取得某个QQ的名片赞数量
+///
+///
+///
+///
+
+ [DllImport("bin/message.dll")]
+ public static extern string Api_GetPraiseNum([Description("")] string QQID,[Description("")] int AuthCode);
+ ///
+/// //取得某个QQ的等级
+///
+///
+///
+///
+
+ [DllImport("bin/message.dll")]
+ public static extern int Api_GetQQLevel([Description("")] string QQID,[Description("")] int AuthCode);
+ ///
+///
+///
+///
+///
+///
+
+ [DllImport("bin/message.dll")]
+ public static extern void Api_SetNick([Description("")] string NewNick,[Description("")] int AuthCode);
+ ///
+///
+///
+///
+///
+///
+///
+
+ [DllImport("bin/message.dll")]
+ public static extern string Api_Taotaodolike([Description("")] string QQID,[Description("")] string URL,[Description("")] int AuthCode);
+ ///
+///
+///
+///
+///
+///
+///
+///
+
+ [DllImport("bin/message.dll")]
+ public static extern string Api_Taotaofeeds([Description("")] string QQID,[Description("")] string URL,[Description("")] string Content,[Description("")] int AuthCode);
+ ///
+///
+///
+///
+///
+///
+
+ [DllImport("bin/message.dll")]
+ public static extern int Api_GetQQAge([Description("")] string QQID,[Description("")] int AuthCode);
+ ///
+///
+///
+///
+///
+///
+
+ [DllImport("bin/message.dll")]
+ public static extern int Api_GetQQSex([Description("")] string QQID,[Description("")] int AuthCode);
+ ///
+/// //以JSON形式取得好友列表
+///
+///
+///
+///
+
+ [DllImport("bin/message.dll")]
+ public static extern string Api_GetFriendList([Description("")] bool Cache,[Description("")] int AuthCode);
+ ///
+/// //以JSON形式取得群列表
+///
+///
+///
+///
+
+ [DllImport("bin/message.dll")]
+ public static extern string Api_GetGroupList([Description("")] bool Cache,[Description("")] int AuthCode);
+ ///
+/// //以JSON形式取得群成员列表
+///
+///
+///
+///
+///
+
+ [DllImport("bin/message.dll")]
+ public static extern string Api_GetGroupMemberList([Description("")] string GroupID,[Description("")] bool Cache,[Description("")] int AuthCode);
+ ///
+/// //以JSON形式取得某QQ个人信息
+///
+///
+///
+///
+
+ [DllImport("bin/message.dll")]
+ public static extern string Api_GetQQInfo([Description("")] string QQID,[Description("")] int AuthCode);
+ ///
+/// //以JSON形式取得某群信息
+///
+///
+///
+///
+
+ [DllImport("bin/message.dll")]
+ public static extern string Api_GetGroupInfo([Description("")] string GroupID,[Description("")] int AuthCode);
+ ///
+/// //撤回自身消息 发出消息不可以秒撤回,腾讯限制,1~2s后才可撤回
+///
+/// 1.好友消息 2.群消息 3.群临时消息 4.讨论组消息 5.讨论组临时消息 6.QQ临时消息
+/// 撤回群消息、群临时消息、讨论组消息、讨论组临时消息必须填写,其余情况可留空
+/// 撤回好友消息、群临时消息、讨论组临时消息、QQ临时消息必须填写,其余情况可留空
+/// 撤回的消息ID,机器人发送消息会返回自身的消息ID
+///
+///
+
+ [DllImport("bin/message.dll")]
+ public static extern void Api_DeleteMsg([Description("1.好友消息 2.群消息 3.群临时消息 4.讨论组消息 5.讨论组临时消息 6.QQ临时消息")] int Type,[Description("撤回群消息、群临时消息、讨论组消息、讨论组临时消息必须填写,其余情况可留空")] string GroupID,[Description("撤回好友消息、群临时消息、讨论组临时消息、QQ临时消息必须填写,其余情况可留空")] string QQID,[Description("撤回的消息ID,机器人发送消息会返回自身的消息ID")] string MsgID,[Description("")] int AuthCode);
+ ///
+/// //改变QQ在线状态
+///
+/// 1.我在线上 2.Q我吧 3.离开 4.忙碌 5.请勿打扰 6.隐身
+///
+///
+
+ [DllImport("bin/message.dll")]
+ public static extern void Api_SetQQState([Description("1.我在线上 2.Q我吧 3.离开 4.忙碌 5.请勿打扰 6.隐身")] int Type,[Description("")] int AuthCode);
+ ///
+/// //邀请好友入群
+///
+///
+///
+///
+///
+
+ [DllImport("bin/message.dll")]
+ public static extern void Api_InviteFriend([Description("")] string GroupID,[Description("")] string QQID,[Description("")] int AuthCode);
+ ///
+///
+///
+///
+///
+///
+
+ [DllImport("bin/message.dll")]
+ public static extern string Api_GetQQInfo_v2([Description("")] string QQID,[Description("")] int AuthCode);
+ ///
+/// //取消COM库
+///
+///
+
+ [DllImport("bin/message.dll")]
+ public static extern void CoUninitialize();
+ ///
+/// //初始化COM库
+///
+///
+///
+
+ [DllImport("bin/message.dll")]
+ public static extern void CoInitialize([Description("")] int pvReserved);
+ ///
+/// //上传图片,获得图片GUID,
+///
+/// 1.私聊图片 2.群聊图片
+/// 私聊图片填写QQID,群聊/讨论组图片填写群号讨论组号
+/// 图片的Hex流
+///
+///
+
+ [DllImport("bin/message.dll")]
+ public static extern string Api_UpLoadPic([Description("1.私聊图片 2.群聊图片")] int Type,[Description("私聊图片填写QQID,群聊/讨论组图片填写群号讨论组号")] string 对象,[Description("图片的Hex流")] string Bin,[Description("")] int AuthCode);
+ ///
+/// //设置插件状态,开启或关闭
+///
+/// 真:启用自身 假:关闭自身
+///
+///
+
+ [DllImport("bin/message.dll")]
+ public static extern string Api_SetPluginState([Description("真:启用自身 假:关闭自身")] bool State,[Description("")] int AuthCode);
+ ///
+///
+///
+///
+///
+///
+///
+
+ [DllImport("bin/message.dll")]
+ public static extern void Api_DeleteFile([Description("")] string 群号,[Description("")] string 文件GUID,[Description("")] int AuthCode);
+ ///
+///
+///
+///
+///
+///
+///
+///
+
+ [DllImport("bin/message.dll")]
+ public static extern void Api_RepeatFile([Description("")] string 来源对象,[Description("")] string 转发群号,[Description("")] string 文件GUID,[Description("")] int AuthCode);
+ ///
+///
+///
+///
+///
+
+ [DllImport("bin/message.dll")]
+ public static extern void Api_ClearOffLineFile([Description("")] int AuthCode);
+ ///
+///
+///
+///
+///
+/// 址
+///
+/// 址
+///
+///
+///
+///
+
+ [DllImport("bin/message.dll")]
+ public static extern int WideCharToMultiByte([Description("")] int CodePage,[Description("")] int dwFlags,[Description("址")] byte[] lpWideCharStr,[Description("")] int cchWideChar,[Description("址")] string lpMultiByteStr,[Description("")] int cchMultiByte,[Description("")] int lpDefaultChar,[Description("")] int lpUsedDefaultChar);
+ }
+}
diff --git a/src/Newbe.Tools.ELang2CSharp/source/qqlight.txt b/src/Newbe.Tools.ELang2CSharp/source/qqlight.txt
new file mode 100644
index 0000000..d773ed0
--- /dev/null
+++ b/src/Newbe.Tools.ELang2CSharp/source/qqlight.txt
@@ -0,0 +1,286 @@
+.版本 2
+
+.DLL命令 QL_SendPraise, , "message.dll", "Api_SendPraise", , //给QQ点名片赞,PCQQ点赞不稳定,容易失效
+ .参数 QQID, 文本型
+ .参数 AuthCode, 整数型
+
+.DLL命令 QL_SendShake, , "message.dll", "Api_SendShake", , //抖动好友窗口
+ .参数 QQID, 文本型
+ .参数 AuthCode, 整数型
+
+.DLL命令 QL_Getbkn, 文本型, "message.dll", "Api_Getbkn", , //取得网页操作时需要用到的bkn/Gtk
+ .参数 Cookies, 文本型
+ .参数 AuthCode, 整数型
+
+.DLL命令 QL_Getbkn_Long, 文本型, "message.dll", "Api_Getbkn_Long", , //取得网页操作时需要用到的bkn/Gtk
+ .参数 Cookies, 文本型
+ .参数 AuthCode, 整数型
+
+.DLL命令 QL_QuitGroup, , "message.dll", "Api_QuitGroup", , //退出群
+ .参数 GroupID, 文本型
+ .参数 AuthCode, 整数型
+
+.DLL命令 QL_QuitDiscussGroup, , "message.dll", "Api_QuitDiscussGroup", , //退出讨论组
+ .参数 GroupID, 文本型
+ .参数 AuthCode, 整数型
+
+.DLL命令 QL_SetSignature, , "message.dll", "Api_SetSignature", , //修改个性签名
+ .参数 Signature, 文本型
+ .参数 AuthCode, 整数型
+
+.DLL命令 QL_SetDiscussName, , "message.dll", "Api_SetDiscussName", , //修改讨论组名称
+ .参数 DiscussGroupID, 文本型
+ .参数 Name, 文本型
+ .参数 AuthCode, 整数型
+
+.DLL命令 QL_SetGroupName, , "message.dll", "Api_SetGroupName", , //修改群名称
+ .参数 GroupID, 文本型
+ .参数 Name, 文本型
+ .参数 AuthCode, 整数型
+
+.DLL命令 QL_BanGroup, , "message.dll", "Api_BanGroup", , //设置全群禁言
+ .参数 GroupID, 文本型
+ .参数 IsBanGroup, 逻辑型, , 真 开启全群禁言 假 关闭全群禁言
+ .参数 AuthCode, 整数型
+
+.DLL命令 QL_SetManager, , "message.dll", "Api_SetManager", , //设置管理员权限
+ .参数 GroupID, 文本型
+ .参数 QQID, 文本型
+ .参数 IsManager, 逻辑型, , 真,设置 假,取消
+ .参数 AuthCode, 整数型
+
+.DLL命令 QL_Ban, , "message.dll", "Api_Ban", , //禁言群成员
+ .参数 GroupID, 文本型
+ .参数 QQ, 文本型
+ .参数 time, 整数型, , 单位:秒 0为解除禁言
+ .参数 AuthCode, 整数型
+
+.DLL命令 QL_SetAnony, , "message.dll", "Api_SetAnony", , //修改匿名权限
+ .参数 GroupID, 文本型
+ .参数 IsSetAnony, 逻辑型, , 真 允许匿名 假 禁止匿名
+ .参数 AuthCode, 整数型
+
+.DLL命令 QL_RemoveMember, , "message.dll", "Api_RemoveMember", , //踢出群成员
+ .参数 GroupID, 文本型
+ .参数 QQID, 文本型
+ .参数 IsBan, 逻辑型, , 不再接受此人加群
+ .参数 AuthCode, 整数型
+
+.DLL命令 QL_RemoveGroup, , "message.dll", "Api_RemoveGroup", , //解散群
+ .参数 GroupID, 文本型, , 群号
+ .参数 AuthCode, 整数型
+
+.DLL命令 QL_GetCookies, 文本型, "message.dll", "Api_GetCookies", , //取得操作网页所需要的Cookies
+ .参数 AuthCode, 整数型
+
+.DLL命令 QL_GetQzoneToken, 文本型, "message.dll", "Api_GetQzoneToken", , //取得QQ空间Token
+ .参数 AuthCode, 整数型
+
+.DLL命令 QL_GetQzoneCookies, 文本型, "message.dll", "Api_GetQzoneCookies", , //取得QQ空间Cookies
+ .参数 AuthCode, 整数型
+
+.DLL命令 QL_SendTaotao, 文本型, "message.dll", "Api_SendTaotao", , //发表说说
+ .参数 Str, 文本型
+ .参数 AuthCode, 整数型
+
+.DLL命令 QL_GetLoginQQ, 文本型, "message.dll", "Api_GetLoginQQ", , //取得所登录的QQ
+ .参数 AuthCode, 整数型
+
+.DLL命令 QL_GetPath, 文本型, "message.dll", "Api_GetPath", , //框架为插件所创建的插件目录
+ .参数 AuthCode, 整数型
+
+.DLL命令 QL_SetErrorCode, 文本型, "message.dll", "Api_Error", , //置插件错误管理
+ .参数 Code, 文本型
+ .参数 Str, 文本型
+ .参数 AuthCode, 整数型
+
+.DLL命令 QL_SendMsg, 文本型, "message.dll", "Api_SendMsg", , //机器人发送消息,返回值为该条消息的ID
+ .参数 Type, 整数型, , 1.好友消息 2.群消息 3.群临时消息 4.讨论组消息 5.讨论组临时消息 6.QQ临时消息
+ .参数 GroupID, 文本型
+ .参数 QQID, 文本型, , 类型为2,4时可留空
+ .参数 Msg, 文本型
+ .参数 AuthCode, 整数型
+
+.DLL命令 QL_SetGroupAdd, , "message.dll", "Api_SetGroupAdd", , //处理加群消息
+ .参数 GroupID, 文本型
+ .参数 QQID, 文本型
+ .参数 Seq, 文本型
+ .参数 Type, 整数型, , 1.同意 2.拒绝 3.忽略
+ .参数 Reason, 文本型, , 参数可为空,且为 拒绝 时有效
+ .参数 AuthCode, 整数型
+
+.DLL命令 QL_SetFriendAdd, , "message.dll", "Api_SetFriendAdd", , //处理加好友消息
+ .参数 QQID, 文本型
+ .参数 Type, 整数型, , 1.同意 2.拒绝 3.忽略
+ .参数 Reason, 文本型, , 参数可为空,且为 拒绝 时有效
+ .参数 AuthCode, 整数型
+
+.DLL命令 QL_SendLog, , "message.dll", "Api_SendLog", , //向框架推送一条日志
+ .参数 Type, 文本型, , 日志类型(自定义)
+ .参数 Msg, 文本型, , 日志内容
+ .参数 FontColor, 整数型, , 日志颜色
+ .参数 AuthCode, 整数型
+
+.DLL命令 QL_SetFriendName, , "message.dll", "Api_SetFriendName", , //修改好友备注
+ .参数 QQID, 文本型
+ .参数 Name, 文本型
+ .参数 AuthCode, 整数型
+
+.DLL命令 QL_DeleteFriend, , "message.dll", "Api_DeleteFriend", , //删除好友
+ .参数 QQID, 文本型
+ .参数 AuthCode, 整数型
+
+.DLL命令 QL_AddGroup, , "message.dll", "Api_AddGroup", , //主动添加群
+ .参数 GroupID, 文本型
+ .参数 附加信息, 文本型
+ .参数 AuthCode, 整数型
+
+.DLL命令 QL_AddFriend, , "message.dll", "Api_AddFriend", , //主动添加好友
+ .参数 QQID, 文本型
+ .参数 Info, 文本型
+ .参数 AuthCode, 整数型
+
+.DLL命令 QL_JsonMusic, 文本型, "message.dll", "Api_JsonMusic", , //返回卡片点歌JSON代码
+ .参数 SongID, 文本型
+ .参数 AuthCode, 整数型
+
+.DLL命令 QL_GetGroupCard, 文本型, "message.dll", "Api_GetGroupCard", , //取得群内成员的名片
+ .参数 GroupID, 文本型
+ .参数 QQID, 文本型
+ .参数 AuthCode, 整数型
+
+.DLL命令 QL_GetNick, 文本型, "message.dll", "Api_GetNick", , //取指定QQ的昵称
+ .参数 QQID, 文本型
+ .参数 AuthCode, 整数型
+
+.DLL命令 QL_GetGroupName, 文本型, "message.dll", "Api_GetGroupName"
+ .参数 GroupID, 文本型
+ .参数 AuthCode, 整数型
+
+.DLL命令 QL_GetSoftVersion, 文本型, "message.dll", "Api_GetSoftVersion"
+ .参数 AuthCode, 整数型
+
+.DLL命令 QL_GetGroupIntroduce, 文本型, "message.dll", "Api_GetGroupIntroduce"
+ .参数 GroupID, 文本型
+ .参数 AuthCode, 整数型
+
+.DLL命令 QL_GetGroupOwner, 文本型, "message.dll", "Api_GetGroupOwner"
+ .参数 GroupID, 文本型
+ .参数 AuthCode, 整数型
+
+.DLL命令 QL_SetGroupCard, , "message.dll", "Api_SetGroupCard", , //修改群成员的名片
+ .参数 GroupID, 文本型
+ .参数 QQID, 文本型
+ .参数 NewCard, 文本型
+ .参数 AuthCode, 整数型
+
+.DLL命令 QL_GetPraiseNum, 文本型, "message.dll", "Api_GetPraiseNum", , //取得某个QQ的名片赞数量
+ .参数 QQID, 文本型
+ .参数 AuthCode, 整数型
+
+.DLL命令 QL_GetQQLevel, 整数型, "message.dll", "Api_GetQQLevel", , //取得某个QQ的等级
+ .参数 QQID, 文本型
+ .参数 AuthCode, 整数型
+
+.DLL命令 QL_SetNick, , "message.dll", "Api_SetNick"
+ .参数 NewNick, 文本型
+ .参数 AuthCode, 整数型
+
+.DLL命令 QL_Taotaodolike, 文本型, "message.dll", "Api_Taotaodolike"
+ .参数 QQID, 文本型
+ .参数 URL, 文本型
+ .参数 AuthCode, 整数型
+
+.DLL命令 QL_Taotaofeeds, 文本型, "message.dll", "Api_Taotaofeeds"
+ .参数 QQID, 文本型
+ .参数 URL, 文本型
+ .参数 Content, 文本型
+ .参数 AuthCode, 整数型
+
+.DLL命令 QL_GetQQAge, 整数型, "message.dll", "Api_GetQQAge"
+ .参数 QQID, 文本型
+ .参数 AuthCode, 整数型
+
+.DLL命令 QL_GetQQSex, 整数型, "message.dll", "Api_GetQQSex"
+ .参数 QQID, 文本型
+ .参数 AuthCode, 整数型
+
+.DLL命令 QL_GetFriendList, 文本型, "message.dll", "Api_GetFriendList", , //以JSON形式取得好友列表
+ .参数 Cache, 逻辑型
+ .参数 AuthCode, 整数型
+
+.DLL命令 QL_GetGroupList, 文本型, "message.dll", "Api_GetGroupList", , //以JSON形式取得群列表
+ .参数 Cache, 逻辑型
+ .参数 AuthCode, 整数型
+
+.DLL命令 QL_GetGroupMemberList, 文本型, "message.dll", "Api_GetGroupMemberList", , //以JSON形式取得群成员列表
+ .参数 GroupID, 文本型
+ .参数 Cache, 逻辑型
+ .参数 AuthCode, 整数型
+
+.DLL命令 QL_GetQQInfo_1, 文本型, "message.dll", "Api_GetQQInfo", , //以JSON形式取得某QQ个人信息
+ .参数 QQID, 文本型
+ .参数 AuthCode, 整数型
+
+.DLL命令 QL_GetGroupInfo, 文本型, "message.dll", "Api_GetGroupInfo", , //以JSON形式取得某群信息
+ .参数 GroupID, 文本型
+ .参数 AuthCode, 整数型
+
+.DLL命令 QL_DeleteMsg, , "message.dll", "Api_DeleteMsg", , //撤回自身消息 发出消息不可以秒撤回,腾讯限制,1~2s后才可撤回
+ .参数 Type, 整数型, , 1.好友消息 2.群消息 3.群临时消息 4.讨论组消息 5.讨论组临时消息 6.QQ临时消息
+ .参数 GroupID, 文本型, , 撤回群消息、群临时消息、讨论组消息、讨论组临时消息必须填写,其余情况可留空
+ .参数 QQID, 文本型, , 撤回好友消息、群临时消息、讨论组临时消息、QQ临时消息必须填写,其余情况可留空
+ .参数 MsgID, 文本型, , 撤回的消息ID,机器人发送消息会返回自身的消息ID
+ .参数 AuthCode, 整数型
+
+.DLL命令 QL_SetQQState, , "message.dll", "Api_SetQQState", , //改变QQ在线状态
+ .参数 Type, 整数型, , 1.我在线上 2.Q我吧 3.离开 4.忙碌 5.请勿打扰 6.隐身
+ .参数 AuthCode, 整数型
+
+.DLL命令 QL_InviteFriendToGroup, , "message.dll", "Api_InviteFriend", , //邀请好友入群
+ .参数 GroupID, 文本型
+ .参数 QQID, 文本型
+ .参数 AuthCode, 整数型
+
+.DLL命令 QL_GetQQInfo_2, 文本型, "message.dll", "Api_GetQQInfo_v2"
+ .参数 QQID, 文本型
+ .参数 AuthCode, 整数型
+
+.DLL命令 CoUninitialize, , "ole32.dll", "CoUninitialize", 公开, //取消COM库
+
+.DLL命令 CoInitialize, , "ole32.dll", "CoInitialize", 公开, //初始化COM库
+ .参数 pvReserved, 整数型
+
+.DLL命令 QL_UpLoadPic, 文本型, "message.dll", "Api_UpLoadPic", , //上传图片,获得图片GUID,
+ .参数 Type, 整数型, , 1.私聊图片 2.群聊图片
+ .参数 对象, 文本型, , 私聊图片填写QQID,群聊/讨论组图片填写群号讨论组号
+ .参数 Bin, 文本型, , 图片的Hex流
+ .参数 AuthCode, 整数型
+
+.DLL命令 QL_SetPluginState, 文本型, "message.dll", "Api_SetPluginState", , //设置插件状态,开启或关闭
+ .参数 State, 逻辑型, , 真:启用自身 假:关闭自身
+ .参数 AuthCode, 整数型
+
+.DLL命令 QL_DeleteFile, , "message.dll", "Api_DeleteFile"
+ .参数 群号, 文本型
+ .参数 文件GUID, 文本型
+ .参数 AuthCode, 整数型
+
+.DLL命令 QL_RepeatFile, , "message.dll", "Api_RepeatFile"
+ .参数 来源对象, 文本型
+ .参数 转发群号, 文本型
+ .参数 文件GUID, 文本型
+ .参数 AuthCode, 整数型
+
+.DLL命令 QL_ClearOffLineFile, , "message.dll", "Api_ClearOffLineFile"
+ .参数 AuthCode, 整数型
+
+.DLL命令 _Unicode转Utf8, 整数型, "kernel32", "WideCharToMultiByte", , ,
+ .参数 CodePage, 整数型
+ .参数 dwFlags, 整数型
+ .参数 lpWideCharStr, 字节集, 传址
+ .参数 cchWideChar, 整数型
+ .参数 lpMultiByteStr, 文本型, 传址
+ .参数 cchMultiByte, 整数型
+ .参数 lpDefaultChar, 整数型
+ .参数 lpUsedDefaultChar, 整数型