Java 创建TG 机器人

简介

TG 机器人指的是 Telegram 机器人,它是由 Telegram 提供的一种自动化程序,可以在 Telegram 平台上与用户进行交互。用户可以通过发送消息给机器人来触发特定的操作或获取特定的信息。机器人可以执行各种任务,包括但不限于自动回复消息、提供实时信息、管理群组、执行命令等。

Telegram 机器人使用 Bot API 进行通信和交互。开发者可以使用各种编程语言(如Python、Java、Node.js 等)来创建和部署自己的 Telegram 机器人,并通过 Bot API 提供的接口来处理用户的消息、发送消息、管理群组、订阅事件等。

Telegram 机器人在各种场景下都有广泛的应用,比如:

  • 自动客服和回复:企业可以利用机器人来处理常见问题,自动回复用户的咨询。

  • 新闻和信息推送:新闻机构可以利用机器人向用户推送最新的新闻和资讯。

  • 游戏和娱乐:开发者可以创建各种类型的游戏和娱乐应用,让用户在 Telegram 平台上进行互动。

总之,Telegram 机器人为开发者提供了一个强大的工具,可以为用户提供各种自动化的服务和功能。

使用Java创建TG机器人

打开TG  

电报搜索 BotFather

Telegram Web

输入命令创建机器人

 #创建机器人,在输入名称,名称以bot结尾
/newbot #记住机器人名称是唯一的,这样一个机器人就创建成功了

在Java程序中导入TG Bot Maven包

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

创建类,继承TelegramLongPollingBot


public class TextTGBot extends TelegramLongPollingBot {

    private static String BOT_NAME = "x"; //TG Bot 机器人名称
    private static String BOT_TOKEN = "x";//TG Bot 密钥

    //DefaultBotOptions

    /** 需要魔法
     * DefaultBotOptions 类提供了许多可用的配置选项,可以影响机器人的行为和性能。一些常见的选项包括:
     *     setProxyHost 和 setProxyPort:用于指定机器人的代理服务器地址和端口号。
     *     setConnectTimeout 和 setReadTimeout:用于指定机器人连接和读取数据的超时时间。
     *     setMaxThreads:用于指定机器人处理消息的最大线程数。
     * @param options
     */
    public TextTGBot(DefaultBotOptions options) {
        super(options);

    }

        @Override
    public void onUpdateReceived(Update update) {   //todo 回调方法 操作在此
        //消息是否有文本
        if (update.hasMessage() && update.getMessage().hasText()) {
            // 设置变量
            String message_text = update.getMessage().getText();
            long chat_id = update.getMessage().getChatId();

            SendMessage message = new SendMessage(); // 创建消息对象

            message.setChatId(chat_id);
            message.setText(message_text);
            try {
                execute(message); // 发送我们的消息对象给用户
            } catch (TelegramApiException e) {
                e.printStackTrace();
            }
        }
    }

    @Override
    public String getBotUsername() { //todo 机器人名称
        return BOT_NAME;
    }

    @Override
    public String getBotToken() {   //todo 机器人密钥
        return BOT_TOKEN;
    }

}

启动项目

public class Main {

    private static String PROXY_HOST = "127.0.0.1";
    private static Integer PROXY_PORT = 7890 ; //代理接口

    public static void main(String[] args){
        try {
            //创建TelegramBotsApi对象来注册机器人
            TelegramBotsApi botsApi = new TelegramBotsApi(DefaultBotSession.class);

            //设置Http代理
            DefaultBotOptions botOptions = new DefaultBotOptions();
            botOptions.setProxyHost(PROXY_HOST);
            botOptions.setProxyPort(PROXY_PORT);

            //选择代理类型:[HTTP|SOCKS4|SOCKS5](默认:NO_PROXY)
            botOptions.setProxyType(DefaultBotOptions.ProxyType.SOCKS5);

            TextTGBot myBot = new TextTGBot(botOptions);

            botsApi.registerBot(myBot);
        } catch (TelegramApiException e) {
            e.printStackTrace();
        }
    }
}

这样一个简单的TG机器人就创建好了

版权声明:本文为博主作者:不秃不少年原创文章,版权归属原作者,如果侵权,请联系我们删除!

原文链接:https://blog.csdn.net/m0_56853686/article/details/134731064

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
心中带点小风骚的头像心中带点小风骚普通用户
上一篇 2024年5月6日
下一篇 2024年5月6日

相关推荐

此站出售,如需请站内私信或者邮箱!