added a comment - - edited
try the callback ...
void SelfGroupChatJoined(object sender, GroupChatJoinedEventArgs e)
instead of ...
'OnGroupChatJoin'
also use the ....
Client.Self.GroupChatSessions
dictionary
Client.Self.InstantMessageGroup(uuid ,string);
should work, atleast it does under windows.
as for groupmessage mixed inbetween 'onInstantMessage'.
private Dictionary<UUID, Group> _groupInfo = new Dictionary<UUID, Group>();
void GroupsCurrentGroups(object sender, CurrentGroupsEventArgs e)
{
_groupInfo.Clear();
_groupInfo = e.Groups;
//foreach (var group in _groupInfo)
//{
// MessageBox.Show(group.Key.ToString() + " :: " + group.Value.Name);
//}
}
void SelfIm(object sender, InstantMessageEventArgs e)
{
if (e.IM.Dialog != InstantMessageDialog.MessageFromAgent) return;
lock (_groupInfo)
{
if (_groupInfo.ContainsKey(e.IM.IMSessionID))
{
// it's group IM
var tempgroupname = _groupInfo[e.IM.IMSessionID].Name;
}
else
{
// it's a regular instant message
switch (e.IM.Dialog)
{
case InstantMessageDialog.MessageFromAgent:
//your code here
break;
case InstantMessageDialog.StartTyping:
//your code here, still needs some extra logic here
break;
case InstantMessageDialog.StopTyping:
//your code here, still needs some extra logic here
break;
}
}
}
what doesn't work correct, atleast i for me or i'm doing something wrong.
_Client.Self.RequestLeaveGroupChat(GroupID);
and the callbacks
void SelfGroupChatLeft(object sender, GroupChatLeftEventArgs e)
{
LogText("'SelfGroupChatLeft' Closed: " + e.SessionID, Color.FromKnownColor(KnownColor.ControlText));
}
void SelfChatSessionMemberLeft(object sender, ChatSessionMemberLeftEventArgs e)
{
LogText("'SelfChatSessionMemberLeft' Closed: " + e.SessionID, Color.FromKnownColor(KnownColor.ControlText));
}
none of does trigger, but you can't send groupim anymore, it work, but only partially .... seams.
hope you can figger it out now.
regards,
Natural
try the callback ...
void SelfGroupChatJoined(object sender, GroupChatJoinedEventArgs e)
instead of ...
'OnGroupChatJoin'
also use the ....
Client.Self.GroupChatSessions
dictionary
Client.Self.InstantMessageGroup(uuid ,string);
should work, atleast it does under windows.
as for groupmessage mixed inbetween 'onInstantMessage'.
private Dictionary<UUID, Group> _groupInfo = new Dictionary<UUID, Group>();
void GroupsCurrentGroups(object sender, CurrentGroupsEventArgs e)
{
_groupInfo.Clear();
_groupInfo = e.Groups;
//foreach (var group in _groupInfo)
//{ // MessageBox.Show(group.Key.ToString() + " :: " + group.Value.Name); //}
}
void SelfIm(object sender, InstantMessageEventArgs e)
{ // it's group IM var tempgroupname = _groupInfo[e.IM.IMSessionID].Name; }{
if (e.IM.Dialog != InstantMessageDialog.MessageFromAgent) return;
lock (_groupInfo)
{
if (_groupInfo.ContainsKey(e.IM.IMSessionID))
else
{ case InstantMessageDialog.MessageFromAgent: //your code here break; case InstantMessageDialog.StartTyping: //your code here, still needs some extra logic here break; case InstantMessageDialog.StopTyping: //your code here, still needs some extra logic here break; }{
// it's a regular instant message
switch (e.IM.Dialog)
}
}
what doesn't work correct, atleast i for me or i'm doing something wrong.
_Client.Self.RequestLeaveGroupChat(GroupID);
and the callbacks
void SelfGroupChatLeft(object sender, GroupChatLeftEventArgs e)
{ LogText("'SelfGroupChatLeft' Closed: " + e.SessionID, Color.FromKnownColor(KnownColor.ControlText)); }void SelfChatSessionMemberLeft(object sender, ChatSessionMemberLeftEventArgs e)
{ LogText("'SelfChatSessionMemberLeft' Closed: " + e.SessionID, Color.FromKnownColor(KnownColor.ControlText)); }none of does trigger, but you can't send groupim anymore, it work, but only partially .... seams.
hope you can figger it out now.
regards,
Natural