Escreve eventos de serilog em um determinado bate -papo de telegrama, sendo um bate -papo privado ou um grupo.
Install-Package Serilog.Sinks.Telegram
Observe que é necessária uma chave da API do BOT do telegrama para configurar o coletor, se você não souber como o processo de criação de bot funciona, consulte a documentação oficial.
Para configurar o coletor, basta adicionar "Telesink" usando o método "WritEto" na configuração do Logger do Serilog.
new LoggerConfiguration ( )
. MinimumLevel . Information ( )
. WriteTo . TeleSink (
telegramApiKey : "my-bot-api-key" ,
telegramChatId : "the target chat id" )
. CreateLogger ( ) ;Opcionalmente, um nível mínimo de log pode ser especificado:
new LoggerConfiguration ( )
. MinimumLevel . Information ( )
. WriteTo . TeleSink (
telegramApiKey : "my-bot-api-key" ,
telegramChatId : "the target chat id" ,
minimumLevel : LogEventLevel . Warning )
. CreateLogger ( ) ;Como faço para descobrir o parâmetro de id de bate -papo?
Depois que seu bot for criado, basta abrir um bate -papo em relação a ele (ou incluí -lo em um grupo), você pode usar a API do Telegram para obter as últimas atualizações do seu bot:
curl -X GET
https://api.telegram.org/bot<my-bot-api-key>/getUpdates
-H 'Cache-Control: no-cache'
A resposta deve relatar as últimas conversas que seu bot teve junto com os IDs de bate -papo:
{
"ok" : true ,
"result" : [
{
"update_id" : 123456789 ,
"message" : {
"message_id" : 2 ,
"from" : {
"id" : 000000 ,
"is_bot" : false ,
"first_name" : "XXX" ,
"last_name" : "XXX" ,
"username" : "XXX" ,
"language_code" : "XX"
} ,
"chat" : {
"id" : 0000000 ,
"first_name" : "XXX" ,
"last_name" : "XXX" ,
"username" : "XXX" ,
"type" : "private"
} ,
"date" : 1531306919 ,
"text" : "hello dear bot!"
}
}
]
}Como posso executar testes de unidade?
Você precisa de uma chave da API e um ID de bate -papo para executar os testes de unidade. Você pode adicioná -los ao arquivo de configuração de configuração/testconfig.json ou (melhor solução) Você pode adicionar outro arquivo de configuração chamado /configuration/testconfig_private.json e usá -lo para armazenar seus segredos. Esta é a solução preferida se você deseja fazer uma solicitação de tração ou forca e empurrar o código para outro repositório, já que esse caminho já está ignorado.