@@ -554,7 +554,7 @@ public Account getAccountByName(String name) {
554554 }
555555
556556 @ Override
557- public void verify (Recommend recommend ) {
557+ public boolean verify (Recommend recommend ) {
558558 String url = String .format ("%s/webwxverifyuser?r=%s&lang=zh_CN&pass_ticket=%s" ,
559559 bot .session ().getUrl (), System .currentTimeMillis () / 1000 , bot .session ().getPassTicket ());
560560
@@ -564,7 +564,7 @@ public void verify(Recommend recommend) {
564564 verifyUser .put ("VerifyUserTicket" , recommend .getTicket ());
565565 verifyUserList .add (verifyUser );
566566
567- ApiResponse response = client .send (new StringRequest (url ).post ().jsonBody ()
567+ JsonResponse response = client .send (new JsonRequest (url ).post ().jsonBody ()
568568 .add ("BaseRequest" , bot .session ().getBaseRequest ())
569569 .add ("Opcode" , 3 )
570570 .add ("VerifyUserListSize" , 1 )
@@ -574,9 +574,88 @@ public void verify(Recommend recommend) {
574574 .add ("SceneList" , Arrays .asList (33 ))
575575 .add ("skey" , bot .session ().getSyncKeyStr ())
576576 );
577+ return null != response && response .success ();
578+ }
579+
580+ @ Override
581+ public boolean addFriend (String friendUserName , String msg ) {
582+ String url = String .format ("%s/webwxverifyuser?r=%s&lang=zh_CN&pass_ticket=%s" ,
583+ bot .session ().getUrl (), System .currentTimeMillis () / 1000 , bot .session ().getPassTicket ());
584+
585+ List <Map <String , Object >> verifyUserList = new ArrayList <>();
586+ Map <String , Object > verifyUser = new HashMap <>(2 );
587+ verifyUser .put ("Value" , friendUserName );
588+ verifyUser .put ("VerifyUserTicket" , "" );
589+ verifyUserList .add (verifyUser );
590+
591+ JsonResponse response = client .send (new JsonRequest (url ).post ().jsonBody ()
592+ .add ("BaseRequest" , bot .session ().getBaseRequest ())
593+ .add ("Opcode" , 2 )
594+ .add ("VerifyUserListSize" , 1 )
595+ .add ("VerifyUserList" , verifyUserList )
596+ .add ("VerifyContent" , msg )
597+ .add ("SceneListCount" , 1 )
598+ .add ("SceneList" , Arrays .asList (33 ))
599+ .add ("skey" , bot .session ().getSyncKeyStr ())
600+ );
601+ return null != response && response .success ();
602+ }
577603
578- System .out .println (response .getRawBody ());
604+ @ Override
605+ public boolean createChatRoom (String topic , List <String > members ) {
606+ String url = String .format ("%s/webwxcreatechatroom?r=%s&lang=zh_CN" , bot .session ().getUrl ());
607+ List <Map <String , String >> memberList = new ArrayList <>(members .size ());
608+ for (String member : members ) {
609+ Map <String , String > m = new HashMap <>(2 );
610+ m .put ("UserName" , member );
611+ memberList .add (m );
612+ }
579613
614+ JsonResponse response = client .send (new JsonRequest (url ).post ().jsonBody ()
615+ .add ("MemberCount" , members .size ())
616+ .add ("MemberList" , memberList )
617+ .add ("Topic" , topic )
618+ .add ("BaseRequest" , bot .session ().getBaseRequest ())
619+ );
620+ return null != response && response .success ();
621+ }
622+
623+ @ Override
624+ public boolean removeMemberByGroup (String member , String group ) {
625+ String url = String .format ("%s/webwxupdatechatroom?fun=delmember" , bot .session ().getUrl ());
626+ JsonResponse response = client .send (new JsonRequest (url ).post ().jsonBody ()
627+ .add ("DelMemberList" , member )
628+ .add ("ChatRoomName" , group )
629+ .add ("BaseRequest" , bot .session ().getBaseRequest ())
630+ );
631+ return null != response && response .success ();
632+ }
633+
634+ @ Override
635+ public boolean inviteJoinGroup (String member , String group ) {
636+ String url = String .format ("%s/webwxupdatechatroom?fun=addmember" , bot .session ().getUrl ());
637+ JsonResponse response = client .send (new JsonRequest (url ).post ().jsonBody ()
638+ .add ("AddMemberList" , member )
639+ .add ("ChatRoomName" , group )
640+ .add ("BaseRequest" , bot .session ().getBaseRequest ())
641+ );
642+ return null != response && response .success ();
643+ }
644+
645+ @ Override
646+ public boolean modifyGroupName (String oldTopic , String newTopic ) {
647+ Account account = this .getAccountByName (oldTopic );
648+ if (null == account ) {
649+ log .warn ("找不到群: [{}] 更换群名失败" , oldTopic );
650+ return false ;
651+ }
652+ String url = String .format ("%s/webwxupdatechatroom?fun=modtopic" , bot .session ().getUrl ());
653+ JsonResponse response = client .send (new JsonRequest (url ).post ().jsonBody ()
654+ .add ("NewTopic" , newTopic )
655+ .add ("ChatRoomName" , account .getUserName ())
656+ .add ("BaseRequest" , bot .session ().getBaseRequest ())
657+ );
658+ return null != response && response .success ();
580659 }
581660
582661 private String getUserRemarkName (String id ) {
0 commit comments