TA的每日心情![](source/plugin/dsu_paulsign/img/emot/shuai.gif) | 衰 2021-2-2 11:21 |
---|
签到天数: 36 天 [LV.5]常住居民I
|
项目采用开源程序IQQ开源程序、内置webQQ协议、并且使用十分方便、直接调用即可。$ |2 z- |4 k P) r1 X' g' |/ I7 N+ \
本项目采用webService接口调用可以不用重新登录QQ即可实现项目的修改。测试期间 多次登录QQ导致QQ被检测到异常还得手机解封。
0 Q6 Q7 ^4 H, |实现功能:
- I% }9 e( R, z, G, E7 {1 G$ H; s一:实现天气预报的功能 用于输入#天气+你所在城市 目前只支持市区级查询。1 w, T m% }- y- R; I
二:实现QQ号码吉凶查询 输入#QQ+你的号码。' [- B5 v! G. M
三:实现聊天功能、调用小黄鸡接口实现java版小黄鸡。
6 ]6 G, i9 [+ h$ S" R8 C* f4 E$ l四:用户可以随意修改源码if判断加入自己的message。
3 I* n/ p( K3 A! L( z6 o代码展示:
4 a" {. ~) E% e- d# H% JWebServiceClient.java7 ~4 L% ]* L9 z! S1 y+ y9 A
- /**
6 I/ @6 W5 f G& Z0 ^1 | - * Copyright (c) 2010-2013 by 科帮网+ O4 Z5 l/ v3 n- ^! z8 c4 b
- * All rights reserved.
. p2 y# |, @. | H0 k8 j - */3 B' O+ C* F' E1 ^
- package webService.client;
: `, j7 n2 T# u! y - - j. f2 U# w$ \" x3 t& Z$ `
- import java.util.ResourceBundle;$ [; Q' j. @8 G# S1 M) [
5 i3 D$ [1 g' ^& t- import javax.xml.namespace.QName;
; Y8 A7 A9 S2 }* u, l - 9 O- L( Z3 ]% u/ ~" R
- import org.apache.axis2.AxisFault;! d8 `! Z6 [5 y+ X& q4 E% a- S
- import org.apache.axis2.addressing.EndpointReference;* a: H+ ?" m- W& B: d
- import org.apache.axis2.client.Options;
! W( r$ M2 h2 m2 E3 U( C - import org.apache.axis2.rpc.client.RPCServiceClient;
7 o) m# s% H. {9 r2 s/ S
+ r$ a0 h" l+ a+ o5 z0 m( D/ z0 X- import util.Constants;
" V5 C$ z, k+ i5 B - public class WebServiceClient {
) ]9 ~% N" ? p# F& ~
+ x+ [ q6 ]1 i! T" H0 M- Q% W- private static String SERVICE_URL = "";. A7 f) L, E2 c. U
- private static String TARGET_NAMESPACE = "";
+ o& b9 D9 E! R$ p
# Z% b* ?. M# i8 N- static{5 z; m/ `0 R# N9 B3 F+ e' {% F7 J
- ResourceBundle resource = ResourceBundle.getBundle("config");
1 m, p- Q2 P ^- k: x+ v - SERVICE_URL = resource.getString(Constants.SSO_SERVICE_URL);
% d( u3 N; }0 k ^; S& ^4 y - TARGET_NAMESPACE = resource.getString(Constants.SSO_TARGET_NAMESPACE);
V- G8 G6 ^9 Z7 G! Y1 O& y - }
$ P8 ?2 i5 k/ d+ \0 x - private static RPCServiceClient initClient(String serviceUrl) throws AxisFault{4 Y4 C6 v4 Z+ ^6 K. P ^
- EndpointReference targetEPR = new EndpointReference(serviceUrl);
2 S9 E' l1 r; [ - RPCServiceClient sender = new RPCServiceClient();5 K3 }4 l% z9 Y+ E2 S
- Options options = sender.getOptions();
4 A9 I; u9 @- J, P; F) I - options.setTimeOutInMilliSeconds(20000L);//超时时间20s
. c6 k2 N' v9 t$ ~7 D: h - options.setTo(targetEPR);
- B% P$ b: p& ^1 }4 c - return sender;8 | Z5 h- @4 }- f5 ^3 l5 ?
- }
1 o) @; Y& |/ ?. ?: G8 S - public String listSchoolGroup(String text) throws AxisFault{
& ^: v# y$ s. `0 @2 p$ d* j5 { - RPCServiceClient sender = initClient(SERVICE_URL);% W% F Y/ A! G% x3 }
- QName qname = new QName(TARGET_NAMESPACE, "getMessage");' V" l6 _( T n% ~% ^3 \
- Object[] param = new Object[]{text};
" u {+ J. m. F# y9 O& p9 Q - Class[] types = new Class[]{String.class};! { w5 w. U/ h( r. j2 G0 P2 W. h8 v* [0 E
- Object[] response = sender.invokeBlocking(qname, param, types);3 ^ X$ {0 U+ y4 s. Z9 s5 C" z% z
- String result = (String)response[0];' C0 ~; e' W z. c& x4 U& Z
- return result;
7 z, H* x6 e2 ]! E - } o, n0 K% x v y5 p2 ?, b- \+ t
- }, s# i3 F7 X1 l- B
复制代码 WSServer.java0 h) H* _0 A% ?) a
- package webService.server;9 j& p' T: v# U7 D) l$ j
- 2 q- \! Z t; w2 `) w/ Z7 q: Y/ S
- import util.Constants;
- z+ U8 r. v) j! O, }! X - import util.Qq;
: d# A1 D6 F4 ?2 D: {) Y - import util.SimsimiTools;" f- x2 \) R4 L) v6 u# M$ R/ H
- import util.Weather;7 v6 Z# g: @& B" L# J
" q4 [& j8 ^0 x+ s5 F8 Q" V- public class WSServer {
% c: o) w% Q3 N - public String getMessage(String text) throws Exception{
' ` s# v- a4 E/ \9 B1 W& \ - String message ="";6 R$ P7 U+ j' Y& h8 V% g3 e7 p3 A# _
- if(text.startsWith("#")){
|1 X" ?$ K! r% m& b A - String str = text.substring(1, 3);* e( n/ S" n& p. j; `
- if(Constants.WEATHER.equals(str)){
8 d( G8 S' z, z) U8 b. v( i" J: b - //天气查询/ X; _& G( X( o) t2 W% O
- String cityName = text.substring(3, text.length());2 U6 x. d6 y8 o! N: q. @; Y
- message = Weather.Weather(cityName.trim());! P6 V/ ]2 X7 v' H4 D
- }else if(Constants.YUANMA.equals(str)){3 i+ q6 }7 d) ?. c6 r8 o1 X
- message = "源码网 http://www.52itstyle.top";
) b! R. U6 x6 s2 _+ {* R - }else if("QQ".equalsIgnoreCase(str)){
8 z2 K( Q D/ }. V - //QQ吉凶查询4 g4 S1 G" T* g; U$ e3 T* w
- String qq = text.substring(3, text.length());6 U: N* o. y P" K
- message = Qq.qq(qq.trim());
/ M! v: r- ? H* i% ^ - }else{! \ C' I5 P- P- s9 V3 y' N$ n3 [
- //小黄鸡. ?! i9 C0 O8 f7 h% Q8 y
- message = SimsimiTools.getSimsimiContentByNiuren(text.substring(1, text.length()));
8 A7 K9 j1 I% V+ `8 `& m4 k - }
* [* V% z" \ L! R R# v+ I" F& \7 a - }else{: @; ]: x t- p9 ~
- if(text.contains("QQ")||text.contains("qq")){" D5 V; }* h9 [" N9 D+ `' n. t
- message = "QQ号码吉凶查询格式 #QQ+你的QQ号";
* K q# o$ e3 [6 Z' { - }) ?* ^& S8 v: H1 |/ M
- if(text.contains("天气")){
$ E$ N5 M3 f* F1 J - message = "天气查询格式 #天气+你所在城市";
6 \+ [: d4 ~6 X - }& h6 O4 {# `( t/ D+ [
- }; Q3 c" |9 I( J* i5 n
- return message;* y9 l2 o4 C; X% k' o
- }0 S; l9 P( n' Z4 ~ l9 x& B- F
- }
, N$ s: H0 W" H5 h- g! G' E
复制代码 $ C! r& ~3 F' `3 X T+ q6 Y" i
项目源码下载地址:java版QQ机器人调用接口源码
/ {* T+ {" n8 W ~' {$ S( \$ }5 \/ l7 ~4 E
& C8 H) _" g1 z1 J7 r# k A
8 r7 c' i; x2 W |
|