Benutzerstatus/Aktionen von außen setzen

  • Hallo!


    Folgender Sachverhalt:
    Ich möchte ermöglichen, dass verschiedene Stati (DND, Chat nicht verfügbar etc.) gesetzt werden, wenn der Screen vom Benutzer gesperrt oder entsperrt (PC heruntergefahren, gestartet etc.) wird. (Später könnten auch andere Aktionen und Events interessant sein.)


    Nun habe ich mir die Frage gestellt, wie ich am Besten dieses Vorhaben umsetze, also die Kommunikation von außen mit dem Starface Client herstelle.


    Ich bedanke mich schon mal im Voraus für jeden Tipp und falls das schon mal irgendwo im Forum beantwortet wurde, entschuldige ich mich schon mal dafür, den Post nicht gefunden zu haben.


    Grüße


    Phat :)

  • Hey Phat,
    auf F
    für den Chat nicht verfügbar kannst du einfach im Experten Modus in der Kategorie Chat die Keys Autopresence... auf false setzten.
    Diese kannst du natürlich auch über eine forced Config verteilen.


    Für DND und anderes wüsste ich jetzt nicht direkt wann das überhaubt automatisch gesetzt wird.

    MfG


    Schulz

  • Erstmal vielen Dank für die Rückmeldung.


    Leider muss ich den Status DND bei Screenlock/-unlock und Systemstart/Herunterfahren setzen können. Das automatische Umschalten des Chat-Status habe ich bereits in den Chat-Einstellungen von StarFace gefunden. Nun arbeite ich an einer Lösung, um von einem selbstgeschrieben Tool, beziehungsweise von außerhalb von StarFace auf genannte Events zu reagieren, um ebenfalls genannte Stati zu ändern.


    Dafür wäre ich für jede Hilfe dankbar.


    Beste Grüße


    Phat


    PS: Später ist das Ändern von anderen Stati/Einstellungen bestimmt auch interessant, aber nicht primär.

  • Ich würde da mit einem Modul auf der Anlage arbeiten, dass z.b. einmal in der Minute einen Codebock ausführt:


    Code
    STARFACE_GROUP GUI_STARFACE_GRUPPE //GUI Element, welches eine Gruppe enthält, dessen User überwacht werden sollen
          	GetUsersOfGroup(GUI_STARFACE_GRUPPE,'false','false') --> _usersOfGroup //Alle User aus Gruppe holen 
          	  	foreach(List _usersOfGroup) //Für jedes Mitglied der Gruppe	 
              	UserState.GetChatPresence(foreach_entry) --> _chatPresence //Chatpräsenz abholen  	 
              	  	if((_chatPresence == 'AVAILABLE')) //Wenn User online ist  	 
                  	UserState.SetDND(foreach_entry,'true') //DND Deaktiveren
              	  	if((_chatPresence == 'UNAVAILABLE')) //Wenn user Offline ist
                  	UserState.SetDND(foreach_entry,'true') DND aktivieren


    MfG


    Fabian

  • Hallo Fabian,


    das bringt mich schon mal etwas näher zu meinem Vorhaben. Danke dafür.


    Leider reicht mir dieses Modul nicht aus folgenden Gründen:


    1. Ich sehe noch nicht so Recht, wie dieses Modul mit auf Screenlock und Herunterfahren, also Events von Windows, reagieren soll, außer indirekt über die Chat-Presence an sich. Dadurch hätte ich eine ungewollte Abhängigkeit zwischen den zwei Stati.


    2. Da ich ein Tool für über 100 Mitarbeiter konfigurieren möchte, soll für jeden Mitarbeiter es freistehen, welche Stati bei welchem Event gesetzt werden. (Der eine möchte DND bei Screenlock, aber Chat-Presence an haben. Der nächste möchte es genau umgekehrt haben.)


    Dafür müsste ich alles etwas flexibler gestalten können.


    Beste Grüße


    Phat

  • Hallo Phat


    Dann würde ich dir Empfehlen das ganze wie der UCI API zu lösen:
    Damit kannst du deine eigene Anbindung an die UCI Schnittstelle programmieren.


    https://knowledge.starface.de/…age.action?pageId=5442344


    https://support.starface.de/forum/showthread.php?5780-XMPP-Klasse-für-C-in-Verbindung-mit-C&highlight=wrapper


    https://support.starface.de/fo…g-c-net&highlight=wrapper


    MfG


    Fabian

  • Nach viel Einlesen und Arbeit melde ich mich wieder.


    Nun bin ich schon sehr weit gekommen! Vielen Dank dafür!


    Aktueller Stand:
    - Ich kann eine Verbindung mit meinen persönlichen Benutzer-Login-Daten herstellen.
    - Das Setzten des "Bitte nicht stören"-Status ist programmatisch möglich, wobei der Status sowohl in der Smartphone-App als auch auf dem UCC-Client den gleichen Status bekommt.


    Nun habe ich mehrere Fragen:
    1. Kann ich den DND-Status getrennt voneinander setzen?
    2. Wie ändere ich den Status "Telefonie aktivieren" sowie "Chat aktivieren" auf der Smartphone-App?
    3. Kann ich den Chat-Status im Client auch programmatisch setzen? (NICHT über Einstellungen > Chat & Status > Status. Aber ähnlicher bis gleicher Funktionsumfang.)


    Danke im Vorraus!


    Phat


    PS: @nucom Du bist echt überall im Forum unterwegs xD

  • Hallo Phat


    Zitat

    1. Kann ich den DND-Status getrennt voneinander setzen?


    Nein der DND Status ist global, und nicht pro Gerät einstellbar.


    Zitat

    2. Wie ändere ich den Status "Telefonie aktivieren" sowie "Chat aktivieren" auf der Smartphone-App?


    Diese lassen sich meines Wissens von aussen nicht beeinflussen. Diese können nur in der STARFACE-App selbst gesetzt werden.


    Zitat

    3. Kann ich den Chat-Status im Client auch programmatisch setzen? (NICHT über Einstellungen > Chat & Status > Status. Aber ähnlicher bis gleicher Funktionsumfang.)


    Es sollte dir möglich sein, die Chatpräsenz in der UCI API zu manipulieren, indem du ein userStateChanged Event auslöst.


    MfG


    Fabian

  • Es sollte dir möglich sein, die Chatpräsenz in der UCI API zu manipulieren, indem du ein userStateChanged Event auslöst.


    Leider stehe ich da bisschen auf dem Schauch. Folgendes habe ich versucht:


    //Der Proxy dient zum Verbindungsaufbau mit dem XMPP-Server


    // 1. aktuellen UserState holen
    UserState userState = Proxy.UserStateRequests.getUserState();


    // 2. Ändern der Chat-Presence des Status
    userState.setChatPresence(GetChatPresence(ChatPresence.UNAVAILABLE));


    // 3. Übergeben des geänderten Status an den Server
    Proxy.UserStateEvents.userStateChanged(userState);


    Wie ermögliche ich meinem Programm, dass er den geänderten Status an Starface übergibt?
    Dieses Programm ist anscheinend fehlerhaft.


    Beste Grüße

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!