WebWeChatAPI.Net
1.0.0
API da versão web do WeChat baseada na plataforma .Net C#
Nota: O processo de interação pode ser analisado usando a ferramenta fiddler
Estrutura vs2015+.net4.6.1
json.net
Veja o código-fonte para conteúdo específico, apenas uma breve descrição aqui.
static void Main ( string [ ] args )
{
Application . SetUnhandledExceptionMode ( UnhandledExceptionMode . CatchException ) ;
AppDomain . CurrentDomain . UnhandledException += CurrentDomain_UnhandledException ;
client = new Client ( ) ;
qrForm = new QrCodeForm ( ) ;
client . ExceptionCatched += Client_ExceptionCatched ; ;
client . GetLoginQrCodeComplete += Client_GetLoginQrCodeComplete ; ;
client . CheckScanComplete += Client_CheckScanComplete ; ;
client . LoginComplete += Client_LoginComplete ; ;
client . BatchGetContactComplete += Client_BatchGetContactComplete ; ;
client . GetContactComplete += Client_GetContactComplete ; ;
client . MPSubscribeMsgListComplete += Client_MPSubscribeMsgListComplete ; ;
client . LogoutComplete += Client_LogoutComplete ; ;
client . ReceiveMsg += Client_ReceiveMsg ; ;
client . DelContactListComplete += Client_DelContactListComplete ; ;
client . ModContactListComplete += Client_ModContactListComplete ;
Console . WriteLine ( "小助手启动" ) ;
client . Start ( ) ;
qrForm . ShowDialog ( ) ;
Console . ReadLine ( ) ;
client . Close ( ) ;
Console . ReadLine ( ) ;
client . Logout ( ) ;
}
/// <summary>
/// 异步发送文字消息
/// </summary>
/// <param name="msg">消息</param>
/// <param name="toUserName">发送人UserName</param>
public void SendMsgAsync ( string msg , string toUserName )
/// <summary>
/// 同步发送文字消息
/// </summary>
/// <param name="msg">文字</param>
/// <param name="toUserName">发送人UserName</param>
/// <returns></returns>
public SendMsgResponse SendMsg ( string msg , string toUserName )
/// <summary>
/// 异步发送文件
/// </summary>
/// <param name="fileInfo">文件信息</param>
/// <param name="toUserName">发送人UserName</param>
public void SendMsgAsync ( FileInfo fileInfo , string toUserName )
/// <summary>
/// 同步发送文件,自动分块上传,文件较大可能会卡住进程,建议异步发送
/// </summary>
/// <param name="fileInfo">文件信息</param>
/// <param name="toUserName">发送人UserName</param>
/// <returns></returns>
public SendMsgResponse SendMsg ( FileInfo fileInfo , string toUserName )
/// <summary>
/// 获取头像,因为请求的时候需要带Cookie等相关参数,所以直接用新的http请求不行,务必使用客户端API来获取
/// </summary>
/// <param name="url">头像地址,例如/cgi-bin/mmwebwx-bin/webwxgeticon?seq=0&username=filehelper&skey=@crypt_372b266_540d016177e861740ee84fec697a3b01 </param>
/// <param name="action">委托Action</param>
/// <returns></returns>
public void GetIconAsync ( string url , Action < Image > action )
/// <summary>
/// 同步上传文件
/// </summary>
/// <param name="fileInfo">文件信息</param>
/// <returns></returns>
public UploadMediaResponse UploadFile ( FileInfo fileInfo )
/// <summary>
/// 同步修改备注
/// 注意:多次调用该接口会被封
/// </summary>
/// <param name="remarkName">需要修改的备注名</param>
/// <param name="userName">需要修改的联系人UserName</param>
/// <returns></returns>
public SimpleResponse RemarkName ( string remarkName , string userName )
/// <summary>
/// 同步通过好友认证
/// </summary>
/// <param name="info">sync中获得的申请信息</param>
/// <returns></returns>
public SimpleResponse VerifyUser ( RecommendInfo info )
/// <summary>
/// 同步顶置聊天
/// 注意:多次调用该接口会被封
/// </summary>
/// <param name="remarkName">备注名,官方接口同时附带这个参数,我们也带上吧</param>
/// <param name="userName">需要修改的联系人UserName</param>
/// <returns></returns>
public SimpleResponse TopContact ( string remarkName , string userName )
/// <summary>
/// 同步取消顶置消息
/// </summary>
/// <param name="remarkName">备注名,官方接口同时附带这个参数,我们也带上吧</param>
/// <param name="userName">需要修改的联系人UserName</param>
/// <returns></returns>
public SimpleResponse UnTopContact ( string remarkName , string userName )
/// <summary>
/// 群里移除用户,用IsOwner判断自己是不是群主,否则没有权限
/// </summary>
/// <param name="roomName"></param>
/// <param name="delName">用户UserName,英文,分割</param>
/// <returns></returns>
public UpdateChatRoomResponse RemoveChatRoomMember ( string roomName , List < string > delNameList )
/// <summary>
/// 添加用户到群聊
/// </summary>
/// <param name="roomName">群UserName</param>
/// <param name="addName">用户UserName,英文,分割</param>
/// <returns></returns>
public UpdateChatRoomResponse AddChatRoomMember ( string roomName , List < string > addNameList )
/// <summary>
/// 创建群,调用完成,可以用返回的信息,通过GetBatchGetContact去获取群信息
/// </summary>
/// <param name="memberList">UserName的list</param>
/// <returns></returns>
public CreateChatRoomResponse CreateChatRoom ( List < MemberItem > memberList )
liuwons/wxBot
Urinx/WeixinBot
lbbniu/WebWechat