美文网首页
QQ操作服务: RobotSDK IQQCoreService

QQ操作服务: RobotSDK IQQCoreService

作者: 玄鸡快跑 | 来源:发表于2016-07-27 17:31 被阅读0次

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);

相关文章

网友评论

      本文标题:QQ操作服务: RobotSDK IQQCoreService

      本文链接:https://www.haomeiwen.com/subject/tvwojttx.html