上一篇文章讲了activity处理的流程,我们bot的核心处理逻辑放在ActivityHandler的子类里,通过重载OnMessageActivityAsync()
方法来实现。
这篇文章我来讲一下对于Teams的bot来说,整个处理的逻辑会有哪些不同点。
通过之前的文章,大家应该已经知道,Teams bot是Azure bot service支持的众多bot聊天平台里的一种channel(注意:这里的channel指bot service里的channel,和Teams里的channel是完全不同的概念)。但是Teams实际上提供了很多特有的事件和动作。使用bot sdk的通用模型,我们当然可以处理这些事情,但是Teams作为微软的主打产品,微软的bot sdk当然要为它提供更多的开发便利性。
SDK提供了一个针对Teams的ActivityHandler。这个handler有下面这些特殊的ConversationUpdateActivity的处理函数
事件 | 函数 | 说明 |
---|---|---|
channelCreated | OnTeamsChannelCreatedAsync |
当Teams的channel被创建 |
channelDeleted | OnTeamsChannelDeletedAsync |
当Teams的channel被删除 |
channelRenamed | OnTeamsChannelRenamedAsync |
当Teams的channel被重命名 |
teamRenamed | OnTeamsTeamRenamedAsync |
当Teams的一个team被重命名 |
MembersAdded | OnTeamsMembersAddedAsync |
当Teams的一个team中有新用户加入 |
MembersRemoved | OnTeamsMembersRemovedAsync |
当Teams的一个team中有用户被移除 |
除了ConversationUpdateActivity这些Teams的特殊事件,h