main #8

Closed
limepotato wants to merge 183 commits from main into blog-drafts
4 changed files with 36 additions and 1 deletions
Showing only changes of commit 303e4061c6 - Show all commits

3
backend/.gitignore vendored
View file

@ -45,4 +45,5 @@ bin/
.DS_Store
### Other ###
bot.cfg
bot.cfg
ntfyHistory.txt

View file

@ -14,6 +14,7 @@ import io.ktor.server.plugins.contentnegotiation.*
import io.ktor.server.plugins.cors.routing.*
import io.ktor.server.plugins.ratelimit.*
import kotlinx.coroutines.runBlocking
import observer.nelle.nelleObserverBackend.helpers.checkCreate
import observer.nelle.nelleObserverBackend.plugins.configureRouting
import kotlin.time.Duration.Companion.minutes
@ -36,6 +37,8 @@ fun Application.module() {
allowHeader(HttpHeaders.ContentType)
anyHost()
}
// check for ntfyhistory file, and if it doesnt exist, create it
checkCreate()
runBlocking {
val client =
HttpClient(CIO) {

View file

@ -0,0 +1,29 @@
package observer.nelle.nelleObserverBackend.helpers
import observer.nelle.nelleObserverBackend.prop
import java.io.File
import java.io.FileInputStream
import java.nio.file.Files
import java.nio.file.Paths
val historyPath = Paths.get("").toAbsolutePath().toString()
val historyFile = File("$historyPath/ntfyHistory.txt")
fun checkCreate() {
if (historyFile.exists()) {
FileInputStream(historyFile).use { prop.load(it) }
} else {
Files.createFile(Paths.get("$historyPath/ntfyHistory.txt"))
}
}
fun storeMessage(
title: String,
message: String,
attach: String,
click: String,
) {
val text = "Title: $title, Message: $message, Attach: $attach, Click: $click\n"
historyFile.appendText(text, Charsets.UTF_8)
}

View file

@ -12,6 +12,7 @@ import io.ktor.server.routing.*
import observer.nelle.nelleObserverBackend.*
import observer.nelle.nelleObserverBackend.helpers.getBeep
import observer.nelle.nelleObserverBackend.helpers.getMeow
import observer.nelle.nelleObserverBackend.helpers.storeMessage
import java.util.*
import kotlin.concurrent.timerTask
import kotlin.time.Duration.Companion.minutes
@ -140,6 +141,7 @@ fun Application.configureRouting(client: HttpClient) {
val click = formParameters["Click"].toString()
call.response.status(HttpStatusCode(201, "Received..."))
call.respondText("Received:: Title: $title, Message: $message, Attachment: $attach, Click: $click")
storeMessage(title, message, attach, click)
ntfyMsg(client, title, message, attach, click)
}
}