serilog sinks telegram
1.0.0
特定のテレグラムチャットにセリログイベントを、プライベートチャットまたはグループであるということです。
Install-Package Serilog.Sinks.Telegram
ボット作成プロセスがどのように機能するかわからない場合は、シンクを構成するために電報ボットAPIキーが必要であることに注意してください。公式ドキュメントを参照してください。
シンクを構成するには、Serilog Logger構成に「Writeto」メソッドを使用して「Telesink」を追加するだけです。
new LoggerConfiguration ( )
. MinimumLevel . Information ( )
. WriteTo . TeleSink (
telegramApiKey : "my-bot-api-key" ,
telegramChatId : "the target chat id" )
. CreateLogger ( ) ;オプションで、最小ログレベルを指定できます。
new LoggerConfiguration ( )
. MinimumLevel . Information ( )
. WriteTo . TeleSink (
telegramApiKey : "my-bot-api-key" ,
telegramChatId : "the target chat id" ,
minimumLevel : LogEventLevel . Warning )
. CreateLogger ( ) ;チャットIDパラメーターを発見するにはどうすればよいですか?
ボットが作成されたら、単にチャットを開いて(またはグループに含める)、Telegram APIを使用してボットの最後の更新を取得できます。
curl -X GET
https://api.telegram.org/bot<my-bot-api-key>/getUpdates
-H 'Cache-Control: no-cache'
応答は、あなたのボットがチャットIDと一緒に持っていた最後の会話を報告する必要があります:
{
"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!"
}
}
]
}ユニットテストを実行するにはどうすればよいですか?
ユニットテストを実行するには、APIキーとチャットIDが必要です。それらを構成/testconfig.json configファイルに追加するか、(より良いソリューション) /configuration/testconfig_private.jsonという別の構成ファイルを追加し、それを使用してシークレットを保存することができます。プルリクエストを行うかフォークを作成し、そのパスがすでに無視されているため、コードを別のリポジトリにプッシュしたい場合、これは好ましいソリューションです。