IQQCoreService
IQQCoreService 主要提供QQ服务的接口。view in github 主要有以下几部分: 账号管理、 好友管理、 讨论组管理、 群管理、 机器人管理。其API如下:
账号管理
GetAllRobots
函数原型:
List<uint> GetAllRobots();
获取所有创建了的机器人, 包括没有登录的。
/// <summary>
/// 获取所有创建了的机器人, 包括没有登录的
/// 如果没有机器人,返回空的List (不是null)
/// </summary>
/// <returns></returns>
List<uint> GetAllRobots();
GetLoginedRobots
函数原型:
List<uint> GetLoginedRobots();
/// <summary>
/// 获取已经初始化和登录的机器人
/// 如果没有机器人,返回空的List
/// </summary>
/// <returns></returns>
List<uint> GetLoginedRobots();
RobotInited
Boolean RobotInited(uint uin);
函数原型:
判断一个机器人是否被初始化,参数解析:
/// <summary>
/// 判断一个机器人是否被初始化
/// 初始化了的机器人不代表登录了
/// </summary>
/// <param name="uin"> 机器人qq号 </param>
/// <returns>inited 返回true, 没有初始化返回false</returns>
Boolean RobotInited(uint uin);
RobotLogined
函数原型:
Boolean RobotLogined(uint uin);
判断一个机器人是否已经登录, 参数解析:
/// <summary>
/// 判断一个机器人是否已经登录
/// </summary>
/// <param name="uin"> 机器人qq号 </param>
/// <returns> 登录了返回true, 否则返回false </returns>
Boolean RobotLogined(uint uin);
RobotInitedAndLogined
函数原型:
Boolean RobotInitedAndLogined(uint uin);
判断一个机器人是否已经初始化和登录了, 参数解析:
/// <summary>
/// 判断一个机器人是否已经初始化和登录了
/// </summary>
/// <param name="uin"> 机器人qq号 </param>
/// <returns>初始化和登录了返回true, 否则返回false</returns>
Boolean RobotInitedAndLogined(uint uin);
Login
函数原型:
RobotLoginStatus Login(uint uin, String pwd);
登录qq, 参数解析:
/// <summary>
/// 登录qq
/// 如果出错, 抛出异常 Exception
/// </summary>
/// <param name="uin"> 机器人qq号 </param>
/// <param name="pwd">qq密码</param>
/// <returns> 返回登录状态 </returns>
RobotLoginStatus Login(uint uin, String pwd);
Logout
函数原型:
void Logout(uint uin);
进行下线操作, 参数解析:
/// <summary>
/// 进行下线操作
/// 只是进行简单的下线,并没有移除这个机器人
/// 如果失败或者找不到机器人, 会抛出异常 Exception
/// </summary>
/// <param name="uin"> 机器人qq号 </param>
void Logout(uint uin);
GetLoginStatus
函数原型:
RobotLoginStatus GetLoginStatus(uint uin);
获取机器人的qq登录状态, 参数解析:
/// <summary>
/// 获取机器人的qq登录状态
/// 如果失败或者找不到机器人, 会抛出异常 Exception
/// </summary>
/// <param name="uin"> 机器人qq号 </param>
/// <returns>返回登录状态</returns>
RobotLoginStatus GetLoginStatus(uint uin);
RobotNick
函数原型:
string RobotNick(uint uin);
获取机器人的昵称,参数解析:
/// <summary>
/// 获取机器人的昵称
/// 如果没有, 则为 ""
/// 如果失败或者找不到机器人, 会抛出异常 Exception
/// </summary>
/// <param name="uin"> 机器人QQ号 </param>
/// <returns></returns>
string RobotNick(uint uin);
RobotHeadImgUrl
函数原型:
string RobotHeadImgUrl(uint uin);
获取机器人头像的url, 参数解析:
/// <summary>
/// 获取机器人头像的url
/// </summary>
/// <param name="uin"> 机器人QQ号 </param>
/// <returns></returns>
string RobotHeadImgUrl(uint uin);
RobotClusterImgUrl
函数原型:
string RobotClusterImgUrl(uint code);
获取群的头像url, 参数类型:
/// <summary>
/// 获取群的头像url
/// </summary>
/// <param name="code"> 群号 </param>
/// <returns></returns>
string RobotClusterImgUrl(uint code);
RobotHeadImg
函数原型:
HeadImg RobotHeadImg(uint uin);
从缓存中获取机器人的头像, 参数解析:
/// <summary>
/// 获取机器人的头像
/// 如果发生异常或者找不到图片, 返回null
/// </summary>
/// <param name="uin"> 机器人QQ号 </param>
/// <returns></returns>
HeadImg RobotHeadImg(uint uin);
ClusterHeadImg
函数原型:
HeadImg ClusterHeadImg(uint code);
从缓存中获取机器人某个群的头像, 参数解析:
/// <summary>
/// 获取机器人某个群的头像
/// 如果发生异常或者找不到图片, 返回null
/// </summary>
/// <param name="code"> 群号 </param>
/// <returns></returns>
HeadImg ClusterHeadImg(uint code);
好友管理
GetFriendGroupList
函数原型:
List<QQFriendGroup> GetFriendGroupList(uint uin);
获取qq的朋友分组, 参数解析:
/// <summary>
/// 获取qq的朋友分组
/// 如果失败或者找不到机器人, 会抛出异常 Exception
/// </summary>
/// <param name="uin"> 机器人qq号 </param>
/// <returns>分组列表</returns>
List<QQFriendGroup> GetFriendGroupList(uint uin);
GetFriendList
函数原型:
List<QQFriend> GetFriendList(uint uin);
获取好友列表, 参数列表
/// <summary>
/// 获取好友列表
/// 如果失败或者找不到机器人, 会抛出异常 Exception
/// </summary>
/// <param name="uin"> 机器人qq号 </param>
/// <returns>好友列表</returns>
List<QQFriend> GetFriendList(uint uin);
GetFriend
函数原型:
QQFriend GetFriend(uint uin, uint friendUin);
从好友列表中获取一个好友
/// <summary>
/// 从好友列表中获取一个好友
/// 如果找不到对应的friend, 返回null
/// 如果找不到机器人, 会抛出异常 Exception
/// </summary>
/// <param name="uin"> 机器人qq号 </param>
/// <param name="friendUin">好友账号</param>
/// <returns></returns>
QQFriend GetFriend(uint uin, uint friendUin);
SendMsg2Friend
函数原型:
Boolean SendMsg2Friend(uint uin, uint friendUin, string msg);
发送消息给朋友, 参数解析:
/// <summary>
/// 发送消息给朋友
/// 本版本不支持发送图片和表情给朋友
/// 如果找不到机器人, 会抛出异常 Exception
/// 如果返回成功, 不代表朋友会接收到消息,因为发送的频率太快, qq服务器会丢弃消息。
/// 一般发送频率跟人处理消息的频率差不多, 1s ~ 2s
/// </summary>
/// <param name="uin"> 机器人qq号 </param>
/// <param name="friendUin">好友账号</param>
/// <param name="msg">消息</param>
/// <returns></returns>
Boolean SendMsg2Friend(uint uin, uint friendUin, string msg);
注:
当前不支持图片和表情的发送
GetContact
函数原型:
QQContactInfos GetContact(uint uin, uint friendUin);
获取朋友的联系信息, 参数解析:
/// <summary>
/// 获取朋友的联系信息
/// 如果找不到机器人, 会抛出异常 Exception
/// </summary>
/// <param name="uin"> 机器人qq号 </param>
/// <param name="friendUin">好友账号</param>
/// <returns></returns>
QQContactInfos GetContact(uint uin, uint friendUin);
RefreshRobotContact
函数原型:
QQContactInfos RefreshRobotContact(uint uin);
刷新机器人自己的联系信息, 参数解析:
/// <summary>
/// 刷新机器人自己的联系信息
/// 如果找不到机器人或者失败, 会抛出异常 Exception
/// </summary>
/// <param name="uin"> 机器人qq号 </param>
/// <returns></returns>
QQContactInfos RefreshRobotContact(uint uin);
AddFriend
函数原型:
int AddFriend(uint uin, uint peeruin, string msg, ref QQAuthType qqAuthtype,
string markName = "", bool needVerify = false, bool needAnwser = false, string anwser = null);
添加好友, 参数解析:
/// <summary>
/// 添加好友
/// 返回 -2代表请求已经是好友了.
/// 返回 -1代表请求失败.
/// 0 代表成功
/// 1 代表拒绝
/// 2 代表需要验证码
/// 3 操作频繁,被暂停使用加好友功能
/// 4 需要正确回答问题
/// 注意不能频繁调用, 不然悲剧
/// 如果找不到机器人或者失败, 会抛出异常 Exception
/// </summary>
/// <param name="uin">机器人qq号码</param>
/// <param name="peeruin">好友号码</param>
/// <param name="msg">验证消息</param>
/// <param name="qqAuthtype">导出好友验证类型</param>
/// <param name="markName">备注名称</param>
/// <param name="needVerify">是否需要附带验证码继续</param>
/// <param name="needAnwser">是否需要核对问题</param>
/// <param name="anwser">问题的答案</param>
/// <returns> </returns>
int AddFriend(uint uin, uint peeruin, string msg, ref QQAuthType qqAuthtype,
string markName = "", bool needVerify = false, bool needAnwser = false, string anwser = null);
AddFriendTryOne
函数原型:
int AddFriendTryOne(uint uin, uint peeruin, string msg);
添加好友,只尝试一次, 只是简单化调用AddFriend接口, 参数解析:
/// <summary>
/// 添加好友,只尝试一次
/// 只是简单化调用AddFriend接口
/// 如果找不到机器人或者失败, 会抛出异常 Exception
/// </summary>
/// <param name="uin"> 机器人qq号 </param>
/// <param name="peeruin"> 要加友的QQ号 </param>
/// <param name="msg"> 验证消息 </param>
/// <returns></returns>
int AddFriendTryOne(uint uin, uint peeruin, string msg);
RemoveFriend
函数原型:
Boolean RemoveFriend(uint uin, uint deletedUin);
删除好友, 参数解析:
/// <summary>
/// 删除好友
/// 如果找不到机器人或者失败, 会抛出异常 Exception
/// </summary>
/// <param name="uin"> 机器人qq号 </param>
/// <param name="deletedUin"> 被删的人 </param>
/// <returns></returns>
Boolean RemoveFriend(uint uin, uint deletedUin);
SearchFriendInfo
函数原型:
List<QQContactInfos> SearchFriendInfo(uint uin, string keyword, int pageIndex = 0, int count = 20,
int sex = 0, int video = 0, int country = 0, int province = 0, int city = 0,
int district = 0, int hcountry = 0, int hprovince = 0, int hcity = 0, int hdistrict = 0, bool isonline = true);
根据条件搜索好友, 参数解析:
/// <summary>
/// 根据条件搜索好友
/// 如果找不到机器人或者失败, 会抛出异常 Exception
/// </summary>
/// <param name="uin">机器人qq号</param>
/// <param name="keyword">关键字</param>
/// <param name="pageIndex">分页序号</param>
/// <param name="count">每次获取的好友数量</param>
/// <param name="sex">性别</param>
/// <param name="video">是否有视频</param>
/// <param name="country">国家</param>
/// <param name="province">省份</param>
/// <param name="city">城市</param>
/// <param name="district">街道</param>
/// <param name="hcountry">祖国</param>
/// <param name="hprovince">家乡所在省</param>
/// <param name="hcity">家乡所在城市</param>
/// <param name="hdistrict">家乡所在街道</param>
/// <param name="isonline">是否在线</param>
/// <returns>资料列表</returns>
List<QQContactInfos> SearchFriendInfo(uint uin, string keyword, int pageIndex = 0, int count = 20,
int sex = 0, int video = 0, int country = 0, int province = 0, int city = 0,
int district = 0, int hcountry = 0, int hprovince = 0, int hcity = 0, int hdistrict = 0, bool isonline = true);
GetStrangerInfo
函数原型:
QQContactInfos GetStrangerInfo(uint uin, uint stranger);
获取陌生人的联系信息, 参数解析:
/// <summary>
/// 获取陌生人的联系信息
/// 如果找不到机器人或者失败, 会抛出异常 Exception
/// </summary>
/// <param name="uin"> 机器人qq号 </param>
/// <param name="stranger"> 需要获取的陌生人的qq号 </param>
/// <returns></returns>
QQContactInfos GetStrangerInfo(uint uin, uint stranger);
AllowMakeFriend
函数原型:
Boolean AllowMakeFriend(uint uin, uint senderId, bool isAllow, string note = "");
是否允许加好友, 参数解析:
/// <summary>
/// 如果找不到机器人或者失败, 会抛出异常 Exception
///
/// </summary>
/// <param name="uin"> 机器人qq号 </param>
/// <param name="senderId"></param>
/// <param name="isAllow"></param>
/// <param name="note"></param>
/// <returns></returns>
Boolean AllowMakeFriend(uint uin, uint senderId, bool isAllow, string note = "");
CreateDiscussCluster
函数原型:
uint CreateDiscussCluster(uint uin, List<uint> friendList, string clusterName);
创建讨论组, 参数解析:
/// <summary>
/// 创建讨论组
/// 必须将机器人号码加入到friendList, 和创建后进行激活
/// friendList 不能为null, 但list可以为空
/// 不会自动刷新 DiscussList
/// 如果找不到机器人或者失败, 会抛出异常 Exception
/// </summary>
/// <param name="uin"> 机器人qq号 </param>
/// <param name="friendList"></param>
/// <param name="clusterName"></param>
/// <returns></returns>
uint CreateDiscussCluster(uint uin, List<uint> friendList, string clusterName);
ActiveDiscuss
函数原型:
Boolean ActiveDiscuss(uint uin, uint discussId);
激活讨论组, 参数解析:
/// <summary>
/// 激活讨论组
/// 创建讨论组后需要激活
/// 如果找不到机器人或者失败, 会抛出异常 Exception
/// </summary>
/// <param name="uin"> 机器人qq号 </param>
/// <param name="discussId"></param>
/// <returns></returns>
Boolean ActiveDiscuss(uint uin, uint discussId);
GetDiscussInfo
函数原型:
QQCluster GetDiscussInfo(uint uin, uint discussId);
获取讨论组信息, 参数解析:
/// <summary>
/// 获取讨论组信息
/// 如果失败返回null
/// 如果找不到机器人或者失败, 会抛出异常 Exception
/// </summary>
/// <param name="uin"> 机器人qq号 </param>
/// <param name="discussId"></param>
/// <returns></returns>
QQCluster GetDiscussInfo(uint uin, uint discussId);
SendDiscussMsg
函数原型:
Boolean SendDiscussMsg(uint uin, uint discussId, string message, List<Image> imageList = null);
向讨论组发送消息, 参数解析:
/// <summary>
/// 向讨论组发送消息
/// 不能调用太频繁, 不然返回true时也可能被服务器给过滤了
/// 一般频率跟人处理信息频率差不多 1.5s ~ 2.5s
/// 如果找不到机器人或者失败, 会抛出异常 Exception
/// </summary>
/// <param name="id"> 机器人qq号 </param>
/// <param name="message">发送的消息</param>
/// <param name="imageList">图片列表</param>
/// <returns></returns>
Boolean SendDiscussMsg(uint uin, uint discussId, string message, List<Image> imageList = null);
注:
如果需要发送图片, 你可以使用imageList, 或者: 在message加入:"[image=filename]" 这样的格式的字符。其中filename为你要发送的图片路径加名字。
不支持表情发送
GetDiscussList
函数原型:
List<QQCluster> GetDiscussList(uint uin);
获取讨论组列表, 参数解析:
/// <summary>
/// 获取讨论组列表
/// 如果找不到机器人或者失败, 会抛出异常 Exception
/// </summary>
/// <param name="uin"> 机器人qq号 </param>
/// <returns></returns>
List<QQCluster> GetDiscussList(uint uin);
GetDiscuss
函数原型:
QQCluster GetDiscuss(uint uin, uint discussId);
从讨论组列表中获取一个讨论组, 参数解析:
/// <summary>
/// 从讨论组列表中获取一个讨论组
/// 这个操作不会重新从服务器刷新一次讨论组列表, 如果想拿到最新的讨论组列表, 必须手动刷新
/// 如果找不到机器人或者失败, 会抛出异常 Exception
/// </summary>
/// <param name="uin"> 机器人qq号 </param>
/// <param name="discussId">讨论组id</param>
/// <returns></returns>
QQCluster GetDiscuss(uint uin, uint discussId);
GetInviterCode
函数原型:
string GetInviterCode(uint uin, uint discussId, out int expiredTime);
获取讨论组的邀请码, 参数解析;
/// <summary>
/// 获取讨论组的邀请码
/// 如果失败, 不会返回null, 而是返回 "" 字符串
/// 如果找不到机器人或者失败, 会抛出异常 Exception
/// </summary>
/// <param name="uin"> 机器人qq号 </param>
/// <param name="discussId">讨论组id</param>
/// <param name="expiredTime">过期时间</param>
/// <returns></returns>
string GetInviterCode(uint uin, uint discussId, out int expiredTime);
GetInviterUrl
函数原型:
string GetInviterUrl(uint uin, uint discussId);
获取讨论组邀请链接, 参数解析:
/// <summary>
/// 获取讨论组邀请链接
/// 如果失败, 不会返回null, 而是返回 "" 字符串
/// 如果找不到机器人或者失败, 会抛出异常 Exception
/// </summary>
/// <param name="uin"> 机器人qq号 </param>
/// <param name="discussId">讨论组id</param>
/// <returns></returns>
string GetInviterUrl(uint uin, uint discussId);
InviteIntoDiscuss
函数原型:
Boolean InviteIntoDiscuss(uint uin, uint discussId, List<uint> friendList);
邀请好友进入讨论组, 参数解析:
/// <summary>
/// 邀请好友进入讨论组
/// 注意这里的friendList 元素必须是好友关系, 如果不是好友关系,不会发生异常,qq服务器会忽略不是好友的账号
/// 如果找不到机器人或者失败, 会抛出异常 Exception
/// </summary>
/// <param name="uin"> 机器人qq号 </param>
/// <param name="discussId">讨论组id</param>
/// <param name="friendList">被邀请的人</param>
/// <returns></returns>
Boolean InviteIntoDiscuss(uint uin, uint discussId, List<uint> friendList);
注:
注意这里的friendList 元素必须是好友关系, 如果不是好友关系,不会发生异常,qq服务器会忽略不是好友的账号
RemoveDiscussMembers
函数原型:
Boolean RemoveDiscussMembers(uint uin, uint discussId, List<uint> members);
移除讨论组成员, 参数解析:
/// <summary>
/// 移除讨论组成员
/// 如果找不到机器人或者失败, 会抛出异常 Exception
/// </summary>
/// <param name="uin"> 机器人qq号 </param>
/// <param name="discussId"> 讨论组id </param>
/// <param name="members"> 要删除的讨论组成员 </param>
/// <returns></returns>
Boolean RemoveDiscussMembers(uint uin, uint discussId, List<uint> members);
QuitDiscuss
函数原型:
Boolean QuitDiscuss(uint uin, uint discussId);
退出讨论组, 参数解析:
/// <summary>
/// 退出讨论组
/// 如果机器人是这个讨论组的创建人时,会删除讨论组的
/// 如果删除讨论组的话,不能太频繁,不然悲剧,经不完全测试,5次就不能再创建讨论组了
/// 如果找不到机器人或者失败, 会抛出异常 Exception
/// </summary>
/// <param name="uin"></param>
/// <param name="discussId"></param>
/// <returns></returns>
Boolean QuitDiscuss(uint uin, uint discussId);
注:
如果删除讨论组的话,不能太频繁,不然悲剧,经不完全测试,5次就不能再创建讨论组了
群管理
SearchClusterByCode
函数原型:
QQCluster SearchClusterByCode(uint uin, uint code);
搜索一个群,参数解析:
/// <summary>
/// 搜索一个群
/// 如果机器人没有登录或者初始化,会发生异常
/// </summary>
/// <param name="uin">用于搜索的机器人</param>
/// <param name="code">要搜索的群</param>
/// <returns></returns>
注:
从服务器搜索一个群的信息,所以效率是很低的!
GetClusterList
函数原型:
List<QQCluster> GetClusterList(uint uin, bool reGet = false);
获取qq群列表, 参数解析:
/// <summary>
/// 获取qq群列表
/// 如果找不到机器人或者失败, 会抛出异常 Exception
/// </summary>
/// <param name="reGet"> 是否重新从服务器获取 </param>
/// <returns></returns>
List<QQCluster> GetClusterList(uint uin, bool reGet = false);
注:
现在缓存中查找群列表, 如果没有再从服务器获取,这个时候效率会很低,耗时比较长!从服务器获取的内容比较少!
GetCluster
函数原型:
QQCluster GetCluster(uint uin, uint clusterCode);
从群列表中获取指定的群, 参数解析:
/// <summary>
/// 从群列表中获取指定的群
/// 先从缓存中获取群, 如果找不到会从服务器重新拉取数据
/// 如果找不到指定机器人和群, 返回null
/// 如果找不到机器人或者失败, 会抛出异常 Exception
/// </summary>
/// <param name="uin">机器人qq号</param>
/// <param name="clusterCode"> 群号 </param>
/// <returns></returns>
QQCluster GetCluster(uint uin, uint clusterCode);
GetClusterById
函数原型:
QQCluster GetClusterById(uint uin, uint clusterId);
从群列表中获取指定的群, 参数解析:
/// <summary>
/// 从群列表中获取指定的群
/// 不会从服务器重新拉取数据
/// 如果找不到指定群, 返回null
/// 如果找不到机器人或者失败, 会抛出异常 Exception
/// </summary>
/// <param name="uin"> 机器人qq号 </param>
/// <param name="clusterId"> 群id, 不是群号 </param>
/// <returns></returns>
QQCluster GetClusterById(uint uin, uint clusterId);
SendMsg2Cluster
函数原型:
Boolean SendMsg2Cluster(uint uin, uint clusterCode, string message, bool isXml = false, bool waitResult = false);
发消息到群里, 参数解析:
/// <summary>
/// 发消息到群里
/// 如果找不到指定群,将失败
/// 如果找不到机器人或者失败, 会抛出异常 Exception
/// </summary>
/// <param name="uin">机器人qq号</param>
/// <param name="clusterCode">群号码</param>
/// <param name="message">如果要指定图片, 可以这样: @"哈哈哈哈。[image=D:\Users\Administrator\Desktop\新建文件夹\1.jpg] 是一张图片"</param>
/// <param name="isXml">消息是否为xml类型</param>
/// <param name="waitResult">是否等待</param>
/// <returns></returns>
Boolean SendMsg2Cluster(uint uin, uint clusterCode, string message, bool isXml = false, bool waitResult = false);
注:
当前不支持发送表情
如果需要发送图片, 可以使用imageList, 或者在message加入 "[image=filename]"格式的字符串,其中filename为图片的路径加名字。
AllowJoinCluster
函数原型:
Boolean AllowJoinCluster(uint uin, uint clusterCode, uint senderUin, byte[] token_00ae, bool isAllow, string note);
是否同意请求者加入到机器人管理的群, 参数解析:
/// <summary>
/// 是否同意请求者加入到机器人管理的群
/// 如果找不到机器人或者失败, 会抛出异常 Exception
/// </summary>
/// <param name="uin"> 机器人qq号 </param>
/// <param name="clusterCode"> 群号 </param>
/// <param name="senderUin"> 请求者 </param>
/// <param name="token_00ae"> token </param>
/// <param name="isAllow"> 是否允许 </param>
/// <param name="note"></param>
/// <returns></returns>
Boolean AllowJoinCluster(uint uin, uint clusterCode, uint senderUin, byte[] token_00ae, bool isAllow, string note);
AllowJoinCluster
函数原型:
Boolean AllowJoinCluster(uint uin, uint clusterCode, uint senderUin);
允许请求者加入到我管理的群, 参数解析:
/// <summary>
/// 允许请求者加入到我管理的群
/// 如果找不到机器人或者失败, 会抛出异常 Exception
/// </summary>
/// <param name="uin"> 机器人qq号 </param>
/// <param name="clusterCode"> 群号 </param>
/// <param name="senderUin"> 请求者 </param>
/// <returns></returns>
Boolean AllowJoinCluster(uint uin, uint clusterCode, uint senderUin);
AllowJoinCluster4Invitation
函数原型:
Boolean AllowJoinCluster4Invitation(uint uin, uint clusterCode, uint operateUin);
同意群成员邀请某人入群, 参数解析:
/// <summary>
/// 同意群成员邀请某人入群
/// 如果找不到机器人或者失败, 会抛出异常 Exception
/// </summary>
/// <param name="uin"></param>
/// <param name="clusterCode"> 群号 </param>
/// <param name="operateUin"> 被邀请者 </param>
/// <returns></returns>
Boolean AllowJoinCluster4Invitation(uint uin, uint clusterCode, uint operateUin);
SetManager
函数原型:
Boolean SetManager(uint uin, uint clusterCode, uint managerUin, bool op = true);
设置或者取消管理员, 参数解析:
/// <summary>
/// 设置或者取消管理员
/// 必须是群的拥有者
/// </summary>
/// <param name="clusterCode"> 群号码 </param>
/// <param name="managerUin"> 被操作的成员 </param>
/// <param name="op"> true设置为管理员, false 取消管理员 </param>
/// <returns></returns>
Boolean SetManager(uint uin, uint clusterCode, uint managerUin, bool op = true);
AcceptJionCluster
函数原型:
Boolean AcceptJionCluster(uint uin, uint clusterCode, Boolean isAccept);
受到加群邀请后,是否同意加入群, 参数解析:
/// <summary>
/// 受到邀请加入群后,是否同意加入群
/// </summary>
/// <param name="uin"> 机器人qq号 </param>
/// <param name="clusterCode"> 群号 </param>
/// <param name="isAccept"> 是否接受加群 </param>
/// <returns></returns>
Boolean AcceptJionCluster(uint uin, uint clusterCode, Boolean isAccept);
InviteJoinCluster
函数原型:
Boolean InviteJoinCluster(uint uin, uint clusterCode, List<uint> friendlist);
邀请好友加入群, 参数解析:
/// <summary>
/// 邀请好友加入群
/// 要邀请的人必须是好友关系,机器人必须是群的创建人或者管理员
/// 如果找不到机器人或者失败, 会抛出异常 Exception
/// </summary>
/// <param name="uin"> 机器人qq号 </param>
/// <param name="clusterCode">群号</param>
/// <param name="friendlist">好友qq号</param>
/// <returns></returns>
Boolean InviteJoinCluster(uint uin, uint clusterCode, List<uint> friendlist);
注:
要邀请的人必须是好友关系,机器人必须是群的创建人或者管理员
JoinCluster
函数原型:
int JoinCluster(uint uin, uint clusterCode, string msg, bool needVerify = false);
请加入某个群, 参数解析:
/// <summary>
/// 请加入某个群
/// 成功为0
/// 失败为-1
/// 需要验证码为2
/// 操作繁忙为3
/// 已经存在为-2
///
/// 如果找不到机器人或者失败, 会抛出异常 Exception
/// </summary>
/// <param name="uin"> 机器人qq号 </param>
/// <param name="clusterCode">群号</param>
/// <param name="msg">留言</param>
/// <param name="needVerify">是否需要验证</param>
/// <returns></returns>
int JoinCluster(uint uin, uint clusterCode, string msg, bool needVerify = false);
SendMsg2ClusterMem
函数原型:
Boolean SendMsg2ClusterMem(uint uin, uint clusterCode, uint receiverUin, string message);
与群成员发起群临时会话, 参数解析:
/// <summary>
/// 与群成员发起群临时会话
/// 必须已经获取了cluster list
/// 当前版本不支持图片和表情的发送
/// 如果找不到机器人或者失败, 会抛出异常 Exception
/// </summary>
/// <param name="uin"> 机器人qq号 </param>
/// <param name="clusterCode">群号</param>
/// <param name="receiverUin">接收者</param>
/// <param name="message"></param>
/// <returns></returns>
Boolean SendMsg2ClusterMem(uint uin, uint clusterCode, uint receiverUin, string message);
注:
必须已经获取了cluster list, 当前版本不支持图片和表情的发送
RemoveClusterMember
函数原型:
Boolean RemoveClusterMember(uint uin, uint clusterCode, uint memberUin);
从管理的群里踢人, 参数解析:
/// <summary>
/// 从管理的群里踢人
/// 必须已经获取了cluster list
/// 如果找不到机器人或者失败, 会抛出异常 Exception
/// </summary>
/// <param name="uin"> 机器人qq号 </param>
/// <param name="clusterCode">群号</param>
/// <param name="memberUin">要踢走的成员的qq号</param>
/// <returns></returns>
Boolean RemoveClusterMember(uint uin, uint clusterCode, uint memberUin);
BannedCluster
函数原型:
Boolean BannedCluster(uint uin, uint clusterCode, bool banned);
是否禁言机器人管理的群, 参数解析:
/// <summary>
/// 是否禁言机器人管理的群
/// 必须已经获取了cluster list
/// 如果找不到机器人或者失败, 会抛出异常 Exception
/// </summary>
/// <param name="uin"> 机器人qq号 </param>
/// <param name="clusterCode">群号</param>
/// <param name="banned">是否禁言</param>
/// <returns></returns>
Boolean BannedCluster(uint uin, uint clusterCode, bool banned);
BannedClusterMember
函数原型:
Boolean BannedClusterMember(uint uin, uint clusterCode, uint memberUin, bool banned, uint bannedTime);
在机器人管理的群里禁言某人, 参数解析:
/// <summary>
/// 在机器人管理的群里禁言某人
/// 如果找不到机器人或者失败, 会抛出异常 Exception
/// </summary>
/// <param name="uin"> 机器人qq号 </param>
/// <param name="clusterCode">群号</param>
/// <param name="memberUin">要禁言的人</param>
/// <param name="banned">是否禁言</param>
/// <param name="bannedTime">禁言的时间, 秒(s)为单位</param>
/// <returns></returns>
Boolean BannedClusterMember(uint uin, uint clusterCode, uint memberUin, bool banned, uint bannedTime);
LeaveGroup
函数原型:
Boolean LeaveGroup(uint uin, uint clusterCode);
/// <summary>
/// 退出群
/// 如果找不到机器人或者失败, 会抛出异常 Exception
/// </summary>
/// <param name="uin"> 机器人qq号 </param>
/// <param name="clusterCode">群号</param>
/// <returns></returns>
Boolean LeaveGroup(uint uin, uint clusterCode);
Convert2Images
函数原型:
List<Image> Convert2Images(uint uin, Object images, uint senderId);
从qq服务器获取群或者讨论组聊天图片, 参数解析:
/// <summary>
/// 从qq服务器获取群或者讨论组聊天图片
/// 如果获取不到图片,返回空的list
/// 如果找不到机器人或者失败, 会抛出异常 Exception
/// </summary>
/// <param name="uin"> 机器人qq号 </param>
/// <param name="images"> 图片信息的List </param>
/// <param name="senderId"> 图片发送者的ID,注意这里不是qq号 </param>
/// <returns></returns>
List<Image> Convert2Images(uint uin, Object images, uint senderId);
GetTimeStamp
函数原型:
string GetTimeStamp();
获取时间戳, 参数解析:
/// <summary>
/// 获取时间戳
/// TotalSeconds 秒数
/// 1970, 1, 1, 0
/// </summary>
/// <returns></returns>
string GetTimeStamp();
SaveImage
函数原型:
string SaveImage(string path, Image image);
将图片对象持久化到磁盘, 参数解析:
/// <summary>
/// 将图片对象持久化到磁盘
/// 如果 参数为null,抛出异常: 资源不可用
/// 如果保存发送异常, 抛出IO异常。
/// 如果失败, 返回null
/// 如果成功, 返回图片名字(绝对路径下)。名字格式为 {时间戳}_{image.MD5}.jpg
/// </summary>
/// <param name="path">路径</param>
/// <param name="image">图片对象</param>
/// <returns></returns>
string SaveImage(string path, Image image);
SaveImageByName
函数原型:
string SaveImageByName(string absoluteFileName, Image image, bool force);
保存图片到指定路径和名字, 参数解析:
/// <summary>
/// 保存图片到指定路径和名字
/// 如果失败返回null,如果异常,抛出EXception, 成功返回文件的绝对名字
/// </summary>
/// <param name="absoluteFileName"> 文件的绝对名字, 包括路径了 </param>
/// <param name="image"></param>
/// <param name="force"> 强制删除已经存在的同名字图片 </param>
/// <returns></returns>
string SaveImageByName(string absoluteFileName, Image image, bool force);
ImageToBytes
函数原型:
byte[] ImageToBytes(Image image);
将图片转换为二进制流, 参数解析:
/// <summary>
/// 将图片转换为二进制流
/// </summary>
/// <param name="image">图片对象</param>
/// <returns></returns>
byte[] ImageToBytes(Image image);
BytesToImage
函数原型:
Image BytesToImage(byte[] buffer);
将二进制流转换为图片对象, 参数解析:
/// <summary>
/// 将二进制流转换为图片对象
/// </summary>
/// <param name="buffer"> 图片二进制流 </param>
/// <returns></returns>
Image BytesToImage(byte[] buffer);
机器人管理
RobotExist
函数原型:
Boolean RobotExist(uint uin);
判断一个机器人是否存在, 参数解析:
/// <summary>
/// 判断一个机器人是否存在
/// </summary>
/// <param name="uin"> 机器人qq号 </param>
/// <returns></returns>
Boolean RobotExist(uint uin);
网友评论