almost complete telegram user verification

When signing up, the user is given a pin code which they send to a
telegram bot. This provides user verification, but more importantly
allows the bot to message the user, as the Telegram API requires the
user to interact with the bot before it can do the opposite.

The bot should recognize the correct language, but a /lang command is
also provided to change it.

The verification process is pretty much functional but ui is still
broken, and it isn't properly integrated yet.
This commit is contained in:
Harvey Tindall
2021-05-07 01:08:12 +01:00
parent 0e21942cd6
commit 99875b9176
19 changed files with 598 additions and 97 deletions
+55
View File
@@ -997,6 +997,53 @@
}
}
},
"telegram": {
"order": [],
"meta": {
"name": "Telegram",
"description": "Settings for Telegram signup/notifications"
},
"settings": {
"enabled": {
"name": "Enabled",
"required": false,
"requires_restart": true,
"type": "bool",
"value": false,
"description": "Enable signup verification through Telegram and the sending of notifications through it."
},
"required": {
"name": "Require on sign-up",
"required": false,
"required_restart": true,
"type": "bool",
"value": false,
"description": "Require telegram connection on sign-up."
},
"token": {
"name": "API Token",
"required": false,
"requires_restart": true,
"depends_true": "enabled",
"type": "text",
"value": "",
"description": "Telegram Bot API Token."
},
"language": {
"name": "Language",
"required": false,
"requires_restart": false,
"depends_true": "enabled",
"type": "select",
"options": [
["en-us", "English (US)"]
],
"value": "en-us",
"description": "Default telegram message language. Visit weblate if you'd like to translate."
}
}
},
"files": {
"order": [],
"meta": {
@@ -1068,6 +1115,14 @@
"type": "text",
"value": "",
"description": "JSON file generated by program in settings, different from email_html/email_text. See wiki for more info."
},
"telegram_users": {
"name": "Telegram users",
"required": false,
"requires_restart": false,
"type": "text",
"value": "",
"description": "Stores telegram user IDs and language preferences."
}
}
}