Schreibt Serilog -Ereignisse in einen bestimmten Telegramm -Chat, der es zu einem privaten Chat oder einer Gruppe ist.
Install-Package Serilog.Sinks.Telegram
Beachten Sie, dass ein Telegramm -Bot -API -Schlüssel erforderlich ist, um die Spüle zu konfigurieren. Wenn Sie nicht wissen, wie der Bot -Erstellungsprozess funktioniert, beziehen Sie sich bitte auf die offizielle Dokumentation.
So konfigurieren Sie die Spüle einfach "Telesink" mit der "WriteTo" -Methode in der Serilog -Logger -Konfiguration.
new LoggerConfiguration ( )
. MinimumLevel . Information ( )
. WriteTo . TeleSink (
telegramApiKey : "my-bot-api-key" ,
telegramChatId : "the target chat id" )
. CreateLogger ( ) ;Optional kann eine minimale Protokollebene angegeben werden:
new LoggerConfiguration ( )
. MinimumLevel . Information ( )
. WriteTo . TeleSink (
telegramApiKey : "my-bot-api-key" ,
telegramChatId : "the target chat id" ,
minimumLevel : LogEventLevel . Warning )
. CreateLogger ( ) ;Wie entdecke ich den Parameter der Chat -ID?
Sobald Ihr Bot erstellt wurde, öffnen Sie einfach einen Chat dafür (oder in eine Gruppe ein.
curl -X GET
https://api.telegram.org/bot<my-bot-api-key>/getUpdates
-H 'Cache-Control: no-cache'
Die Antwort sollte die letzten Gespräche, die Ihr Bot mit ihren Chat -IDs geführt hat, melden:
{
"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!"
}
}
]
}Wie kann ich Unit -Tests ausführen?
Sie benötigen eine API -Taste und eine Chat -ID, um die Unit -Tests auszuführen. Sie können sie zur Konfiguration/testconfig.json -Konfigurationsdatei oder (bessere Lösung) hinzufügen . Dies ist die bevorzugte Lösung, wenn Sie eine Pull -Anfrage oder eine Gabelung stellen und den Code in ein anderes Repo schieben möchten, da dieser Pfad bereits ignoriert ist.