SDK C# com suporte a .NET Core 15 de julho de 2024 15:41 Atualizado Índice: Migrando do antigo SDK Mapeamento de tipos Mapeamento de métodos Executando Lançamos na semana passa uma nova versão no SDK C# do BLiP, que permite a construção de aplicações C# multiplataforma (Windows, Linux e Mac) que podem ser facilmente hospedados na nuvem, inclusive em containers Docker. Isso é possível graças a portabilidade do .NET Core no qual o mesmo é baseado. Consulte a documentação do BLiP para saber como começar a utilizá-lo. Migrando do antigo SDK Para realizar a migração de um chatbot que utiliza a versão antiga do SDK (baseada no pacote Blip.MessagingHub.Client) é necessário realizar os seguintes passos: Criar um projeto utilizando o template do BLiP, utilizando o comando dotnet new blip-console (como descrito no menu lateral direito na seção SDK C# na documentação do BLiP). Copiar as classes e o arquivo application.json para o novo projeto e instalar as demais dependências (exceto do SDK do BLiP, já instalada no template). Substituir o nome das interfaces e classes antigas para o SDK novo (mapeado abaixo). Ajustar as chamadas dos métodos com assinaturas alteradas (mapeado abaixo). Não é possível reutilizar os projetos antigos, pois os mesmos se baseiam na versão antiga do .csproj do .NET, que é incompatível com projetos .NET Standard / .NET Core utilizados no novo SDK do BLiP. Mapeamento de tipos Antigo: Takenet.MessagingHub.Client.Sender.IMessagingHubSender Novo: Blip.Client.ISender Antigo: Takenet.MessagingHub.Client.Listener.IMessageReceiver Novo: Blip.Client.IMessageReceiver Antigo: Takenet.MessagingHub.Client.Listener.INotificationReceiver Novo: Blip.Client.INotificationReceiver Antigo: Takenet.MessagingHub.Client.Listener.ICommandReceiver Novo: Blip.Client.ICommandReceiver Antigo: Takenet.MessagingHub.Client.IMessagingHubClient Novo: Blip.Client.IBlipClient Antigo: Takenet.MessagingHub.Client.MessagingHubClientBuilder Novo: Blip.Client.BlipClientBuilder Antigo: Takenet.MessagingHub.Client.Host.* Novo: Blip.Client.Activation.* Antigo: Takenet.MessagingHub.Client.Extensions.* Novo: Blip.Client.Extensions.* Antigo: Takenet.MessagingHub.Client.Listener.* Novo: Blip.Client.Receivers.* Mapeamento de métodos Antigo: IMessagingHubSender.SendCommandAsync(Command) Novo: Blip.Client.ISender.ProcessCommandAsync(Command, CancellationToken) Observação: Na maior parte dos métodos da nova versão, é obrigatório informar um cancellationToken para garantir o cancelamento correto das operações assíncronas e evitar o congelamento do processo. Neste caso, passe sempre o cancellationToken recebido nos receivers. Executando Observação: Na maior parte dos métodos da nova versão, é obrigatório informar um cancellationToken para garantir o cancelamento correto das operações assíncronas e evitar o congelamento do processo. Neste caso, passe sempre o cancellationToken recebido nos receivers. Mas caso deseje que seu chatbot seja ainda um Class library por qualquer motivo, utilize o template blip-console ao criar o projeto e o altere para Class library. Para executar o chatbot neste caso, será necessário outro projeto como host. Para mais informações, acesse a discussão sobre o assunto em nossa comunidade ou os vídeos no nosso canal. 😃 Artigos relacionados [SDK C#] Criando uma lista de distribuição de conteúdo Como construir bots através de SDKs ou API HTTP Como enviar SMS via API Como criar blocos no Builder Configuração do arquivo de audiência - Envio de notificações em massa