TA的每日心情![](source/plugin/dsu_paulsign/img/emot/shuai.gif) | 衰 2021-2-2 11:21 |
---|
签到天数: 36 天 [LV.5]常住居民I
|
项目采用开源程序IQQ开源程序、内置webQQ协议、并且使用十分方便、直接调用即可。9 |1 ?* i. ~. W1 Q# l# ` k2 y( R* c
本项目采用webService接口调用可以不用重新登录QQ即可实现项目的修改。测试期间 多次登录QQ导致QQ被检测到异常还得手机解封。
3 N; q& m! K, H9 N% n- U+ x5 }实现功能:: b; Y' {) Q9 g
一:实现天气预报的功能 用于输入#天气+你所在城市 目前只支持市区级查询。7 f% b7 O0 S* O7 b2 a1 E
二:实现QQ号码吉凶查询 输入#QQ+你的号码。; `7 ^1 N, s/ }7 P8 P8 \
三:实现聊天功能、调用小黄鸡接口实现java版小黄鸡。, J% L3 v1 G s& e
四:用户可以随意修改源码if判断加入自己的message。
1 V% ^: I# F# H5 {) P代码展示:* z$ {/ A. s5 K. G
WebServiceClient.java0 Q3 e7 n9 m! V( W" G, V! v/ u
- /**
* [% j7 q( b2 D$ t3 V4 K - * Copyright (c) 2010-2013 by 科帮网
# |, q' i; M) S5 l5 e& f - * All rights reserved." Y+ `1 i$ \, f( o! L# c# \! F4 S
- */( z! u! @5 j1 _% e" X: p: W% C2 G9 {
- package webService.client;1 ?3 r' @* k e6 V; H4 F* y
6 j4 I; k4 ~, [' A' V- import java.util.ResourceBundle;" N8 O$ |$ C& X! f6 f
* g W, j3 D( c% _% {8 S1 v# y- import javax.xml.namespace.QName;
2 ]) I8 k s# ]# ~ - 4 F0 P% Z2 A0 J9 Z6 x
- import org.apache.axis2.AxisFault;
" U) ^( W5 O2 ?) H @$ C - import org.apache.axis2.addressing.EndpointReference;* K# P6 D% j( w: \8 C# q4 Y# [! v
- import org.apache.axis2.client.Options;3 k/ X$ r9 }9 V3 }6 d
- import org.apache.axis2.rpc.client.RPCServiceClient;/ A+ q) _# x; X! ^ y& ^
- ! l. E2 H [5 ?- i, L
- import util.Constants;
/ w j, a( A A- S& e - public class WebServiceClient {5 i7 v0 O5 w5 v. W- E; l
. Q2 n: e% ~8 j/ U7 d/ T- private static String SERVICE_URL = "";
4 M* S: a% s3 I- d+ I - private static String TARGET_NAMESPACE = "";1 w* V l* F9 y
- 0 u$ E8 x O2 F# n, S9 }( T- s' j7 K! @
- static{* ^- k3 g4 B0 G8 {0 D
- ResourceBundle resource = ResourceBundle.getBundle("config");' j( l( h6 `* `5 R' D5 m
- SERVICE_URL = resource.getString(Constants.SSO_SERVICE_URL);: E- A+ j9 g4 K; {: |: {- @" y
- TARGET_NAMESPACE = resource.getString(Constants.SSO_TARGET_NAMESPACE);
% U3 ]8 C+ Q& a6 H6 U1 t - }: a- A; u8 P+ v0 {; ]* ^9 N
- private static RPCServiceClient initClient(String serviceUrl) throws AxisFault{
( b+ [' S: k5 `4 ?# E, i, V; I+ f0 ] - EndpointReference targetEPR = new EndpointReference(serviceUrl);* Q, t$ e% ]$ N9 t) _
- RPCServiceClient sender = new RPCServiceClient();
, G& G( z% ]; | - Options options = sender.getOptions();( I. M; n/ U1 |+ @9 w
- options.setTimeOutInMilliSeconds(20000L);//超时时间20s) o& M$ P# F1 }. M. \
- options.setTo(targetEPR);
8 d1 N: E; w( z - return sender;
. ~7 [& g$ B4 I* Q1 Y0 D5 }9 O& ^ - }
1 b2 K. c1 e3 B0 ? - public String listSchoolGroup(String text) throws AxisFault{: ]0 ^3 x# v/ p3 D7 \' T1 @
- RPCServiceClient sender = initClient(SERVICE_URL);
7 _5 S. o$ u4 N - QName qname = new QName(TARGET_NAMESPACE, "getMessage");
3 ~6 _5 Z) @# K* c - Object[] param = new Object[]{text};
9 f9 o3 X0 _# d - Class[] types = new Class[]{String.class};/ U. g5 o P+ W. f* Z* n
- Object[] response = sender.invokeBlocking(qname, param, types);
6 }: r8 w1 M, I, ]% m# ~# B& O4 T* N a3 u - String result = (String)response[0];7 T4 E2 X/ S' U9 h- A) |" L
- return result;: J+ Y% y' g: r& r ~
- }
. g# P0 M$ U: L+ l0 u" r r& `" x* a - }
3 ?4 v- |! w1 D1 Q( _; r" h
复制代码 WSServer.java# w: X3 p* v; R% P
- package webService.server;8 k! _" z& s, | p
- 5 r) N$ r( b5 p1 F
- import util.Constants;* p( M# t2 X9 e, E7 x
- import util.Qq;
2 z: @: g9 U! u7 K0 S. @+ |; j - import util.SimsimiTools;$ [& W G4 v4 S: _
- import util.Weather;! d: {2 ?. L7 ^9 P8 z; V3 _# z/ s
# C7 r6 Q: x, q- public class WSServer {
' }) q# T) S. b% [1 L5 b - public String getMessage(String text) throws Exception{
! s. {% ^9 K W4 h - String message ="";8 D% R8 M, u. C. _! |) b7 N b
- if(text.startsWith("#")){
! f# n1 \: @6 ~2 K7 N' l* U T - String str = text.substring(1, 3);; r, V% u7 a6 y, o
- if(Constants.WEATHER.equals(str)){
+ s Z5 ^ m, n/ W0 C7 o - //天气查询3 U3 y3 D" Q" e, ^# b' O
- String cityName = text.substring(3, text.length());
! f/ ~: I1 |0 ~# ?7 B4 Z9 q - message = Weather.Weather(cityName.trim());' s. U! E( w3 D$ h
- }else if(Constants.YUANMA.equals(str)){5 H9 L: S% H. n p, B
- message = "源码网 http://www.52itstyle.top";
) d# ~4 ^! e" X5 k. X - }else if("QQ".equalsIgnoreCase(str)){- V. y' m" |+ {* z6 y1 K+ T- m0 M! H
- //QQ吉凶查询
6 ~% m2 ]" S! k7 v6 t2 a0 ~ - String qq = text.substring(3, text.length());
* f( u2 V3 s4 n - message = Qq.qq(qq.trim());
2 i7 b: T E; u& J8 Q - }else{
( ?: m; |% { `) h. S7 R( m) G - //小黄鸡, u- d$ F( i4 t: E: m3 j) Y& U' h
- message = SimsimiTools.getSimsimiContentByNiuren(text.substring(1, text.length()));: J t$ A; u9 `3 y0 n
- }
! d- g# A" W* r - }else{
7 A9 J/ o# S* {. f4 ] ` - if(text.contains("QQ")||text.contains("qq")){$ {; T" c, E0 `+ L; ^% x) @
- message = "QQ号码吉凶查询格式 #QQ+你的QQ号";5 G# A$ b# s3 E5 c4 k
- }7 K y5 J! r% y! S: v
- if(text.contains("天气")){
4 e/ s- \8 K# D8 X* l - message = "天气查询格式 #天气+你所在城市";
/ o: }4 v! }+ Q, k/ m2 u - }
# D9 x# q2 z0 {. ~6 }" E+ V - }, c5 F6 C& j3 t+ p
- return message;
: e u. M% e" i2 ]7 N, m4 X - }! {: ~& h8 Q5 p& O5 k9 b) r
- }
$ g' @$ c8 @" l: U- V- j$ I
复制代码 4 B7 A6 A/ }& t! Y& y) \
项目源码下载地址:java版QQ机器人调用接口源码
* E8 |: P2 g' m# D2 c. m4 j* ]' v
# ?5 n( P! i' V% a9 Q, K) f: l" `7 p7 O( m" J) S
: Q1 u* R7 I0 ]- A
|
|