Работа с Sametime

Тема в разделе "Lotus + Java + LS2J", создана пользователем azat20, 18 мар 2011.

  1. azat20

    azat20 Well-Known Member

    Регистрация:
    22 июл 2008
    Сообщения:
    244
    Симпатии:
    0
    Добрый день!
    Возможно ли создание сообщений Sametime программно, чтобы сообщение создавалось и отправлялось? Какие методы и возможности есть для этого?
     
  2. rinsk

    rinsk Lotus team
    Lotus team

    Регистрация:
    12 ноя 2009
    Сообщения:
    795
    Симпатии:
    78
    поиск в гугле Sametime bot
    http://www.ibm.com/developerworks/lotus/library/ls-ST_Bots1/
     
  3. susinmn

    susinmn Well-Known Member

    Регистрация:
    16 окт 2007
    Сообщения:
    530
    Симпатии:
    8
    скачал пробную версию бд с http://www.botstation.com/products/stagent/about.php - не работает, старые jar-ники

    "Error 2********************************************License for Botstation STAgent has expired on: 2010-11-20Contact Botstation if you want to register or update the license:support@botstation.com"

    Можете поделиться рабочим кодом?

    Спасибо.
     
  4. susinmn

    susinmn Well-Known Member

    Регистрация:
    16 окт 2007
    Сообщения:
    530
    Симпатии:
    8
    Вот нашел в Sandbox
    <div class="sp-wrap"><div class="sp-head-wrap"><div class="sp-head folded clickable">код</div></div><div class="sp-body"><div class="sp-content"><!--shcode--><pre><code class='java'>/* Sametime Bot Sample
    This is a simple sample to demonstrate how
    to use the Sametime APIs to automatically
    respond to user requests.

    The bot randomizes responses from an
    array. No parsing of the user message
    is shown get, but certainly can be added.

    In the main, you need to set,

    <servername>, the name of the Sametime server you are connecting to
    <user ID>, the user ID you will be using for the bot
    <password>, the password for the user ID.

    See the Lotus Sametime developer guides for a detailed
    description of the Sametime listeners and events used
    in this sample.
    */

    import com.lotus.sametime.awareness.*;
    import com.lotus.sametime.community.*;
    import com.lotus.sametime.conf.*;
    import com.lotus.sametime.core.comparch.*;
    import com.lotus.sametime.core.constants.*;
    import com.lotus.sametime.core.types.*;
    import com.lotus.sametime.im.*;
    import java.util.*;

    public class EightBallBot implements Runnable, LoginListener, ImServiceListener, ImListener {

    CommunityService commService;
    Thread engine;
    InstantMessagingService imService;
    STSession stsession;
    ConfService confService;

    String [] responses = { "Yes",
    "No",
    "Maybe",
    "Doesn't look good",
    "Try again",
    "Answer hazy"};

    public EightBallBot(String serverName, String userId, String password) {
    try {
    stsession = new STSession("EightBallSession");
    } catch (DuplicateObjectException e) {
    e.printStackTrace();
    return;
    }

    stsession.loadSemanticComponents();
    stsession.start();

    commService = (CommunityService)stsession.getCompApi(CommunityService.COMP_NAME);
    commService.addLoginListener(this);
    commService.loginByPassword(serverName, userId, password);


    }

    public void loggedIn(LoginEvent e) {
    System.err.println("Logged In");

    imService = (InstantMessagingService)stsession.getCompApi(InstantMessagingService.COMP_NAME);
    imService.registerImType(ImTypes.IM_TYPE_CHAT);
    imService.addImServiceListener(this);
    confService = (ConfService)stsession.getCompApi(ConfService.COMP_NAME);

    }

    public void loggedOut(LoginEvent e) {
    System.err.println("Logged Out");
    }


    public void imReceived(ImEvent e) {
    e.getIm().addImListener(this);
    System.err.println("IM Received");
    }

    public void dataReceived(ImEvent e) {}

    public void imClosed(ImEvent e) {}

    public void imOpened(ImEvent e) {}

    public void openImFailed(ImEvent e) {}

    public void textReceived(ImEvent e) {

    Random rnums = new Random();
    int item = rnums.nextInt(responses.length);

    e.getIm().sendText(true, responses[item]);
    String q = e.getText();

    System.err.println("Message received from " + e.getIm().getPartner().getName());
    System.err.println("Random number is " + item);

    }

    public void serviceAvailable(AwarenessServiceEvent e) {}

    public void serviceUnavailable(AwarenessServiceEvent e) {}


    public void start() {
    if (engine == null) {
    engine = new Thread(this, "EightBallThread");
    engine.start();
    }
    }

    public void run() {
    Thread myThread = Thread.currentThread();
    while (engine == myThread) {
    try {
    Thread.sleep(1000);
    } catch (InterruptedException e) {}
    }
    }

    public static void main(String[] args) {
    EightBallBot ebb = new EightBallBot("<server name>", "<user ID>", "<password>");
    ebb.start();
    }

    }[/CODE]Вопрос: где взять пакеты, которые в import'ах?

    Или для клиента 8.5.x нужно по другому делать?
     
  5. hosm

    hosm * so what *

    Регистрация:
    18 май 2009
    Сообщения:
    2.450
    Симпатии:
    7
    susinmn для 6.5 был какой-то Java Sametime Toolkit, возможно, то, что надо, там и есть (один точно оттуда файл подключали, мб, и больше). К сожалению, дело было очень давно и именно на 6.5, в 8ке не подскажу...
     
  6. susinmn

    susinmn Well-Known Member

    Регистрация:
    16 окт 2007
    Сообщения:
    530
    Симпатии:
    8
    Скачали Java Sametime Toolkit. Двигаемся дальше..

    Пишем агент, подключаем STComm.jar:
    <div class="sp-wrap"><div class="sp-head-wrap"><div class="sp-head folded clickable">агент</div></div><div class="sp-body"><div class="sp-content"><!--shcode--><pre><code class='java'>import lotus.domino.*;
    //import lotus.domino.Session;

    //import com.lotus.sametime.awareness.*;
    import com.lotus.sametime.community.*;
    //import com.lotus.sametime.conf.*;
    import com.lotus.sametime.core.comparch.*;
    //import com.lotus.sametime.core.constants.*;
    //import com.lotus.sametime.core.types.*;
    import com.lotus.sametime.im.*;

    //import java.util.*;

    public class JavaAgent extends AgentBase implements Runnable, LoginListener, ImServiceListener, ImListener{

    public void NotesMain() {
    CommunityService commService=null;
    STSession stsession=null;
    try {
    stsession = new STSession("Maxim N Susin");
    stsession.loadSemanticComponents();
    stsession.start();

    commService = (CommunityService)stsession.getCompApi(CommunityService.COMP_NAME);
    commService.addLoginListener((LoginListener) this);
    String serverName = "**ip_sametime_сервера**";
    String userId = "**логин**";
    String password = "**пароль**";
    commService.loginByPassword(serverName, userId, password);

    commService.logout();
    stsession.stop();
    stsession.unloadSession();

    } catch(Exception e) {

    e.printStackTrace();

    stsession.stop();
    stsession.unloadSession();
    commService.logout();

    }
    }

    public void loggedIn(LoginEvent e) {}

    public void loggedOut(LoginEvent e) {}

    public void imReceived(ImEvent e) {}

    public void dataReceived(ImEvent e) {}

    public void imClosed(ImEvent e) {}

    public void imOpened(ImEvent e) {}

    public void openImFailed(ImEvent e) {}

    public void textReceived(ImEvent e) {}
    }[/CODE]Вопрос: как узнать статус пользователя, и как ему отправить сообщение?)
     
  7. susinmn

    susinmn Well-Known Member

    Регистрация:
    16 окт 2007
    Сообщения:
    530
    Симпатии:
    8
    Смущает вот это

    <!--shcode--><pre><code class='avto'>commService.loginByPassword(serverName, userId, password);
    System.out.println(commService.isLoggedIn());[/CODE]

    в консоль принтует false, т.е. нет подключения)
     
  8. hosm

    hosm * so what *

    Регистрация:
    18 май 2009
    Сообщения:
    2.450
    Симпатии:
    7
    у нас было зациклено (в течении какого-то времени и кол-ва попыток повторялся опрос статуса). Ну, опять же проверить правильность логина-пароля. примеры и еще доку киданула в почту.

    Добавлено: я не помню поведение, если человек под этой учеткой уже был подключен к ст-серверу - вроде выкидывало его из ст и подключалось
     
  9. azzza

    azzza Well-Known Member

    Регистрация:
    26 апр 2011
    Сообщения:
    54
    Симпатии:
    0
    >>Добрый день!
    Возможно ли создание сообщений Sametime программно, чтобы сообщение создавалось и отправлялось? Какие методы и возможности есть для этого? <<

    Есть потребность создавать Sametime Instant Message для отправки другим пользователям. Прошу помощи.
    Вот кое-что нарыл, может уважаемые гуру поможете разобраться (Java)

    http://www-10.lotus.com/ldd/ddwiki.nsf/dx/...ncement+Service

    Интересен пункт 7.3 Создание так называемых оповещений.
    Можно ли как -то реализовать в виде библиотеки или может кто-то знает другие способы создание сообщений Sametime программно.
    Очень прошу поделиться советами и идеями, не проходите мимо. Инфы оч. мало. Да и в Лотусе я новичек.
     
Загрузка...
Похожие Темы - Работа Sametime
  1. Andrey Kha
    Ответов:
    0
    Просмотров:
    16
  2. Hoasker
    Ответов:
    0
    Просмотров:
    63
  3. garri671
    Ответов:
    0
    Просмотров:
    48
  4. lelik200969
    Ответов:
    0
    Просмотров:
    49
  5. Kozolick
    Ответов:
    0
    Просмотров:
    134

Поделиться этой страницей