package com.hkphantom.telegram_bot;
import org.telegram.telegrambots.bots.DefaultBotOptions;
import org.telegram.telegrambots.bots.TelegramLongPollingBot;
import org.telegram.telegrambots.meta.api.methods.ParseMode;
import org.telegram.telegrambots.meta.api.methods.send.SendMessage;
import org.telegram.telegrambots.meta.api.objects.*;
import org.telegram.telegrambots.meta.api.objects.replykeyboard.InlineKeyboardMarkup;
import org.telegram.telegrambots.meta.api.objects.replykeyboard.ReplyKeyboardMarkup;
import org.telegram.telegrambots.meta.api.objects.replykeyboard.buttons.InlineKeyboardButton;
import org.telegram.telegrambots.meta.api.objects.replykeyboard.buttons.KeyboardButton;
import org.telegram.telegrambots.meta.api.objects.replykeyboard.buttons.KeyboardRow;
import org.telegram.telegrambots.meta.exceptions.TelegramApiException;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
public class MyAmazingBot extends TelegramLongPollingBot {
private String token = "xxxxxxxxxx";
private String userName = "xxxxxxxxxx";
public MyAmazingBot() {
this(new DefaultBotOptions());
}
public MyAmazingBot(DefaultBotOptions options) {
super(options);
}
@Override
public void onUpdateReceived(Update update) {
// We check if the update has a message and the message has text
if (update.hasMessage()) {// 处理普通文本消息
log(update);
Message message = update.getMessage();
if (message.hasText()) {
// Set variables
String message_text = message.getText();//发送的消息内容
Long chat_id = message.getChatId(); //发送信息的用户id
System.out.println("message_text=====================" + message_text);
if (message_text.equals("/start")) {
SendMessage sendMessage = getSendMessage(message_text, chat_id); // 发送文本消息
//keyboardButton
try {
execute(sendMessage); // Sending our message object to user
} catch (TelegramApiException e) {
e.printStackTrace();
}
} else if (message_text.equals("修改密码")) {
SendMessage sendMessage = new SendMessage();
sendMessage.setText(message_text);
sendMessage.setChatId(String.valueOf(chat_id));
sendMessage.setParseMode(ParseMode.MARKDOWN);
try {
execute(sendMessage);
} catch (TelegramApiException e) {
e.printStackTrace();
}
}else {
String text = "新一代跨平台爬虫系统,采用GO语言开发.\n" +
"主要应用于网络营销资源收集与为网络空间安全数据分析、\n" +
"应用分布大数据分析等提供辅助。\n" +
"点击菜单获取更多\n";
SendMessage sendMessage = getSendMessage(text,message.getChatId());
try {
execute(sendMessage);
} catch (TelegramApiException e) {
e.printStackTrace();
}
}
} else if (message.hasContact()) { // 处理名片信息
Contact contact = message.getContact();
SendMessage sendMessage = new SendMessage();
sendMessage.setText("You phone number:" + contact.getPhoneNumber() + "\n" +
"You FirstName:" + contact.getFirstName() + "\n" +
"You LastName:" + contact.getLastName());
sendMessage.setChatId(String.valueOf(message.getChatId()));
sendMessage.setParseMode(ParseMode.MARKDOWN);
try {
execute(sendMessage);
} catch (TelegramApiException e) {
e.printStackTrace();
}
} else if (message.hasLocation()) { //处理位置信息
Location location = message.getLocation();
SendMessage sendMessage = new SendMessage();
sendMessage.setText("You local:" + location);
sendMessage.setChatId(String.valueOf(message.getChatId()));
sendMessage.setParseMode(ParseMode.MARKDOWN);
try {
execute(sendMessage);
} catch (TelegramApiException e) {
e.printStackTrace();
}
}
}else if (update.hasCallbackQuery()){ // 处理内联消息
CallbackQuery callbackQuery = update.getCallbackQuery();
Message message = callbackQuery.getMessage();
String data = callbackQuery.getData();
SendMessage sendMessage = new SendMessage();
if (data.equals("查看文档")){
sendMessage = getSendMessage("查看文档正在建设中..........", message.getChatId());
}else if (data.equals("联系客服")){
sendMessage = getSendMessage("客服正在休息中,请勿打扰....", message.getChatId());
}
try {
execute(sendMessage);
} catch (TelegramApiException e) {
e.printStackTrace();
}
}
}
//发送普通消息
private SendMessage getSendMessage(String message_text, Long chat_id) {
SendMessage message = new SendMessage();// Create a message object object
message.setChatId(String.valueOf(chat_id));
message.setText(message_text);
message.setParseMode(ParseMode.HTML);
//返回内联信息
// InlineKeyboardMarkup inlineKeyboardMarkup = getInlineKeyboardMarkup();
// message.setReplyMarkup(inlineKeyboardMarkup);
//TODO 获取底部键盘
ReplyKeyboardMarkup replyKeyboardMarkup = getReplyKeyboardMarkup();
message.setReplyMarkup(replyKeyboardMarkup);
return message;
}
// todo 获取文本底部按钮
private InlineKeyboardMarkup getInlineKeyboardMarkup() {
//TODO 文本底部键盘
InlineKeyboardMarkup inlineKeyboardMarkup = new InlineKeyboardMarkup();
List<List<InlineKeyboardButton>> inlineButtons = new ArrayList<>();
List<InlineKeyboardButton> inlineKeyboardButtonList1 = new ArrayList<>();
InlineKeyboardButton inlineKeyboardButton1 = new InlineKeyboardButton();
inlineKeyboardButton1.setText("查看文档");
inlineKeyboardButton1.setUrl("http://www.baidu.com");
inlineKeyboardButton1.setCallbackData("查看文档");
InlineKeyboardButton inlineKeyboardButton2 = new InlineKeyboardButton();
inlineKeyboardButton2.setText("联系客服");
inlineKeyboardButton2.setUrl("http://www.baidu.com");
inlineKeyboardButton2.setCallbackData("联系客服");
inlineKeyboardButtonList1.add(inlineKeyboardButton1);
inlineKeyboardButtonList1.add(inlineKeyboardButton2);
List<InlineKeyboardButton> inlineKeyboardButtonList2 = new ArrayList<>();
InlineKeyboardButton inlineKeyboardButton3 = new InlineKeyboardButton();
inlineKeyboardButton3.setText("查看文档");
inlineKeyboardButton3.setCallbackData("查看文档");
InlineKeyboardButton inlineKeyboardButton4 = new InlineKeyboardButton();
inlineKeyboardButton4.setText("联系客服");
inlineKeyboardButton4.setCallbackData("联系客服");
没有合适的资源?快使用搜索试试~ 我知道了~
资源详情
资源评论
资源推荐
收起资源包目录
基于 java springboot 的 telegram bot API,可帮助您快速创建一个小型机器人 (124个子文件)
MyAmazingBot.class 10KB
Main.class 2KB
TelegramBotApplication.class 774B
TelegramBotApplicationTests.class 572B
mvnw.cmd 7KB
.gitignore 395B
.gitignore 184B
telegram_bot.iml 12KB
maven-wrapper.jar 57KB
MyAmazingBot.java 11KB
Main.java 1KB
TelegramBotApplication.java 342B
TelegramBotApplicationTests.java 232B
HELP.md 893B
mvnw 10KB
maven-wrapper.properties 233B
application.properties 1B
application.properties 1B
workspace.xml 4KB
pom.xml 2KB
Maven__com_google_guava_listenablefuture_9999_0_empty_to_avoid_conflict_with_guava.xml 958B
jarRepositories.xml 879B
Maven__com_fasterxml_jackson_module_jackson_module_jaxb_annotations_2_13_2.xml 866B
Maven__com_fasterxml_jackson_module_jackson_module_parameter_names_2_13_2.xml 859B
Maven__org_glassfish_jersey_containers_jersey_container_grizzly2_http_2_35.xml 857B
Maven__org_springframework_boot_spring_boot_test_autoconfigure_2_6_6.xml 836B
Maven__com_fasterxml_jackson_jaxrs_jackson_jaxrs_json_provider_2_13_2.xml 834B
compiler.xml 827B
Maven__com_vaadin_external_google_android_json_0_0_20131108_vaadin1.xml 823B
Maven__com_fasterxml_jackson_datatype_jackson_datatype_jsr310_2_13_2.xml 818B
Maven__org_springframework_boot_spring_boot_starter_logging_2_6_6.xml 815B
Maven__org_springframework_boot_spring_boot_starter_tomcat_2_6_6.xml 808B
Maven__com_fasterxml_jackson_datatype_jackson_datatype_jdk8_2_13_2.xml 804B
Maven__org_glassfish_jersey_media_jersey_media_json_jackson_2_35.xml 802B
Maven__org_springframework_boot_spring_boot_autoconfigure_2_6_6.xml 801B
Maven__org_springframework_boot_spring_boot_starter_json_2_6_6.xml 794B
Maven__org_springframework_boot_spring_boot_starter_test_2_6_6.xml 794B
Maven__org_glassfish_hk2_external_aopalliance_repackaged_2_6_1.xml 788B
Maven__org_springframework_boot_spring_boot_starter_web_2_6_6.xml 787B
Maven__org_apache_tomcat_embed_tomcat_embed_websocket_9_0_60.xml 783B
Maven__org_glassfish_jersey_ext_jersey_entity_filtering_2_35.xml 780B
Maven__com_google_errorprone_error_prone_annotations_2_3_4.xml 775B
Maven__com_fasterxml_jackson_core_jackson_annotations_2_13_2.xml 774B
Maven__com_fasterxml_jackson_jaxrs_jackson_jaxrs_base_2_13_2.xml 771B
Maven__com_fasterxml_jackson_core_jackson_databind_2_13_2_2.xml 767B
Maven__org_springframework_boot_spring_boot_starter_2_6_6.xml 759B
Maven__jakarta_validation_jakarta_validation_api_2_0_2.xml 756B
Maven__jakarta_activation_jakarta_activation_api_1_2_2.xml 756B
Maven__org_junit_platform_junit_platform_commons_1_8_2.xml 756B
Maven__jakarta_annotation_jakarta_annotation_api_1_3_5.xml 756B
Maven__org_junit_platform_junit_platform_engine_1_8_2.xml 749B
Maven__org_apache_tomcat_embed_tomcat_embed_core_9_0_60.xml 748B
Maven__org_glassfish_grizzly_grizzly_http_server_2_4_4.xml 747B
Maven__org_glassfish_hk2_osgi_resource_locator_1_0_3.xml 745B
Maven__org_junit_jupiter_junit_jupiter_params_5_8_2.xml 738B
Maven__org_springframework_boot_spring_boot_test_2_6_6.xml 738B
Maven__org_junit_jupiter_junit_jupiter_engine_5_8_2.xml 738B
Maven__org_apache_tomcat_embed_tomcat_embed_el_9_0_60.xml 734B
Maven__jakarta_xml_bind_jakarta_xml_bind_api_2_3_3.xml 734B
Maven__org_glassfish_grizzly_grizzly_framework_2_4_4.xml 733B
Maven__org_glassfish_hk2_external_jakarta_inject_2_6_1.xml 732B
Maven__org_springframework_spring_expression_5_3_18.xml 732B
Maven__org_apache_logging_log4j_log4j_to_slf4j_2_17_2.xml 731B
Maven__com_fasterxml_jackson_core_jackson_core_2_13_2.xml 725B
Maven__org_mockito_mockito_junit_jupiter_4_0_0.xml 721B
Maven__org_junit_jupiter_junit_jupiter_api_5_8_2.xml 717B
Maven__org_glassfish_jersey_core_jersey_server_2_35.xml 714B
Maven__org_glassfish_jersey_core_jersey_client_2_35.xml 714B
Maven__org_glassfish_jersey_core_jersey_common_2_35.xml 714B
Maven__org_springframework_spring_context_5_3_18.xml 711B
Maven__com_google_j2objc_j2objc_annotations_1_3.xml 710B
Maven__net_bytebuddy_byte_buddy_agent_1_11_22.xml 708B
Maven__org_apache_httpcomponents_httpclient_4_5_13.xml 707B
Maven__org_springframework_spring_webmvc_5_3_18.xml 704B
Maven__org_springframework_boot_spring_boot_2_6_6.xml 703B
Maven__org_glassfish_jersey_inject_jersey_hk2_2_35.xml 701B
Maven__jakarta_ws_rs_jakarta_ws_rs_api_2_1_6.xml 701B
Maven__org_glassfish_grizzly_grizzly_http_2_4_4.xml 698B
Maven__ch_qos_logback_logback_classic_1_2_11.xml 698B
Maven__org_springframework_spring_beans_5_3_18.xml 697B
Maven__org_telegram_telegrambots_meta_5_7_1.xml 697B
Maven__org_apache_logging_log4j_log4j_api_2_17_2.xml 696B
Maven__org_apiguardian_apiguardian_api_1_1_2.xml 695B
Maven__org_checkerframework_checker_qual_3_5_0.xml 694B
Maven__org_apache_httpcomponents_httpmime_4_5_13.xml 693B
Maven__org_apache_httpcomponents_httpcore_4_4_15.xml 693B
Maven__org_springframework_spring_test_5_3_18.xml 690B
Maven__org_springframework_spring_core_5_3_18.xml 690B
Maven__org_junit_jupiter_junit_jupiter_5_8_2.xml 689B
Maven__com_google_guava_failureaccess_1_0_1.xml 685B
Maven__org_springframework_spring_jcl_5_3_18.xml 683B
Maven__org_springframework_spring_aop_5_3_18.xml 683B
Maven__org_springframework_spring_web_5_3_18.xml 683B
Maven__net_minidev_accessors_smart_2_4_8.xml 679B
Maven__ch_qos_logback_logback_core_1_2_11.xml 677B
Maven__org_glassfish_hk2_hk2_locator_2_6_1.xml 675B
Maven__org_javassist_javassist_3_25_0_GA.xml 673B
Maven__com_jayway_jsonpath_json_path_2_6_0.xml 669B
Maven__com_google_code_findbugs_jsr305_3_0_2.xml 668B
Maven__commons_codec_commons_codec_1_15.xml 666B
共 124 条
- 1
- 2
HKkkkkSky
- 粉丝: 19
- 资源: 4
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0