mirror of
https://github.com/ahabhyde/miguelbridge
synced 2025-01-10 06:24:20 +01:00
commit 1
This commit is contained in:
parent
3fd7446592
commit
c07392b09c
@ -1,10 +1,61 @@
|
||||
package com.em.miguelbridge.matrixbot;
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.FileNotFoundException;
|
||||
import java.io.FileReader;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStreamReader;
|
||||
import java.net.HttpURLConnection;
|
||||
import java.net.MalformedURLException;
|
||||
import java.net.URL;
|
||||
|
||||
/**
|
||||
* @author Emanuele Magon
|
||||
*/
|
||||
public class MatrixBot {
|
||||
//https://matrix.org/docs/guides/client-server.html
|
||||
private String homeUrl;
|
||||
private String fileInfo;
|
||||
|
||||
public MatrixBot() {
|
||||
homeUrl = "https://maxwell.ydns.eu/_matrix/client/";
|
||||
fileInfo = "files/MatrixBotInfo.txt";
|
||||
}
|
||||
|
||||
public String readUserName() throws FileNotFoundException, IOException {
|
||||
FileReader file = new FileReader(fileInfo);
|
||||
BufferedReader in = new BufferedReader(file);
|
||||
String str = in.readLine();
|
||||
in.close();
|
||||
|
||||
return str;
|
||||
}
|
||||
|
||||
public String readPswd() throws FileNotFoundException, IOException {
|
||||
FileReader file = new FileReader(fileInfo);
|
||||
BufferedReader in = new BufferedReader(file);
|
||||
in.readLine(); //Usato per leggere la seconda riga
|
||||
String str = in.readLine();
|
||||
in.close();
|
||||
|
||||
return str;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @return Access Token per il bot, da utilizzare nelle prossime chiamate
|
||||
*/
|
||||
public String login() throws IOException {
|
||||
String requestUrl = "r0/login";
|
||||
String[][] reqParams = new String[][] {
|
||||
{"\"type\"", "\"m.login.password\""},
|
||||
{"\"user\"", "\"" + readUserName() + "\""},
|
||||
{"\"password\"", "\"" + readPswd() + "\""}
|
||||
};
|
||||
|
||||
String[] risposta = RequestHandler.postRequest(homeUrl, reqParams);
|
||||
|
||||
|
||||
return (risposta[0] + " - " + risposta[1]);
|
||||
}
|
||||
}
|
||||
|
75
src/com/em/miguelbridge/matrixbot/RequestHandler.java
Normal file
75
src/com/em/miguelbridge/matrixbot/RequestHandler.java
Normal file
@ -0,0 +1,75 @@
|
||||
package com.em.miguelbridge.matrixbot;
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.DataOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStreamReader;
|
||||
import java.net.HttpURLConnection;
|
||||
import java.net.MalformedURLException;
|
||||
import java.net.URL;
|
||||
|
||||
/**
|
||||
* @author Emanuele Magon
|
||||
*/
|
||||
public class RequestHandler {
|
||||
public static String[] getRequest(String inURL) throws MalformedURLException, IOException {
|
||||
String[] risposta = new String[2];
|
||||
|
||||
URL url = new URL(inURL);
|
||||
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
|
||||
connection.setRequestMethod("GET");
|
||||
|
||||
int status = connection.getResponseCode();
|
||||
BufferedReader in = new BufferedReader(
|
||||
new InputStreamReader(connection.getInputStream()));
|
||||
String inputLine;
|
||||
String risp = "";
|
||||
while ((inputLine = in.readLine()) != null) {
|
||||
risp += inputLine;
|
||||
}
|
||||
in.close();
|
||||
|
||||
risposta[0] = "" + status;
|
||||
risposta[1] = risp;
|
||||
|
||||
return risposta;
|
||||
}
|
||||
|
||||
public static String[] postRequest(String inURL, String[][] reqParams) throws MalformedURLException, IOException {
|
||||
String[] risposta = new String[2];
|
||||
|
||||
URL url = new URL(inURL);
|
||||
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
|
||||
connection.setRequestMethod("POST");
|
||||
|
||||
// Send post request
|
||||
connection.setDoOutput(true);
|
||||
String postParam = "";
|
||||
for (String[] reqParam : reqParams) {
|
||||
postParam += reqParam[0] + "=" + reqParam[1] + "&";
|
||||
}
|
||||
if (postParam.length() > 0)
|
||||
postParam = postParam.substring(0, postParam.length()-1);
|
||||
System.out.println(postParam);
|
||||
|
||||
DataOutputStream wr = new DataOutputStream(connection.getOutputStream());
|
||||
wr.writeBytes(postParam);
|
||||
wr.flush();
|
||||
wr.close();
|
||||
|
||||
int status = connection.getResponseCode();
|
||||
BufferedReader in = new BufferedReader(
|
||||
new InputStreamReader(connection.getInputStream()));
|
||||
String inputLine;
|
||||
String risp = "";
|
||||
while ((inputLine = in.readLine()) != null) {
|
||||
risp += inputLine;
|
||||
}
|
||||
in.close();
|
||||
|
||||
risposta[0] = "" + status;
|
||||
risposta[1] = risp;
|
||||
|
||||
return risposta;
|
||||
}
|
||||
}
|
22
src/com/em/miguelbridge/matrixbot/prova.java
Normal file
22
src/com/em/miguelbridge/matrixbot/prova.java
Normal file
@ -0,0 +1,22 @@
|
||||
package com.em.miguelbridge.matrixbot;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.logging.Level;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Emanuele Magon
|
||||
*/
|
||||
public class prova {
|
||||
public static void main(String[] args) {
|
||||
try {
|
||||
MatrixBot bot = new MatrixBot();
|
||||
|
||||
System.out.println(bot.readUserName() + " - " + bot.readPswd());
|
||||
System.out.println(bot.login());
|
||||
} catch (IOException ex) {
|
||||
Logger.getLogger(prova.class.getName()).log(Level.SEVERE, null, ex);
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user