| Home | Trees | Indices | Help |
|
|---|
|
|
object --+
|
skypekit.Cached --+
|
skypekit.Object --+
|
Conversation
The Conversation class encapsulates all types of communication possible with Skype client. Instant messaging, calls, video calls, file transfers, SMS, screen sharing - all take place within the context of a Conversation. Contacts are represented in Conversation as Participant objects. This also applies to contacts of PSTN type. All events in a conversation are represented as Message objects.
| Instance Methods | |||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
Inherited from Inherited from Inherited from |
|||
| Static Methods | |||
|
|||
|
Inherited from |
|||
| Class Variables | |
event_handlers =
|
|
propid2label =
|
|
module_id = 18
|
|
TYPE = DIALOG - 1:1 conversations, there is a one dialog per identity |
|
MY_STATUS = CONNECTING - connecting to conference |
|
LOCAL_LIVESTATUS = NONE - there isn't a live session |
|
ALLOWED_ACTIVITY = values for opt_admin_only_activities property |
|
PARTICIPANTFILTER = ALL - All participants (may included some that are RETIRED or OUTLAW, but not all of them) |
|
LIST_TYPE = ALL_CONVERSATIONS - bookmarked or in_inbox or live or with_meta_info or activity in last 30 days |
|
P_IDENTITY = 972
|
|
P_TYPE = 902
|
|
P_LIVE_HOST = 918
|
|
P_LIVE_START_TIMESTAMP = 974
|
|
P_LIVE_IS_MUTED = 996
|
|
P_ALERT_STRING = 920
|
|
P_IS_BOOKMARKED = 921
|
|
P_GIVEN_DISPLAYNAME = 925
|
|
P_DISPLAYNAME = 924
|
|
P_LOCAL_LIVESTATUS = 927
|
|
P_INBOX_TIMESTAMP = 928
|
|
P_INBOX_MESSAGE_ID = 973
|
|
P_UNCONSUMED_SUPPRESSED_MESSAGES = 975
|
|
P_UNCONSUMED_NORMAL_MESSAGES = 976
|
|
P_UNCONSUMED_ELEVATED_MESSAGES = 977
|
|
P_UNCONSUMED_MESSAGES_VOICE = 970
|
|
P_ACTIVE_VM_ID = 971
|
|
P_CONSUMPTION_HORIZON = 979
|
|
P_LAST_ACTIVITY_TIMESTAMP = 981
|
|
P_SPAWNED_FROM_CONVO_ID = 915
|
|
P_CREATOR = 903
|
|
P_CREATION_TIMESTAMP = 904
|
|
P_MY_STATUS = 919
|
|
P_OPT_JOINING_ENABLED = 922
|
|
P_OPT_ENTRY_LEVEL_RANK = 906
|
|
P_OPT_DISCLOSE_HISTORY = 907
|
|
P_OPT_ADMIN_ONLY_ACTIVITIES = 909
|
|
P_PASSWORDHINT = 980
|
|
P_META_NAME = 910
|
|
P_META_TOPIC = 911
|
|
P_META_GUIDELINES = 913
|
|
P_META_PICTURE = 914
|
|
SETUPKEY_ENABLE_BIRTHDAY_NOTIFICATION =
|
|
SETUPKEY_INBOX_UPDATE_TIMEOUT =
|
|
SETUPKEY_RECENTLY_LIVE_TIMEOUT =
|
|
SETUPKEY_DISABLE_CHAT =
|
|
SETUPKEY_DISABLE_CHAT_HISTORY =
|
|
SETUPKEY_CHAT_HISTORY_DAYS =
|
|
SETUPKEY_CHATDB_LIMIT_KB =
|
|
SETUPKEY_DISABLE_CHAT_ACTIVITY_INDICATION =
|
|
SETUPKEY_CALL_NOANSWER_TIMEOUT =
|
|
SETUPKEY_CALL_SEND_TO_VM =
|
|
SETUPKEY_CALL_APPLY_CF =
|
|
SETUPKEY_CALL_EMERGENCY_COUNTRY =
|
|
|
Inherited from |
|
| Instance Variables | |
|
Inherited from |
| Properties | |
|
identity contact identity in case of dialogs, chat name in case of conferences |
|
|
type type of the conversation |
|
|
live_host host of current live session. |
|
|
live_start_timestamp moment when first participant other than host joined the current or last live session |
|
|
live_is_muted if live session is muted |
|
|
alert_string '' everything matches, '=' nothing matches, '=string' string matches |
|
|
is_bookmarked if conversation is bookmarked/flagged |
|
|
given_displayname name assigned via GiveDisplayname |
|
|
displayname resulting display name of the conversation (based on given name, topic, participant list, etc) |
|
|
local_livestatus if the conversation is live and in which status it is then |
|
|
inbox_timestamp timestamp to sort the conversations in inbox by. |
|
|
inbox_message_id ID of the message that caused INBOX_TIMESTAMP to be set |
|
|
unconsumed_suppressed_messages number of messages in UNCONSUMED_SUPPRESSED consumption status |
|
|
unconsumed_normal_messages number of messages in UNCONSUMED_NORMAL consumption status |
|
|
unconsumed_elevated_messages DEPRECATED, not set anymore |
|
|
unconsumed_messages_voice if there are unconsumed voice or call messages in the conversation |
|
|
active_vm_id ID of voice message that is being played or recorded in this conversation |
|
|
consumption_horizon consumption cutoff timestamp: messages after (but not including) this are considered unconsumed |
|
|
last_activity_timestamp timestamp of last activity in conversation |
|
|
spawned_from_convo_id dialog this conference was spawned from |
|
|
creator identity of conversation creator (doesn't apply to dialogs) |
|
|
creation_timestamp timestamp of creation (doesn't apply to dialogs) |
|
|
my_status my status in this conversation (connecting, participating, retired, etc) (doesn't apply to dialogs) |
|
|
opt_joining_enabled if it's a public conversation (doesn't apply to dialogs) |
|
|
opt_entry_level_rank rank that is auto-assigned at join (doesn't apply to dialogs) |
|
|
opt_disclose_history if history visible to new consumers (doesn't apply to dialogs) |
|
|
opt_admin_only_activities activities that only ADMIN can do. |
|
|
passwordhint public conversation password hint, use SetPassword to set (doesn't apply to dialogs) |
|
|
meta_name user-set name, separate from topic (doesn't apply to dialogs) |
|
|
meta_topic conversation topic (doesn't apply to dialogs) |
|
|
meta_guidelines guidelines (doesn't apply to dialogs) |
|
|
meta_picture conversation picture, in jpeg format (doesn't apply to dialogs) |
|
|
Inherited from |
|
| Method Details |
actual constructor
|
str(x)
|
Setter method for Conversation option properties. Option properties are all Conversation properties starting with OPT_ prefix. Arguments:
|
Setter for Conversation class META_TOPIC. This topic will be set for remote participants as well. Arguments:
|
Setter for Conversation META_GUIDELINES. This property will be visible to remote participants of the conversation. Arguments:
|
Sets the conversation's avatar to the specified JPEG image, which is propagated to both local and remote participants. Before calling this method, you should use Skype::ValidateAvatar to verify that jpeg references a valid JPEG image. Arguments:
|
When called from dialog conversation, this spawns a new conversation, with existing two dialog participants plus new contact identities given in the identitiesToAdd list. You do not need to add existing dialog participants to the string list. In fact, passing only the existing participants in the identities list will cause the method call to fail (return false), the same as if the list was empty. This method will also return false if the original conversation was not a dialog (contained more than two participants). Also note that this method always creates a new Conversation - even if a conversation with exactly the same participant list existed before. Arguments:
Return values:
|
Takes one or more Contact identities and creates corresponding Participant objects within the context of this Conversation, which must be of type CONFERENCE. If you have an existing dialog conversation, use SpawnConference instead. Arguments:
|
Merges two live conversations. For example, if the user already has a live conversation up - let's call it conversation A. Then a new incoming call occurs - another conversation obtains LOCAL_LIVESTATUS == Conversation::RINGING_FOR_ME, let's call it conversation B. The user wishes to pick up the new incoming call and add it to the existing one. For this you can first call B->JoinLiveSession and then merge two calls with A->Assimilate(B, A). The second argument will return the merged conversation. Note that there are actually three conversation objects involved: A (before merge), B and C (after the merge). Normally it would make sense to have the first conversation (A) as the second argument, so that it gets overwritten with the assimilation result. Arguments:
Return values:
|
starts, answers or joins a live session (first one to join becomes LIVE_HOST) Arguments:
|
This is an alternative to calling Ring method for each Participant individually. This also works with dialogs (with identities containing only one item). Arguments:
|
Sets VOICE_STATUS to LISTENING in the Participant instance associated with us, causing any input from our microphone to be ignored. This is a Conversation class method, rather than Participant class, because this only applies to local participant. |
Sets VOICE_STATUS to SPEAKING in the Participant instance associated with us, causing any input from our microphone to be sent to the call host. This is a Conversation class method, rather than Participant class, because this only applies to local participant. |
Hang up or refuse to answer an incoming call. Set postVoiceAutoresponse to true to enable a caller to leave a voicemail message. Arguments:
|
Begin recording a voice mail for this conversation's remote participant. Applies to conversations of type DIALOG only. |
This method is for doing call transfers. NB! Call transfers only work in one-on-one conversations (dialogs). Before attempting call transfer, you should check availability of transfer recipients with Conversation class CanTransferLiveSession method. If the current conversation has a live session up, that session (call) will be transferred to targets specified in the identities list. Note that identities is a string list - all identities in that list will get incoming calls. The first one of them to pick up the call - wins, and rest of the transfer targets will stop ringing. Let's take a closer look how this works in practice. We have three call participants involved in the process, and two separate conversations. Let there be three callers: Caller A (call originator), Caller B (transferor) and Caller C (recipient of transfer).
|
Checks if the identity is available for receiving a transferred live session. If you are going to attempt to go for multiple transfer targets, you should use this check for all the target identities. Arguments:
Return values:
|
Sends DTMF tone to a live conversation. Arguments:
|
Stops the current DTMF tone being played into conversation. For example, use this method to cancel DTMF signals started with Conversation::SendDTMF before the duration given in lengthInMS runs out. |
Sets local user typing indicator in the Conversation. Remote Participants can display these in their UI. Arguments:
|
Posts the specified text the conversation, and populates message with a reference to the corresponding Message object (if no error occurred during execution). The isXML argument can be used if the client UI has already taken care of converting message text to xml (for example, your UI might enable users to use bold tags in text messages.) Arguments:
Return values:
|
Takes a list of Contacts as an argument and posts the list into the Conversation. The purpose of this feature is to enable sharing contacts between users, without resorting to contact search. Instead, if user A has contacts B and C, he can post contact C into chat with contact B. At this point, Contact B can add contact C to his contact list. From remote side, the posted contacts will appear as messages with type Message::POSTED_CONTACTS appearing in the conversation. The UI should allow adding these contacts from messages with this type into the contact list.
The list of posted contacts can be retrieved with the Message::GetContacts method.
Additionally, the UI then can parse the posted Contact data out of the Message::P_BODY_XML property. The list of contacts is wrapped between <contacts ..> </contacts> tags. Each contact item in the xml has following format:
- t - contact type. "s" - skype contact; "p" - phone number;
- s - skypename, present only in skypename contacts (t="s")
- p - phone number, present only in phone number contacts (t="p")
- f - contact's full name, if available
- d - contact's display name, if available
Note that only the type (t) field is mandatory. Depending on type, either skypename (s) or phone number (p) fields are always present. Full name and display name fields are optional.
Example BODY_XML with skypname contact:
::
<contacts alt="alt text"><c t="s" s="skypename" f="full name"/></contacts>
Example BODY_XML with PSTN contact:
::
<contacts alt="alt text"><c t="p" p="+37212345678" d="Some PSTN number"/></contacts>
Example BODY_XML with multiple contacts:
::
<contacts alt="alt text"><c t="p" p="+37212345678" d="Some PSTN number"/><c t="s" s="someskypename"/></contacts>
B{Arguments:}
- B{contacts} - List of Contact objects, to be posted in the conversation.
|
Takes a list of fully-qualified filenames and initiates corresponding file transfers in the conversation. From the remote side, incoming file transfers will appear as a conversation message with type POSTED_FILES. Once such a message is detected, the list of file transfer objects can be retrieved with Message::GetTransfers. At that point, remote participants will need to accept or decline those transfers. Arguments:
Return values:
|
Stops the active voicemail recording and sends it (dialog only) Arguments:
|
Takes an SMS instance created by Skype::CreateOutgoingSms and posts it in the conversation. Note that you will need to set both Sms body text (Sms::SetBody) and recipient list (Sms::SetTargets) before you can post the object. Arguments:
|
Retrieves a binary join blob for joining public conversations, which are always of type CONFERENCE. If called for a dialog, the blob argument will contain the empty string. The best way to create a Public Chat is to first create a fresh conversation with Skype class CreateConference, then minimally apply the public chat options OPT_JOINING_ENABLED and OPT_ENTRY_LEVEL_RANK - options, like this (C++):
::
C->SetOption(Conversation::OPT_JOINING_ENABLED, true);
When that is done, you can call GetJoinBlob to retrieve the blob string. Use the blob string to generate and post an HTML link whose href attribute looks like this: href="skype:?chat&blob=_BLOB_GOES_HERE" A person running Skype desktop client can click this link to join the conversation and have that conversation opened in his UI. Note that the conversation host (creator) needs to be online for new joiners-via-link to start participating in the Public Chat.
B{Return values:}
- B{blob} - Returns the public conversation join blob.
|
Tries to join a public conversation (aka public chat). This method is only useful if you have used Skype::GetConversationByBlob method with alsoJoin argument set to false. |
Submits password for joining password-protected conversation. Arguments:
|
Sets password protection/new password for the conversation. Arguments:
|
Leaves the conference. Not applicable to dialogs. |
Deletes this conversation, which must be of type CONFERENCE - dialogs between local user and any of his contacts are always persistant. Note that this also removes corresponding Message and Participant objects. |
Changes the META_NAME property of the conversation. Note that unlike topic and guidelines, this rename is just local - remote participants can have their own private names for conversations. Arguments:
|
Setter for Conversation class IS_BOOKMARKED. Arguments:
|
Setter for Conversation class ALERT_STRING property. The main use of this property is checking bodies of incoming messages in the conversation for the alert string and producing notifications in UI for the user, when appropriate. Arguments:
|
Sets Conversation inbox_timestamp property. If the timestamp argument is left empty or is greater than conversation consumption horizon, then the conversation will be restored to the inbox. Arguments:
|
This method can be used to set the consumption (read) status of messages in the conversation. It sets Message::CONSUMPTION_STATUS to Message::CONSUMED for all messages in the conversation, older than the given timestamp. If the second argument is set to true, it also modifies messages more recent than the timestamp, by marking them as unconsumed. Arguments:
|
Checks if the conversation is a member of the given ContactGroup Arguments:
Return values:
|
Retrieves the list of this conversation's current participants, which you can optionally request to be filtered. If no Participants pass the filter, an empty list will be returned (the method itself still returns true). Arguments:
Return values:
|
Returns recent messages. The messages are returned in two lists - new messages (unconsumed) and recent message history (context messages). The context message list contains messages that are already above the consumption horizon but are fairly recent, making it likely that displaying them in UI would be good default behaviour. Arguments:
Return values:
|
Finds the most recent Message object in the conversation that contains the substring specified by the text argument. If no matching messages are found, this method will return false. The search proceeds backwards in time, starting from the timestamp argument. To continue searching, you can start with timestamp=MAX_UINT, retrieve the TIMESTAMP property of the matching message, decrement it by one, and submit it as timestamp for the next FindMessage call. Arguments:
Return values:
|
Deprecated: Use the other OnMessage Return values:
|
This callback gets fired when a new Conversation is created using SpawnConference. Return values:
|
| Class Variable Details |
event_handlers
|
propid2label
|
TYPE
|
MY_STATUS
|
LOCAL_LIVESTATUS
|
ALLOWED_ACTIVITYvalues for opt_admin_only_activities property
|
PARTICIPANTFILTER
|
LIST_TYPE
|
SETUPKEY_ENABLE_BIRTHDAY_NOTIFICATION
|
SETUPKEY_INBOX_UPDATE_TIMEOUT
|
SETUPKEY_RECENTLY_LIVE_TIMEOUT
|
SETUPKEY_DISABLE_CHAT_ACTIVITY_INDICATION
|
| Property Details |
identitycontact identity in case of dialogs, chat name in case of conferences
|
typetype of the conversation
|
live_hosthost of current live session. none => no session. myself in case of 1:1 calls
|
live_start_timestampmoment when first participant other than host joined the current or last live session
|
live_is_mutedif live session is muted
|
alert_string'' everything matches, '=' nothing matches, '=string' string matches
|
is_bookmarkedif conversation is bookmarked/flagged
|
given_displaynamename assigned via GiveDisplayname
|
displaynameresulting display name of the conversation (based on given name, topic, participant list, etc)
|
local_livestatusif the conversation is live and in which status it is then
|
inbox_timestamptimestamp to sort the conversations in inbox by. 0 means not in inbox
|
inbox_message_idID of the message that caused INBOX_TIMESTAMP to be set
|
unconsumed_suppressed_messagesnumber of messages in UNCONSUMED_SUPPRESSED consumption status
|
unconsumed_normal_messagesnumber of messages in UNCONSUMED_NORMAL consumption status
|
unconsumed_elevated_messagesDEPRECATED, not set anymore
|
unconsumed_messages_voiceif there are unconsumed voice or call messages in the conversation
|
active_vm_idID of voice message that is being played or recorded in this conversation
|
consumption_horizonconsumption cutoff timestamp: messages after (but not including) this are considered unconsumed
|
last_activity_timestamptimestamp of last activity in conversation
|
spawned_from_convo_iddialog this conference was spawned from
|
creatoridentity of conversation creator (doesn't apply to dialogs)
|
creation_timestamptimestamp of creation (doesn't apply to dialogs)
|
my_statusmy status in this conversation (connecting, participating, retired, etc) (doesn't apply to dialogs)
|
opt_joining_enabledif it's a public conversation (doesn't apply to dialogs)
|
opt_entry_level_rankrank that is auto-assigned at join (doesn't apply to dialogs)
|
opt_disclose_historyif history visible to new consumers (doesn't apply to dialogs)
|
opt_admin_only_activitiesactivities that only ADMIN can do. Bitmap of ALLOWED_ACTIVITY values (doesn't apply to dialogs)
|
passwordhintpublic conversation password hint, use SetPassword to set (doesn't apply to dialogs)
|
meta_nameuser-set name, separate from topic (doesn't apply to dialogs)
|
meta_topicconversation topic (doesn't apply to dialogs)
|
meta_guidelinesguidelines (doesn't apply to dialogs)
|
meta_pictureconversation picture, in jpeg format (doesn't apply to dialogs)
|
| Home | Trees | Indices | Help |
|
|---|
| Generated by Epydoc 3.0.1 on Fri Mar 16 16:40:37 2012 | http://epydoc.sourceforge.net |