gpt4 book ai didi

java - Telegram 机器人向特定人员发送私有(private)消息

转载 作者:行者123 更新时间:2023-11-30 06:11:55 30 4
gpt4 key购买 nike

我用java构建的 Telegram Bot 基本上获取用户的名字它可以是 1 或 10 甚至 40(我限制为 50)取决于你想放多少现在这个机器人的目的是稍后当您完成特定用户的操作时您写一条消息发送给他们

现在一切都很完美,ID 名称以及消息都已保存虽然我如何将其发送给我刚刚作为私有(private)消息插入的所有用户如果可能的话...通过命令

我希望我足够容易理解

这是我的代码:

    class Bot extends TelegramLongPollingBot {

public int counter = 0;
public ArrayList names = new ArrayList(50);
public SendMessage mainMessage = new SendMessage();
public String sgMsg = "";
public StringBuilder stringBuilder = new StringBuilder();

public String msg;
public void onUpdateReceived(Update update) {

String command = update.getMessage().getText();
SendMessage sysMsg = new SendMessage();
sysMsg.setChatId(update.getMessage().getChatId());



String firstCdletter;
firstCdletter = Character.toString(command.charAt(0));


if (command.equals("/start")) {
sysMsg.setText("Enter the user's id, to finish send: Ok");
try {
execute(sysMsg);
} catch (TelegramApiException e) {
e.printStackTrace();
}
counter = 0;
names.clear();
sgMsg = "";
}else if (firstCdletter.equals("@")) {

String user = command;
names.add(counter);
counter++;

}else if(command.equals("/ok")){
sysMsg.setText("Good, now write your message you want to deliver");
try {
execute(sysMsg);
} catch (TelegramApiException e) {
e.printStackTrace();
}


}else if(command.equals("/done")){
msg = stringBuilder.toString();
}else{
sgMsg = update.getMessage().getText();
stringBuilder.append(sgMsg + " ");
}

}

感谢大家的宝贵时间和帮助

最佳答案

不幸的是,您无法通过@username发送消息,您可以使用的唯一身份是UID(类似于109780439)。

顺便说一句,机器人必须先与该用户聊天,否则您会得到 400 Error .

关于java - Telegram 机器人向特定人员发送私有(private)消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50052833/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com