commit f253ea6

default  ·  2023-02-07 07:19:18 +0000 UTC
parent 2db57c9
Added web interface for the Telegram information.
1 files changed,  +19, -0
M html.c
M html.c
+19, -0
 1@@ -306,6 +306,10 @@ d_char *html_top_controls(snac *snac, d_char *s)
 2         "<p>%s:<br>\n"
 3         "<input type=\"text\" name=\"email\" value=\"%s\"></p>\n"
 4 
 5+        "<p>%s:<br>\n"
 6+        "<input type=\"text\" name=\"telegram_bot\" placeholder=\"Bot API key\" value=\"%s\"> "
 7+        "<input type=\"text\" name=\"telegram_chat_id\" placeholder=\"Chat id\" value=\"%s\"></p>\n"
 8+
 9         "<p>%s:<br>\n"
10         "<input type=\"number\" name=\"purge_days\" value=\"%s\"></p>\n"
11 
12@@ -332,6 +336,14 @@ d_char *html_top_controls(snac *snac, d_char *s)
13     if (xs_is_null(cw))
14         cw = "";
15 
16+    char *telegram_bot = xs_dict_get(snac->config, "telegram_bot");
17+    if (xs_is_null(telegram_bot))
18+        telegram_bot = "";
19+
20+    char *telegram_chat_id = xs_dict_get(snac->config, "telegram_chat_id");
21+    if (xs_is_null(telegram_chat_id))
22+        telegram_chat_id = "";
23+
24     const char *purge_days = xs_dict_get(snac->config, "purge_days");
25     if (!xs_is_null(purge_days) && xs_type(purge_days) == XSTYPE_NUMBER)
26         purge_days = xs_number_str(purge_days);
27@@ -364,6 +376,9 @@ d_char *html_top_controls(snac *snac, d_char *s)
28         L("Always show sensitive content"),
29         L("Email address for notifications"),
30         email,
31+        L("Telegram notifications (bot key and chat id)"),
32+        telegram_bot,
33+        telegram_chat_id,
34         L("Maximum days to keep posts (0: server settings)"),
35         purge_days,
36         L("Password (only to change it)"),
37@@ -1578,6 +1593,10 @@ int html_post_handler(d_char *req, char *q_path, d_char *payload, int p_size,
38         }
39         if ((v = xs_dict_get(p_vars, "email")) != NULL)
40             snac.config = xs_dict_set(snac.config, "email", v);
41+        if ((v = xs_dict_get(p_vars, "telegram_bot")) != NULL)
42+            snac.config = xs_dict_set(snac.config, "telegram_bot", v);
43+        if ((v = xs_dict_get(p_vars, "telegram_chat_id")) != NULL)
44+            snac.config = xs_dict_set(snac.config, "telegram_chat_id", v);
45         if ((v = xs_dict_get(p_vars, "purge_days")) != NULL) {
46             xs *days    = xs_number_new(atof(v));
47             snac.config = xs_dict_set(snac.config, "purge_days", days);