Telegram 如何通过Kotlogram添加电话号码以发送直接电报信息?

Telegram 如何通过Kotlogram添加电话号码以发送直接电报信息?,telegram,Telegram,我目前阅读了所有关于Kotlogram的指南,但我不知道如何在联系人中添加一个特定的电话号码,以便用Java语言发送消息 任何帮助都将不胜感激。首先,没有/START,机器人程序无法向用户发送消息 您不能通过Bot通过电话号码添加联系人,但有一种极客方式,您可以使用sendContact获得.result.contact.用户id,然后您可以正常发送 请参见以下示例: 此解决方案是由try error驱动的,并使用原始版本,因此可能会有更好的解决方案 这包括3个步骤 将此电话号码添加到您的联系人

我目前阅读了所有关于Kotlogram的指南,但我不知道如何在联系人中添加一个特定的电话号码,以便用Java语言发送消息


任何帮助都将不胜感激。

首先,没有
/START
,机器人程序无法向用户发送消息

您不能通过Bot通过电话号码添加联系人,但有一种极客方式,您可以使用
sendContact
获得.result.contact.用户id,然后您可以正常发送

请参见以下示例:


此解决方案是由try error驱动的,并使用原始版本,因此可能会有更好的解决方案

这包括3个步骤

  • 将此电话号码添加到您的联系人中:使用
    用户id返回
  • 使用上一步中的
    user id
    创建
    TLInputPeerUser
    实例
  • 使用先前创建的
    TLInputPeerUser
    实例发送消息
  • 当然您可以使用此id反复向此联系人发送消息

    这里有一个简单的方法

        private static void sendMessage(TelegramClient client) {
    
        try {
            Random random = new Random();
    
            TLVector<TLInputPhoneContact> vector = new TLVector<>();
            TLInputPhoneContact contact = new TLInputPhoneContact(Math.abs(random.nextLong()), "international phone number",
                    "firs-name", "last-name");
            vector.add(contact);
            TLImportedContacts importContacts = client.contactsImportContacts(vector, true);
    
            TLImportedContact importedContact = importContacts.getImported().stream().findFirst().orElse(null);
    
            TLInputPeerUser inputPeerUser = new TLInputPeerUser();
            inputPeerUser.setUserId(importedContact.getUserId());
            
            //you can save importedContact.getUserId() into db and use it as many as you want
    
            client.messagesSendMessage(inputPeerUser, "message", Math.abs(new Random().nextLong()));
    
        } catch (RpcErrorException | IOException e) {
            e.printStackTrace();
        }
    }
    
    专用静态无效发送消息(电报客户端){
    试一试{
    随机=新随机();
    TLVector=新的TLVector();
    TLInputPhoneContact=新的TLInputPhoneContact(Math.abs(random.nextLong()),“国际电话号码”,
    “名字”、“姓氏”);
    矢量。添加(联系人);
    TLImportedContacts importContacts=client.contactsImportContacts(向量,true);
    TLImportedContact importedContact=importContacts.getImported().stream().findFirst().orElse(null);
    TLInputPeerUser-inputPeerUser=新的TLInputPeerUser();
    inputPeerUser.setUserId(importedContact.getUserId());
    //您可以将importedContact.getUserId()保存到db中,并根据需要使用它
    client.messagesSendMessage(inputPeerUser,“message”,Math.abs(new Random().nextLong());
    }捕获(RpcErrorException | IOException e){
    e、 printStackTrace();
    }
    }
    

    如果您还有更多的澄清,请留下评论(:

    谢谢您的帮助。但正如我前面提到的,我使用的是Kotlogram Api,所以这不是我所说的。