当前位置: 首页 > news >正文

springboot 对接Telegram发送消息

官方maven包项目

https://repo.maven.apache.org/maven2/org/telegram/

官方github仓库

https://github.com/rubenlagus

发送消息demo代码

@PostMapping("/test")public void test(@RequestParam("chatId") String chatId,@RequestParam("messageText") String messageText) throws Exception {String botToken = "7808144057:AAEkkjF**********"; // 替换为你的机器人tokenString apiUrl = "https://api.telegram.org/bot" + botToken + "/sendMessage";// 构建请求URLString url = UriComponentsBuilder.fromHttpUrl(apiUrl).build().toUriString();// 设置请求头,确保字符编码为UTF-8HttpHeaders headers = new HttpHeaders();headers.setContentType(MediaType.APPLICATION_JSON);// 构建请求体String requestBody = "{\"chat_id\":\"" + chatId + "\",\"text\":\"" + messageText + "\"}";// 创建HttpEntity对象HttpEntity<String> entity = new HttpEntity<>(requestBody, headers);// 创建RestTemplate对象RestTemplate restTemplate = new RestTemplate();// 发送POST请求String response = restTemplate.postForObject(url, entity, String.class);}

获取chatId

1、引入依赖

        <dependency><groupId>org.telegram</groupId><artifactId>telegrambots</artifactId><version>6.8.0</version></dependency>

2、添加代码

import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
import org.telegram.telegrambots.bots.TelegramLongPollingBot;
import org.telegram.telegrambots.meta.TelegramBotsApi;
import org.telegram.telegrambots.meta.api.objects.Update;
import org.telegram.telegrambots.meta.exceptions.TelegramApiException;
import org.telegram.telegrambots.updatesreceivers.DefaultBotSession;import javax.annotation.PostConstruct;@Slf4j
@Component
public class MyTelegramBot extends TelegramLongPollingBot {private static String BOT_NAME = "PeterWu_bot"; //TG Bot 机器人名称private static String BOT_TOKEN = "7808144057:AAEkkjF**********";//TG Bot 密钥@Overridepublic void onUpdateReceived(Update update) {if (update.hasMessage() && update.getMessage().hasText()) {String chatId = update.getMessage().getChatId().toString();log.info("onUpdateReceived chatId {}",chatId);}}@Overridepublic String getBotUsername() {return BOT_NAME;}@Overridepublic String getBotToken() {return BOT_TOKEN;}@PostConstructpublic void init() {log.info("MyTelegramBot init");try {TelegramBotsApi botsApi = new TelegramBotsApi(DefaultBotSession.class);botsApi.registerBot(this);} catch (TelegramApiException e) {e.printStackTrace();}}
}

3、机器人中随便发送一个消息,查看chat_id


http://www.mrgr.cn/news/52271.html

相关文章:

  • 数据结构--链表
  • web APIs
  • 视频格式转换软件哪个好用?7款可靠的视频转换软件测评
  • HubSpot客户平台那些超好用的工具,你get了吗?
  • c高级day4
  • Python干货:良心整理出来Python15个超级库,学习python的小伙伴千万不要错过
  • element-ui 的el-calendar日历组件样式修改
  • 【升华】人工智能10大常用算法与及代码实现(汇总)
  • QTableView 接口详情
  • C语言小游戏--猜数字
  • 安达发|机械零件APS生产排程系统的多种排序规则
  • 文件IO(Linux文件IO,目录操作函数)
  • centos ping能通但是wget超时-解决
  • 【随时随地学算法】本地部署hello-algo结合内网穿透远程学习新体验
  • 怎么裁剪图片的一部分?这几种裁剪图片的方法很多人在用!
  • [Java基础] 异常处理机制
  • 测试神器~Fiddler的使用方法和操作实例
  • 那些率先在行业中推行IPD的企业命运如何?
  • java8 字符串数组验证包含关系
  • kali——fenjing的使用