Единственный способ отличить guish между членами разных организаций, использующих среду ботов, - это сравнение идентификаторов арендаторов. Вы можете получить доступ к tenantID, используя информацию о члене команды, сопоставленную с объектом TeamsChannelAccount , видимым здесь
Вы можете получить доступ к этому объекту, используя teamInfo.getMembers
В коде бота это будет выглядеть примерно так:
async messageAllMembersAsync(context) {
const members = await TeamsInfo.getMembers(context);
members.forEach(async (teamMember) => {
const test = teamMember;
const message = MessageFactory.text(`Hello ${ teamMember.givenName } ${ teamMember.surname }. I'm a Teams conversation bot.`);
var ref = TurnContext.getConversationReference(context.activity);
ref.user = teamMember;
await context.adapter.createConversation(ref,
async (t1) => {
const ref2 = TurnContext.getConversationReference(t1.activity);
await t1.adapter.continueConversation(ref2, async (t2) => {
await t2.sendActivity(message);
});
});
});
Вот информация, которую он возвращает:
Если вы хотите сказать, сравнивайте названия компаний, вы можете получить доступ к свойствам teamMember.userPrincipalName
или teamMember.email
и сравнить часть электронных писем @ companyname.com.