WIP
This commit is contained in:
parent
df564169ee
commit
4bdca44b67
|
@ -0,0 +1,109 @@
|
|||
package de.mrbesen.telegram;
|
||||
|
||||
import de.mrbesen.telegram.objects.TReplyMarkup;
|
||||
|
||||
public class MessageBuilder {
|
||||
|
||||
private String text;
|
||||
private Formatting format = Formatting.None;
|
||||
private boolean silent = false;
|
||||
private boolean no_web_view = false;
|
||||
private int reciver_id = 0;
|
||||
private int reply_to_message_id = 0;
|
||||
private TReplyMarkup markup = null;
|
||||
|
||||
public MessageBuilder setReciver(int id) {
|
||||
reciver_id = id;
|
||||
return this;
|
||||
}
|
||||
|
||||
public MessageBuilder setText(String txt) {
|
||||
txt = txt.trim();
|
||||
if(txt.isEmpty()) {
|
||||
throw new IllegalArgumentException("text is not allowed to be empty");
|
||||
}
|
||||
text = txt;
|
||||
return this;
|
||||
}
|
||||
|
||||
public MessageBuilder setFormatting(Formatting form) {
|
||||
format = form;
|
||||
return this;
|
||||
}
|
||||
|
||||
public MessageBuilder setSilent(boolean b) {
|
||||
silent = b;
|
||||
return this;
|
||||
}
|
||||
|
||||
public MessageBuilder setNoWebView(boolean b) {
|
||||
no_web_view = b;
|
||||
return this;
|
||||
}
|
||||
|
||||
public MessageBuilder setMarkup(TReplyMarkup markup) {
|
||||
this.markup = markup;
|
||||
return this;
|
||||
}
|
||||
|
||||
public SendableMessage build() {
|
||||
if(reciver_id == 0) {
|
||||
throw new MissingException("Reciver");
|
||||
}
|
||||
if(text != null) {
|
||||
if(text.trim().isEmpty()) {
|
||||
throw new MissingException("Text");
|
||||
}
|
||||
} else {
|
||||
throw new MissingException("Text");
|
||||
}
|
||||
String optionals = "";
|
||||
if(format != Formatting.None) {
|
||||
optionals += "&parse_mode=" + format.getname().toLowerCase();
|
||||
}
|
||||
if(reply_to_message_id != 0) {
|
||||
optionals += "&reply_to_message_id=" + reply_to_message_id;
|
||||
}
|
||||
if(markup != null) {
|
||||
optionals += "&reply_markup=" + markup.toJSONString();
|
||||
}
|
||||
|
||||
return new SendableMessage("chat_id=" + reciver_id + "&text=" + text.trim() + optionals + "&disable_web_page_preview=" + no_web_view + "&disable_notification=" + silent);
|
||||
}
|
||||
|
||||
class SendableMessage {
|
||||
private String q;
|
||||
|
||||
public SendableMessage(String q) {
|
||||
this.q = q;
|
||||
}
|
||||
String getQ() {
|
||||
return q;
|
||||
}
|
||||
}
|
||||
|
||||
public enum Formatting {
|
||||
None(""),
|
||||
HTML("HTML"),
|
||||
MD("Markdown");
|
||||
|
||||
private String apiname;
|
||||
|
||||
private Formatting(String s) {
|
||||
apiname = s;
|
||||
}
|
||||
|
||||
public String getname() {
|
||||
return apiname;
|
||||
}
|
||||
}
|
||||
|
||||
public class MissingException extends RuntimeException {
|
||||
|
||||
private static final long serialVersionUID = 2750912631502103642L;
|
||||
|
||||
public MissingException(String missing_obj) {
|
||||
super("The Object " + missing_obj + " is missing or invalid.");
|
||||
}
|
||||
}
|
||||
}
|
|
@ -11,15 +11,16 @@ import javax.net.ssl.HttpsURLConnection;
|
|||
import org.json.JSONArray;
|
||||
import org.json.JSONObject;
|
||||
|
||||
import de.mrbesen.telegram.MessageBuilder.SendableMessage;
|
||||
import de.mrbesen.telegram.commands.CommandManager;
|
||||
import de.mrbesen.telegram.event.Event;
|
||||
import de.mrbesen.telegram.event.EventManager;
|
||||
import de.mrbesen.telegram.event.events.UserSendAudioEvent;
|
||||
import de.mrbesen.telegram.event.events.UserSendMessageEvent;
|
||||
import de.mrbesen.telegram.objects.JSONBased.Member;
|
||||
import de.mrbesen.telegram.objects.TAudio;
|
||||
import de.mrbesen.telegram.objects.TMessage;
|
||||
import de.mrbesen.telegram.objects.TUser;
|
||||
import de.mrbesen.telegram.objects.JSONBased.Member;
|
||||
|
||||
public class TelegramAPI implements Runnable {
|
||||
|
||||
|
@ -64,7 +65,7 @@ public class TelegramAPI implements Runnable {
|
|||
OutputStreamWriter wr = new OutputStreamWriter(con.getOutputStream());
|
||||
wr.write(parameter);
|
||||
wr.flush();
|
||||
System.out.println( this.getClass().getSimpleName() + ": request: " + request + " -> " + con.getResponseCode() + ", " + con.getResponseMessage());
|
||||
System.out.println( this.getClass().getSimpleName() + ": request: " + request + " content " + parameter + " -> " + con.getResponseCode() + ", " + con.getResponseMessage());
|
||||
if(con.getResponseCode() == 200) {
|
||||
Scanner s = new Scanner(con.getInputStream());
|
||||
StringBuilder sb_apianswer = new StringBuilder();
|
||||
|
@ -79,6 +80,16 @@ public class TelegramAPI implements Runnable {
|
|||
}
|
||||
}
|
||||
|
||||
public TMessage sendMessage(SendableMessage msg) {
|
||||
try {
|
||||
JSONObject o = request("sendMessage", msg.getQ());
|
||||
return new TMessage(o.getJSONObject("result"), this);
|
||||
} catch(IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public void stop() {
|
||||
run = false;
|
||||
thread.interrupt();
|
||||
|
|
|
@ -4,8 +4,10 @@ import org.json.JSONObject;
|
|||
|
||||
public class JSONBased {
|
||||
|
||||
private JSONObject base_json = null;
|
||||
protected JSONObject base_json = null;
|
||||
protected Member[] allowedmembers = {};
|
||||
|
||||
public JSONBased() {}
|
||||
|
||||
public JSONBased(JSONObject json) {
|
||||
base_json = json;
|
||||
|
@ -33,6 +35,10 @@ public class JSONBased {
|
|||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public Member[] getAllowed() {
|
||||
return allowedmembers;
|
||||
}
|
||||
|
||||
public enum Member {
|
||||
|
||||
|
@ -93,7 +99,7 @@ public class JSONBased {
|
|||
//===== END FILE =====
|
||||
}
|
||||
|
||||
private class UnallowedMemberException extends RuntimeException {
|
||||
protected class UnallowedMemberException extends RuntimeException {
|
||||
private static final long serialVersionUID = -253424139568749269L;
|
||||
|
||||
public UnallowedMemberException(Member mem, JSONBased b) {
|
||||
|
|
|
@ -2,18 +2,14 @@ package de.mrbesen.telegram.objects;
|
|||
|
||||
import org.json.JSONObject;
|
||||
|
||||
public class TDocument extends JSONBased {
|
||||
public class TDocument extends TSendable {
|
||||
|
||||
private String file_id;
|
||||
|
||||
public TDocument(JSONObject o) {
|
||||
super(o);
|
||||
file_id = o.getString("file_id");
|
||||
allowedmembers = new Member[] {Member.thumb, Member.file_name, Member.mime_type, Member.file_size};
|
||||
}
|
||||
|
||||
public String getFile_id() {
|
||||
return file_id;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -9,6 +9,10 @@ public class TInlineKeyboardMarkup implements TReplyMarkup {
|
|||
|
||||
ArrayList<JSONArray> arr_btn = new ArrayList<>();
|
||||
|
||||
public TInlineKeyboardMarkup() {
|
||||
this(1);
|
||||
}
|
||||
|
||||
public TInlineKeyboardMarkup(int rows) {
|
||||
if(rows < 1)
|
||||
throw new IllegalArgumentException("You need at least one row.");
|
||||
|
@ -16,21 +20,32 @@ public class TInlineKeyboardMarkup implements TReplyMarkup {
|
|||
|
||||
for( int row = 0; row < rows; row++ ) {
|
||||
arr_btn.add(new JSONArray());
|
||||
}
|
||||
System.out.println("break here");
|
||||
}
|
||||
}
|
||||
|
||||
public TInlineKeyboardMarkup addButton(String title, String url, int row) {
|
||||
/**
|
||||
* Insert button in first line
|
||||
* @param title
|
||||
* @param url
|
||||
* @return
|
||||
*/
|
||||
public TInlineKeyboardMarkup addUrlButton(String title, String url) {
|
||||
addUrlButton(title, url, 1);
|
||||
return this;
|
||||
}
|
||||
/**
|
||||
* Insert button in nth line
|
||||
* @param title
|
||||
* @param url
|
||||
* @param row
|
||||
* @return
|
||||
*/
|
||||
public TInlineKeyboardMarkup addUrlButton(String title, String url, int row) {
|
||||
arr_btn.get(row-1).put(new JSONObject().put("text", title).put("url", url));
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toJSONString() {
|
||||
JSONArray ja = new JSONArray(arr_btn);
|
||||
JSONObject jo = new JSONObject();
|
||||
jo.put("inline_keyboard", ja);
|
||||
return jo.toString();
|
||||
return new JSONObject().put("inline_keyboard", new JSONArray(arr_btn)).toString();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
package de.mrbesen.telegram.objects;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
import org.json.JSONObject;
|
||||
|
||||
import de.mrbesen.telegram.TelegramAPI;
|
||||
|
@ -16,6 +18,31 @@ public class TMessage extends JSONBased {
|
|||
|
||||
public void sendTo(TUser u) {
|
||||
//if this message already exists forward, if not send directly.
|
||||
throw new RuntimeException("not implemented");
|
||||
}
|
||||
|
||||
public boolean reply(String msg) {
|
||||
if(from == null) {
|
||||
throw new RuntimeException("no from defined!");
|
||||
} else {
|
||||
return from.sendMessage(msg, null, message_id);
|
||||
}
|
||||
// try {
|
||||
// return api.request("sendMessage", "chat_id=" + from.getID() + "&text=" + msg + "&reply_to_message_id=" + message_id ).getBoolean("ok") ;
|
||||
// } catch (IOException | NullPointerException e) {
|
||||
// e.printStackTrace();
|
||||
// return false;
|
||||
// }
|
||||
}
|
||||
|
||||
public TMessage forward(TUser us) {
|
||||
try {
|
||||
String fro = String.valueOf(forward_from == null ? from.getID() : forward_from.getID());
|
||||
return new TMessage(api.request("forwardMessage", "chat_id=" + us.getID() + "&from_chat_id=" + fro + "&message_id=" + message_id).getJSONObject("result"), api);
|
||||
} catch (IOException | NullPointerException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public TMessage(JSONObject json, TelegramAPI api) {
|
||||
|
|
|
@ -2,8 +2,6 @@ package de.mrbesen.telegram.objects;
|
|||
|
||||
import org.json.JSONObject;
|
||||
|
||||
import de.mrbesen.telegram.objects.JSONBased.Member;
|
||||
|
||||
public class TPhotoSize extends TDocument {
|
||||
|
||||
private int width, height;
|
||||
|
|
|
@ -0,0 +1,95 @@
|
|||
package de.mrbesen.telegram.objects;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
import org.json.JSONArray;
|
||||
import org.json.JSONObject;
|
||||
|
||||
public class TReplyKeyboardMarkup implements TReplyMarkup {
|
||||
|
||||
boolean isOneTimeKeyboard = false;
|
||||
boolean isResizeKeyboard = false;
|
||||
boolean isSelective = true;
|
||||
|
||||
ArrayList<JSONArray> arr_btn = new ArrayList<>();
|
||||
|
||||
/**
|
||||
* One line ReplyKeyboard
|
||||
*/
|
||||
public TReplyKeyboardMarkup() {
|
||||
this(1);
|
||||
}
|
||||
|
||||
/**
|
||||
* multi-line ReplyKeyboard
|
||||
* @param rows
|
||||
*/
|
||||
public TReplyKeyboardMarkup(int rows) {
|
||||
if(rows < 1)
|
||||
throw new IllegalArgumentException("You need at least one row.");
|
||||
arr_btn = new ArrayList<JSONArray>();
|
||||
|
||||
for( int row = 0; row < rows; row++ ) {
|
||||
arr_btn.add(new JSONArray());
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toJSONString() {
|
||||
return new JSONObject().put("keyboard", new JSONArray(arr_btn))
|
||||
.put("one_time_keyboard", isOneTimeKeyboard)
|
||||
.put("resize_keyboard", isResizeKeyboard)
|
||||
.put("selective", isSelective)
|
||||
.toString();
|
||||
}
|
||||
|
||||
/**
|
||||
* Insert button in first line
|
||||
* @param title
|
||||
* @param url
|
||||
* @return
|
||||
*/
|
||||
public TReplyKeyboardMarkup addButton(String title) {
|
||||
addButton(title, 1);
|
||||
return this;
|
||||
}
|
||||
/**
|
||||
* Insert button in nth line
|
||||
* @param title
|
||||
* @param url
|
||||
* @param row
|
||||
* @return
|
||||
*/
|
||||
public TReplyKeyboardMarkup addButton(String title, int row) {
|
||||
arr_btn.get(row-1).put(title);
|
||||
return this;
|
||||
}
|
||||
|
||||
public boolean isOneTimeKeyboard() {
|
||||
return isOneTimeKeyboard;
|
||||
}
|
||||
|
||||
public TReplyKeyboardMarkup setOneTimeKeyboard(boolean isOneTimeKeyboard) {
|
||||
this.isOneTimeKeyboard = isOneTimeKeyboard;
|
||||
return this;
|
||||
}
|
||||
|
||||
public boolean isResizeKeyboard() {
|
||||
return isResizeKeyboard;
|
||||
}
|
||||
|
||||
public TReplyKeyboardMarkup setResizeKeyboard(boolean isResizeKeyboard) {
|
||||
this.isResizeKeyboard = isResizeKeyboard;
|
||||
return this;
|
||||
}
|
||||
|
||||
public boolean isSelective() {
|
||||
return isSelective;
|
||||
}
|
||||
|
||||
public TReplyKeyboardMarkup setSelective(boolean isSelective) {
|
||||
this.isSelective = isSelective;
|
||||
return this;
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,24 @@
|
|||
package de.mrbesen.telegram.objects;
|
||||
|
||||
import org.json.JSONObject;
|
||||
|
||||
public class TReplyKeyboardRemove implements TReplyMarkup {
|
||||
|
||||
boolean isSelective = true;
|
||||
|
||||
public boolean isSelective() {
|
||||
return isSelective;
|
||||
}
|
||||
|
||||
public TReplyKeyboardRemove setSelective(boolean isSelective) {
|
||||
this.isSelective = isSelective;
|
||||
return this;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public String toJSONString() {
|
||||
return new JSONObject().put("remove_keyboard", true).put("selective", isSelective).toString();
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,31 @@
|
|||
package de.mrbesen.telegram.objects;
|
||||
|
||||
import org.json.JSONObject;
|
||||
|
||||
public class TSendable extends JSONBased {
|
||||
|
||||
protected String file_id;
|
||||
|
||||
public void set(Member mem, Object value ) {
|
||||
if(isAllowd(mem)) {
|
||||
if(value instanceof Integer)
|
||||
base_json.put(mem.name(), (int) value);
|
||||
else if(value instanceof Boolean)
|
||||
base_json.put(mem.name(), (boolean) value);
|
||||
else
|
||||
base_json.put(mem.name(), value);
|
||||
} else {
|
||||
throw new UnallowedMemberException(mem, this);
|
||||
}
|
||||
}
|
||||
|
||||
public TSendable(JSONObject o) {
|
||||
super(o);
|
||||
file_id = o.getString("file_id");
|
||||
}
|
||||
|
||||
public boolean upload() {
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
|
@ -67,23 +67,29 @@ public class TUser {
|
|||
sendMessage(api.getHelpMessage());
|
||||
}
|
||||
|
||||
public void sendMessage(String text) {
|
||||
sendMessage(text, null);
|
||||
public boolean sendMessage(String text) {
|
||||
return sendMessage(text, null);
|
||||
}
|
||||
|
||||
public void sendMessage(String text, TReplyMarkup rm) {
|
||||
public boolean sendMessage(String text, TReplyMarkup rm) {
|
||||
return sendMessage(text, rm, -1);
|
||||
}
|
||||
|
||||
public boolean sendMessage(String text, TReplyMarkup rm, int reply_to_msg) {
|
||||
if(api == null) {
|
||||
System.err.println("api == null!");
|
||||
return;
|
||||
return false;
|
||||
}
|
||||
String replyto = (reply_to_msg > 0 ? "&reply_to_message_id=" +reply_to_msg : "");
|
||||
try {
|
||||
String reply= (rm == null ? "" : "&reply_markup=" + URLEncoder.encode(rm.toJSONString(), "UTF-8"));
|
||||
api.request("sendMessage", "chat_id=" + id
|
||||
String replymarkup = (rm == null ? "" : "&reply_markup=" + URLEncoder.encode(rm.toJSONString(), "UTF-8"));
|
||||
return api.request("sendMessage", "chat_id=" + id
|
||||
+ "&text=" + URLEncoder.encode(text, "UTF-8")
|
||||
+ reply );
|
||||
+ replymarkup + replyto).getBoolean("ok");
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public void sendStatus(Status status) {
|
||||
|
|
|
@ -1,36 +1,47 @@
|
|||
package de.mrbesen.test;
|
||||
|
||||
import java.util.Random;
|
||||
import java.util.Scanner;
|
||||
|
||||
import de.mrbesen.telegram.MessageBuilder;
|
||||
import de.mrbesen.telegram.TelegramAPI;
|
||||
import de.mrbesen.telegram.commands.CommandHandler;
|
||||
import de.mrbesen.telegram.event.EventHandler;
|
||||
import de.mrbesen.telegram.event.EventListener;
|
||||
import de.mrbesen.telegram.event.events.UserSendMessageEvent;
|
||||
import de.mrbesen.telegram.objects.TInlineKeyboardMarkup;
|
||||
import de.mrbesen.telegram.objects.TUser;
|
||||
import de.mrbesen.telegram.objects.TMessage;
|
||||
import de.mrbesen.telegram.objects.TUser.Status;
|
||||
import de.mrbesen.test.commands.InlineKeyboardTC;
|
||||
import de.mrbesen.test.commands.ReplyKeyboardRemoveTC;
|
||||
import de.mrbesen.test.commands.ReplyKeyboardTestCase;
|
||||
import de.mrbesen.test.commands.SimpleTestCase;
|
||||
|
||||
public class Main implements CommandHandler, Runnable, EventListener {
|
||||
public class Main implements Runnable, EventListener {
|
||||
|
||||
TelegramAPI api;
|
||||
|
||||
private int action = 0;
|
||||
private TMessage oldmsg = null;
|
||||
|
||||
public static void main(String[] args) {
|
||||
new Main().run();
|
||||
}
|
||||
|
||||
public Main() {
|
||||
api = new TelegramAPI("577609137:AAGrlfMHAOQPzN6w9ceNSgFZZCbaiK4gAnw");
|
||||
api.getCommandManager().registerCommand("test", this);
|
||||
api.getCommandManager().registerCommand("test", new SimpleTestCase());
|
||||
api.getCommandManager().registerCommand("inlinekb", new InlineKeyboardTC());
|
||||
api.getCommandManager().registerCommand("replykb", new ReplyKeyboardTestCase());
|
||||
api.getCommandManager().registerCommand("replykbrm", new ReplyKeyboardRemoveTC());
|
||||
api.getEventManager().registerEvent(this);
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void eventbla(UserSendMessageEvent e) {
|
||||
e.getUser().sendMessage(e.getMessage().getText().replace(' ', '-'));
|
||||
int i = new Random().nextInt(Status.values().length);
|
||||
e.getUser().sendStatus(Status.values()[i]);
|
||||
api.sendMessage(new MessageBuilder().setText("this is a reply").setReciver(e.getUser().getID()).setSilent(true).setNoWebView(true).build());
|
||||
if(oldmsg != null) {
|
||||
oldmsg.forward(e.getUser());
|
||||
}
|
||||
e.getUser().sendStatus(Status.values()[action++]);
|
||||
action%=Status.values().length;
|
||||
oldmsg = e.getMessage();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -43,19 +54,4 @@ public class Main implements CommandHandler, Runnable, EventListener {
|
|||
System.out.println("Terminated.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onCommand(TUser sender, String cmd, String[] args) {
|
||||
if(cmd.equals("test")) {
|
||||
// sender.sendMessage("Ja moin!");
|
||||
|
||||
sender.sendMessage("Links zu antippen:",
|
||||
new TInlineKeyboardMarkup(2)
|
||||
.addButton("gg","https://green-gaming.de", 1)
|
||||
.addButton("ok", "https://oliver-kaestner.de", 1)
|
||||
.addButton("mrB", "https://mrbesen.de", 2));
|
||||
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,22 @@
|
|||
package de.mrbesen.test.commands;
|
||||
|
||||
import de.mrbesen.telegram.commands.CommandHandler;
|
||||
import de.mrbesen.telegram.objects.TInlineKeyboardMarkup;
|
||||
import de.mrbesen.telegram.objects.TUser;
|
||||
|
||||
public class InlineKeyboardTC implements CommandHandler {
|
||||
|
||||
@Override
|
||||
public boolean onCommand(TUser sender, String cmd, String[] args) {
|
||||
if(cmd.equals("inlinekb")) {
|
||||
sender.sendMessage("Links zu antippen:",
|
||||
new TInlineKeyboardMarkup(2)
|
||||
.addUrlButton("gg","https://green-gaming.de", 1)
|
||||
.addUrlButton("ok", "https://oliver-kaestner.de", 1)
|
||||
.addUrlButton("mrB", "https://mrbesen.de", 2));
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,19 @@
|
|||
package de.mrbesen.test.commands;
|
||||
|
||||
import de.mrbesen.telegram.commands.CommandHandler;
|
||||
import de.mrbesen.telegram.objects.TReplyKeyboardRemove;
|
||||
import de.mrbesen.telegram.objects.TUser;
|
||||
|
||||
public class ReplyKeyboardRemoveTC implements CommandHandler {
|
||||
|
||||
@Override
|
||||
public boolean onCommand(TUser sender, String cmd, String[] args) {
|
||||
if(cmd.equals("replykbrm")) {
|
||||
sender.sendMessage("Entferne TReplyKeyboard",
|
||||
new TReplyKeyboardRemove());
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,24 @@
|
|||
|
||||
package de.mrbesen.test.commands;
|
||||
|
||||
import de.mrbesen.telegram.commands.CommandHandler;
|
||||
import de.mrbesen.telegram.objects.TReplyKeyboardMarkup;
|
||||
import de.mrbesen.telegram.objects.TUser;
|
||||
|
||||
public class ReplyKeyboardTestCase implements CommandHandler {
|
||||
|
||||
@Override
|
||||
public boolean onCommand(TUser sender, String cmd, String[] args) {
|
||||
if(cmd.equals("replykb")) {
|
||||
sender.sendMessage("Buttons zum Antippen:",
|
||||
new TReplyKeyboardMarkup(2)
|
||||
.addButton("gg", 1)
|
||||
.addButton("ok", 1)
|
||||
.addButton("mrB", 2)
|
||||
.setOneTimeKeyboard(true)
|
||||
.setResizeKeyboard(true));
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,16 @@
|
|||
package de.mrbesen.test.commands;
|
||||
|
||||
import de.mrbesen.telegram.commands.CommandHandler;
|
||||
import de.mrbesen.telegram.objects.TUser;
|
||||
|
||||
public class SimpleTestCase implements CommandHandler {
|
||||
|
||||
@Override
|
||||
public boolean onCommand(TUser sender, String cmd, String[] args) {
|
||||
if(cmd.equals("test")) {
|
||||
sender.sendMessage("HI");
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue