如何创建一个机器人
略
机器人配置
public class MyBot extends TelegramLongPollingBot {
private String token = "xxxxx";
private String botUsername = "xxxxx";
public MyBot() {
}
public MyBot(DefaultBotOptions botOptions) {
super(botOptions);
}
@Override
public String getBotUsername() {
return this.botUsername;
}
@Override
public String getBotToken() {
return this.token;
}
@Override
public void onUpdateReceived(Update update) {
}
}
开发环境使用代理
在配置类中加入
@Configuration
public class BeanConfig {
@Bean
public MyBot myBot(){
MyBot myBot = null;
try {
TelegramBotsApi telegramBotsApi = new TelegramBotsApi(DefaultBotSession.class);
DefaultBotOptions botOptions = new DefaultBotOptions();
botOptions.setProxyHost("127.0.0.1");
botOptions.setProxyPort(4780);
// Select proxy type: [HTTP|SOCKS4|SOCKS5] (default: NO_PROXY)
botOptions.setProxyType(DefaultBotOptions.ProxyType.HTTP);
myBot = new MyBot(botOptions);
telegramBotsApi.registerBot(myBot);
} catch (TelegramApiException e) {
e.printStackTrace();
}
return myBot;
}
}
接收发消息
public class MyBot extends TelegramLongPollingBot {
private String token = "xxxxx";
private String botUsername = "xxxxx";
public MyBot() {
}
public MyBot(DefaultBotOptions botOptions) {
super(botOptions);
}
@Override
public String getBotUsername() {
return this.botUsername;
}
@Override
public String getBotToken() {
return this.token;
}
@Override
public void onUpdateReceived(Update update) {
String text = update.getMessage().getText();
}
public void sendMsg(String chatId, String msg) {
SendMessage message = SendMessage.builder()
.text(msg)
.chatId(chatId)
.build();
try {
execute(message);
} catch (TelegramApiException e) {
e.printStackTrace();
}
}
}
onupdatereceived方法中update可以拿到消息相关参数 调用sendMSg方法可以发送消息回去