2014-02-09 69 views
9

我想邀请用户发送特定消息,但我无法找到我可以设置邀请消息的位置。Skype邀请消息

这是我做的一个(简化)示例:

skype.Client.Start(true, true); 
var user = skype.SearchForUsers("the_name_i_am_searching_for") 
    .Cast<User>() 
    .FirstOrDefault(); 
if (user != null) 
    user.BuddyStatus = TBuddyStatus.budPendingAuthorization; 

有了这个代码默认邀请被发送。

+0

访问http://stackoverflow.com/questions/3291090/skype-how-to-get-started并在代码中找到它。 –

+0

@YelelMacia:我应该从那个帖子中拿出什么?我知道如何发送消息给用户,以及如何让某人成为Skype的朋友;我不知道如何修改自动发送的邀请邮件然后你做'user.BuddyStatus = TBuddyStatus.budPendingAuthorization'! – Marco

回答

9

尝试使用Property数组而不是简单的赋值。 更改

user.BuddyStatus = TBuddyStatus.budPendingAuthorization; 

skype.Property["USER", "the_name_i_am_searching_for", "BUDDYSTATUS"] = 
    string.Format("{0} {1}", (int)TBuddyStatus.budPendingAuthorization, 
          "your welcome message") 

我没能找到任何官方的文档,但this LIB是非常有益的。通知SetBuddyStatusPendingAuthorization方法

+0

非常感谢Grin!你的样品很完美! – Marco

+0

只是说明:VS告诉你最好使用'skype.Property [“USER”,“the_name_i_am_searching_for”,“BUDDYSTATUS”] = string.Format(“{0} {1}”,(int)TBuddyStatus.budPendingAuthorization,“你的欢迎信息“)' – Marco

+0

@Marco我不得不安装R#才能得到这个建议。谢谢你的提示! – Grin

1

Skype的API提供了一个功能skype.SendMessage(<username>, <string>),我认为你正在寻找。

+0

否,'SendMessage'用于向用户发送消息。不幸的是,当您邀请用户成为您的朋友时,并非您发送的消息... – Marco

相关问题